@@ -35,24 +35,22 @@ inline
3535std::string generate_msg_arg (const char * class_name, const char * s)
3636{
3737 std::string str;
38- str.push_back (' \" ' );
3938 str.append (class_name);
4039 str.push_back (' :' );
40+ str.push_back (' :' );
4141 str.append (s);
42- str.push_back (' \" ' );
4342 return str;
4443}
4544
4645inline
4746std::string generate_msg_arg (const char * class_name, const wchar_t * s)
4847{
4948 std::string str;
50- str.push_back (' \" ' );
5149 str.append (class_name);
5250 str.push_back (' :' );
51+ str.push_back (' :' );
5352 std::size_t len = std::char_traits<wchar_t >::length (s);
5453 jsoncons::unicode_traits::convert (s, len, str);
55- str.push_back (' \" ' );
5654 return str;
5755}
5856
@@ -804,9 +802,9 @@ namespace reflect { \
804802#define JSONCONS_ALL_MEMBER_NAME_AS_7 (Member, Name, Mode, Match, Into, From ) { \
805803 auto it = ajson.find (Name); \
806804 if (it == ajson.object_range ().end ()) \
807- {return result_type (unexpect, conv_errc::missing_required_member, class_name );} \
805+ {return result_type (unexpect, conv_errc::missing_required_member, error_context<value_type>:: msg_arg (index) );} \
808806 auto result = json_traits_helper<Json>::template try_as_value<typename std::decay<decltype (Into (class_instance.Member ))>::type>(aset, it->value ()); \
809- if (result && !Match (From (* result))) {return result_type (jsoncons::unexpect, conv_errc::conversion_failed, class_name );} \
807+ if (result && !Match (From (* result))) {return result_type (jsoncons::unexpect, conv_errc::conversion_failed, error_context<value_type>:: msg_arg (index) );} \
810808 Mode (JSONCONS_ALL_MEMBER_NAME_AS_8 (Member, Name, Mode, Match, Into, From)) }
811809
812810#define JSONCONS_ALL_MEMBER_NAME_AS_8 (Member, Name, Mode, Match, Into, From ) \
@@ -843,7 +841,7 @@ else \
843841#define JSONCONS_GENERATE_MSG_ARG_NAME_3 (Member, Name, Mode ) JSONCONS_GENERATE_MSG_ARG_NAME_6 (Member, Name,Mode,,,)
844842#define JSONCONS_GENERATE_MSG_ARG_NAME_4 (Member, Name, Mode, Match ) JSONCONS_GENERATE_MSG_ARG_NAME_6 (Member, Name, Mode, Match,,)
845843#define JSONCONS_GENERATE_MSG_ARG_NAME_5 (Member, Name, Mode, Match, Into ) JSONCONS_GENERATE_MSG_ARG_NAME_6 (Member, Name, Mode, Match, Into, )
846- #define JSONCONS_GENERATE_MSG_ARG_NAME_6 (Member, Name, Mode, Match, Into, From ) generate_msg_arg(class_name, Name ),
844+ #define JSONCONS_GENERATE_MSG_ARG_NAME_6 (Member, Name, Mode, Match, Into, From ) generate_msg_arg(class_name, # Member ),
847845
848846#define JSONCONS_N_MEMBER_NAME_DECODE
849847
0 commit comments