# unittest.proto.pb Schema=google.protobuf.FileDescriptorSet PrintFieldNames PrintEnumNames 1: { # file 1: {"unittest.proto"} # name 2: {"unittest"} # package 4: { # message_type 1: {"TestAllTypes"} # name 2: { # field 1: {"optional_int32"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt32"} # json_name } 2: { # field 1: {"optional_int64"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 3 # type, TYPE_INT64 10: {"optionalInt64"} # json_name } 2: { # field 1: {"optional_uint32"} # name 3: 3 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint32"} # json_name } 2: { # field 1: {"optional_uint64"} # name 3: 4 # number 4: 1 # label, LABEL_OPTIONAL 5: 4 # type, TYPE_UINT64 10: {"optionalUint64"} # json_name } 2: { # field 1: {"optional_sint32"} # name 3: 5 # number 4: 1 # label, LABEL_OPTIONAL 5: 17 # type, TYPE_SINT32 10: {"optionalSint32"} # json_name } 2: { # field 1: {"optional_sint64"} # name 3: 6 # number 4: 1 # label, LABEL_OPTIONAL 5: 18 # type, TYPE_SINT64 10: {"optionalSint64"} # json_name } 2: { # field 1: {"optional_fixed32"} # name 3: 7 # number 4: 1 # label, LABEL_OPTIONAL 5: 7 # type, TYPE_FIXED32 10: {"optionalFixed32"} # json_name } 2: { # field 1: {"optional_fixed64"} # name 3: 8 # number 4: 1 # label, LABEL_OPTIONAL 5: 6 # type, TYPE_FIXED64 10: {"optionalFixed64"} # json_name } 2: { # field 1: {"optional_sfixed32"} # name 3: 9 # number 4: 1 # label, LABEL_OPTIONAL 5: 15 # type, TYPE_SFIXED32 10: {"optionalSfixed32"} # json_name } 2: { # field 1: {"optional_sfixed64"} # name 3: 10 # number 4: 1 # label, LABEL_OPTIONAL 5: 16 # type, TYPE_SFIXED64 10: {"optionalSfixed64"} # json_name } 2: { # field 1: {"optional_float"} # name 3: 11 # number 4: 1 # label, LABEL_OPTIONAL 5: 2 # type, TYPE_FLOAT 10: {"optionalFloat"} # json_name } 2: { # field 1: {"optional_double"} # name 3: 12 # number 4: 1 # label, LABEL_OPTIONAL 5: 1 # type, TYPE_DOUBLE 10: {"optionalDouble"} # json_name } 2: { # field 1: {"optional_bool"} # name 3: 13 # number 4: 1 # label, LABEL_OPTIONAL 5: 8 # type, TYPE_BOOL 10: {"optionalBool"} # json_name } 2: { # field 1: {"optional_string"} # name 3: 14 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"optionalString"} # json_name } 2: { # field 1: {"optional_bytes"} # name 3: 15 # number 4: 1 # label, LABEL_OPTIONAL 5: 12 # type, TYPE_BYTES 10: {"optionalBytes"} # json_name } 2: { # field 1: {"optionalgroup"} # name 3: 16 # number 4: 1 # label, LABEL_OPTIONAL 5: 10 # type, TYPE_GROUP 6: {".unittest.TestAllTypes.OptionalGroup"} # type_name 10: {"optionalgroup"} # json_name } 2: { # field 1: {"optional_nested_message"} # name 3: 18 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes.NestedMessage"} # type_name 10: {"optionalNestedMessage"} # json_name } 2: { # field 1: {"optional_foreign_message"} # name 3: 19 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.ForeignMessage"} # type_name 10: {"optionalForeignMessage"} # json_name } 2: { # field 1: {"optional_nested_enum"} # name 3: 21 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.TestAllTypes.NestedEnum"} # type_name 10: {"optionalNestedEnum"} # json_name } 2: { # field 1: {"optional_foreign_enum"} # name 3: 22 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.ForeignEnum"} # type_name 10: {"optionalForeignEnum"} # json_name } 2: { # field 1: {"optional_string_piece"} # name 3: 24 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 8: { # options 1: 2 # ctype, STRING_PIECE } 10: {"optionalStringPiece"} # json_name } 2: { # field 1: {"optional_cord"} # name 3: 25 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 8: { # options 1: 1 # ctype, CORD } 10: {"optionalCord"} # json_name } 2: { # field 1: {"optional_lazy_message"} # name 3: 27 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes.NestedMessage"} # type_name 8: { # options 5: true # lazy } 10: {"optionalLazyMessage"} # json_name } 2: { # field 1: {"repeated_int32"} # name 3: 31 # number 4: 3 # label, LABEL_REPEATED 5: 5 # type, TYPE_INT32 10: {"repeatedInt32"} # json_name } 2: { # field 1: {"repeated_int64"} # name 3: 32 # number 4: 3 # label, LABEL_REPEATED 5: 3 # type, TYPE_INT64 10: {"repeatedInt64"} # json_name } 2: { # field 1: {"repeated_uint32"} # name 3: 33 # number 4: 3 # label, LABEL_REPEATED 5: 13 # type, TYPE_UINT32 10: {"repeatedUint32"} # json_name } 2: { # field 1: {"repeated_uint64"} # name 3: 34 # number 4: 3 # label, LABEL_REPEATED 5: 4 # type, TYPE_UINT64 10: {"repeatedUint64"} # json_name } 2: { # field 1: {"repeated_sint32"} # name 3: 35 # number 4: 3 # label, LABEL_REPEATED 5: 17 # type, TYPE_SINT32 10: {"repeatedSint32"} # json_name } 2: { # field 1: {"repeated_sint64"} # name 3: 36 # number 4: 3 # label, LABEL_REPEATED 5: 18 # type, TYPE_SINT64 10: {"repeatedSint64"} # json_name } 2: { # field 1: {"repeated_fixed32"} # name 3: 37 # number 4: 3 # label, LABEL_REPEATED 5: 7 # type, TYPE_FIXED32 10: {"repeatedFixed32"} # json_name } 2: { # field 1: {"repeated_fixed64"} # name 3: 38 # number 4: 3 # label, LABEL_REPEATED 5: 6 # type, TYPE_FIXED64 10: {"repeatedFixed64"} # json_name } 2: { # field 1: {"repeated_sfixed32"} # name 3: 39 # number 4: 3 # label, LABEL_REPEATED 5: 15 # type, TYPE_SFIXED32 10: {"repeatedSfixed32"} # json_name } 2: { # field 1: {"repeated_sfixed64"} # name 3: 40 # number 4: 3 # label, LABEL_REPEATED 5: 16 # type, TYPE_SFIXED64 10: {"repeatedSfixed64"} # json_name } 2: { # field 1: {"repeated_float"} # name 3: 41 # number 4: 3 # label, LABEL_REPEATED 5: 2 # type, TYPE_FLOAT 10: {"repeatedFloat"} # json_name } 2: { # field 1: {"repeated_double"} # name 3: 42 # number 4: 3 # label, LABEL_REPEATED 5: 1 # type, TYPE_DOUBLE 10: {"repeatedDouble"} # json_name } 2: { # field 1: {"repeated_bool"} # name 3: 43 # number 4: 3 # label, LABEL_REPEATED 5: 8 # type, TYPE_BOOL 10: {"repeatedBool"} # json_name } 2: { # field 1: {"repeated_string"} # name 3: 44 # number 4: 3 # label, LABEL_REPEATED 5: 9 # type, TYPE_STRING 10: {"repeatedString"} # json_name } 2: { # field 1: {"repeated_bytes"} # name 3: 45 # number 4: 3 # label, LABEL_REPEATED 5: 12 # type, TYPE_BYTES 10: {"repeatedBytes"} # json_name } 2: { # field 1: {"repeatedgroup"} # name 3: 46 # number 4: 3 # label, LABEL_REPEATED 5: 10 # type, TYPE_GROUP 6: {".unittest.TestAllTypes.RepeatedGroup"} # type_name 10: {"repeatedgroup"} # json_name } 2: { # field 1: {"repeated_nested_message"} # name 3: 48 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes.NestedMessage"} # type_name 10: {"repeatedNestedMessage"} # json_name } 2: { # field 1: {"repeated_foreign_message"} # name 3: 49 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.ForeignMessage"} # type_name 10: {"repeatedForeignMessage"} # json_name } 2: { # field 1: {"repeated_nested_enum"} # name 3: 51 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.TestAllTypes.NestedEnum"} # type_name 10: {"repeatedNestedEnum"} # json_name } 2: { # field 1: {"repeated_foreign_enum"} # name 3: 52 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.ForeignEnum"} # type_name 10: {"repeatedForeignEnum"} # json_name } 2: { # field 1: {"repeated_string_piece"} # name 3: 54 # number 4: 3 # label, LABEL_REPEATED 5: 9 # type, TYPE_STRING 8: { # options 1: 2 # ctype, STRING_PIECE } 10: {"repeatedStringPiece"} # json_name } 2: { # field 1: {"repeated_cord"} # name 3: 55 # number 4: 3 # label, LABEL_REPEATED 5: 9 # type, TYPE_STRING 8: { # options 1: 1 # ctype, CORD } 10: {"repeatedCord"} # json_name } 2: { # field 1: {"repeated_lazy_message"} # name 3: 57 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes.NestedMessage"} # type_name 8: { # options 5: true # lazy } 10: {"repeatedLazyMessage"} # json_name } 2: { # field 1: {"default_int32"} # name 3: 61 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 7: {"41"} # default_value 10: {"defaultInt32"} # json_name } 2: { # field 1: {"default_int64"} # name 3: 62 # number 4: 1 # label, LABEL_OPTIONAL 5: 3 # type, TYPE_INT64 7: {"42"} # default_value 10: {"defaultInt64"} # json_name } 2: { # field 1: {"default_uint32"} # name 3: 63 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 7: {"43"} # default_value 10: {"defaultUint32"} # json_name } 2: { # field 1: {"default_uint64"} # name 3: 64 # number 4: 1 # label, LABEL_OPTIONAL 5: 4 # type, TYPE_UINT64 7: {"44"} # default_value 10: {"defaultUint64"} # json_name } 2: { # field 1: {"default_sint32"} # name 3: 65 # number 4: 1 # label, LABEL_OPTIONAL 5: 17 # type, TYPE_SINT32 7: {"-45"} # default_value 10: {"defaultSint32"} # json_name } 2: { # field 1: {"default_sint64"} # name 3: 66 # number 4: 1 # label, LABEL_OPTIONAL 5: 18 # type, TYPE_SINT64 7: {"46"} # default_value 10: {"defaultSint64"} # json_name } 2: { # field 1: {"default_fixed32"} # name 3: 67 # number 4: 1 # label, LABEL_OPTIONAL 5: 7 # type, TYPE_FIXED32 7: {"47"} # default_value 10: {"defaultFixed32"} # json_name } 2: { # field 1: {"default_fixed64"} # name 3: 68 # number 4: 1 # label, LABEL_OPTIONAL 5: 6 # type, TYPE_FIXED64 7: {"48"} # default_value 10: {"defaultFixed64"} # json_name } 2: { # field 1: {"default_sfixed32"} # name 3: 69 # number 4: 1 # label, LABEL_OPTIONAL 5: 15 # type, TYPE_SFIXED32 7: {"49"} # default_value 10: {"defaultSfixed32"} # json_name } 2: { # field 1: {"default_sfixed64"} # name 3: 70 # number 4: 1 # label, LABEL_OPTIONAL 5: 16 # type, TYPE_SFIXED64 7: {"-50"} # default_value 10: {"defaultSfixed64"} # json_name } 2: { # field 1: {"default_float"} # name 3: 71 # number 4: 1 # label, LABEL_OPTIONAL 5: 2 # type, TYPE_FLOAT 7: {"51.5"} # default_value 10: {"defaultFloat"} # json_name } 2: { # field 1: {"default_double"} # name 3: 72 # number 4: 1 # label, LABEL_OPTIONAL 5: 1 # type, TYPE_DOUBLE 7: {"52000"} # default_value 10: {"defaultDouble"} # json_name } 2: { # field 1: {"default_bool"} # name 3: 73 # number 4: 1 # label, LABEL_OPTIONAL 5: 8 # type, TYPE_BOOL 7: {"true"} # default_value 10: {"defaultBool"} # json_name } 2: { # field 1: {"default_string"} # name 3: 74 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 7: {"hello"} # default_value 10: {"defaultString"} # json_name } 2: { # field 1: {"default_bytes"} # name 3: 75 # number 4: 1 # label, LABEL_OPTIONAL 5: 12 # type, TYPE_BYTES 7: {"world"} # default_value 10: {"defaultBytes"} # json_name } 2: { # field 1: {"default_nested_enum"} # name 3: 81 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.TestAllTypes.NestedEnum"} # type_name 7: {"BAR"} # default_value 10: {"defaultNestedEnum"} # json_name } 2: { # field 1: {"default_foreign_enum"} # name 3: 82 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.ForeignEnum"} # type_name 7: {"FOREIGN_BAR"} # default_value 10: {"defaultForeignEnum"} # json_name } 2: { # field 1: {"default_string_piece"} # name 3: 84 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 7: {"abc"} # default_value 8: { # options 1: 2 # ctype, STRING_PIECE } 10: {"defaultStringPiece"} # json_name } 2: { # field 1: {"default_cord"} # name 3: 85 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 7: {"123"} # default_value 8: { # options 1: 1 # ctype, CORD } 10: {"defaultCord"} # json_name } 2: { # field 1: {"oneof_uint32"} # name 3: 111 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 9: 0 # oneof_index 10: {"oneofUint32"} # json_name } 2: { # field 1: {"oneof_nested_message"} # name 3: 112 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes.NestedMessage"} # type_name 9: 0 # oneof_index 10: {"oneofNestedMessage"} # json_name } 2: { # field 1: {"oneof_string"} # name 3: 113 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 9: 0 # oneof_index 10: {"oneofString"} # json_name } 2: { # field 1: {"oneof_bytes"} # name 3: 114 # number 4: 1 # label, LABEL_OPTIONAL 5: 12 # type, TYPE_BYTES 9: 0 # oneof_index 10: {"oneofBytes"} # json_name } 3: { # nested_type 1: {"NestedMessage"} # name 2: { # field 1: {"bb"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"bb"} # json_name } } 3: { # nested_type 1: {"OptionalGroup"} # name 2: { # field 1: {"a"} # name 3: 17 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"a"} # json_name } } 3: { # nested_type 1: {"RepeatedGroup"} # name 2: { # field 1: {"a"} # name 3: 47 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"a"} # json_name } } 4: { # enum_type 1: {"NestedEnum"} # name 2: { # value 1: {"FOO"} # name 2: 1 # number } 2: { # value 1: {"BAR"} # name 2: 2 # number } 2: { # value 1: {"BAZ"} # name 2: 3 # number } 2: { # value 1: {"NEG"} # name 2: -1 # number } } 8: { # oneof_decl 1: {"oneof_field"} # name } } 4: { # message_type 1: {"NestedTestAllTypes"} # name 2: { # field 1: {"child"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.NestedTestAllTypes"} # type_name 10: {"child"} # json_name } 2: { # field 1: {"payload"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"payload"} # json_name } 2: { # field 1: {"repeated_child"} # name 3: 3 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.NestedTestAllTypes"} # type_name 10: {"repeatedChild"} # json_name } 2: { # field 1: {"lazy_child"} # name 3: 4 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.NestedTestAllTypes"} # type_name 8: { # options 5: true # lazy } 10: {"lazyChild"} # json_name } 2: { # field 1: {"eager_child"} # name 3: 5 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 8: { # options 5: false # lazy } 10: {"eagerChild"} # json_name } } 4: { # message_type 1: {"TestDeprecatedFields"} # name 2: { # field 1: {"deprecated_int32"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 8: { # options 3: true # deprecated } 10: {"deprecatedInt32"} # json_name } 2: { # field 1: {"deprecated_int32_in_oneof"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 8: { # options 3: true # deprecated } 9: 0 # oneof_index 10: {"deprecatedInt32InOneof"} # json_name } 8: { # oneof_decl 1: {"oneof_fields"} # name } } 4: { # message_type 1: {"TestDeprecatedMessage"} # name 7: { # options 3: true # deprecated } } 4: { # message_type 1: {"ForeignMessage"} # name 2: { # field 1: {"c"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"c"} # json_name } 2: { # field 1: {"d"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"d"} # json_name } } 4: { # message_type 1: {"TestReservedFields"} # name 9: { # reserved_range 1: 2 # start 2: 3 # end } 9: { # reserved_range 1: 15 # start 2: 16 # end } 9: { # reserved_range 1: 9 # start 2: 12 # end } 10: {"bar"} # reserved_name 10: {"baz"} # reserved_name } 4: { # message_type 1: {"TestAllExtensions"} # name 5: { # extension_range 1: 1 # start 2: 536870912 # end } } 4: { # message_type 1: {"OptionalGroup_extension"} # name 2: { # field 1: {"a"} # name 3: 17 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"a"} # json_name } } 4: { # message_type 1: {"RepeatedGroup_extension"} # name 2: { # field 1: {"a"} # name 3: 47 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"a"} # json_name } } 4: { # message_type 1: {"TestGroup"} # name 2: { # field 1: {"optionalgroup"} # name 3: 16 # number 4: 1 # label, LABEL_OPTIONAL 5: 10 # type, TYPE_GROUP 6: {".unittest.TestGroup.OptionalGroup"} # type_name 10: {"optionalgroup"} # json_name } 2: { # field 1: {"optional_foreign_enum"} # name 3: 22 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.ForeignEnum"} # type_name 10: {"optionalForeignEnum"} # json_name } 3: { # nested_type 1: {"OptionalGroup"} # name 2: { # field 1: {"a"} # name 3: 17 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"a"} # json_name } } } 4: { # message_type 1: {"TestGroupExtension"} # name 5: { # extension_range 1: 1 # start 2: 536870912 # end } } 4: { # message_type 1: {"TestNestedExtension"} # name 3: { # nested_type 1: {"OptionalGroup_extension"} # name 2: { # field 1: {"a"} # name 3: 17 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"a"} # json_name } } 6: { # extension 1: {"test"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 1002 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 7: {"test"} # default_value 10: {"test"} # json_name } 6: { # extension 1: {"nested_string_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 1003 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"nestedStringExtension"} # json_name } 6: { # extension 1: {"optionalgroup_extension"} # name 2: {".unittest.TestGroupExtension"} # extendee 3: 16 # number 4: 1 # label, LABEL_OPTIONAL 5: 10 # type, TYPE_GROUP 6: {".unittest.TestNestedExtension.OptionalGroup_extension"} # type_name 10: {"optionalgroupExtension"} # json_name } 6: { # extension 1: {"optional_foreign_enum_extension"} # name 2: {".unittest.TestGroupExtension"} # extendee 3: 22 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.ForeignEnum"} # type_name 10: {"optionalForeignEnumExtension"} # json_name } } 4: { # message_type 1: {"TestChildExtension"} # name 2: { # field 1: {"a"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"a"} # json_name } 2: { # field 1: {"b"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"b"} # json_name } 2: { # field 1: {"optional_extension"} # name 3: 3 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllExtensions"} # type_name 10: {"optionalExtension"} # json_name } } 4: { # message_type 1: {"TestChildExtensionData"} # name 2: { # field 1: {"a"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"a"} # json_name } 2: { # field 1: {"b"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"b"} # json_name } 2: { # field 1: {"optional_extension"} # name 3: 3 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestChildExtensionData.NestedTestAllExtensionsData"} # type_name 10: {"optionalExtension"} # json_name } 3: { # nested_type 1: {"NestedTestAllExtensionsData"} # name 2: { # field 1: {"dynamic"} # name 3: 409707008 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: { # type_name ".unittest.TestChildExtensionData.NestedTestAllExtensionsData.NestedDynamicExtens" "ions" } 10: {"dynamic"} # json_name } 3: { # nested_type 1: {"NestedDynamicExtensions"} # name 2: { # field 1: {"a"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"a"} # json_name } 2: { # field 1: {"b"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"b"} # json_name } } } } 4: { # message_type 1: {"TestNestedChildExtension"} # name 2: { # field 1: {"a"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"a"} # json_name } 2: { # field 1: {"child"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestChildExtension"} # type_name 10: {"child"} # json_name } } 4: { # message_type 1: {"TestNestedChildExtensionData"} # name 2: { # field 1: {"a"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"a"} # json_name } 2: { # field 1: {"child"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestChildExtensionData"} # type_name 10: {"child"} # json_name } } 4: { # message_type 1: {"TestRequired"} # name 2: { # field 1: {"a"} # name 3: 1 # number 4: 2 # label, LABEL_REQUIRED 5: 5 # type, TYPE_INT32 10: {"a"} # json_name } 2: { # field 1: {"dummy2"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy2"} # json_name } 2: { # field 1: {"b"} # name 3: 3 # number 4: 2 # label, LABEL_REQUIRED 5: 5 # type, TYPE_INT32 10: {"b"} # json_name } 2: { # field 1: {"dummy4"} # name 3: 4 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy4"} # json_name } 2: { # field 1: {"dummy5"} # name 3: 5 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy5"} # json_name } 2: { # field 1: {"dummy6"} # name 3: 6 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy6"} # json_name } 2: { # field 1: {"dummy7"} # name 3: 7 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy7"} # json_name } 2: { # field 1: {"dummy8"} # name 3: 8 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy8"} # json_name } 2: { # field 1: {"dummy9"} # name 3: 9 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy9"} # json_name } 2: { # field 1: {"dummy10"} # name 3: 10 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy10"} # json_name } 2: { # field 1: {"dummy11"} # name 3: 11 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy11"} # json_name } 2: { # field 1: {"dummy12"} # name 3: 12 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy12"} # json_name } 2: { # field 1: {"dummy13"} # name 3: 13 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy13"} # json_name } 2: { # field 1: {"dummy14"} # name 3: 14 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy14"} # json_name } 2: { # field 1: {"dummy15"} # name 3: 15 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy15"} # json_name } 2: { # field 1: {"dummy16"} # name 3: 16 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy16"} # json_name } 2: { # field 1: {"dummy17"} # name 3: 17 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy17"} # json_name } 2: { # field 1: {"dummy18"} # name 3: 18 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy18"} # json_name } 2: { # field 1: {"dummy19"} # name 3: 19 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy19"} # json_name } 2: { # field 1: {"dummy20"} # name 3: 20 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy20"} # json_name } 2: { # field 1: {"dummy21"} # name 3: 21 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy21"} # json_name } 2: { # field 1: {"dummy22"} # name 3: 22 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy22"} # json_name } 2: { # field 1: {"dummy23"} # name 3: 23 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy23"} # json_name } 2: { # field 1: {"dummy24"} # name 3: 24 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy24"} # json_name } 2: { # field 1: {"dummy25"} # name 3: 25 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy25"} # json_name } 2: { # field 1: {"dummy26"} # name 3: 26 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy26"} # json_name } 2: { # field 1: {"dummy27"} # name 3: 27 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy27"} # json_name } 2: { # field 1: {"dummy28"} # name 3: 28 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy28"} # json_name } 2: { # field 1: {"dummy29"} # name 3: 29 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy29"} # json_name } 2: { # field 1: {"dummy30"} # name 3: 30 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy30"} # json_name } 2: { # field 1: {"dummy31"} # name 3: 31 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy31"} # json_name } 2: { # field 1: {"dummy32"} # name 3: 32 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy32"} # json_name } 2: { # field 1: {"c"} # name 3: 33 # number 4: 2 # label, LABEL_REQUIRED 5: 5 # type, TYPE_INT32 10: {"c"} # json_name } 2: { # field 1: {"optional_foreign"} # name 3: 34 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.ForeignMessage"} # type_name 10: {"optionalForeign"} # json_name } 6: { # extension 1: {"single"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 1000 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestRequired"} # type_name 10: {"single"} # json_name } 6: { # extension 1: {"multi"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 1001 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestRequired"} # type_name 10: {"multi"} # json_name } } 4: { # message_type 1: {"TestRequiredForeign"} # name 2: { # field 1: {"optional_message"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestRequired"} # type_name 10: {"optionalMessage"} # json_name } 2: { # field 1: {"repeated_message"} # name 3: 2 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestRequired"} # type_name 10: {"repeatedMessage"} # json_name } 2: { # field 1: {"dummy"} # name 3: 3 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy"} # json_name } 2: { # field 1: {"optional_lazy_message"} # name 3: 4 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.NestedTestAllTypes"} # type_name 8: { # options 5: true # lazy } 10: {"optionalLazyMessage"} # json_name } } 4: { # message_type 1: {"TestRequiredMessage"} # name 2: { # field 1: {"optional_message"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestRequired"} # type_name 10: {"optionalMessage"} # json_name } 2: { # field 1: {"repeated_message"} # name 3: 2 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestRequired"} # type_name 10: {"repeatedMessage"} # json_name } 2: { # field 1: {"required_message"} # name 3: 3 # number 4: 2 # label, LABEL_REQUIRED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestRequired"} # type_name 10: {"requiredMessage"} # json_name } } 4: { # message_type 1: {"TestNestedRequiredForeign"} # name 2: { # field 1: {"child"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestNestedRequiredForeign"} # type_name 10: {"child"} # json_name } 2: { # field 1: {"payload"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestRequiredForeign"} # type_name 10: {"payload"} # json_name } 2: { # field 1: {"dummy"} # name 3: 3 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dummy"} # json_name } } 4: { # message_type 1: {"TestForeignNested"} # name 2: { # field 1: {"foreign_nested"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes.NestedMessage"} # type_name 10: {"foreignNested"} # json_name } } 4: { # message_type 1: {"TestEmptyMessage"} # name } 4: { # message_type 1: {"TestEmptyMessageWithExtensions"} # name 5: { # extension_range 1: 1 # start 2: 536870912 # end } } 4: { # message_type 1: {"TestPickleNestedMessage"} # name 3: { # nested_type 1: {"NestedMessage"} # name 2: { # field 1: {"bb"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"bb"} # json_name } 3: { # nested_type 1: {"NestedNestedMessage"} # name 2: { # field 1: {"cc"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"cc"} # json_name } } } } 4: { # message_type 1: {"TestMultipleExtensionRanges"} # name 5: { # extension_range 1: 42 # start 2: 43 # end } 5: { # extension_range 1: 4143 # start 2: 4244 # end } 5: { # extension_range 1: 65536 # start 2: 536870912 # end } } 4: { # message_type 1: {"TestReallyLargeTagNumber"} # name 2: { # field 1: {"a"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"a"} # json_name } 2: { # field 1: {"bb"} # name 3: 268435455 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"bb"} # json_name } } 4: { # message_type 1: {"TestRecursiveMessage"} # name 2: { # field 1: {"a"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestRecursiveMessage"} # type_name 10: {"a"} # json_name } 2: { # field 1: {"i"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"i"} # json_name } } 4: { # message_type 1: {"TestMutualRecursionA"} # name 2: { # field 1: {"bb"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestMutualRecursionB"} # type_name 10: {"bb"} # json_name } 2: { # field 1: {"subgroup"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 10 # type, TYPE_GROUP 6: {".unittest.TestMutualRecursionA.SubGroup"} # type_name 10: {"subgroup"} # json_name } 3: { # nested_type 1: {"SubMessage"} # name 2: { # field 1: {"b"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestMutualRecursionB"} # type_name 10: {"b"} # json_name } } 3: { # nested_type 1: {"SubGroup"} # name 2: { # field 1: {"sub_message"} # name 3: 3 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestMutualRecursionA.SubMessage"} # type_name 10: {"subMessage"} # json_name } 2: { # field 1: {"not_in_this_scc"} # name 3: 4 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"notInThisScc"} # json_name } } } 4: { # message_type 1: {"TestMutualRecursionB"} # name 2: { # field 1: {"a"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestMutualRecursionA"} # type_name 10: {"a"} # json_name } 2: { # field 1: {"optional_int32"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt32"} # json_name } } 4: { # message_type 1: {"TestIsInitialized"} # name 2: { # field 1: {"sub_message"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestIsInitialized.SubMessage"} # type_name 10: {"subMessage"} # json_name } 3: { # nested_type 1: {"SubMessage"} # name 2: { # field 1: {"subgroup"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 10 # type, TYPE_GROUP 6: {".unittest.TestIsInitialized.SubMessage.SubGroup"} # type_name 10: {"subgroup"} # json_name } 3: { # nested_type 1: {"SubGroup"} # name 2: { # field 1: {"i"} # name 3: 2 # number 4: 2 # label, LABEL_REQUIRED 5: 5 # type, TYPE_INT32 10: {"i"} # json_name } } } } 4: { # message_type 1: {"TestDupFieldNumber"} # name 2: { # field 1: {"a"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"a"} # json_name } 2: { # field 1: {"foo"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 10 # type, TYPE_GROUP 6: {".unittest.TestDupFieldNumber.Foo"} # type_name 10: {"foo"} # json_name } 2: { # field 1: {"bar"} # name 3: 3 # number 4: 1 # label, LABEL_OPTIONAL 5: 10 # type, TYPE_GROUP 6: {".unittest.TestDupFieldNumber.Bar"} # type_name 10: {"bar"} # json_name } 3: { # nested_type 1: {"Foo"} # name 2: { # field 1: {"a"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"a"} # json_name } } 3: { # nested_type 1: {"Bar"} # name 2: { # field 1: {"a"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"a"} # json_name } } } 4: { # message_type 1: {"TestEagerMessage"} # name 2: { # field 1: {"sub_message"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 8: { # options 5: false # lazy } 10: {"subMessage"} # json_name } } 4: { # message_type 1: {"TestLazyMessage"} # name 2: { # field 1: {"sub_message"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 8: { # options 5: true # lazy } 10: {"subMessage"} # json_name } } 4: { # message_type 1: {"TestEagerMaybeLazy"} # name 2: { # field 1: {"message_foo"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"messageFoo"} # json_name } 2: { # field 1: {"message_bar"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"messageBar"} # json_name } 2: { # field 1: {"message_baz"} # name 3: 3 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestEagerMaybeLazy.NestedMessage"} # type_name 10: {"messageBaz"} # json_name } 3: { # nested_type 1: {"NestedMessage"} # name 2: { # field 1: {"packed"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestPackedTypes"} # type_name 10: {"packed"} # json_name } } } 4: { # message_type 1: {"TestNestedMessageHasBits"} # name 2: { # field 1: {"optional_nested_message"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestNestedMessageHasBits.NestedMessage"} # type_name 10: {"optionalNestedMessage"} # json_name } 3: { # nested_type 1: {"NestedMessage"} # name 2: { # field 1: {"nestedmessage_repeated_int32"} # name 3: 1 # number 4: 3 # label, LABEL_REPEATED 5: 5 # type, TYPE_INT32 10: {"nestedmessageRepeatedInt32"} # json_name } 2: { # field 1: {"nestedmessage_repeated_foreignmessage"} # name 3: 2 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.ForeignMessage"} # type_name 10: {"nestedmessageRepeatedForeignmessage"} # json_name } } } 4: { # message_type 1: {"TestCamelCaseFieldNames"} # name 2: { # field 1: {"PrimitiveField"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"PrimitiveField"} # json_name } 2: { # field 1: {"StringField"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"StringField"} # json_name } 2: { # field 1: {"EnumField"} # name 3: 3 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.ForeignEnum"} # type_name 10: {"EnumField"} # json_name } 2: { # field 1: {"MessageField"} # name 3: 4 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.ForeignMessage"} # type_name 10: {"MessageField"} # json_name } 2: { # field 1: {"StringPieceField"} # name 3: 5 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 8: { # options 1: 2 # ctype, STRING_PIECE } 10: {"StringPieceField"} # json_name } 2: { # field 1: {"CordField"} # name 3: 6 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 8: { # options 1: 1 # ctype, CORD } 10: {"CordField"} # json_name } 2: { # field 1: {"RepeatedPrimitiveField"} # name 3: 7 # number 4: 3 # label, LABEL_REPEATED 5: 5 # type, TYPE_INT32 10: {"RepeatedPrimitiveField"} # json_name } 2: { # field 1: {"RepeatedStringField"} # name 3: 8 # number 4: 3 # label, LABEL_REPEATED 5: 9 # type, TYPE_STRING 10: {"RepeatedStringField"} # json_name } 2: { # field 1: {"RepeatedEnumField"} # name 3: 9 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.ForeignEnum"} # type_name 10: {"RepeatedEnumField"} # json_name } 2: { # field 1: {"RepeatedMessageField"} # name 3: 10 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.ForeignMessage"} # type_name 10: {"RepeatedMessageField"} # json_name } 2: { # field 1: {"RepeatedStringPieceField"} # name 3: 11 # number 4: 3 # label, LABEL_REPEATED 5: 9 # type, TYPE_STRING 8: { # options 1: 2 # ctype, STRING_PIECE } 10: {"RepeatedStringPieceField"} # json_name } 2: { # field 1: {"RepeatedCordField"} # name 3: 12 # number 4: 3 # label, LABEL_REPEATED 5: 9 # type, TYPE_STRING 8: { # options 1: 1 # ctype, CORD } 10: {"RepeatedCordField"} # json_name } } 4: { # message_type 1: {"TestFieldOrderings"} # name 2: { # field 1: {"my_string"} # name 3: 11 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"myString"} # json_name } 2: { # field 1: {"my_int"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 3 # type, TYPE_INT64 10: {"myInt"} # json_name } 2: { # field 1: {"my_float"} # name 3: 101 # number 4: 1 # label, LABEL_OPTIONAL 5: 2 # type, TYPE_FLOAT 10: {"myFloat"} # json_name } 2: { # field 1: {"optional_nested_message"} # name 3: 200 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestFieldOrderings.NestedMessage"} # type_name 10: {"optionalNestedMessage"} # json_name } 3: { # nested_type 1: {"NestedMessage"} # name 2: { # field 1: {"oo"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 3 # type, TYPE_INT64 10: {"oo"} # json_name } 2: { # field 1: {"bb"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"bb"} # json_name } } 5: { # extension_range 1: 2 # start 2: 11 # end } 5: { # extension_range 1: 12 # start 2: 101 # end } } 4: { # message_type 1: {"TestExtensionOrderings1"} # name 2: { # field 1: {"my_string"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"myString"} # json_name } 6: { # extension 1: {"test_ext_orderings1"} # name 2: {".unittest.TestFieldOrderings"} # extendee 3: 13 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestExtensionOrderings1"} # type_name 10: {"testExtOrderings1"} # json_name } } 4: { # message_type 1: {"TestExtensionOrderings2"} # name 2: { # field 1: {"my_string"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"myString"} # json_name } 3: { # nested_type 1: {"TestExtensionOrderings3"} # name 2: { # field 1: {"my_string"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"myString"} # json_name } 6: { # extension 1: {"test_ext_orderings3"} # name 2: {".unittest.TestFieldOrderings"} # extendee 3: 14 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestExtensionOrderings2.TestExtensionOrderings3"} # type_name 10: {"testExtOrderings3"} # json_name } } 6: { # extension 1: {"test_ext_orderings2"} # name 2: {".unittest.TestFieldOrderings"} # extendee 3: 12 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestExtensionOrderings2"} # type_name 10: {"testExtOrderings2"} # json_name } } 4: { # message_type 1: {"TestExtremeDefaultValues"} # name 2: { # field 1: {"escaped_bytes"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 12 # type, TYPE_BYTES 7: {"\\000\\001\\007\\010\\014\\n\\r\\t\\013\\\\\\'\\\"\\376"} # default_value 10: {"escapedBytes"} # json_name } 2: { # field 1: {"large_uint32"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 7: {"4294967295"} # default_value 10: {"largeUint32"} # json_name } 2: { # field 1: {"large_uint64"} # name 3: 3 # number 4: 1 # label, LABEL_OPTIONAL 5: 4 # type, TYPE_UINT64 7: {"18446744073709551615"} # default_value 10: {"largeUint64"} # json_name } 2: { # field 1: {"small_int32"} # name 3: 4 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 7: {"-2147483647"} # default_value 10: {"smallInt32"} # json_name } 2: { # field 1: {"small_int64"} # name 3: 5 # number 4: 1 # label, LABEL_OPTIONAL 5: 3 # type, TYPE_INT64 7: {"-9223372036854775807"} # default_value 10: {"smallInt64"} # json_name } 2: { # field 1: {"really_small_int32"} # name 3: 21 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 7: {"-2147483648"} # default_value 10: {"reallySmallInt32"} # json_name } 2: { # field 1: {"really_small_int64"} # name 3: 22 # number 4: 1 # label, LABEL_OPTIONAL 5: 3 # type, TYPE_INT64 7: {"-9223372036854775808"} # default_value 10: {"reallySmallInt64"} # json_name } 2: { # field 1: {"utf8_string"} # name 3: 6 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 7: {"ሴ"} # default_value 10: {"utf8String"} # json_name } 2: { # field 1: {"zero_float"} # name 3: 7 # number 4: 1 # label, LABEL_OPTIONAL 5: 2 # type, TYPE_FLOAT 7: {"0"} # default_value 10: {"zeroFloat"} # json_name } 2: { # field 1: {"one_float"} # name 3: 8 # number 4: 1 # label, LABEL_OPTIONAL 5: 2 # type, TYPE_FLOAT 7: {"1"} # default_value 10: {"oneFloat"} # json_name } 2: { # field 1: {"small_float"} # name 3: 9 # number 4: 1 # label, LABEL_OPTIONAL 5: 2 # type, TYPE_FLOAT 7: {"1.5"} # default_value 10: {"smallFloat"} # json_name } 2: { # field 1: {"negative_one_float"} # name 3: 10 # number 4: 1 # label, LABEL_OPTIONAL 5: 2 # type, TYPE_FLOAT 7: {"-1"} # default_value 10: {"negativeOneFloat"} # json_name } 2: { # field 1: {"negative_float"} # name 3: 11 # number 4: 1 # label, LABEL_OPTIONAL 5: 2 # type, TYPE_FLOAT 7: {"-1.5"} # default_value 10: {"negativeFloat"} # json_name } 2: { # field 1: {"large_float"} # name 3: 12 # number 4: 1 # label, LABEL_OPTIONAL 5: 2 # type, TYPE_FLOAT 7: {"2e+08"} # default_value 10: {"largeFloat"} # json_name } 2: { # field 1: {"small_negative_float"} # name 3: 13 # number 4: 1 # label, LABEL_OPTIONAL 5: 2 # type, TYPE_FLOAT 7: {"-8e-28"} # default_value 10: {"smallNegativeFloat"} # json_name } 2: { # field 1: {"inf_double"} # name 3: 14 # number 4: 1 # label, LABEL_OPTIONAL 5: 1 # type, TYPE_DOUBLE 7: {"inf"} # default_value 10: {"infDouble"} # json_name } 2: { # field 1: {"neg_inf_double"} # name 3: 15 # number 4: 1 # label, LABEL_OPTIONAL 5: 1 # type, TYPE_DOUBLE 7: {"-inf"} # default_value 10: {"negInfDouble"} # json_name } 2: { # field 1: {"nan_double"} # name 3: 16 # number 4: 1 # label, LABEL_OPTIONAL 5: 1 # type, TYPE_DOUBLE 7: {"nan"} # default_value 10: {"nanDouble"} # json_name } 2: { # field 1: {"inf_float"} # name 3: 17 # number 4: 1 # label, LABEL_OPTIONAL 5: 2 # type, TYPE_FLOAT 7: {"inf"} # default_value 10: {"infFloat"} # json_name } 2: { # field 1: {"neg_inf_float"} # name 3: 18 # number 4: 1 # label, LABEL_OPTIONAL 5: 2 # type, TYPE_FLOAT 7: {"-inf"} # default_value 10: {"negInfFloat"} # json_name } 2: { # field 1: {"nan_float"} # name 3: 19 # number 4: 1 # label, LABEL_OPTIONAL 5: 2 # type, TYPE_FLOAT 7: {"nan"} # default_value 10: {"nanFloat"} # json_name } 2: { # field 1: {"cpp_trigraph"} # name 3: 20 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 7: {"? ? ?? ?? ??? ??/ ??-"} # default_value 10: {"cppTrigraph"} # json_name } 2: { # field 1: {"string_with_zero"} # name 3: 23 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 7: {"hel\x00lo"} # default_value 10: {"stringWithZero"} # json_name } 2: { # field 1: {"bytes_with_zero"} # name 3: 24 # number 4: 1 # label, LABEL_OPTIONAL 5: 12 # type, TYPE_BYTES 7: {"wor\\000ld"} # default_value 10: {"bytesWithZero"} # json_name } 2: { # field 1: {"string_piece_with_zero"} # name 3: 25 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 7: {"ab\x00c"} # default_value 8: { # options 1: 2 # ctype, STRING_PIECE } 10: {"stringPieceWithZero"} # json_name } 2: { # field 1: {"cord_with_zero"} # name 3: 26 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 7: {"12\x003"} # default_value 8: { # options 1: 1 # ctype, CORD } 10: {"cordWithZero"} # json_name } 2: { # field 1: {"replacement_string"} # name 3: 27 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 7: {"${unknown}"} # default_value 10: {"replacementString"} # json_name } } 4: { # message_type 1: {"SparseEnumMessage"} # name 2: { # field 1: {"sparse_enum"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.TestSparseEnum"} # type_name 10: {"sparseEnum"} # json_name } } 4: { # message_type 1: {"OneString"} # name 2: { # field 1: {"data"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"data"} # json_name } } 4: { # message_type 1: {"MoreString"} # name 2: { # field 1: {"data"} # name 3: 1 # number 4: 3 # label, LABEL_REPEATED 5: 9 # type, TYPE_STRING 10: {"data"} # json_name } } 4: { # message_type 1: {"OneBytes"} # name 2: { # field 1: {"data"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 12 # type, TYPE_BYTES 10: {"data"} # json_name } } 4: { # message_type 1: {"MoreBytes"} # name 2: { # field 1: {"data"} # name 3: 1 # number 4: 3 # label, LABEL_REPEATED 5: 12 # type, TYPE_BYTES 10: {"data"} # json_name } } 4: { # message_type 1: {"ManyOptionalString"} # name 2: { # field 1: {"str1"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str1"} # json_name } 2: { # field 1: {"str2"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str2"} # json_name } 2: { # field 1: {"str3"} # name 3: 3 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str3"} # json_name } 2: { # field 1: {"str4"} # name 3: 4 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str4"} # json_name } 2: { # field 1: {"str5"} # name 3: 5 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str5"} # json_name } 2: { # field 1: {"str6"} # name 3: 6 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str6"} # json_name } 2: { # field 1: {"str7"} # name 3: 7 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str7"} # json_name } 2: { # field 1: {"str8"} # name 3: 8 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str8"} # json_name } 2: { # field 1: {"str9"} # name 3: 9 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str9"} # json_name } 2: { # field 1: {"str10"} # name 3: 10 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str10"} # json_name } 2: { # field 1: {"str11"} # name 3: 11 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str11"} # json_name } 2: { # field 1: {"str12"} # name 3: 12 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str12"} # json_name } 2: { # field 1: {"str13"} # name 3: 13 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str13"} # json_name } 2: { # field 1: {"str14"} # name 3: 14 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str14"} # json_name } 2: { # field 1: {"str15"} # name 3: 15 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str15"} # json_name } 2: { # field 1: {"str16"} # name 3: 16 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str16"} # json_name } 2: { # field 1: {"str17"} # name 3: 17 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str17"} # json_name } 2: { # field 1: {"str18"} # name 3: 18 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str18"} # json_name } 2: { # field 1: {"str19"} # name 3: 19 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str19"} # json_name } 2: { # field 1: {"str20"} # name 3: 20 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str20"} # json_name } 2: { # field 1: {"str21"} # name 3: 21 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str21"} # json_name } 2: { # field 1: {"str22"} # name 3: 22 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str22"} # json_name } 2: { # field 1: {"str23"} # name 3: 23 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str23"} # json_name } 2: { # field 1: {"str24"} # name 3: 24 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str24"} # json_name } 2: { # field 1: {"str25"} # name 3: 25 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str25"} # json_name } 2: { # field 1: {"str26"} # name 3: 26 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str26"} # json_name } 2: { # field 1: {"str27"} # name 3: 27 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str27"} # json_name } 2: { # field 1: {"str28"} # name 3: 28 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str28"} # json_name } 2: { # field 1: {"str29"} # name 3: 29 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str29"} # json_name } 2: { # field 1: {"str30"} # name 3: 30 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str30"} # json_name } 2: { # field 1: {"str31"} # name 3: 31 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str31"} # json_name } 2: { # field 1: {"str32"} # name 3: 32 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"str32"} # json_name } } 4: { # message_type 1: {"Int32Message"} # name 2: { # field 1: {"data"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"data"} # json_name } } 4: { # message_type 1: {"Uint32Message"} # name 2: { # field 1: {"data"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"data"} # json_name } } 4: { # message_type 1: {"Int64Message"} # name 2: { # field 1: {"data"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 3 # type, TYPE_INT64 10: {"data"} # json_name } } 4: { # message_type 1: {"Uint64Message"} # name 2: { # field 1: {"data"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 4 # type, TYPE_UINT64 10: {"data"} # json_name } } 4: { # message_type 1: {"BoolMessage"} # name 2: { # field 1: {"data"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 8 # type, TYPE_BOOL 10: {"data"} # json_name } } 4: { # message_type 1: {"TestOneof"} # name 2: { # field 1: {"foo_int"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 9: 0 # oneof_index 10: {"fooInt"} # json_name } 2: { # field 1: {"foo_string"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 9: 0 # oneof_index 10: {"fooString"} # json_name } 2: { # field 1: {"foo_message"} # name 3: 3 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 9: 0 # oneof_index 10: {"fooMessage"} # json_name } 2: { # field 1: {"foogroup"} # name 3: 4 # number 4: 1 # label, LABEL_OPTIONAL 5: 10 # type, TYPE_GROUP 6: {".unittest.TestOneof.FooGroup"} # type_name 9: 0 # oneof_index 10: {"foogroup"} # json_name } 3: { # nested_type 1: {"FooGroup"} # name 2: { # field 1: {"a"} # name 3: 5 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"a"} # json_name } 2: { # field 1: {"b"} # name 3: 6 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"b"} # json_name } } 8: { # oneof_decl 1: {"foo"} # name } } 4: { # message_type 1: {"TestOneofBackwardsCompatible"} # name 2: { # field 1: {"foo_int"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"fooInt"} # json_name } 2: { # field 1: {"foo_string"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"fooString"} # json_name } 2: { # field 1: {"foo_message"} # name 3: 3 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"fooMessage"} # json_name } 2: { # field 1: {"foogroup"} # name 3: 4 # number 4: 1 # label, LABEL_OPTIONAL 5: 10 # type, TYPE_GROUP 6: {".unittest.TestOneofBackwardsCompatible.FooGroup"} # type_name 10: {"foogroup"} # json_name } 3: { # nested_type 1: {"FooGroup"} # name 2: { # field 1: {"a"} # name 3: 5 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"a"} # json_name } 2: { # field 1: {"b"} # name 3: 6 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"b"} # json_name } } } 4: { # message_type 1: {"TestOneof2"} # name 2: { # field 1: {"foo_int"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 9: 0 # oneof_index 10: {"fooInt"} # json_name } 2: { # field 1: {"foo_string"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 9: 0 # oneof_index 10: {"fooString"} # json_name } 2: { # field 1: {"foo_cord"} # name 3: 3 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 8: { # options 1: 1 # ctype, CORD } 9: 0 # oneof_index 10: {"fooCord"} # json_name } 2: { # field 1: {"foo_string_piece"} # name 3: 4 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 8: { # options 1: 2 # ctype, STRING_PIECE } 9: 0 # oneof_index 10: {"fooStringPiece"} # json_name } 2: { # field 1: {"foo_bytes"} # name 3: 5 # number 4: 1 # label, LABEL_OPTIONAL 5: 12 # type, TYPE_BYTES 9: 0 # oneof_index 10: {"fooBytes"} # json_name } 2: { # field 1: {"foo_enum"} # name 3: 6 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.TestOneof2.NestedEnum"} # type_name 9: 0 # oneof_index 10: {"fooEnum"} # json_name } 2: { # field 1: {"foo_message"} # name 3: 7 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestOneof2.NestedMessage"} # type_name 9: 0 # oneof_index 10: {"fooMessage"} # json_name } 2: { # field 1: {"foogroup"} # name 3: 8 # number 4: 1 # label, LABEL_OPTIONAL 5: 10 # type, TYPE_GROUP 6: {".unittest.TestOneof2.FooGroup"} # type_name 9: 0 # oneof_index 10: {"foogroup"} # json_name } 2: { # field 1: {"foo_lazy_message"} # name 3: 11 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestOneof2.NestedMessage"} # type_name 8: { # options 5: true # lazy } 9: 0 # oneof_index 10: {"fooLazyMessage"} # json_name } 2: { # field 1: {"bar_int"} # name 3: 12 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 7: {"5"} # default_value 9: 1 # oneof_index 10: {"barInt"} # json_name } 2: { # field 1: {"bar_string"} # name 3: 13 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 7: {"STRING"} # default_value 9: 1 # oneof_index 10: {"barString"} # json_name } 2: { # field 1: {"bar_cord"} # name 3: 14 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 7: {"CORD"} # default_value 8: { # options 1: 1 # ctype, CORD } 9: 1 # oneof_index 10: {"barCord"} # json_name } 2: { # field 1: {"bar_string_piece"} # name 3: 15 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 7: {"SPIECE"} # default_value 8: { # options 1: 2 # ctype, STRING_PIECE } 9: 1 # oneof_index 10: {"barStringPiece"} # json_name } 2: { # field 1: {"bar_bytes"} # name 3: 16 # number 4: 1 # label, LABEL_OPTIONAL 5: 12 # type, TYPE_BYTES 7: {"BYTES"} # default_value 9: 1 # oneof_index 10: {"barBytes"} # json_name } 2: { # field 1: {"bar_enum"} # name 3: 17 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.TestOneof2.NestedEnum"} # type_name 7: {"BAR"} # default_value 9: 1 # oneof_index 10: {"barEnum"} # json_name } 2: { # field 1: {"bar_string_with_empty_default"} # name 3: 20 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 7: {""} # default_value 9: 1 # oneof_index 10: {"barStringWithEmptyDefault"} # json_name } 2: { # field 1: {"bar_cord_with_empty_default"} # name 3: 21 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 7: {""} # default_value 8: { # options 1: 1 # ctype, CORD } 9: 1 # oneof_index 10: {"barCordWithEmptyDefault"} # json_name } 2: { # field 1: {"bar_string_piece_with_empty_default"} # name 3: 22 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 7: {""} # default_value 8: { # options 1: 2 # ctype, STRING_PIECE } 9: 1 # oneof_index 10: {"barStringPieceWithEmptyDefault"} # json_name } 2: { # field 1: {"bar_bytes_with_empty_default"} # name 3: 23 # number 4: 1 # label, LABEL_OPTIONAL 5: 12 # type, TYPE_BYTES 7: {""} # default_value 9: 1 # oneof_index 10: {"barBytesWithEmptyDefault"} # json_name } 2: { # field 1: {"baz_int"} # name 3: 18 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"bazInt"} # json_name } 2: { # field 1: {"baz_string"} # name 3: 19 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 7: {"BAZ"} # default_value 10: {"bazString"} # json_name } 3: { # nested_type 1: {"FooGroup"} # name 2: { # field 1: {"a"} # name 3: 9 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"a"} # json_name } 2: { # field 1: {"b"} # name 3: 10 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"b"} # json_name } } 3: { # nested_type 1: {"NestedMessage"} # name 2: { # field 1: {"moo_int"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 3 # type, TYPE_INT64 10: {"mooInt"} # json_name } 2: { # field 1: {"corge_int"} # name 3: 2 # number 4: 3 # label, LABEL_REPEATED 5: 5 # type, TYPE_INT32 10: {"corgeInt"} # json_name } } 4: { # enum_type 1: {"NestedEnum"} # name 2: { # value 1: {"FOO"} # name 2: 1 # number } 2: { # value 1: {"BAR"} # name 2: 2 # number } 2: { # value 1: {"BAZ"} # name 2: 3 # number } } 8: { # oneof_decl 1: {"foo"} # name } 8: { # oneof_decl 1: {"bar"} # name } } 4: { # message_type 1: {"TestRequiredOneof"} # name 2: { # field 1: {"foo_int"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 9: 0 # oneof_index 10: {"fooInt"} # json_name } 2: { # field 1: {"foo_string"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 9: 0 # oneof_index 10: {"fooString"} # json_name } 2: { # field 1: {"foo_message"} # name 3: 3 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestRequiredOneof.NestedMessage"} # type_name 9: 0 # oneof_index 10: {"fooMessage"} # json_name } 3: { # nested_type 1: {"NestedMessage"} # name 2: { # field 1: {"required_double"} # name 3: 1 # number 4: 2 # label, LABEL_REQUIRED 5: 1 # type, TYPE_DOUBLE 10: {"requiredDouble"} # json_name } } 8: { # oneof_decl 1: {"foo"} # name } } 4: { # message_type 1: {"TestPackedTypes"} # name 2: { # field 1: {"packed_int32"} # name 3: 90 # number 4: 3 # label, LABEL_REPEATED 5: 5 # type, TYPE_INT32 8: { # options 2: true # packed } 10: {"packedInt32"} # json_name } 2: { # field 1: {"packed_int64"} # name 3: 91 # number 4: 3 # label, LABEL_REPEATED 5: 3 # type, TYPE_INT64 8: { # options 2: true # packed } 10: {"packedInt64"} # json_name } 2: { # field 1: {"packed_uint32"} # name 3: 92 # number 4: 3 # label, LABEL_REPEATED 5: 13 # type, TYPE_UINT32 8: { # options 2: true # packed } 10: {"packedUint32"} # json_name } 2: { # field 1: {"packed_uint64"} # name 3: 93 # number 4: 3 # label, LABEL_REPEATED 5: 4 # type, TYPE_UINT64 8: { # options 2: true # packed } 10: {"packedUint64"} # json_name } 2: { # field 1: {"packed_sint32"} # name 3: 94 # number 4: 3 # label, LABEL_REPEATED 5: 17 # type, TYPE_SINT32 8: { # options 2: true # packed } 10: {"packedSint32"} # json_name } 2: { # field 1: {"packed_sint64"} # name 3: 95 # number 4: 3 # label, LABEL_REPEATED 5: 18 # type, TYPE_SINT64 8: { # options 2: true # packed } 10: {"packedSint64"} # json_name } 2: { # field 1: {"packed_fixed32"} # name 3: 96 # number 4: 3 # label, LABEL_REPEATED 5: 7 # type, TYPE_FIXED32 8: { # options 2: true # packed } 10: {"packedFixed32"} # json_name } 2: { # field 1: {"packed_fixed64"} # name 3: 97 # number 4: 3 # label, LABEL_REPEATED 5: 6 # type, TYPE_FIXED64 8: { # options 2: true # packed } 10: {"packedFixed64"} # json_name } 2: { # field 1: {"packed_sfixed32"} # name 3: 98 # number 4: 3 # label, LABEL_REPEATED 5: 15 # type, TYPE_SFIXED32 8: { # options 2: true # packed } 10: {"packedSfixed32"} # json_name } 2: { # field 1: {"packed_sfixed64"} # name 3: 99 # number 4: 3 # label, LABEL_REPEATED 5: 16 # type, TYPE_SFIXED64 8: { # options 2: true # packed } 10: {"packedSfixed64"} # json_name } 2: { # field 1: {"packed_float"} # name 3: 100 # number 4: 3 # label, LABEL_REPEATED 5: 2 # type, TYPE_FLOAT 8: { # options 2: true # packed } 10: {"packedFloat"} # json_name } 2: { # field 1: {"packed_double"} # name 3: 101 # number 4: 3 # label, LABEL_REPEATED 5: 1 # type, TYPE_DOUBLE 8: { # options 2: true # packed } 10: {"packedDouble"} # json_name } 2: { # field 1: {"packed_bool"} # name 3: 102 # number 4: 3 # label, LABEL_REPEATED 5: 8 # type, TYPE_BOOL 8: { # options 2: true # packed } 10: {"packedBool"} # json_name } 2: { # field 1: {"packed_enum"} # name 3: 103 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.ForeignEnum"} # type_name 8: { # options 2: true # packed } 10: {"packedEnum"} # json_name } } 4: { # message_type 1: {"TestUnpackedTypes"} # name 2: { # field 1: {"unpacked_int32"} # name 3: 90 # number 4: 3 # label, LABEL_REPEATED 5: 5 # type, TYPE_INT32 8: { # options 2: false # packed } 10: {"unpackedInt32"} # json_name } 2: { # field 1: {"unpacked_int64"} # name 3: 91 # number 4: 3 # label, LABEL_REPEATED 5: 3 # type, TYPE_INT64 8: { # options 2: false # packed } 10: {"unpackedInt64"} # json_name } 2: { # field 1: {"unpacked_uint32"} # name 3: 92 # number 4: 3 # label, LABEL_REPEATED 5: 13 # type, TYPE_UINT32 8: { # options 2: false # packed } 10: {"unpackedUint32"} # json_name } 2: { # field 1: {"unpacked_uint64"} # name 3: 93 # number 4: 3 # label, LABEL_REPEATED 5: 4 # type, TYPE_UINT64 8: { # options 2: false # packed } 10: {"unpackedUint64"} # json_name } 2: { # field 1: {"unpacked_sint32"} # name 3: 94 # number 4: 3 # label, LABEL_REPEATED 5: 17 # type, TYPE_SINT32 8: { # options 2: false # packed } 10: {"unpackedSint32"} # json_name } 2: { # field 1: {"unpacked_sint64"} # name 3: 95 # number 4: 3 # label, LABEL_REPEATED 5: 18 # type, TYPE_SINT64 8: { # options 2: false # packed } 10: {"unpackedSint64"} # json_name } 2: { # field 1: {"unpacked_fixed32"} # name 3: 96 # number 4: 3 # label, LABEL_REPEATED 5: 7 # type, TYPE_FIXED32 8: { # options 2: false # packed } 10: {"unpackedFixed32"} # json_name } 2: { # field 1: {"unpacked_fixed64"} # name 3: 97 # number 4: 3 # label, LABEL_REPEATED 5: 6 # type, TYPE_FIXED64 8: { # options 2: false # packed } 10: {"unpackedFixed64"} # json_name } 2: { # field 1: {"unpacked_sfixed32"} # name 3: 98 # number 4: 3 # label, LABEL_REPEATED 5: 15 # type, TYPE_SFIXED32 8: { # options 2: false # packed } 10: {"unpackedSfixed32"} # json_name } 2: { # field 1: {"unpacked_sfixed64"} # name 3: 99 # number 4: 3 # label, LABEL_REPEATED 5: 16 # type, TYPE_SFIXED64 8: { # options 2: false # packed } 10: {"unpackedSfixed64"} # json_name } 2: { # field 1: {"unpacked_float"} # name 3: 100 # number 4: 3 # label, LABEL_REPEATED 5: 2 # type, TYPE_FLOAT 8: { # options 2: false # packed } 10: {"unpackedFloat"} # json_name } 2: { # field 1: {"unpacked_double"} # name 3: 101 # number 4: 3 # label, LABEL_REPEATED 5: 1 # type, TYPE_DOUBLE 8: { # options 2: false # packed } 10: {"unpackedDouble"} # json_name } 2: { # field 1: {"unpacked_bool"} # name 3: 102 # number 4: 3 # label, LABEL_REPEATED 5: 8 # type, TYPE_BOOL 8: { # options 2: false # packed } 10: {"unpackedBool"} # json_name } 2: { # field 1: {"unpacked_enum"} # name 3: 103 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.ForeignEnum"} # type_name 8: { # options 2: false # packed } 10: {"unpackedEnum"} # json_name } } 4: { # message_type 1: {"TestPackedExtensions"} # name 5: { # extension_range 1: 1 # start 2: 536870912 # end } } 4: { # message_type 1: {"TestUnpackedExtensions"} # name 5: { # extension_range 1: 1 # start 2: 536870912 # end } } 4: { # message_type 1: {"TestDynamicExtensions"} # name 2: { # field 1: {"scalar_extension"} # name 3: 2000 # number 4: 1 # label, LABEL_OPTIONAL 5: 7 # type, TYPE_FIXED32 10: {"scalarExtension"} # json_name } 2: { # field 1: {"enum_extension"} # name 3: 2001 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.ForeignEnum"} # type_name 10: {"enumExtension"} # json_name } 2: { # field 1: {"dynamic_enum_extension"} # name 3: 2002 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.TestDynamicExtensions.DynamicEnumType"} # type_name 10: {"dynamicEnumExtension"} # json_name } 2: { # field 1: {"message_extension"} # name 3: 2003 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.ForeignMessage"} # type_name 10: {"messageExtension"} # json_name } 2: { # field 1: {"dynamic_message_extension"} # name 3: 2004 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestDynamicExtensions.DynamicMessageType"} # type_name 10: {"dynamicMessageExtension"} # json_name } 2: { # field 1: {"repeated_extension"} # name 3: 2005 # number 4: 3 # label, LABEL_REPEATED 5: 9 # type, TYPE_STRING 10: {"repeatedExtension"} # json_name } 2: { # field 1: {"packed_extension"} # name 3: 2006 # number 4: 3 # label, LABEL_REPEATED 5: 17 # type, TYPE_SINT32 8: { # options 2: true # packed } 10: {"packedExtension"} # json_name } 3: { # nested_type 1: {"DynamicMessageType"} # name 2: { # field 1: {"dynamic_field"} # name 3: 2100 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"dynamicField"} # json_name } } 4: { # enum_type 1: {"DynamicEnumType"} # name 2: { # value 1: {"DYNAMIC_FOO"} # name 2: 2200 # number } 2: { # value 1: {"DYNAMIC_BAR"} # name 2: 2201 # number } 2: { # value 1: {"DYNAMIC_BAZ"} # name 2: 2202 # number } } } 4: { # message_type 1: {"TestRepeatedScalarDifferentTagSizes"} # name 2: { # field 1: {"repeated_fixed32"} # name 3: 12 # number 4: 3 # label, LABEL_REPEATED 5: 7 # type, TYPE_FIXED32 10: {"repeatedFixed32"} # json_name } 2: { # field 1: {"repeated_int32"} # name 3: 13 # number 4: 3 # label, LABEL_REPEATED 5: 5 # type, TYPE_INT32 10: {"repeatedInt32"} # json_name } 2: { # field 1: {"repeated_fixed64"} # name 3: 2046 # number 4: 3 # label, LABEL_REPEATED 5: 6 # type, TYPE_FIXED64 10: {"repeatedFixed64"} # json_name } 2: { # field 1: {"repeated_int64"} # name 3: 2047 # number 4: 3 # label, LABEL_REPEATED 5: 3 # type, TYPE_INT64 10: {"repeatedInt64"} # json_name } 2: { # field 1: {"repeated_float"} # name 3: 262142 # number 4: 3 # label, LABEL_REPEATED 5: 2 # type, TYPE_FLOAT 10: {"repeatedFloat"} # json_name } 2: { # field 1: {"repeated_uint64"} # name 3: 262143 # number 4: 3 # label, LABEL_REPEATED 5: 4 # type, TYPE_UINT64 10: {"repeatedUint64"} # json_name } } 4: { # message_type 1: {"TestParsingMerge"} # name 2: { # field 1: {"required_all_types"} # name 3: 1 # number 4: 2 # label, LABEL_REQUIRED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"requiredAllTypes"} # json_name } 2: { # field 1: {"optional_all_types"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"optionalAllTypes"} # json_name } 2: { # field 1: {"repeated_all_types"} # name 3: 3 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"repeatedAllTypes"} # json_name } 2: { # field 1: {"optionalgroup"} # name 3: 10 # number 4: 1 # label, LABEL_OPTIONAL 5: 10 # type, TYPE_GROUP 6: {".unittest.TestParsingMerge.OptionalGroup"} # type_name 10: {"optionalgroup"} # json_name } 2: { # field 1: {"repeatedgroup"} # name 3: 20 # number 4: 3 # label, LABEL_REPEATED 5: 10 # type, TYPE_GROUP 6: {".unittest.TestParsingMerge.RepeatedGroup"} # type_name 10: {"repeatedgroup"} # json_name } 3: { # nested_type 1: {"RepeatedFieldsGenerator"} # name 2: { # field 1: {"field1"} # name 3: 1 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"field1"} # json_name } 2: { # field 1: {"field2"} # name 3: 2 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"field2"} # json_name } 2: { # field 1: {"field3"} # name 3: 3 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"field3"} # json_name } 2: { # field 1: {"group1"} # name 3: 10 # number 4: 3 # label, LABEL_REPEATED 5: 10 # type, TYPE_GROUP 6: {".unittest.TestParsingMerge.RepeatedFieldsGenerator.Group1"} # type_name 10: {"group1"} # json_name } 2: { # field 1: {"group2"} # name 3: 20 # number 4: 3 # label, LABEL_REPEATED 5: 10 # type, TYPE_GROUP 6: {".unittest.TestParsingMerge.RepeatedFieldsGenerator.Group2"} # type_name 10: {"group2"} # json_name } 2: { # field 1: {"ext1"} # name 3: 1000 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"ext1"} # json_name } 2: { # field 1: {"ext2"} # name 3: 1001 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"ext2"} # json_name } 3: { # nested_type 1: {"Group1"} # name 2: { # field 1: {"field1"} # name 3: 11 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"field1"} # json_name } } 3: { # nested_type 1: {"Group2"} # name 2: { # field 1: {"field1"} # name 3: 21 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"field1"} # json_name } } } 3: { # nested_type 1: {"OptionalGroup"} # name 2: { # field 1: {"optional_group_all_types"} # name 3: 11 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"optionalGroupAllTypes"} # json_name } } 3: { # nested_type 1: {"RepeatedGroup"} # name 2: { # field 1: {"repeated_group_all_types"} # name 3: 21 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"repeatedGroupAllTypes"} # json_name } } 5: { # extension_range 1: 1000 # start 2: 536870912 # end } 6: { # extension 1: {"optional_ext"} # name 2: {".unittest.TestParsingMerge"} # extendee 3: 1000 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"optionalExt"} # json_name } 6: { # extension 1: {"repeated_ext"} # name 2: {".unittest.TestParsingMerge"} # extendee 3: 1001 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"repeatedExt"} # json_name } } 4: { # message_type 1: {"TestMergeException"} # name 2: { # field 1: {"all_extensions"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllExtensions"} # type_name 10: {"allExtensions"} # json_name } } 4: { # message_type 1: {"TestCommentInjectionMessage"} # name 2: { # field 1: {"a"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 7: {"*/ <- Neither should this."} # default_value 10: {"a"} # json_name } } 4: { # message_type 1: {"TestMessageSize"} # name 2: { # field 1: {"m1"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 8 # type, TYPE_BOOL 10: {"m1"} # json_name } 2: { # field 1: {"m2"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 3 # type, TYPE_INT64 10: {"m2"} # json_name } 2: { # field 1: {"m3"} # name 3: 3 # number 4: 1 # label, LABEL_OPTIONAL 5: 8 # type, TYPE_BOOL 10: {"m3"} # json_name } 2: { # field 1: {"m4"} # name 3: 4 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"m4"} # json_name } 2: { # field 1: {"m5"} # name 3: 5 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"m5"} # json_name } 2: { # field 1: {"m6"} # name 3: 6 # number 4: 1 # label, LABEL_OPTIONAL 5: 3 # type, TYPE_INT64 10: {"m6"} # json_name } } 4: { # message_type 1: {"FooRequest"} # name } 4: { # message_type 1: {"FooResponse"} # name } 4: { # message_type 1: {"FooClientMessage"} # name } 4: { # message_type 1: {"FooServerMessage"} # name } 4: { # message_type 1: {"BarRequest"} # name } 4: { # message_type 1: {"BarResponse"} # name } 4: { # message_type 1: {"TestJsonName"} # name 2: { # field 1: {"field_name1"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"fieldName1"} # json_name } 2: { # field 1: {"fieldName2"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"fieldName2"} # json_name } 2: { # field 1: {"FieldName3"} # name 3: 3 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"FieldName3"} # json_name } 2: { # field 1: {"_field_name4"} # name 3: 4 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"FieldName4"} # json_name } 2: { # field 1: {"FIELD_NAME5"} # name 3: 5 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"FIELDNAME5"} # json_name } 2: { # field 1: {"field_name6"} # name 3: 6 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"@type"} # json_name } 2: { # field 1: {"fieldname7"} # name 3: 7 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"fieldname7"} # json_name } } 4: { # message_type 1: {"TestHugeFieldNumbers"} # name 2: { # field 1: {"optional_int32"} # name 3: 536870000 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt32"} # json_name } 2: { # field 1: {"fixed_32"} # name 3: 536870001 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"fixed32"} # json_name } 2: { # field 1: {"repeated_int32"} # name 3: 536870002 # number 4: 3 # label, LABEL_REPEATED 5: 5 # type, TYPE_INT32 8: { # options 2: false # packed } 10: {"repeatedInt32"} # json_name } 2: { # field 1: {"packed_int32"} # name 3: 536870003 # number 4: 3 # label, LABEL_REPEATED 5: 5 # type, TYPE_INT32 8: { # options 2: true # packed } 10: {"packedInt32"} # json_name } 2: { # field 1: {"optional_enum"} # name 3: 536870004 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.ForeignEnum"} # type_name 10: {"optionalEnum"} # json_name } 2: { # field 1: {"optional_string"} # name 3: 536870005 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"optionalString"} # json_name } 2: { # field 1: {"optional_bytes"} # name 3: 536870006 # number 4: 1 # label, LABEL_OPTIONAL 5: 12 # type, TYPE_BYTES 10: {"optionalBytes"} # json_name } 2: { # field 1: {"optional_message"} # name 3: 536870007 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.ForeignMessage"} # type_name 10: {"optionalMessage"} # json_name } 2: { # field 1: {"optionalgroup"} # name 3: 536870008 # number 4: 1 # label, LABEL_OPTIONAL 5: 10 # type, TYPE_GROUP 6: {".unittest.TestHugeFieldNumbers.OptionalGroup"} # type_name 10: {"optionalgroup"} # json_name } 2: { # field 1: {"string_string_map"} # name 3: 536870010 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestHugeFieldNumbers.StringStringMapEntry"} # type_name 10: {"stringStringMap"} # json_name } 2: { # field 1: {"oneof_uint32"} # name 3: 536870011 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 9: 0 # oneof_index 10: {"oneofUint32"} # json_name } 2: { # field 1: {"oneof_test_all_types"} # name 3: 536870012 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 9: 0 # oneof_index 10: {"oneofTestAllTypes"} # json_name } 2: { # field 1: {"oneof_string"} # name 3: 536870013 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 9: 0 # oneof_index 10: {"oneofString"} # json_name } 2: { # field 1: {"oneof_bytes"} # name 3: 536870014 # number 4: 1 # label, LABEL_OPTIONAL 5: 12 # type, TYPE_BYTES 9: 0 # oneof_index 10: {"oneofBytes"} # json_name } 3: { # nested_type 1: {"OptionalGroup"} # name 2: { # field 1: {"group_a"} # name 3: 536870009 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"groupA"} # json_name } } 3: { # nested_type 1: {"StringStringMapEntry"} # name 2: { # field 1: {"key"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"key"} # json_name } 2: { # field 1: {"value"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"value"} # json_name } 7: { # options 7: true # map_entry } } 5: { # extension_range 1: 536860000 # start 2: 536870000 # end } 8: { # oneof_decl 1: {"oneof_field"} # name } } 4: { # message_type 1: {"TestExtensionInsideTable"} # name 2: { # field 1: {"field1"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"field1"} # json_name } 2: { # field 1: {"field2"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"field2"} # json_name } 2: { # field 1: {"field3"} # name 3: 3 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"field3"} # json_name } 2: { # field 1: {"field4"} # name 3: 4 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"field4"} # json_name } 2: { # field 1: {"field6"} # name 3: 6 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"field6"} # json_name } 2: { # field 1: {"field7"} # name 3: 7 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"field7"} # json_name } 2: { # field 1: {"field8"} # name 3: 8 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"field8"} # json_name } 2: { # field 1: {"field9"} # name 3: 9 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"field9"} # json_name } 2: { # field 1: {"field10"} # name 3: 10 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"field10"} # json_name } 5: { # extension_range 1: 5 # start 2: 6 # end } } 4: { # message_type 1: {"TestNestedGroupExtensionOuter"} # name 2: { # field 1: {"layer1optionalgroup"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 10 # type, TYPE_GROUP 6: {".unittest.TestNestedGroupExtensionOuter.Layer1OptionalGroup"} # type_name 10: {"layer1optionalgroup"} # json_name } 3: { # nested_type 1: {"Layer1OptionalGroup"} # name 2: { # field 1: {"layer2repeatedgroup"} # name 3: 2 # number 4: 3 # label, LABEL_REPEATED 5: 10 # type, TYPE_GROUP 6: {".unittest.TestNestedGroupExtensionOuter.Layer1OptionalGroup.Layer2RepeatedGroup"} # type_name 10: {"layer2repeatedgroup"} # json_name } 2: { # field 1: {"layer2anotheroptionalrepeatedgroup"} # name 3: 4 # number 4: 3 # label, LABEL_REPEATED 5: 10 # type, TYPE_GROUP 6: { # type_name ".unittest.TestNestedGroupExtensionOuter.Layer1OptionalGroup.Layer2AnotherOptiona" "lRepeatedGroup" } 10: {"layer2anotheroptionalrepeatedgroup"} # json_name } 3: { # nested_type 1: {"Layer2RepeatedGroup"} # name 2: { # field 1: {"another_field"} # name 3: 6 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"anotherField"} # json_name } 5: { # extension_range 1: 3 # start 2: 4 # end } } 3: { # nested_type 1: {"Layer2AnotherOptionalRepeatedGroup"} # name 2: { # field 1: {"but_why_tho"} # name 3: 5 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"butWhyTho"} # json_name } } } } 4: { # message_type 1: {"TestNestedGroupExtensionInnerExtension"} # name 2: { # field 1: {"inner_name"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"innerName"} # json_name } } 4: { # message_type 1: {"TestExtensionRangeSerialize"} # name 2: { # field 1: {"foo_one"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"fooOne"} # json_name } 2: { # field 1: {"foo_two"} # name 3: 6 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"fooTwo"} # json_name } 2: { # field 1: {"foo_three"} # name 3: 7 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"fooThree"} # json_name } 2: { # field 1: {"foo_four"} # name 3: 13 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"fooFour"} # json_name } 5: { # extension_range 1: 2 # start 2: 3 # end } 5: { # extension_range 1: 3 # start 2: 5 # end } 5: { # extension_range 1: 9 # start 2: 11 # end } 5: { # extension_range 1: 15 # start 2: 16 # end } 5: { # extension_range 1: 17 # start 2: 18 # end } 5: { # extension_range 1: 19 # start 2: 20 # end } 6: { # extension 1: {"bar_one"} # name 2: {".unittest.TestExtensionRangeSerialize"} # extendee 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"barOne"} # json_name } 6: { # extension 1: {"bar_two"} # name 2: {".unittest.TestExtensionRangeSerialize"} # extendee 3: 4 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"barTwo"} # json_name } 6: { # extension 1: {"bar_three"} # name 2: {".unittest.TestExtensionRangeSerialize"} # extendee 3: 10 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"barThree"} # json_name } 6: { # extension 1: {"bar_four"} # name 2: {".unittest.TestExtensionRangeSerialize"} # extendee 3: 15 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"barFour"} # json_name } 6: { # extension 1: {"bar_five"} # name 2: {".unittest.TestExtensionRangeSerialize"} # extendee 3: 19 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"barFive"} # json_name } } 4: { # message_type 1: {"TestVerifyInt32Simple"} # name 2: { # field 1: {"optional_int32_1"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt321"} # json_name } 2: { # field 1: {"optional_int32_2"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt322"} # json_name } 2: { # field 1: {"optional_int32_63"} # name 3: 63 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt3263"} # json_name } 2: { # field 1: {"optional_int32_64"} # name 3: 64 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt3264"} # json_name } } 4: { # message_type 1: {"TestVerifyInt32"} # name 2: { # field 1: {"optional_int32_1"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt321"} # json_name } 2: { # field 1: {"optional_int32_2"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt322"} # json_name } 2: { # field 1: {"optional_int32_63"} # name 3: 63 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt3263"} # json_name } 2: { # field 1: {"optional_int32_64"} # name 3: 64 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt3264"} # json_name } 2: { # field 1: {"optional_all_types"} # name 3: 9 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"optionalAllTypes"} # json_name } 2: { # field 1: {"repeated_all_types"} # name 3: 10 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"repeatedAllTypes"} # json_name } } 4: { # message_type 1: {"TestVerifyMostlyInt32"} # name 2: { # field 1: {"optional_int64_30"} # name 3: 30 # number 4: 1 # label, LABEL_OPTIONAL 5: 3 # type, TYPE_INT64 10: {"optionalInt6430"} # json_name } 2: { # field 1: {"optional_int32_1"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt321"} # json_name } 2: { # field 1: {"optional_int32_2"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt322"} # json_name } 2: { # field 1: {"optional_int32_3"} # name 3: 3 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt323"} # json_name } 2: { # field 1: {"optional_int32_4"} # name 3: 4 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt324"} # json_name } 2: { # field 1: {"optional_int32_63"} # name 3: 63 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt3263"} # json_name } 2: { # field 1: {"optional_int32_64"} # name 3: 64 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt3264"} # json_name } 2: { # field 1: {"optional_all_types"} # name 3: 9 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"optionalAllTypes"} # json_name } 2: { # field 1: {"repeated_all_types"} # name 3: 10 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"repeatedAllTypes"} # json_name } } 4: { # message_type 1: {"TestVerifyMostlyInt32BigFieldNumber"} # name 2: { # field 1: {"optional_int64_30"} # name 3: 30 # number 4: 1 # label, LABEL_OPTIONAL 5: 3 # type, TYPE_INT64 10: {"optionalInt6430"} # json_name } 2: { # field 1: {"optional_int32_300"} # name 3: 300 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt32300"} # json_name } 2: { # field 1: {"optional_int32_1"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt321"} # json_name } 2: { # field 1: {"optional_int32_2"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt322"} # json_name } 2: { # field 1: {"optional_int32_3"} # name 3: 3 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt323"} # json_name } 2: { # field 1: {"optional_int32_4"} # name 3: 4 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt324"} # json_name } 2: { # field 1: {"optional_int32_63"} # name 3: 63 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt3263"} # json_name } 2: { # field 1: {"optional_int32_64"} # name 3: 64 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt3264"} # json_name } 2: { # field 1: {"optional_all_types"} # name 3: 9 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"optionalAllTypes"} # json_name } 2: { # field 1: {"repeated_all_types"} # name 3: 10 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"repeatedAllTypes"} # json_name } } 4: { # message_type 1: {"TestVerifyUint32Simple"} # name 2: { # field 1: {"optional_uint32_1"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint321"} # json_name } 2: { # field 1: {"optional_uint32_2"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint322"} # json_name } 2: { # field 1: {"optional_uint32_63"} # name 3: 63 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint3263"} # json_name } 2: { # field 1: {"optional_uint32_64"} # name 3: 64 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint3264"} # json_name } } 4: { # message_type 1: {"TestVerifyUint32"} # name 2: { # field 1: {"optional_uint32_1"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint321"} # json_name } 2: { # field 1: {"optional_uint32_2"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint322"} # json_name } 2: { # field 1: {"optional_uint32_63"} # name 3: 63 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint3263"} # json_name } 2: { # field 1: {"optional_uint32_64"} # name 3: 64 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint3264"} # json_name } 2: { # field 1: {"optional_all_types"} # name 3: 9 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"optionalAllTypes"} # json_name } 2: { # field 1: {"repeated_all_types"} # name 3: 10 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"repeatedAllTypes"} # json_name } } 4: { # message_type 1: {"TestVerifyOneUint32"} # name 2: { # field 1: {"optional_uint32_1"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint321"} # json_name } 2: { # field 1: {"optional_int32_2"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt322"} # json_name } 2: { # field 1: {"optional_int32_63"} # name 3: 63 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt3263"} # json_name } 2: { # field 1: {"optional_int32_64"} # name 3: 64 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt3264"} # json_name } 2: { # field 1: {"optional_all_types"} # name 3: 9 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"optionalAllTypes"} # json_name } 2: { # field 1: {"repeated_all_types"} # name 3: 10 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"repeatedAllTypes"} # json_name } } 4: { # message_type 1: {"TestVerifyOneInt32BigFieldNumber"} # name 2: { # field 1: {"optional_int32_65"} # name 3: 65 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt3265"} # json_name } 2: { # field 1: {"optional_int64_1"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 3 # type, TYPE_INT64 10: {"optionalInt641"} # json_name } 2: { # field 1: {"optional_int64_2"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 3 # type, TYPE_INT64 10: {"optionalInt642"} # json_name } 2: { # field 1: {"optional_int64_63"} # name 3: 63 # number 4: 1 # label, LABEL_OPTIONAL 5: 3 # type, TYPE_INT64 10: {"optionalInt6463"} # json_name } 2: { # field 1: {"optional_int64_64"} # name 3: 64 # number 4: 1 # label, LABEL_OPTIONAL 5: 3 # type, TYPE_INT64 10: {"optionalInt6464"} # json_name } 2: { # field 1: {"optional_all_types"} # name 3: 9 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"optionalAllTypes"} # json_name } 2: { # field 1: {"repeated_all_types"} # name 3: 10 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"repeatedAllTypes"} # json_name } } 4: { # message_type 1: {"TestVerifyInt32BigFieldNumber"} # name 2: { # field 1: {"optional_int32_1000"} # name 3: 1000 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt321000"} # json_name } 2: { # field 1: {"optional_int32_65"} # name 3: 65 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt3265"} # json_name } 2: { # field 1: {"optional_int32_1"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt321"} # json_name } 2: { # field 1: {"optional_int32_2"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt322"} # json_name } 2: { # field 1: {"optional_int32_63"} # name 3: 63 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt3263"} # json_name } 2: { # field 1: {"optional_int32_64"} # name 3: 64 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt3264"} # json_name } 2: { # field 1: {"optional_all_types"} # name 3: 9 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"optionalAllTypes"} # json_name } 2: { # field 1: {"repeated_all_types"} # name 3: 10 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"repeatedAllTypes"} # json_name } } 4: { # message_type 1: {"TestVerifyUint32BigFieldNumber"} # name 2: { # field 1: {"optional_uint32_1000"} # name 3: 1000 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint321000"} # json_name } 2: { # field 1: {"optional_uint32_65"} # name 3: 65 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint3265"} # json_name } 2: { # field 1: {"optional_uint32_1"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint321"} # json_name } 2: { # field 1: {"optional_uint32_2"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint322"} # json_name } 2: { # field 1: {"optional_uint32_63"} # name 3: 63 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint3263"} # json_name } 2: { # field 1: {"optional_uint32_64"} # name 3: 64 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint3264"} # json_name } 2: { # field 1: {"optional_all_types"} # name 3: 9 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"optionalAllTypes"} # json_name } 2: { # field 1: {"repeated_all_types"} # name 3: 10 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"repeatedAllTypes"} # json_name } } 4: { # message_type 1: {"TestVerifyBigFieldNumberUint32"} # name 2: { # field 1: {"optional_nested"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestVerifyBigFieldNumberUint32.Nested"} # type_name 10: {"optionalNested"} # json_name } 3: { # nested_type 1: {"Nested"} # name 2: { # field 1: {"optional_uint32_5000"} # name 3: 5000 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint325000"} # json_name } 2: { # field 1: {"optional_uint32_1000"} # name 3: 1000 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint321000"} # json_name } 2: { # field 1: {"optional_uint32_66"} # name 3: 66 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint3266"} # json_name } 2: { # field 1: {"optional_uint32_65"} # name 3: 65 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint3265"} # json_name } 2: { # field 1: {"optional_uint32_1"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint321"} # json_name } 2: { # field 1: {"optional_uint32_2"} # name 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint322"} # json_name } 2: { # field 1: {"optional_uint32_63"} # name 3: 63 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint3263"} # json_name } 2: { # field 1: {"optional_uint32_64"} # name 3: 64 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint3264"} # json_name } 2: { # field 1: {"optional_nested"} # name 3: 9 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestVerifyBigFieldNumberUint32.Nested"} # type_name 10: {"optionalNested"} # json_name } 2: { # field 1: {"repeated_nested"} # name 3: 10 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestVerifyBigFieldNumberUint32.Nested"} # type_name 10: {"repeatedNested"} # json_name } } } 4: { # message_type 1: {"EnumParseTester"} # name 2: { # field 1: {"optional_seq_small_0_lowfield"} # name 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqSmall0"} # type_name 10: {"optionalSeqSmall0Lowfield"} # json_name } 2: { # field 1: {"optional_seq_small_0_midfield"} # name 3: 1001 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqSmall0"} # type_name 10: {"optionalSeqSmall0Midfield"} # json_name } 2: { # field 1: {"optional_seq_small_0_hifield"} # name 3: 1000001 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqSmall0"} # type_name 10: {"optionalSeqSmall0Hifield"} # json_name } 2: { # field 1: {"repeated_seq_small_0_lowfield"} # name 3: 2 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqSmall0"} # type_name 10: {"repeatedSeqSmall0Lowfield"} # json_name } 2: { # field 1: {"repeated_seq_small_0_midfield"} # name 3: 1002 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqSmall0"} # type_name 10: {"repeatedSeqSmall0Midfield"} # json_name } 2: { # field 1: {"repeated_seq_small_0_hifield"} # name 3: 1000002 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqSmall0"} # type_name 10: {"repeatedSeqSmall0Hifield"} # json_name } 2: { # field 1: {"packed_seq_small_0_lowfield"} # name 3: 3 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqSmall0"} # type_name 8: { # options 2: true # packed } 10: {"packedSeqSmall0Lowfield"} # json_name } 2: { # field 1: {"packed_seq_small_0_midfield"} # name 3: 1003 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqSmall0"} # type_name 8: { # options 2: true # packed } 10: {"packedSeqSmall0Midfield"} # json_name } 2: { # field 1: {"packed_seq_small_0_hifield"} # name 3: 1000003 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqSmall0"} # type_name 8: { # options 2: true # packed } 10: {"packedSeqSmall0Hifield"} # json_name } 2: { # field 1: {"optional_seq_small_1_lowfield"} # name 3: 4 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqSmall1"} # type_name 10: {"optionalSeqSmall1Lowfield"} # json_name } 2: { # field 1: {"optional_seq_small_1_midfield"} # name 3: 1004 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqSmall1"} # type_name 10: {"optionalSeqSmall1Midfield"} # json_name } 2: { # field 1: {"optional_seq_small_1_hifield"} # name 3: 1000004 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqSmall1"} # type_name 10: {"optionalSeqSmall1Hifield"} # json_name } 2: { # field 1: {"repeated_seq_small_1_lowfield"} # name 3: 5 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqSmall1"} # type_name 10: {"repeatedSeqSmall1Lowfield"} # json_name } 2: { # field 1: {"repeated_seq_small_1_midfield"} # name 3: 1005 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqSmall1"} # type_name 10: {"repeatedSeqSmall1Midfield"} # json_name } 2: { # field 1: {"repeated_seq_small_1_hifield"} # name 3: 1000005 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqSmall1"} # type_name 10: {"repeatedSeqSmall1Hifield"} # json_name } 2: { # field 1: {"packed_seq_small_1_lowfield"} # name 3: 6 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqSmall1"} # type_name 8: { # options 2: true # packed } 10: {"packedSeqSmall1Lowfield"} # json_name } 2: { # field 1: {"packed_seq_small_1_midfield"} # name 3: 1006 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqSmall1"} # type_name 8: { # options 2: true # packed } 10: {"packedSeqSmall1Midfield"} # json_name } 2: { # field 1: {"packed_seq_small_1_hifield"} # name 3: 1000006 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqSmall1"} # type_name 8: { # options 2: true # packed } 10: {"packedSeqSmall1Hifield"} # json_name } 2: { # field 1: {"optional_seq_large_lowfield"} # name 3: 7 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqLarge"} # type_name 10: {"optionalSeqLargeLowfield"} # json_name } 2: { # field 1: {"optional_seq_large_midfield"} # name 3: 1007 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqLarge"} # type_name 10: {"optionalSeqLargeMidfield"} # json_name } 2: { # field 1: {"optional_seq_large_hifield"} # name 3: 1000007 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqLarge"} # type_name 10: {"optionalSeqLargeHifield"} # json_name } 2: { # field 1: {"repeated_seq_large_lowfield"} # name 3: 8 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqLarge"} # type_name 10: {"repeatedSeqLargeLowfield"} # json_name } 2: { # field 1: {"repeated_seq_large_midfield"} # name 3: 1008 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqLarge"} # type_name 10: {"repeatedSeqLargeMidfield"} # json_name } 2: { # field 1: {"repeated_seq_large_hifield"} # name 3: 1000008 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqLarge"} # type_name 10: {"repeatedSeqLargeHifield"} # json_name } 2: { # field 1: {"packed_seq_large_lowfield"} # name 3: 9 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqLarge"} # type_name 8: { # options 2: true # packed } 10: {"packedSeqLargeLowfield"} # json_name } 2: { # field 1: {"packed_seq_large_midfield"} # name 3: 1009 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqLarge"} # type_name 8: { # options 2: true # packed } 10: {"packedSeqLargeMidfield"} # json_name } 2: { # field 1: {"packed_seq_large_hifield"} # name 3: 1000009 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.SeqLarge"} # type_name 8: { # options 2: true # packed } 10: {"packedSeqLargeHifield"} # json_name } 2: { # field 1: {"optional_arbitrary_lowfield"} # name 3: 10 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.Arbitrary"} # type_name 10: {"optionalArbitraryLowfield"} # json_name } 2: { # field 1: {"optional_arbitrary_midfield"} # name 3: 1010 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.Arbitrary"} # type_name 10: {"optionalArbitraryMidfield"} # json_name } 2: { # field 1: {"optional_arbitrary_hifield"} # name 3: 1000010 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.Arbitrary"} # type_name 10: {"optionalArbitraryHifield"} # json_name } 2: { # field 1: {"repeated_arbitrary_lowfield"} # name 3: 11 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.Arbitrary"} # type_name 10: {"repeatedArbitraryLowfield"} # json_name } 2: { # field 1: {"repeated_arbitrary_midfield"} # name 3: 1011 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.Arbitrary"} # type_name 10: {"repeatedArbitraryMidfield"} # json_name } 2: { # field 1: {"repeated_arbitrary_hifield"} # name 3: 1000011 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.Arbitrary"} # type_name 10: {"repeatedArbitraryHifield"} # json_name } 2: { # field 1: {"packed_arbitrary_lowfield"} # name 3: 12 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.Arbitrary"} # type_name 8: { # options 2: true # packed } 10: {"packedArbitraryLowfield"} # json_name } 2: { # field 1: {"packed_arbitrary_midfield"} # name 3: 1012 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.Arbitrary"} # type_name 8: { # options 2: true # packed } 10: {"packedArbitraryMidfield"} # json_name } 2: { # field 1: {"packed_arbitrary_hifield"} # name 3: 1000012 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.EnumParseTester.Arbitrary"} # type_name 8: { # options 2: true # packed } 10: {"packedArbitraryHifield"} # json_name } 2: { # field 1: {"other_field"} # name 3: 99 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"otherField"} # json_name } 4: { # enum_type 1: {"SeqSmall0"} # name 2: { # value 1: {"SEQ_SMALL_0_DEFAULT"} # name 2: 0 # number } 2: { # value 1: {"SEQ_SMALL_0_1"} # name 2: 1 # number } 2: { # value 1: {"SEQ_SMALL_0_2"} # name 2: 2 # number } } 4: { # enum_type 1: {"SeqSmall1"} # name 2: { # value 1: {"SEQ_SMALL_1_DEFAULT"} # name 2: 1 # number } 2: { # value 1: {"SEQ_SMALL_1_2"} # name 2: 2 # number } 2: { # value 1: {"SEQ_SMALL_1_3"} # name 2: 3 # number } } 4: { # enum_type 1: {"SeqLarge"} # name 2: { # value 1: {"SEQ_LARGE_DEFAULT"} # name 2: -1 # number } 2: { # value 1: {"SEQ_LARGE_0"} # name 2: 0 # number } 2: { # value 1: {"SEQ_LARGE_1"} # name 2: 1 # number } 2: { # value 1: {"SEQ_LARGE_2"} # name 2: 2 # number } 2: { # value 1: {"SEQ_LARGE_3"} # name 2: 3 # number } 2: { # value 1: {"SEQ_LARGE_4"} # name 2: 4 # number } 2: { # value 1: {"SEQ_LARGE_5"} # name 2: 5 # number } 2: { # value 1: {"SEQ_LARGE_6"} # name 2: 6 # number } 2: { # value 1: {"SEQ_LARGE_7"} # name 2: 7 # number } 2: { # value 1: {"SEQ_LARGE_8"} # name 2: 8 # number } 2: { # value 1: {"SEQ_LARGE_9"} # name 2: 9 # number } 2: { # value 1: {"SEQ_LARGE_10"} # name 2: 10 # number } 2: { # value 1: {"SEQ_LARGE_11"} # name 2: 11 # number } 2: { # value 1: {"SEQ_LARGE_12"} # name 2: 12 # number } 2: { # value 1: {"SEQ_LARGE_13"} # name 2: 13 # number } 2: { # value 1: {"SEQ_LARGE_14"} # name 2: 14 # number } 2: { # value 1: {"SEQ_LARGE_15"} # name 2: 15 # number } 2: { # value 1: {"SEQ_LARGE_16"} # name 2: 16 # number } 2: { # value 1: {"SEQ_LARGE_17"} # name 2: 17 # number } 2: { # value 1: {"SEQ_LARGE_18"} # name 2: 18 # number } 2: { # value 1: {"SEQ_LARGE_19"} # name 2: 19 # number } 2: { # value 1: {"SEQ_LARGE_20"} # name 2: 20 # number } 2: { # value 1: {"SEQ_LARGE_21"} # name 2: 21 # number } 2: { # value 1: {"SEQ_LARGE_22"} # name 2: 22 # number } 2: { # value 1: {"SEQ_LARGE_23"} # name 2: 23 # number } 2: { # value 1: {"SEQ_LARGE_24"} # name 2: 24 # number } 2: { # value 1: {"SEQ_LARGE_25"} # name 2: 25 # number } 2: { # value 1: {"SEQ_LARGE_26"} # name 2: 26 # number } 2: { # value 1: {"SEQ_LARGE_27"} # name 2: 27 # number } 2: { # value 1: {"SEQ_LARGE_28"} # name 2: 28 # number } 2: { # value 1: {"SEQ_LARGE_29"} # name 2: 29 # number } 2: { # value 1: {"SEQ_LARGE_30"} # name 2: 30 # number } 2: { # value 1: {"SEQ_LARGE_31"} # name 2: 31 # number } 2: { # value 1: {"SEQ_LARGE_32"} # name 2: 32 # number } 2: { # value 1: {"SEQ_LARGE_33"} # name 2: 33 # number } } 4: { # enum_type 1: {"Arbitrary"} # name 2: { # value 1: {"ARBITRARY_DEFAULT"} # name 2: -123123 # number } 2: { # value 1: {"ARBITRARY_1"} # name 2: -123 # number } 2: { # value 1: {"ARBITRARY_2"} # name 2: 213 # number } 2: { # value 1: {"ARBITRARY_3"} # name 2: 213213 # number } 2: { # value 1: {"ARBITRARY_MIN"} # name 2: -2147483648 # number } 2: { # value 1: {"ARBITRARY_MAX"} # name 2: 2147483647 # number } } } 5: { # enum_type 1: {"ForeignEnum"} # name 2: { # value 1: {"FOREIGN_FOO"} # name 2: 4 # number } 2: { # value 1: {"FOREIGN_BAR"} # name 2: 5 # number } 2: { # value 1: {"FOREIGN_BAZ"} # name 2: 6 # number } } 5: { # enum_type 1: {"TestReservedEnumFields"} # name 2: { # value 1: {"UNKNOWN"} # name 2: 0 # number } 4: { # reserved_range 1: 2 # start 2: 2 # end } 4: { # reserved_range 1: 15 # start 2: 15 # end } 4: { # reserved_range 1: 9 # start 2: 11 # end } 5: {"bar"} # reserved_name 5: {"baz"} # reserved_name } 5: { # enum_type 1: {"TestEnumWithDupValue"} # name 2: { # value 1: {"FOO1"} # name 2: 1 # number } 2: { # value 1: {"BAR1"} # name 2: 2 # number } 2: { # value 1: {"BAZ"} # name 2: 3 # number } 2: { # value 1: {"FOO2"} # name 2: 1 # number } 2: { # value 1: {"BAR2"} # name 2: 2 # number } 3: { # options 2: true # allow_alias } } 5: { # enum_type 1: {"TestSparseEnum"} # name 2: { # value 1: {"SPARSE_A"} # name 2: 123 # number } 2: { # value 1: {"SPARSE_B"} # name 2: 62374 # number } 2: { # value 1: {"SPARSE_C"} # name 2: 12589234 # number } 2: { # value 1: {"SPARSE_D"} # name 2: -15 # number } 2: { # value 1: {"SPARSE_E"} # name 2: -53452 # number } 2: { # value 1: {"SPARSE_F"} # name 2: 0 # number } 2: { # value 1: {"SPARSE_G"} # name 2: 2 # number } } 5: { # enum_type 1: {"VeryLargeEnum"} # name 2: { # value 1: {"ENUM_LABEL_DEFAULT"} # name 2: 0 # number } 2: { # value 1: {"ENUM_LABEL_1"} # name 2: 1 # number } 2: { # value 1: {"ENUM_LABEL_2"} # name 2: 2 # number } 2: { # value 1: {"ENUM_LABEL_3"} # name 2: 3 # number } 2: { # value 1: {"ENUM_LABEL_4"} # name 2: 4 # number } 2: { # value 1: {"ENUM_LABEL_5"} # name 2: 5 # number } 2: { # value 1: {"ENUM_LABEL_6"} # name 2: 6 # number } 2: { # value 1: {"ENUM_LABEL_7"} # name 2: 7 # number } 2: { # value 1: {"ENUM_LABEL_8"} # name 2: 8 # number } 2: { # value 1: {"ENUM_LABEL_9"} # name 2: 9 # number } 2: { # value 1: {"ENUM_LABEL_10"} # name 2: 10 # number } 2: { # value 1: {"ENUM_LABEL_11"} # name 2: 11 # number } 2: { # value 1: {"ENUM_LABEL_12"} # name 2: 12 # number } 2: { # value 1: {"ENUM_LABEL_13"} # name 2: 13 # number } 2: { # value 1: {"ENUM_LABEL_14"} # name 2: 14 # number } 2: { # value 1: {"ENUM_LABEL_15"} # name 2: 15 # number } 2: { # value 1: {"ENUM_LABEL_16"} # name 2: 16 # number } 2: { # value 1: {"ENUM_LABEL_17"} # name 2: 17 # number } 2: { # value 1: {"ENUM_LABEL_18"} # name 2: 18 # number } 2: { # value 1: {"ENUM_LABEL_19"} # name 2: 19 # number } 2: { # value 1: {"ENUM_LABEL_20"} # name 2: 20 # number } 2: { # value 1: {"ENUM_LABEL_21"} # name 2: 21 # number } 2: { # value 1: {"ENUM_LABEL_22"} # name 2: 22 # number } 2: { # value 1: {"ENUM_LABEL_23"} # name 2: 23 # number } 2: { # value 1: {"ENUM_LABEL_24"} # name 2: 24 # number } 2: { # value 1: {"ENUM_LABEL_25"} # name 2: 25 # number } 2: { # value 1: {"ENUM_LABEL_26"} # name 2: 26 # number } 2: { # value 1: {"ENUM_LABEL_27"} # name 2: 27 # number } 2: { # value 1: {"ENUM_LABEL_28"} # name 2: 28 # number } 2: { # value 1: {"ENUM_LABEL_29"} # name 2: 29 # number } 2: { # value 1: {"ENUM_LABEL_30"} # name 2: 30 # number } 2: { # value 1: {"ENUM_LABEL_31"} # name 2: 31 # number } 2: { # value 1: {"ENUM_LABEL_32"} # name 2: 32 # number } 2: { # value 1: {"ENUM_LABEL_33"} # name 2: 33 # number } 2: { # value 1: {"ENUM_LABEL_34"} # name 2: 34 # number } 2: { # value 1: {"ENUM_LABEL_35"} # name 2: 35 # number } 2: { # value 1: {"ENUM_LABEL_36"} # name 2: 36 # number } 2: { # value 1: {"ENUM_LABEL_37"} # name 2: 37 # number } 2: { # value 1: {"ENUM_LABEL_38"} # name 2: 38 # number } 2: { # value 1: {"ENUM_LABEL_39"} # name 2: 39 # number } 2: { # value 1: {"ENUM_LABEL_40"} # name 2: 40 # number } 2: { # value 1: {"ENUM_LABEL_41"} # name 2: 41 # number } 2: { # value 1: {"ENUM_LABEL_42"} # name 2: 42 # number } 2: { # value 1: {"ENUM_LABEL_43"} # name 2: 43 # number } 2: { # value 1: {"ENUM_LABEL_44"} # name 2: 44 # number } 2: { # value 1: {"ENUM_LABEL_45"} # name 2: 45 # number } 2: { # value 1: {"ENUM_LABEL_46"} # name 2: 46 # number } 2: { # value 1: {"ENUM_LABEL_47"} # name 2: 47 # number } 2: { # value 1: {"ENUM_LABEL_48"} # name 2: 48 # number } 2: { # value 1: {"ENUM_LABEL_49"} # name 2: 49 # number } 2: { # value 1: {"ENUM_LABEL_50"} # name 2: 50 # number } 2: { # value 1: {"ENUM_LABEL_51"} # name 2: 51 # number } 2: { # value 1: {"ENUM_LABEL_52"} # name 2: 52 # number } 2: { # value 1: {"ENUM_LABEL_53"} # name 2: 53 # number } 2: { # value 1: {"ENUM_LABEL_54"} # name 2: 54 # number } 2: { # value 1: {"ENUM_LABEL_55"} # name 2: 55 # number } 2: { # value 1: {"ENUM_LABEL_56"} # name 2: 56 # number } 2: { # value 1: {"ENUM_LABEL_57"} # name 2: 57 # number } 2: { # value 1: {"ENUM_LABEL_58"} # name 2: 58 # number } 2: { # value 1: {"ENUM_LABEL_59"} # name 2: 59 # number } 2: { # value 1: {"ENUM_LABEL_60"} # name 2: 60 # number } 2: { # value 1: {"ENUM_LABEL_61"} # name 2: 61 # number } 2: { # value 1: {"ENUM_LABEL_62"} # name 2: 62 # number } 2: { # value 1: {"ENUM_LABEL_63"} # name 2: 63 # number } 2: { # value 1: {"ENUM_LABEL_64"} # name 2: 64 # number } 2: { # value 1: {"ENUM_LABEL_65"} # name 2: 65 # number } 2: { # value 1: {"ENUM_LABEL_66"} # name 2: 66 # number } 2: { # value 1: {"ENUM_LABEL_67"} # name 2: 67 # number } 2: { # value 1: {"ENUM_LABEL_68"} # name 2: 68 # number } 2: { # value 1: {"ENUM_LABEL_69"} # name 2: 69 # number } 2: { # value 1: {"ENUM_LABEL_70"} # name 2: 70 # number } 2: { # value 1: {"ENUM_LABEL_71"} # name 2: 71 # number } 2: { # value 1: {"ENUM_LABEL_72"} # name 2: 72 # number } 2: { # value 1: {"ENUM_LABEL_73"} # name 2: 73 # number } 2: { # value 1: {"ENUM_LABEL_74"} # name 2: 74 # number } 2: { # value 1: {"ENUM_LABEL_75"} # name 2: 75 # number } 2: { # value 1: {"ENUM_LABEL_76"} # name 2: 76 # number } 2: { # value 1: {"ENUM_LABEL_77"} # name 2: 77 # number } 2: { # value 1: {"ENUM_LABEL_78"} # name 2: 78 # number } 2: { # value 1: {"ENUM_LABEL_79"} # name 2: 79 # number } 2: { # value 1: {"ENUM_LABEL_80"} # name 2: 80 # number } 2: { # value 1: {"ENUM_LABEL_81"} # name 2: 81 # number } 2: { # value 1: {"ENUM_LABEL_82"} # name 2: 82 # number } 2: { # value 1: {"ENUM_LABEL_83"} # name 2: 83 # number } 2: { # value 1: {"ENUM_LABEL_84"} # name 2: 84 # number } 2: { # value 1: {"ENUM_LABEL_85"} # name 2: 85 # number } 2: { # value 1: {"ENUM_LABEL_86"} # name 2: 86 # number } 2: { # value 1: {"ENUM_LABEL_87"} # name 2: 87 # number } 2: { # value 1: {"ENUM_LABEL_88"} # name 2: 88 # number } 2: { # value 1: {"ENUM_LABEL_89"} # name 2: 89 # number } 2: { # value 1: {"ENUM_LABEL_90"} # name 2: 90 # number } 2: { # value 1: {"ENUM_LABEL_91"} # name 2: 91 # number } 2: { # value 1: {"ENUM_LABEL_92"} # name 2: 92 # number } 2: { # value 1: {"ENUM_LABEL_93"} # name 2: 93 # number } 2: { # value 1: {"ENUM_LABEL_94"} # name 2: 94 # number } 2: { # value 1: {"ENUM_LABEL_95"} # name 2: 95 # number } 2: { # value 1: {"ENUM_LABEL_96"} # name 2: 96 # number } 2: { # value 1: {"ENUM_LABEL_97"} # name 2: 97 # number } 2: { # value 1: {"ENUM_LABEL_98"} # name 2: 98 # number } 2: { # value 1: {"ENUM_LABEL_99"} # name 2: 99 # number } 2: { # value 1: {"ENUM_LABEL_100"} # name 2: 100 # number } } 6: { # service 1: {"TestService"} # name 2: { # method 1: {"Foo"} # name 2: {".unittest.FooRequest"} # input_type 3: {".unittest.FooResponse"} # output_type } 2: { # method 1: {"Bar"} # name 2: {".unittest.BarRequest"} # input_type 3: {".unittest.BarResponse"} # output_type } } 7: { # extension 1: {"optional_int32_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 1 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"optionalInt32Extension"} # json_name } 7: { # extension 1: {"optional_int64_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 2 # number 4: 1 # label, LABEL_OPTIONAL 5: 3 # type, TYPE_INT64 10: {"optionalInt64Extension"} # json_name } 7: { # extension 1: {"optional_uint32_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 3 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"optionalUint32Extension"} # json_name } 7: { # extension 1: {"optional_uint64_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 4 # number 4: 1 # label, LABEL_OPTIONAL 5: 4 # type, TYPE_UINT64 10: {"optionalUint64Extension"} # json_name } 7: { # extension 1: {"optional_sint32_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 5 # number 4: 1 # label, LABEL_OPTIONAL 5: 17 # type, TYPE_SINT32 10: {"optionalSint32Extension"} # json_name } 7: { # extension 1: {"optional_sint64_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 6 # number 4: 1 # label, LABEL_OPTIONAL 5: 18 # type, TYPE_SINT64 10: {"optionalSint64Extension"} # json_name } 7: { # extension 1: {"optional_fixed32_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 7 # number 4: 1 # label, LABEL_OPTIONAL 5: 7 # type, TYPE_FIXED32 10: {"optionalFixed32Extension"} # json_name } 7: { # extension 1: {"optional_fixed64_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 8 # number 4: 1 # label, LABEL_OPTIONAL 5: 6 # type, TYPE_FIXED64 10: {"optionalFixed64Extension"} # json_name } 7: { # extension 1: {"optional_sfixed32_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 9 # number 4: 1 # label, LABEL_OPTIONAL 5: 15 # type, TYPE_SFIXED32 10: {"optionalSfixed32Extension"} # json_name } 7: { # extension 1: {"optional_sfixed64_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 10 # number 4: 1 # label, LABEL_OPTIONAL 5: 16 # type, TYPE_SFIXED64 10: {"optionalSfixed64Extension"} # json_name } 7: { # extension 1: {"optional_float_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 11 # number 4: 1 # label, LABEL_OPTIONAL 5: 2 # type, TYPE_FLOAT 10: {"optionalFloatExtension"} # json_name } 7: { # extension 1: {"optional_double_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 12 # number 4: 1 # label, LABEL_OPTIONAL 5: 1 # type, TYPE_DOUBLE 10: {"optionalDoubleExtension"} # json_name } 7: { # extension 1: {"optional_bool_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 13 # number 4: 1 # label, LABEL_OPTIONAL 5: 8 # type, TYPE_BOOL 10: {"optionalBoolExtension"} # json_name } 7: { # extension 1: {"optional_string_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 14 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"optionalStringExtension"} # json_name } 7: { # extension 1: {"optional_bytes_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 15 # number 4: 1 # label, LABEL_OPTIONAL 5: 12 # type, TYPE_BYTES 10: {"optionalBytesExtension"} # json_name } 7: { # extension 1: {"optionalgroup_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 16 # number 4: 1 # label, LABEL_OPTIONAL 5: 10 # type, TYPE_GROUP 6: {".unittest.OptionalGroup_extension"} # type_name 10: {"optionalgroupExtension"} # json_name } 7: { # extension 1: {"optional_nested_message_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 18 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes.NestedMessage"} # type_name 10: {"optionalNestedMessageExtension"} # json_name } 7: { # extension 1: {"optional_foreign_message_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 19 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.ForeignMessage"} # type_name 10: {"optionalForeignMessageExtension"} # json_name } 7: { # extension 1: {"optional_nested_enum_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 21 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.TestAllTypes.NestedEnum"} # type_name 10: {"optionalNestedEnumExtension"} # json_name } 7: { # extension 1: {"optional_foreign_enum_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 22 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.ForeignEnum"} # type_name 10: {"optionalForeignEnumExtension"} # json_name } 7: { # extension 1: {"optional_string_piece_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 24 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 8: { # options 1: 2 # ctype, STRING_PIECE } 10: {"optionalStringPieceExtension"} # json_name } 7: { # extension 1: {"optional_cord_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 25 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 8: { # options 1: 1 # ctype, CORD } 10: {"optionalCordExtension"} # json_name } 7: { # extension 1: {"optional_lazy_message_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 27 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes.NestedMessage"} # type_name 8: { # options 5: true # lazy } 10: {"optionalLazyMessageExtension"} # json_name } 7: { # extension 1: {"repeated_int32_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 31 # number 4: 3 # label, LABEL_REPEATED 5: 5 # type, TYPE_INT32 10: {"repeatedInt32Extension"} # json_name } 7: { # extension 1: {"repeated_int64_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 32 # number 4: 3 # label, LABEL_REPEATED 5: 3 # type, TYPE_INT64 10: {"repeatedInt64Extension"} # json_name } 7: { # extension 1: {"repeated_uint32_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 33 # number 4: 3 # label, LABEL_REPEATED 5: 13 # type, TYPE_UINT32 10: {"repeatedUint32Extension"} # json_name } 7: { # extension 1: {"repeated_uint64_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 34 # number 4: 3 # label, LABEL_REPEATED 5: 4 # type, TYPE_UINT64 10: {"repeatedUint64Extension"} # json_name } 7: { # extension 1: {"repeated_sint32_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 35 # number 4: 3 # label, LABEL_REPEATED 5: 17 # type, TYPE_SINT32 10: {"repeatedSint32Extension"} # json_name } 7: { # extension 1: {"repeated_sint64_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 36 # number 4: 3 # label, LABEL_REPEATED 5: 18 # type, TYPE_SINT64 10: {"repeatedSint64Extension"} # json_name } 7: { # extension 1: {"repeated_fixed32_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 37 # number 4: 3 # label, LABEL_REPEATED 5: 7 # type, TYPE_FIXED32 10: {"repeatedFixed32Extension"} # json_name } 7: { # extension 1: {"repeated_fixed64_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 38 # number 4: 3 # label, LABEL_REPEATED 5: 6 # type, TYPE_FIXED64 10: {"repeatedFixed64Extension"} # json_name } 7: { # extension 1: {"repeated_sfixed32_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 39 # number 4: 3 # label, LABEL_REPEATED 5: 15 # type, TYPE_SFIXED32 10: {"repeatedSfixed32Extension"} # json_name } 7: { # extension 1: {"repeated_sfixed64_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 40 # number 4: 3 # label, LABEL_REPEATED 5: 16 # type, TYPE_SFIXED64 10: {"repeatedSfixed64Extension"} # json_name } 7: { # extension 1: {"repeated_float_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 41 # number 4: 3 # label, LABEL_REPEATED 5: 2 # type, TYPE_FLOAT 10: {"repeatedFloatExtension"} # json_name } 7: { # extension 1: {"repeated_double_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 42 # number 4: 3 # label, LABEL_REPEATED 5: 1 # type, TYPE_DOUBLE 10: {"repeatedDoubleExtension"} # json_name } 7: { # extension 1: {"repeated_bool_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 43 # number 4: 3 # label, LABEL_REPEATED 5: 8 # type, TYPE_BOOL 10: {"repeatedBoolExtension"} # json_name } 7: { # extension 1: {"repeated_string_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 44 # number 4: 3 # label, LABEL_REPEATED 5: 9 # type, TYPE_STRING 10: {"repeatedStringExtension"} # json_name } 7: { # extension 1: {"repeated_bytes_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 45 # number 4: 3 # label, LABEL_REPEATED 5: 12 # type, TYPE_BYTES 10: {"repeatedBytesExtension"} # json_name } 7: { # extension 1: {"repeatedgroup_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 46 # number 4: 3 # label, LABEL_REPEATED 5: 10 # type, TYPE_GROUP 6: {".unittest.RepeatedGroup_extension"} # type_name 10: {"repeatedgroupExtension"} # json_name } 7: { # extension 1: {"repeated_nested_message_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 48 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes.NestedMessage"} # type_name 10: {"repeatedNestedMessageExtension"} # json_name } 7: { # extension 1: {"repeated_foreign_message_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 49 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.ForeignMessage"} # type_name 10: {"repeatedForeignMessageExtension"} # json_name } 7: { # extension 1: {"repeated_nested_enum_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 51 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.TestAllTypes.NestedEnum"} # type_name 10: {"repeatedNestedEnumExtension"} # json_name } 7: { # extension 1: {"repeated_foreign_enum_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 52 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.ForeignEnum"} # type_name 10: {"repeatedForeignEnumExtension"} # json_name } 7: { # extension 1: {"repeated_string_piece_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 54 # number 4: 3 # label, LABEL_REPEATED 5: 9 # type, TYPE_STRING 8: { # options 1: 2 # ctype, STRING_PIECE } 10: {"repeatedStringPieceExtension"} # json_name } 7: { # extension 1: {"repeated_cord_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 55 # number 4: 3 # label, LABEL_REPEATED 5: 9 # type, TYPE_STRING 8: { # options 1: 1 # ctype, CORD } 10: {"repeatedCordExtension"} # json_name } 7: { # extension 1: {"repeated_lazy_message_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 57 # number 4: 3 # label, LABEL_REPEATED 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes.NestedMessage"} # type_name 8: { # options 5: true # lazy } 10: {"repeatedLazyMessageExtension"} # json_name } 7: { # extension 1: {"default_int32_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 61 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 7: {"41"} # default_value 10: {"defaultInt32Extension"} # json_name } 7: { # extension 1: {"default_int64_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 62 # number 4: 1 # label, LABEL_OPTIONAL 5: 3 # type, TYPE_INT64 7: {"42"} # default_value 10: {"defaultInt64Extension"} # json_name } 7: { # extension 1: {"default_uint32_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 63 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 7: {"43"} # default_value 10: {"defaultUint32Extension"} # json_name } 7: { # extension 1: {"default_uint64_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 64 # number 4: 1 # label, LABEL_OPTIONAL 5: 4 # type, TYPE_UINT64 7: {"44"} # default_value 10: {"defaultUint64Extension"} # json_name } 7: { # extension 1: {"default_sint32_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 65 # number 4: 1 # label, LABEL_OPTIONAL 5: 17 # type, TYPE_SINT32 7: {"-45"} # default_value 10: {"defaultSint32Extension"} # json_name } 7: { # extension 1: {"default_sint64_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 66 # number 4: 1 # label, LABEL_OPTIONAL 5: 18 # type, TYPE_SINT64 7: {"46"} # default_value 10: {"defaultSint64Extension"} # json_name } 7: { # extension 1: {"default_fixed32_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 67 # number 4: 1 # label, LABEL_OPTIONAL 5: 7 # type, TYPE_FIXED32 7: {"47"} # default_value 10: {"defaultFixed32Extension"} # json_name } 7: { # extension 1: {"default_fixed64_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 68 # number 4: 1 # label, LABEL_OPTIONAL 5: 6 # type, TYPE_FIXED64 7: {"48"} # default_value 10: {"defaultFixed64Extension"} # json_name } 7: { # extension 1: {"default_sfixed32_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 69 # number 4: 1 # label, LABEL_OPTIONAL 5: 15 # type, TYPE_SFIXED32 7: {"49"} # default_value 10: {"defaultSfixed32Extension"} # json_name } 7: { # extension 1: {"default_sfixed64_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 70 # number 4: 1 # label, LABEL_OPTIONAL 5: 16 # type, TYPE_SFIXED64 7: {"-50"} # default_value 10: {"defaultSfixed64Extension"} # json_name } 7: { # extension 1: {"default_float_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 71 # number 4: 1 # label, LABEL_OPTIONAL 5: 2 # type, TYPE_FLOAT 7: {"51.5"} # default_value 10: {"defaultFloatExtension"} # json_name } 7: { # extension 1: {"default_double_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 72 # number 4: 1 # label, LABEL_OPTIONAL 5: 1 # type, TYPE_DOUBLE 7: {"52000"} # default_value 10: {"defaultDoubleExtension"} # json_name } 7: { # extension 1: {"default_bool_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 73 # number 4: 1 # label, LABEL_OPTIONAL 5: 8 # type, TYPE_BOOL 7: {"true"} # default_value 10: {"defaultBoolExtension"} # json_name } 7: { # extension 1: {"default_string_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 74 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 7: {"hello"} # default_value 10: {"defaultStringExtension"} # json_name } 7: { # extension 1: {"default_bytes_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 75 # number 4: 1 # label, LABEL_OPTIONAL 5: 12 # type, TYPE_BYTES 7: {"world"} # default_value 10: {"defaultBytesExtension"} # json_name } 7: { # extension 1: {"default_nested_enum_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 81 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.TestAllTypes.NestedEnum"} # type_name 7: {"BAR"} # default_value 10: {"defaultNestedEnumExtension"} # json_name } 7: { # extension 1: {"default_foreign_enum_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 82 # number 4: 1 # label, LABEL_OPTIONAL 5: 14 # type, TYPE_ENUM 6: {".unittest.ForeignEnum"} # type_name 7: {"FOREIGN_BAR"} # default_value 10: {"defaultForeignEnumExtension"} # json_name } 7: { # extension 1: {"default_string_piece_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 84 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 7: {"abc"} # default_value 8: { # options 1: 2 # ctype, STRING_PIECE } 10: {"defaultStringPieceExtension"} # json_name } 7: { # extension 1: {"default_cord_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 85 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 7: {"123"} # default_value 8: { # options 1: 1 # ctype, CORD } 10: {"defaultCordExtension"} # json_name } 7: { # extension 1: {"oneof_uint32_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 111 # number 4: 1 # label, LABEL_OPTIONAL 5: 13 # type, TYPE_UINT32 10: {"oneofUint32Extension"} # json_name } 7: { # extension 1: {"oneof_nested_message_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 112 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes.NestedMessage"} # type_name 10: {"oneofNestedMessageExtension"} # json_name } 7: { # extension 1: {"oneof_string_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 113 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"oneofStringExtension"} # json_name } 7: { # extension 1: {"oneof_bytes_extension"} # name 2: {".unittest.TestAllExtensions"} # extendee 3: 114 # number 4: 1 # label, LABEL_OPTIONAL 5: 12 # type, TYPE_BYTES 10: {"oneofBytesExtension"} # json_name } 7: { # extension 1: {"my_extension_string"} # name 2: {".unittest.TestFieldOrderings"} # extendee 3: 50 # number 4: 1 # label, LABEL_OPTIONAL 5: 9 # type, TYPE_STRING 10: {"myExtensionString"} # json_name } 7: { # extension 1: {"my_extension_int"} # name 2: {".unittest.TestFieldOrderings"} # extendee 3: 5 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"myExtensionInt"} # json_name } 7: { # extension 1: {"packed_int32_extension"} # name 2: {".unittest.TestPackedExtensions"} # extendee 3: 90 # number 4: 3 # label, LABEL_REPEATED 5: 5 # type, TYPE_INT32 8: { # options 2: true # packed } 10: {"packedInt32Extension"} # json_name } 7: { # extension 1: {"packed_int64_extension"} # name 2: {".unittest.TestPackedExtensions"} # extendee 3: 91 # number 4: 3 # label, LABEL_REPEATED 5: 3 # type, TYPE_INT64 8: { # options 2: true # packed } 10: {"packedInt64Extension"} # json_name } 7: { # extension 1: {"packed_uint32_extension"} # name 2: {".unittest.TestPackedExtensions"} # extendee 3: 92 # number 4: 3 # label, LABEL_REPEATED 5: 13 # type, TYPE_UINT32 8: { # options 2: true # packed } 10: {"packedUint32Extension"} # json_name } 7: { # extension 1: {"packed_uint64_extension"} # name 2: {".unittest.TestPackedExtensions"} # extendee 3: 93 # number 4: 3 # label, LABEL_REPEATED 5: 4 # type, TYPE_UINT64 8: { # options 2: true # packed } 10: {"packedUint64Extension"} # json_name } 7: { # extension 1: {"packed_sint32_extension"} # name 2: {".unittest.TestPackedExtensions"} # extendee 3: 94 # number 4: 3 # label, LABEL_REPEATED 5: 17 # type, TYPE_SINT32 8: { # options 2: true # packed } 10: {"packedSint32Extension"} # json_name } 7: { # extension 1: {"packed_sint64_extension"} # name 2: {".unittest.TestPackedExtensions"} # extendee 3: 95 # number 4: 3 # label, LABEL_REPEATED 5: 18 # type, TYPE_SINT64 8: { # options 2: true # packed } 10: {"packedSint64Extension"} # json_name } 7: { # extension 1: {"packed_fixed32_extension"} # name 2: {".unittest.TestPackedExtensions"} # extendee 3: 96 # number 4: 3 # label, LABEL_REPEATED 5: 7 # type, TYPE_FIXED32 8: { # options 2: true # packed } 10: {"packedFixed32Extension"} # json_name } 7: { # extension 1: {"packed_fixed64_extension"} # name 2: {".unittest.TestPackedExtensions"} # extendee 3: 97 # number 4: 3 # label, LABEL_REPEATED 5: 6 # type, TYPE_FIXED64 8: { # options 2: true # packed } 10: {"packedFixed64Extension"} # json_name } 7: { # extension 1: {"packed_sfixed32_extension"} # name 2: {".unittest.TestPackedExtensions"} # extendee 3: 98 # number 4: 3 # label, LABEL_REPEATED 5: 15 # type, TYPE_SFIXED32 8: { # options 2: true # packed } 10: {"packedSfixed32Extension"} # json_name } 7: { # extension 1: {"packed_sfixed64_extension"} # name 2: {".unittest.TestPackedExtensions"} # extendee 3: 99 # number 4: 3 # label, LABEL_REPEATED 5: 16 # type, TYPE_SFIXED64 8: { # options 2: true # packed } 10: {"packedSfixed64Extension"} # json_name } 7: { # extension 1: {"packed_float_extension"} # name 2: {".unittest.TestPackedExtensions"} # extendee 3: 100 # number 4: 3 # label, LABEL_REPEATED 5: 2 # type, TYPE_FLOAT 8: { # options 2: true # packed } 10: {"packedFloatExtension"} # json_name } 7: { # extension 1: {"packed_double_extension"} # name 2: {".unittest.TestPackedExtensions"} # extendee 3: 101 # number 4: 3 # label, LABEL_REPEATED 5: 1 # type, TYPE_DOUBLE 8: { # options 2: true # packed } 10: {"packedDoubleExtension"} # json_name } 7: { # extension 1: {"packed_bool_extension"} # name 2: {".unittest.TestPackedExtensions"} # extendee 3: 102 # number 4: 3 # label, LABEL_REPEATED 5: 8 # type, TYPE_BOOL 8: { # options 2: true # packed } 10: {"packedBoolExtension"} # json_name } 7: { # extension 1: {"packed_enum_extension"} # name 2: {".unittest.TestPackedExtensions"} # extendee 3: 103 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.ForeignEnum"} # type_name 8: { # options 2: true # packed } 10: {"packedEnumExtension"} # json_name } 7: { # extension 1: {"unpacked_int32_extension"} # name 2: {".unittest.TestUnpackedExtensions"} # extendee 3: 90 # number 4: 3 # label, LABEL_REPEATED 5: 5 # type, TYPE_INT32 8: { # options 2: false # packed } 10: {"unpackedInt32Extension"} # json_name } 7: { # extension 1: {"unpacked_int64_extension"} # name 2: {".unittest.TestUnpackedExtensions"} # extendee 3: 91 # number 4: 3 # label, LABEL_REPEATED 5: 3 # type, TYPE_INT64 8: { # options 2: false # packed } 10: {"unpackedInt64Extension"} # json_name } 7: { # extension 1: {"unpacked_uint32_extension"} # name 2: {".unittest.TestUnpackedExtensions"} # extendee 3: 92 # number 4: 3 # label, LABEL_REPEATED 5: 13 # type, TYPE_UINT32 8: { # options 2: false # packed } 10: {"unpackedUint32Extension"} # json_name } 7: { # extension 1: {"unpacked_uint64_extension"} # name 2: {".unittest.TestUnpackedExtensions"} # extendee 3: 93 # number 4: 3 # label, LABEL_REPEATED 5: 4 # type, TYPE_UINT64 8: { # options 2: false # packed } 10: {"unpackedUint64Extension"} # json_name } 7: { # extension 1: {"unpacked_sint32_extension"} # name 2: {".unittest.TestUnpackedExtensions"} # extendee 3: 94 # number 4: 3 # label, LABEL_REPEATED 5: 17 # type, TYPE_SINT32 8: { # options 2: false # packed } 10: {"unpackedSint32Extension"} # json_name } 7: { # extension 1: {"unpacked_sint64_extension"} # name 2: {".unittest.TestUnpackedExtensions"} # extendee 3: 95 # number 4: 3 # label, LABEL_REPEATED 5: 18 # type, TYPE_SINT64 8: { # options 2: false # packed } 10: {"unpackedSint64Extension"} # json_name } 7: { # extension 1: {"unpacked_fixed32_extension"} # name 2: {".unittest.TestUnpackedExtensions"} # extendee 3: 96 # number 4: 3 # label, LABEL_REPEATED 5: 7 # type, TYPE_FIXED32 8: { # options 2: false # packed } 10: {"unpackedFixed32Extension"} # json_name } 7: { # extension 1: {"unpacked_fixed64_extension"} # name 2: {".unittest.TestUnpackedExtensions"} # extendee 3: 97 # number 4: 3 # label, LABEL_REPEATED 5: 6 # type, TYPE_FIXED64 8: { # options 2: false # packed } 10: {"unpackedFixed64Extension"} # json_name } 7: { # extension 1: {"unpacked_sfixed32_extension"} # name 2: {".unittest.TestUnpackedExtensions"} # extendee 3: 98 # number 4: 3 # label, LABEL_REPEATED 5: 15 # type, TYPE_SFIXED32 8: { # options 2: false # packed } 10: {"unpackedSfixed32Extension"} # json_name } 7: { # extension 1: {"unpacked_sfixed64_extension"} # name 2: {".unittest.TestUnpackedExtensions"} # extendee 3: 99 # number 4: 3 # label, LABEL_REPEATED 5: 16 # type, TYPE_SFIXED64 8: { # options 2: false # packed } 10: {"unpackedSfixed64Extension"} # json_name } 7: { # extension 1: {"unpacked_float_extension"} # name 2: {".unittest.TestUnpackedExtensions"} # extendee 3: 100 # number 4: 3 # label, LABEL_REPEATED 5: 2 # type, TYPE_FLOAT 8: { # options 2: false # packed } 10: {"unpackedFloatExtension"} # json_name } 7: { # extension 1: {"unpacked_double_extension"} # name 2: {".unittest.TestUnpackedExtensions"} # extendee 3: 101 # number 4: 3 # label, LABEL_REPEATED 5: 1 # type, TYPE_DOUBLE 8: { # options 2: false # packed } 10: {"unpackedDoubleExtension"} # json_name } 7: { # extension 1: {"unpacked_bool_extension"} # name 2: {".unittest.TestUnpackedExtensions"} # extendee 3: 102 # number 4: 3 # label, LABEL_REPEATED 5: 8 # type, TYPE_BOOL 8: { # options 2: false # packed } 10: {"unpackedBoolExtension"} # json_name } 7: { # extension 1: {"unpacked_enum_extension"} # name 2: {".unittest.TestUnpackedExtensions"} # extendee 3: 103 # number 4: 3 # label, LABEL_REPEATED 5: 14 # type, TYPE_ENUM 6: {".unittest.ForeignEnum"} # type_name 8: { # options 2: false # packed } 10: {"unpackedEnumExtension"} # json_name } 7: { # extension 1: {"test_all_types"} # name 2: {".unittest.TestHugeFieldNumbers"} # extendee 3: 536860000 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestAllTypes"} # type_name 10: {"testAllTypes"} # json_name } 7: { # extension 1: {"test_extension_inside_table_extension"} # name 2: {".unittest.TestExtensionInsideTable"} # extendee 3: 5 # number 4: 1 # label, LABEL_OPTIONAL 5: 5 # type, TYPE_INT32 10: {"testExtensionInsideTableExtension"} # json_name } 7: { # extension 1: {"inner"} # name 2: {".unittest.TestNestedGroupExtensionOuter.Layer1OptionalGroup.Layer2RepeatedGroup"} # extendee 3: 3 # number 4: 1 # label, LABEL_OPTIONAL 5: 11 # type, TYPE_MESSAGE 6: {".unittest.TestNestedGroupExtensionInnerExtension"} # type_name 10: {"inner"} # json_name } 8: { # options 8: {"UnittestProto"} # java_outer_classname 9: 1 # optimize_for, SPEED 16: true # cc_generic_services 17: true # java_generic_services 18: true # py_generic_services 31: true # cc_enable_arenas } }