Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
P
protobuf
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
protobuf
Commits
78da6669
Commit
78da6669
authored
Jan 14, 2016
by
Josh Haberman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Changed Ruby to properly camelCase its JSON by default.
parent
c40f8c1f
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
318 additions
and
184 deletions
+318
-184
conformance_ruby.rb
conformance/conformance_ruby.rb
+11
-3
failure_list_ruby.txt
conformance/failure_list_ruby.txt
+4
-140
defs.c
ruby/ext/google/protobuf_c/defs.c
+5
-0
encode_decode.c
ruby/ext/google/protobuf_c/encode_decode.c
+15
-4
protobuf.h
ruby/ext/google/protobuf_c/protobuf.h
+1
-0
upb.c
ruby/ext/google/protobuf_c/upb.c
+0
-0
upb.h
ruby/ext/google/protobuf_c/upb.h
+281
-36
basic.rb
ruby/tests/basic.rb
+1
-1
No files found.
conformance/conformance_ruby.rb
View file @
78da6669
...
...
@@ -51,7 +51,12 @@ def do_test(request)
end
when
:json_payload
begin
test_message
=
Conformance
::
TestAllTypes
.
decode_json
(
request
.
json_payload
)
rescue
Google
::
Protobuf
::
ParseError
=>
err
response
.
parse_error
=
err
.
message
.
encode
(
'utf-8'
)
return
response
end
when
nil
fail
"Request didn't have payload"
...
...
@@ -66,6 +71,9 @@ def do_test(request)
when
:JSON
response
.
json_payload
=
test_message
.
to_json
when
nil
fail
"Request didn't have requested output format"
end
rescue
StandardError
=>
err
response
.
runtime_error
=
err
.
message
.
encode
(
'utf-8'
)
...
...
@@ -96,8 +104,8 @@ def do_test_io
STDOUT
.
flush
if
$verbose
STDERR
.
puts
(
"conformance
-cpp: request=
{request.to_json}, "
\
"response={response.to_json}
\n
"
)
STDERR
.
puts
(
"conformance
_ruby: request=
#
{
request
.
to_json
}
, "
\
"response=
#
{
response
.
to_json
}
\n
"
)
end
$test_count
+=
1
...
...
@@ -107,7 +115,7 @@ end
loop
do
unless
do_test_io
STDERR
.
puts
(
'conformance
-cpp
: received EOF from test runner '
\
STDERR
.
puts
(
'conformance
_ruby
: received EOF from test runner '
\
"after
#{
$test_count
}
tests, exiting"
)
break
end
...
...
conformance/failure_list_ruby.txt
View file @
78da6669
# Many of the JSON tests are failing due to a simple bug:
# fields are not camel-cased at all right now. Once this
# is fixed, this list should grow a lot shorter.
DurationProtoInputTooLarge.JsonOutput
DurationProtoInputTooSmall.JsonOutput
FieldMaskNumbersDontRoundTrip.JsonOutput
FieldMaskPathsDontRoundTrip.JsonOutput
FieldMaskTooManyUnderscore.JsonOutput
JsonInput.AllFieldAcceptNull.JsonOutput
JsonInput.AllFieldAcceptNull.ProtobufOutput
JsonInput.Any.JsonOutput
JsonInput.Any.ProtobufOutput
JsonInput.AnyNested.JsonOutput
JsonInput.AnyNested.ProtobufOutput
JsonInput.Any.ProtobufOutput
JsonInput.AnyUnorderedTypeTag.JsonOutput
JsonInput.AnyUnorderedTypeTag.ProtobufOutput
JsonInput.AnyWithDuration.JsonOutput
...
...
@@ -29,31 +23,9 @@ JsonInput.AnyWithValueForInteger.JsonOutput
JsonInput.AnyWithValueForInteger.ProtobufOutput
JsonInput.AnyWithValueForJsonObject.JsonOutput
JsonInput.AnyWithValueForJsonObject.ProtobufOutput
JsonInput.BoolFieldAllCapitalFalse
JsonInput.BoolFieldAllCapitalTrue
JsonInput.BoolFieldCamelCaseFalse
JsonInput.BoolFieldCamelCaseTrue
JsonInput.BoolFieldDoubleQuotedFalse
JsonInput.BoolFieldDoubleQuotedTrue
JsonInput.BoolFieldFalse.JsonOutput
JsonInput.BoolFieldFalse.ProtobufOutput
JsonInput.BoolFieldIntegerOne
JsonInput.BoolFieldIntegerZero
JsonInput.BoolFieldTrue.JsonOutput
JsonInput.BoolFieldTrue.ProtobufOutput
JsonInput.BoolMapEscapedKey.JsonOutput
JsonInput.BoolMapEscapedKey.ProtobufOutput
JsonInput.BoolMapField.JsonOutput
JsonInput.BoolMapFieldKeyNotQuoted
JsonInput.BoolMapField.ProtobufOutput
JsonInput.BytesFieldInvalidBase64Characters
JsonInput.BytesField.JsonOutput
JsonInput.BytesFieldNoPadding
JsonInput.BytesField.ProtobufOutput
JsonInput.BytesRepeatedField.JsonOutput
JsonInput.BytesRepeatedField.ProtobufOutput
JsonInput.DoubleFieldInfinity.JsonOutput
JsonInput.DoubleFieldInfinityNotQuoted
JsonInput.DoubleFieldInfinity.ProtobufOutput
JsonInput.DoubleFieldMaxNegativeValue.JsonOutput
JsonInput.DoubleFieldMaxNegativeValue.ProtobufOutput
...
...
@@ -64,136 +36,74 @@ JsonInput.DoubleFieldMinNegativeValue.ProtobufOutput
JsonInput.DoubleFieldMinPositiveValue.JsonOutput
JsonInput.DoubleFieldMinPositiveValue.ProtobufOutput
JsonInput.DoubleFieldNan.JsonOutput
JsonInput.DoubleFieldNanNotQuoted
JsonInput.DoubleFieldNan.ProtobufOutput
JsonInput.DoubleFieldNegativeInfinity.JsonOutput
JsonInput.DoubleFieldNegativeInfinityNotQuoted
JsonInput.DoubleFieldNegativeInfinity.ProtobufOutput
JsonInput.DoubleFieldQuotedValue.JsonOutput
JsonInput.DoubleFieldQuotedValue.ProtobufOutput
JsonInput.DoubleFieldTooLarge
JsonInput.DoubleFieldTooSmall
JsonInput.DurationHas3FractionalDigits.Validator
JsonInput.DurationHas6FractionalDigits.Validator
JsonInput.DurationHas9FractionalDigits.Validator
JsonInput.DurationHasZeroFractionalDigit.Validator
JsonInput.DurationJsonInputTooLarge
JsonInput.DurationJsonInputTooSmall
JsonInput.DurationMaxValue.JsonOutput
JsonInput.DurationMaxValue.ProtobufOutput
JsonInput.DurationMinValue.JsonOutput
JsonInput.DurationMinValue.ProtobufOutput
JsonInput.DurationMissingS
JsonInput.DurationRepeatedValue.JsonOutput
JsonInput.DurationRepeatedValue.ProtobufOutput
JsonInput.EnumField.JsonOutput
JsonInput.EnumFieldNotQuoted
JsonInput.EnumFieldNumericValueNonZero.JsonOutput
JsonInput.EnumFieldNumericValueNonZero.ProtobufOutput
JsonInput.EnumFieldNumericValueZero.JsonOutput
JsonInput.EnumFieldNumericValueZero.ProtobufOutput
JsonInput.EnumField.ProtobufOutput
JsonInput.EnumFieldUnknownValue.Validator
JsonInput.EnumRepeatedField.JsonOutput
JsonInput.EnumRepeatedField.ProtobufOutput
JsonInput.FieldMaskInvalidCharacter
JsonInput.FieldMask.JsonOutput
JsonInput.FieldMask.ProtobufOutput
JsonInput.FieldNameDuplicate
JsonInput.FieldNameDuplicateDifferentCasing1
JsonInput.FieldNameDuplicateDifferentCasing2
JsonInput.FieldNameEscaped.JsonOutput
JsonInput.FieldNameInLowerCamelCase.Validator
JsonInput.FieldNameInSnakeCase.JsonOutput
JsonInput.FieldNameInSnakeCase.ProtobufOutput
JsonInput.FieldNameNotQuoted
JsonInput.FieldNameWithMixedCases.JsonOutput
JsonInput.FieldNameWithMixedCases.ProtobufOutput
JsonInput.FieldNameWithMixedCases.Validator
JsonInput.FieldNameWithNumbers.JsonOutput
JsonInput.FieldNameWithNumbers.ProtobufOutput
JsonInput.FieldNameWithNumbers.Validator
JsonInput.FloatFieldInfinity.JsonOutput
JsonInput.FloatFieldInfinityNotQuoted
JsonInput.FloatFieldInfinity.ProtobufOutput
JsonInput.FloatFieldMaxNegativeValue.JsonOutput
JsonInput.FloatFieldMaxNegativeValue.ProtobufOutput
JsonInput.FloatFieldMaxPositiveValue.JsonOutput
JsonInput.FloatFieldMaxPositiveValue.ProtobufOutput
JsonInput.FloatFieldMinNegativeValue.JsonOutput
JsonInput.FloatFieldMinNegativeValue.ProtobufOutput
JsonInput.FloatFieldMinPositiveValue.JsonOutput
JsonInput.FloatFieldMinPositiveValue.ProtobufOutput
JsonInput.FloatFieldNan.JsonOutput
JsonInput.FloatFieldNanNotQuoted
JsonInput.FloatFieldNan.ProtobufOutput
JsonInput.FloatFieldNegativeInfinity.JsonOutput
JsonInput.FloatFieldNegativeInfinityNotQuoted
JsonInput.FloatFieldNegativeInfinity.ProtobufOutput
JsonInput.FloatFieldQuotedValue.JsonOutput
JsonInput.FloatFieldQuotedValue.ProtobufOutput
JsonInput.FloatFieldTooLarge
JsonInput.FloatFieldTooSmall
JsonInput.HelloWorld.JsonOutput
JsonInput.HelloWorld.ProtobufOutput
JsonInput.Int32FieldExponentialFormat.JsonOutput
JsonInput.Int32FieldExponentialFormat.ProtobufOutput
JsonInput.Int32FieldFloatTrailingZero.JsonOutput
JsonInput.Int32FieldFloatTrailingZero.ProtobufOutput
JsonInput.Int32FieldLeadingSpace
JsonInput.Int32FieldLeadingZero
JsonInput.Int32FieldMaxFloatValue.JsonOutput
JsonInput.Int32FieldMaxFloatValue.ProtobufOutput
JsonInput.Int32FieldMaxValue.JsonOutput
JsonInput.Int32FieldMaxValue.ProtobufOutput
JsonInput.Int32FieldMinFloatValue.JsonOutput
JsonInput.Int32FieldMinFloatValue.ProtobufOutput
JsonInput.Int32FieldMinValue.JsonOutput
JsonInput.Int32FieldMinValue.ProtobufOutput
JsonInput.Int32FieldNegativeWithLeadingZero
JsonInput.Int32FieldNotInteger
JsonInput.Int32FieldNotNumber
JsonInput.Int32FieldPlusSign
JsonInput.Int32FieldStringValueEscaped.JsonOutput
JsonInput.Int32FieldStringValueEscaped.ProtobufOutput
JsonInput.Int32FieldStringValue.JsonOutput
JsonInput.Int32FieldStringValue.ProtobufOutput
JsonInput.Int32FieldTooLarge
JsonInput.Int32FieldTooSmall
JsonInput.Int32FieldTrailingSpace
JsonInput.Int32FieldStringValueEscaped.JsonOutput
JsonInput.Int32FieldStringValueEscaped.ProtobufOutput
JsonInput.Int32MapEscapedKey.JsonOutput
JsonInput.Int32MapEscapedKey.ProtobufOutput
JsonInput.Int32MapField.JsonOutput
JsonInput.Int32MapFieldKeyNotQuoted
JsonInput.Int32MapField.ProtobufOutput
JsonInput.Int64FieldBeString.Validator
JsonInput.Int64FieldMaxValue.JsonOutput
JsonInput.Int64FieldMaxValueNotQuoted.JsonOutput
JsonInput.Int64FieldMaxValueNotQuoted.ProtobufOutput
JsonInput.Int64FieldMaxValue.ProtobufOutput
JsonInput.Int64FieldMinValue.JsonOutput
JsonInput.Int64FieldMinValueNotQuoted.JsonOutput
JsonInput.Int64FieldMinValueNotQuoted.ProtobufOutput
JsonInput.Int64FieldMinValue.ProtobufOutput
JsonInput.Int64FieldNotInteger
JsonInput.Int64FieldNotNumber
JsonInput.Int64FieldTooLarge
JsonInput.Int64FieldTooSmall
JsonInput.Int64MapEscapedKey.JsonOutput
JsonInput.Int64MapEscapedKey.ProtobufOutput
JsonInput.Int64MapField.JsonOutput
JsonInput.Int64MapFieldKeyNotQuoted
JsonInput.Int64MapField.ProtobufOutput
JsonInput.JsonWithComments
JsonInput.MapFieldKeyIsNull
JsonInput.MapFieldValueIsNull
JsonInput.MessageField.JsonOutput
JsonInput.MessageField.ProtobufOutput
JsonInput.MessageMapField.JsonOutput
JsonInput.MessageMapField.ProtobufOutput
JsonInput.MessageRepeatedField.JsonOutput
JsonInput.MessageRepeatedField.ProtobufOutput
JsonInput.OneofFieldDuplicate
JsonInput.OptionalBoolWrapper.JsonOutput
JsonInput.OptionalBoolWrapper.ProtobufOutput
JsonInput.OptionalBytesWrapper.JsonOutput
...
...
@@ -215,6 +125,7 @@ JsonInput.OptionalUint64Wrapper.ProtobufOutput
JsonInput.OptionalWrapperTypesWithNonDefaultValue.JsonOutput
JsonInput.OptionalWrapperTypesWithNonDefaultValue.ProtobufOutput
JsonInput.OriginalProtoFieldName.JsonOutput
JsonInput.OriginalProtoFieldName.ProtobufOutput
JsonInput.PrimitiveRepeatedField.JsonOutput
JsonInput.PrimitiveRepeatedField.ProtobufOutput
JsonInput.RepeatedBoolWrapper.JsonOutput
...
...
@@ -223,18 +134,7 @@ JsonInput.RepeatedBytesWrapper.JsonOutput
JsonInput.RepeatedBytesWrapper.ProtobufOutput
JsonInput.RepeatedDoubleWrapper.JsonOutput
JsonInput.RepeatedDoubleWrapper.ProtobufOutput
JsonInput.RepeatedFieldMessageElementIsNull
JsonInput.RepeatedFieldPrimitiveElementIsNull
JsonInput.RepeatedFieldTrailingComma
JsonInput.RepeatedFieldWrongElementTypeExpectingIntegersGotBool
JsonInput.RepeatedFieldWrongElementTypeExpectingIntegersGotMessage
JsonInput.RepeatedFieldWrongElementTypeExpectingIntegersGotString
JsonInput.RepeatedFieldWrongElementTypeExpectingMessagesGotBool
JsonInput.RepeatedFieldWrongElementTypeExpectingMessagesGotInt
JsonInput.RepeatedFieldWrongElementTypeExpectingMessagesGotString
JsonInput.RepeatedFieldWrongElementTypeExpectingStringsGotBool
JsonInput.RepeatedFieldWrongElementTypeExpectingStringsGotInt
JsonInput.RepeatedFieldWrongElementTypeExpectingStringsGotMessage
JsonInput.RepeatedFloatWrapper.JsonOutput
JsonInput.RepeatedFloatWrapper.ProtobufOutput
JsonInput.RepeatedInt32Wrapper.JsonOutput
...
...
@@ -247,39 +147,18 @@ JsonInput.RepeatedUint32Wrapper.JsonOutput
JsonInput.RepeatedUint32Wrapper.ProtobufOutput
JsonInput.RepeatedUint64Wrapper.JsonOutput
JsonInput.RepeatedUint64Wrapper.ProtobufOutput
JsonInput.StringFieldEscape.JsonOutput
JsonInput.StringFieldEscape.ProtobufOutput
JsonInput.StringFieldInvalidEscape
JsonInput.StringField.JsonOutput
JsonInput.StringFieldNotAString
JsonInput.StringField.ProtobufOutput
JsonInput.StringFieldSurrogateInWrongOrder
JsonInput.StringFieldSurrogatePair.JsonOutput
JsonInput.StringFieldSurrogatePair.ProtobufOutput
JsonInput.StringFieldUnicodeEscape.JsonOutput
JsonInput.StringFieldUnicodeEscape.ProtobufOutput
JsonInput.StringFieldUnicodeEscapeWithLowercaseHexLetters.JsonOutput
JsonInput.StringFieldUnicodeEscapeWithLowercaseHexLetters.ProtobufOutput
JsonInput.StringFieldUnicode.JsonOutput
JsonInput.StringFieldUnicode.ProtobufOutput
JsonInput.StringFieldUnpairedHighSurrogate
JsonInput.StringFieldUnpairedLowSurrogate
JsonInput.StringFieldUnterminatedEscape
JsonInput.StringFieldUppercaseEscapeLetter
JsonInput.StringRepeatedField.JsonOutput
JsonInput.StringRepeatedField.ProtobufOutput
JsonInput.Struct.JsonOutput
JsonInput.Struct.ProtobufOutput
JsonInput.TimestampHas3FractionalDigits.Validator
JsonInput.TimestampHas6FractionalDigits.Validator
JsonInput.TimestampHas9FractionalDigits.Validator
JsonInput.TimestampHasZeroFractionalDigit.Validator
JsonInput.TimestampJsonInputLowercaseT
JsonInput.TimestampJsonInputLowercaseZ
JsonInput.TimestampJsonInputMissingT
JsonInput.TimestampJsonInputMissingZ
JsonInput.TimestampJsonInputTooLarge
JsonInput.TimestampJsonInputTooSmall
JsonInput.TimestampMaxValue.JsonOutput
JsonInput.TimestampMaxValue.ProtobufOutput
JsonInput.TimestampMinValue.JsonOutput
...
...
@@ -291,27 +170,14 @@ JsonInput.TimestampWithNegativeOffset.ProtobufOutput
JsonInput.TimestampWithPositiveOffset.JsonOutput
JsonInput.TimestampWithPositiveOffset.ProtobufOutput
JsonInput.TimestampZeroNormalized.Validator
JsonInput.TrailingCommaInAnObject
JsonInput.Uint32FieldMaxFloatValue.JsonOutput
JsonInput.Uint32FieldMaxFloatValue.ProtobufOutput
JsonInput.Uint32FieldMaxValue.JsonOutput
JsonInput.Uint32FieldMaxValue.ProtobufOutput
JsonInput.Uint32FieldNotInteger
JsonInput.Uint32FieldNotNumber
JsonInput.Uint32FieldTooLarge
JsonInput.Uint32MapField.JsonOutput
JsonInput.Uint32MapFieldKeyNotQuoted
JsonInput.Uint32MapField.ProtobufOutput
JsonInput.Uint64FieldBeString.Validator
JsonInput.Uint64FieldMaxValue.JsonOutput
JsonInput.Uint64FieldMaxValueNotQuoted.JsonOutput
JsonInput.Uint64FieldMaxValueNotQuoted.ProtobufOutput
JsonInput.Uint64FieldMaxValue.ProtobufOutput
JsonInput.Uint64FieldNotInteger
JsonInput.Uint64FieldNotNumber
JsonInput.Uint64FieldTooLarge
JsonInput.Uint64MapField.JsonOutput
JsonInput.Uint64MapFieldKeyNotQuoted
JsonInput.Uint64MapField.ProtobufOutput
JsonInput.ValueAcceptBool.JsonOutput
JsonInput.ValueAcceptBool.ProtobufOutput
...
...
@@ -327,8 +193,6 @@ JsonInput.ValueAcceptObject.JsonOutput
JsonInput.ValueAcceptObject.ProtobufOutput
JsonInput.ValueAcceptString.JsonOutput
JsonInput.ValueAcceptString.ProtobufOutput
JsonInput.WrapperTypesWithNullValue.JsonOutput
JsonInput.WrapperTypesWithNullValue.ProtobufOutput
ProtobufInput.DoubleFieldNormalizeQuietNan.JsonOutput
ProtobufInput.DoubleFieldNormalizeSignalingNan.JsonOutput
ProtobufInput.FloatFieldNormalizeQuietNan.JsonOutput
...
...
ruby/ext/google/protobuf_c/defs.c
View file @
78da6669
...
...
@@ -243,6 +243,10 @@ void Descriptor_free(void* _self) {
if
(
self
->
fill_method
)
{
upb_pbdecodermethod_unref
(
self
->
fill_method
,
&
self
->
fill_method
);
}
if
(
self
->
json_fill_method
)
{
upb_json_parsermethod_unref
(
self
->
json_fill_method
,
&
self
->
json_fill_method
);
}
if
(
self
->
pb_serialize_handlers
)
{
upb_handlers_unref
(
self
->
pb_serialize_handlers
,
&
self
->
pb_serialize_handlers
);
...
...
@@ -271,6 +275,7 @@ VALUE Descriptor_alloc(VALUE klass) {
self
->
layout
=
NULL
;
self
->
fill_handlers
=
NULL
;
self
->
fill_method
=
NULL
;
self
->
json_fill_method
=
NULL
;
self
->
pb_serialize_handlers
=
NULL
;
self
->
json_serialize_handlers
=
NULL
;
self
->
typeclass_references
=
rb_ary_new
();
...
...
ruby/ext/google/protobuf_c/encode_decode.c
View file @
78da6669
...
...
@@ -640,6 +640,14 @@ static const upb_pbdecodermethod *msgdef_decodermethod(Descriptor* desc) {
return
desc
->
fill_method
;
}
static
const
upb_json_parsermethod
*
msgdef_jsonparsermethod
(
Descriptor
*
desc
)
{
if
(
desc
->
json_fill_method
==
NULL
)
{
desc
->
json_fill_method
=
upb_json_parsermethod_new
(
desc
->
msgdef
,
&
desc
->
json_fill_method
);
}
return
desc
->
json_fill_method
;
}
// Stack-allocated context during an encode/decode operation. Contains the upb
// environment and its stack-based allocator, an initial buffer for allocations
...
...
@@ -752,13 +760,14 @@ VALUE Message_decode_json(VALUE klass, VALUE data) {
TypedData_Get_Struct
(
msg_rb
,
MessageHeader
,
&
Message_type
,
msg
);
{
const
upb_json_parsermethod
*
method
=
msgdef_jsonparsermethod
(
desc
);
stackenv
se
;
upb_sink
sink
;
upb_json_parser
*
parser
;
stackenv_init
(
&
se
,
"Error occurred during parsing: %s"
);
upb_sink_reset
(
&
sink
,
get_fill_handlers
(
desc
),
msg
);
parser
=
upb_json_parser_create
(
&
se
.
env
,
&
sink
);
parser
=
upb_json_parser_create
(
&
se
.
env
,
method
,
&
sink
);
upb_bufsrc_putbuf
(
RSTRING_PTR
(
data
),
RSTRING_LEN
(
data
),
upb_json_parser_input
(
parser
));
...
...
@@ -1041,6 +1050,7 @@ static void putmsg(VALUE msg_rb, const Descriptor* desc,
!
upb_msg_field_done
(
&
i
);
upb_msg_field_next
(
&
i
))
{
upb_fielddef
*
f
=
upb_msg_iter_field
(
&
i
);
bool
is_matching_oneof
=
false
;
uint32_t
offset
=
desc
->
layout
->
fields
[
upb_fielddef_index
(
f
)].
offset
+
sizeof
(
MessageHeader
);
...
...
@@ -1057,6 +1067,7 @@ static void putmsg(VALUE msg_rb, const Descriptor* desc,
}
// Otherwise, fall through to the appropriate singular-field handler
// below.
is_matching_oneof
=
true
;
}
if
(
is_map_field
(
f
))
{
...
...
@@ -1071,7 +1082,7 @@ static void putmsg(VALUE msg_rb, const Descriptor* desc,
}
}
else
if
(
upb_fielddef_isstring
(
f
))
{
VALUE
str
=
DEREF
(
msg
,
offset
,
VALUE
);
if
(
RSTRING_LEN
(
str
)
>
0
)
{
if
(
is_matching_oneof
||
RSTRING_LEN
(
str
)
>
0
)
{
putstr
(
str
,
f
,
sink
);
}
}
else
if
(
upb_fielddef_issubmsg
(
f
))
{
...
...
@@ -1082,7 +1093,7 @@ static void putmsg(VALUE msg_rb, const Descriptor* desc,
#define T(upbtypeconst, upbtype, ctype, default_value) \
case upbtypeconst: { \
ctype value = DEREF(msg, offset, ctype); \
if (
value != default_value) {
\
if (
is_matching_oneof || value != default_value) {
\
upb_sink_put##upbtype(sink, sel, value); \
} \
} \
...
...
@@ -1189,7 +1200,7 @@ VALUE Message_encode_json(VALUE klass, VALUE msg_rb) {
putmsg
(
msg_rb
,
desc
,
upb_json_printer_input
(
printer
),
0
);
ret
=
rb_
str_new
(
sink
.
ptr
,
sink
.
len
);
ret
=
rb_
enc_str_new
(
sink
.
ptr
,
sink
.
len
,
rb_utf8_encoding
()
);
stackenv_uninit
(
&
se
);
stringsink_uninit
(
&
sink
);
...
...
ruby/ext/google/protobuf_c/protobuf.h
View file @
78da6669
...
...
@@ -112,6 +112,7 @@ struct Descriptor {
VALUE
klass
;
// begins as nil
const
upb_handlers
*
fill_handlers
;
const
upb_pbdecodermethod
*
fill_method
;
const
upb_json_parsermethod
*
json_fill_method
;
const
upb_handlers
*
pb_serialize_handlers
;
const
upb_handlers
*
json_serialize_handlers
;
// Handlers hold type class references for sub-message fields directly in some
...
...
ruby/ext/google/protobuf_c/upb.c
View file @
78da6669
This source diff could not be displayed because it is too large. You can
view the blob
instead.
ruby/ext/google/protobuf_c/upb.h
View file @
78da6669
...
...
@@ -1537,6 +1537,12 @@ class upb::FieldDef {
uint32_t
number
()
const
;
/* Returns 0 if uninitialized. */
bool
is_extension
()
const
;
/* Get the JSON name for this field. This will copy the JSON name into the
* given buffer, which must have size of at least "strlen(name()) + 1".
* The string will be NULL-terminated. Returns false if uninitialized.
*/
bool
GetJsonName
(
char
*
buf
)
const
;
/* For UPB_TYPE_MESSAGE fields only where is_tag_delimited() == false,
* indicates whether this field should have lazy parsing handlers that yield
* the unparsed string for the submessage.
...
...
@@ -1589,6 +1595,18 @@ class upb::FieldDef {
bool
IsPrimitive
()
const
;
bool
IsMap
()
const
;
/* Whether this field must be able to explicitly represent presence:
*
* * This is always false for repeated fields (an empty repeated field is
* equivalent to a repeated field with zero entries).
*
* * This is always true for submessages.
*
* * For other fields, it depends on the message (see
* MessageDef::SetPrimitivesHavePresence())
*/
bool
HasPresence
()
const
;
/* How integers are encoded. Only meaningful for integer types.
* Defaults to UPB_INTFMT_VARIABLE, and is reset when "type" changes. */
IntegerFormat
integer_format
()
const
;
...
...
@@ -1690,6 +1708,16 @@ class upb::FieldDef {
bool
set_name
(
const
char
*
name
,
upb
::
Status
*
s
);
bool
set_name
(
const
std
::
string
&
name
,
upb
::
Status
*
s
);
/* Sets the JSON name to the given string. */
/* TODO(haberman): implement. Right now only default json_name (camelCase)
* is supported. */
bool
set_json_name
(
const
char
*
json_name
,
upb
::
Status
*
s
);
bool
set_json_name
(
const
std
::
string
&
name
,
upb
::
Status
*
s
);
/* Clears the JSON name. This will make it revert to its default, which is
* a camelCased version of the regular field name. */
void
clear_json_name
();
void
set_integer_format
(
IntegerFormat
format
);
bool
set_tag_delimited
(
bool
tag_delimited
,
upb
::
Status
*
s
);
...
...
@@ -1754,6 +1782,7 @@ const char *upb_fielddef_name(const upb_fielddef *f);
bool
upb_fielddef_isextension
(
const
upb_fielddef
*
f
);
bool
upb_fielddef_lazy
(
const
upb_fielddef
*
f
);
bool
upb_fielddef_packed
(
const
upb_fielddef
*
f
);
bool
upb_fielddef_getjsonname
(
const
upb_fielddef
*
f
,
char
*
buf
);
const
upb_msgdef
*
upb_fielddef_containingtype
(
const
upb_fielddef
*
f
);
const
upb_oneofdef
*
upb_fielddef_containingoneof
(
const
upb_fielddef
*
f
);
upb_msgdef
*
upb_fielddef_containingtype_mutable
(
upb_fielddef
*
f
);
...
...
@@ -1766,6 +1795,7 @@ bool upb_fielddef_isstring(const upb_fielddef *f);
bool
upb_fielddef_isseq
(
const
upb_fielddef
*
f
);
bool
upb_fielddef_isprimitive
(
const
upb_fielddef
*
f
);
bool
upb_fielddef_ismap
(
const
upb_fielddef
*
f
);
bool
upb_fielddef_haspresence
(
const
upb_fielddef
*
f
);
int64_t
upb_fielddef_defaultint64
(
const
upb_fielddef
*
f
);
int32_t
upb_fielddef_defaultint32
(
const
upb_fielddef
*
f
);
uint64_t
upb_fielddef_defaultuint64
(
const
upb_fielddef
*
f
);
...
...
@@ -1787,6 +1817,8 @@ void upb_fielddef_setdescriptortype(upb_fielddef *f, int type);
void
upb_fielddef_setlabel
(
upb_fielddef
*
f
,
upb_label_t
label
);
bool
upb_fielddef_setnumber
(
upb_fielddef
*
f
,
uint32_t
number
,
upb_status
*
s
);
bool
upb_fielddef_setname
(
upb_fielddef
*
f
,
const
char
*
name
,
upb_status
*
s
);
bool
upb_fielddef_setjsonname
(
upb_fielddef
*
f
,
const
char
*
name
,
upb_status
*
s
);
bool
upb_fielddef_clearjsonname
(
upb_fielddef
*
f
);
bool
upb_fielddef_setcontainingtypename
(
upb_fielddef
*
f
,
const
char
*
name
,
upb_status
*
s
);
void
upb_fielddef_setisextension
(
upb_fielddef
*
f
,
bool
is_extension
);
...
...
@@ -1884,6 +1916,11 @@ class upb::MessageDef {
bool
AddOneof
(
OneofDef
*
o
,
Status
*
s
);
bool
AddOneof
(
const
reffed_ptr
<
OneofDef
>&
o
,
Status
*
s
);
/* Set this to false to indicate that primitive fields should not have
* explicit presence information associated with them. This will affect all
* fields added to this message. Defaults to true. */
void
SetPrimitivesHavePresence
(
bool
have_presence
);
/* These return NULL if the field is not found. */
FieldDef
*
FindFieldByNumber
(
uint32_t
number
);
FieldDef
*
FindFieldByName
(
const
char
*
name
,
size_t
len
);
...
...
@@ -2077,6 +2114,7 @@ bool upb_msgdef_addfield(upb_msgdef *m, upb_fielddef *f, const void *ref_donor,
upb_status
*
s
);
bool
upb_msgdef_addoneof
(
upb_msgdef
*
m
,
upb_oneofdef
*
o
,
const
void
*
ref_donor
,
upb_status
*
s
);
void
upb_msgdef_setprimitiveshavepresence
(
upb_msgdef
*
m
,
bool
have_presence
);
/* Field lookup in a couple of different variations:
* - itof = int to field
...
...
@@ -2557,6 +2595,15 @@ inline bool FieldDef::set_name(const char *name, Status* s) {
inline
bool
FieldDef
::
set_name
(
const
std
::
string
&
name
,
Status
*
s
)
{
return
upb_fielddef_setname
(
this
,
upb_safecstr
(
name
),
s
);
}
inline
bool
FieldDef
::
set_json_name
(
const
char
*
name
,
Status
*
s
)
{
return
upb_fielddef_setjsonname
(
this
,
name
,
s
);
}
inline
bool
FieldDef
::
set_json_name
(
const
std
::
string
&
name
,
Status
*
s
)
{
return
upb_fielddef_setjsonname
(
this
,
upb_safecstr
(
name
),
s
);
}
inline
void
FieldDef
::
clear_json_name
()
{
upb_fielddef_clearjsonname
(
this
);
}
inline
bool
FieldDef
::
set_containing_type_name
(
const
char
*
name
,
Status
*
s
)
{
return
upb_fielddef_setcontainingtypename
(
this
,
name
,
s
);
}
...
...
@@ -3107,6 +3154,11 @@ struct upb_msgdef {
* descriptor.upb.c. */
bool
map_entry
;
/* Do primitive values in this message have explicit presence or not?
* TODO: set this flag properly for static descriptors; regenerate
* descriptor.upb.c. */
bool
primitives_have_presence
;
/* TODO(haberman): proper extension ranges (there can be multiple). */
};
...
...
@@ -3117,7 +3169,7 @@ struct upb_msgdef {
{ \
UPB_DEF_INIT(name, UPB_DEF_MSG, refs, ref2s), selector_count, \
submsg_field_count, itof, ntof, \
UPB_EMPTY_STRTABLE_INIT(UPB_CTYPE_PTR), false
\
UPB_EMPTY_STRTABLE_INIT(UPB_CTYPE_PTR), false
, true
\
}
...
...
@@ -6278,6 +6330,12 @@ typedef enum {
GOOGLE_PROTOBUF_FIELDOPTIONS_STRING_PIECE
=
2
}
google_protobuf_FieldOptions_CType
;
typedef
enum
{
GOOGLE_PROTOBUF_FIELDOPTIONS_JS_NORMAL
=
0
,
GOOGLE_PROTOBUF_FIELDOPTIONS_JS_STRING
=
1
,
GOOGLE_PROTOBUF_FIELDOPTIONS_JS_NUMBER
=
2
}
google_protobuf_FieldOptions_JSType
;
typedef
enum
{
GOOGLE_PROTOBUF_FILEOPTIONS_SPEED
=
1
,
GOOGLE_PROTOBUF_FILEOPTIONS_CODE_SIZE
=
2
,
...
...
@@ -6293,30 +6351,47 @@ typedef enum {
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_EXTENSION_RANGE_STARTSUBMSG 5
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_EXTENSION_STARTSUBMSG 6
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_OPTIONS_STARTSUBMSG 7
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_FIELD_STARTSEQ 8
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_FIELD_ENDSEQ 9
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_FIELD_ENDSUBMSG 10
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_NESTED_TYPE_STARTSEQ 11
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_NESTED_TYPE_ENDSEQ 12
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_NESTED_TYPE_ENDSUBMSG 13
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_ENUM_TYPE_STARTSEQ 14
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_ENUM_TYPE_ENDSEQ 15
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_ENUM_TYPE_ENDSUBMSG 16
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_EXTENSION_RANGE_STARTSEQ 17
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_EXTENSION_RANGE_ENDSEQ 18
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_EXTENSION_RANGE_ENDSUBMSG 19
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_EXTENSION_STARTSEQ 20
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_EXTENSION_ENDSEQ 21
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_EXTENSION_ENDSUBMSG 22
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_OPTIONS_ENDSUBMSG 23
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_NAME_STRING 24
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_NAME_STARTSTR 25
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_NAME_ENDSTR 26
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_ONEOF_DECL_STARTSUBMSG 8
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_RESERVED_RANGE_STARTSUBMSG 9
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_FIELD_STARTSEQ 10
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_FIELD_ENDSEQ 11
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_FIELD_ENDSUBMSG 12
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_NESTED_TYPE_STARTSEQ 13
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_NESTED_TYPE_ENDSEQ 14
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_NESTED_TYPE_ENDSUBMSG 15
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_ENUM_TYPE_STARTSEQ 16
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_ENUM_TYPE_ENDSEQ 17
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_ENUM_TYPE_ENDSUBMSG 18
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_EXTENSION_RANGE_STARTSEQ 19
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_EXTENSION_RANGE_ENDSEQ 20
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_EXTENSION_RANGE_ENDSUBMSG 21
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_EXTENSION_STARTSEQ 22
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_EXTENSION_ENDSEQ 23
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_EXTENSION_ENDSUBMSG 24
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_OPTIONS_ENDSUBMSG 25
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_ONEOF_DECL_STARTSEQ 26
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_ONEOF_DECL_ENDSEQ 27
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_ONEOF_DECL_ENDSUBMSG 28
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_RESERVED_RANGE_STARTSEQ 29
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_RESERVED_RANGE_ENDSEQ 30
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_RESERVED_RANGE_ENDSUBMSG 31
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_NAME_STRING 32
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_NAME_STARTSTR 33
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_NAME_ENDSTR 34
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_RESERVED_NAME_STARTSEQ 35
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_RESERVED_NAME_ENDSEQ 36
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_RESERVED_NAME_STRING 37
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_RESERVED_NAME_STARTSTR 38
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_RESERVED_NAME_ENDSTR 39
/* google.protobuf.DescriptorProto.ExtensionRange */
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_EXTENSIONRANGE_START_INT32 2
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_EXTENSIONRANGE_END_INT32 3
/* google.protobuf.DescriptorProto.ReservedRange */
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_RESERVEDRANGE_START_INT32 2
#define SEL_GOOGLE_PROTOBUF_DESCRIPTORPROTO_RESERVEDRANGE_END_INT32 3
/* google.protobuf.EnumDescriptorProto */
#define SEL_GOOGLE_PROTOBUF_ENUMDESCRIPTORPROTO_VALUE_STARTSUBMSG 2
#define SEL_GOOGLE_PROTOBUF_ENUMDESCRIPTORPROTO_OPTIONS_STARTSUBMSG 3
...
...
@@ -6334,6 +6409,7 @@ typedef enum {
#define SEL_GOOGLE_PROTOBUF_ENUMOPTIONS_UNINTERPRETED_OPTION_ENDSEQ 4
#define SEL_GOOGLE_PROTOBUF_ENUMOPTIONS_UNINTERPRETED_OPTION_ENDSUBMSG 5
#define SEL_GOOGLE_PROTOBUF_ENUMOPTIONS_ALLOW_ALIAS_BOOL 6
#define SEL_GOOGLE_PROTOBUF_ENUMOPTIONS_DEPRECATED_BOOL 7
/* google.protobuf.EnumValueDescriptorProto */
#define SEL_GOOGLE_PROTOBUF_ENUMVALUEDESCRIPTORPROTO_OPTIONS_STARTSUBMSG 2
...
...
@@ -6348,6 +6424,7 @@ typedef enum {
#define SEL_GOOGLE_PROTOBUF_ENUMVALUEOPTIONS_UNINTERPRETED_OPTION_STARTSEQ 3
#define SEL_GOOGLE_PROTOBUF_ENUMVALUEOPTIONS_UNINTERPRETED_OPTION_ENDSEQ 4
#define SEL_GOOGLE_PROTOBUF_ENUMVALUEOPTIONS_UNINTERPRETED_OPTION_ENDSUBMSG 5
#define SEL_GOOGLE_PROTOBUF_ENUMVALUEOPTIONS_DEPRECATED_BOOL 6
/* google.protobuf.FieldDescriptorProto */
#define SEL_GOOGLE_PROTOBUF_FIELDDESCRIPTORPROTO_OPTIONS_STARTSUBMSG 2
...
...
@@ -6367,6 +6444,10 @@ typedef enum {
#define SEL_GOOGLE_PROTOBUF_FIELDDESCRIPTORPROTO_DEFAULT_VALUE_STRING 16
#define SEL_GOOGLE_PROTOBUF_FIELDDESCRIPTORPROTO_DEFAULT_VALUE_STARTSTR 17
#define SEL_GOOGLE_PROTOBUF_FIELDDESCRIPTORPROTO_DEFAULT_VALUE_ENDSTR 18
#define SEL_GOOGLE_PROTOBUF_FIELDDESCRIPTORPROTO_ONEOF_INDEX_INT32 19
#define SEL_GOOGLE_PROTOBUF_FIELDDESCRIPTORPROTO_JSON_NAME_STRING 20
#define SEL_GOOGLE_PROTOBUF_FIELDDESCRIPTORPROTO_JSON_NAME_STARTSTR 21
#define SEL_GOOGLE_PROTOBUF_FIELDDESCRIPTORPROTO_JSON_NAME_ENDSTR 22
/* google.protobuf.FieldOptions */
#define SEL_GOOGLE_PROTOBUF_FIELDOPTIONS_UNINTERPRETED_OPTION_STARTSUBMSG 2
...
...
@@ -6377,10 +6458,8 @@ typedef enum {
#define SEL_GOOGLE_PROTOBUF_FIELDOPTIONS_PACKED_BOOL 7
#define SEL_GOOGLE_PROTOBUF_FIELDOPTIONS_DEPRECATED_BOOL 8
#define SEL_GOOGLE_PROTOBUF_FIELDOPTIONS_LAZY_BOOL 9
#define SEL_GOOGLE_PROTOBUF_FIELDOPTIONS_EXPERIMENTAL_MAP_KEY_STRING 10
#define SEL_GOOGLE_PROTOBUF_FIELDOPTIONS_EXPERIMENTAL_MAP_KEY_STARTSTR 11
#define SEL_GOOGLE_PROTOBUF_FIELDOPTIONS_EXPERIMENTAL_MAP_KEY_ENDSTR 12
#define SEL_GOOGLE_PROTOBUF_FIELDOPTIONS_WEAK_BOOL 13
#define SEL_GOOGLE_PROTOBUF_FIELDOPTIONS_JSTYPE_INT32 10
#define SEL_GOOGLE_PROTOBUF_FIELDOPTIONS_WEAK_BOOL 11
/* google.protobuf.FileDescriptorProto */
#define SEL_GOOGLE_PROTOBUF_FILEDESCRIPTORPROTO_MESSAGE_TYPE_STARTSUBMSG 2
...
...
@@ -6420,6 +6499,9 @@ typedef enum {
#define SEL_GOOGLE_PROTOBUF_FILEDESCRIPTORPROTO_WEAK_DEPENDENCY_STARTSEQ 36
#define SEL_GOOGLE_PROTOBUF_FILEDESCRIPTORPROTO_WEAK_DEPENDENCY_ENDSEQ 37
#define SEL_GOOGLE_PROTOBUF_FILEDESCRIPTORPROTO_WEAK_DEPENDENCY_INT32 38
#define SEL_GOOGLE_PROTOBUF_FILEDESCRIPTORPROTO_SYNTAX_STRING 39
#define SEL_GOOGLE_PROTOBUF_FILEDESCRIPTORPROTO_SYNTAX_STARTSTR 40
#define SEL_GOOGLE_PROTOBUF_FILEDESCRIPTORPROTO_SYNTAX_ENDSTR 41
/* google.protobuf.FileDescriptorSet */
#define SEL_GOOGLE_PROTOBUF_FILEDESCRIPTORSET_FILE_STARTSUBMSG 2
...
...
@@ -6447,6 +6529,16 @@ typedef enum {
#define SEL_GOOGLE_PROTOBUF_FILEOPTIONS_JAVA_GENERIC_SERVICES_BOOL 18
#define SEL_GOOGLE_PROTOBUF_FILEOPTIONS_PY_GENERIC_SERVICES_BOOL 19
#define SEL_GOOGLE_PROTOBUF_FILEOPTIONS_JAVA_GENERATE_EQUALS_AND_HASH_BOOL 20
#define SEL_GOOGLE_PROTOBUF_FILEOPTIONS_DEPRECATED_BOOL 21
#define SEL_GOOGLE_PROTOBUF_FILEOPTIONS_JAVA_STRING_CHECK_UTF8_BOOL 22
#define SEL_GOOGLE_PROTOBUF_FILEOPTIONS_CC_ENABLE_ARENAS_BOOL 23
#define SEL_GOOGLE_PROTOBUF_FILEOPTIONS_OBJC_CLASS_PREFIX_STRING 24
#define SEL_GOOGLE_PROTOBUF_FILEOPTIONS_OBJC_CLASS_PREFIX_STARTSTR 25
#define SEL_GOOGLE_PROTOBUF_FILEOPTIONS_OBJC_CLASS_PREFIX_ENDSTR 26
#define SEL_GOOGLE_PROTOBUF_FILEOPTIONS_CSHARP_NAMESPACE_STRING 27
#define SEL_GOOGLE_PROTOBUF_FILEOPTIONS_CSHARP_NAMESPACE_STARTSTR 28
#define SEL_GOOGLE_PROTOBUF_FILEOPTIONS_CSHARP_NAMESPACE_ENDSTR 29
#define SEL_GOOGLE_PROTOBUF_FILEOPTIONS_JAVANANO_USE_DEPRECATED_PACKAGE_BOOL 30
/* google.protobuf.MessageOptions */
#define SEL_GOOGLE_PROTOBUF_MESSAGEOPTIONS_UNINTERPRETED_OPTION_STARTSUBMSG 2
...
...
@@ -6455,6 +6547,8 @@ typedef enum {
#define SEL_GOOGLE_PROTOBUF_MESSAGEOPTIONS_UNINTERPRETED_OPTION_ENDSUBMSG 5
#define SEL_GOOGLE_PROTOBUF_MESSAGEOPTIONS_MESSAGE_SET_WIRE_FORMAT_BOOL 6
#define SEL_GOOGLE_PROTOBUF_MESSAGEOPTIONS_NO_STANDARD_DESCRIPTOR_ACCESSOR_BOOL 7
#define SEL_GOOGLE_PROTOBUF_MESSAGEOPTIONS_DEPRECATED_BOOL 8
#define SEL_GOOGLE_PROTOBUF_MESSAGEOPTIONS_MAP_ENTRY_BOOL 9
/* google.protobuf.MethodDescriptorProto */
#define SEL_GOOGLE_PROTOBUF_METHODDESCRIPTORPROTO_OPTIONS_STARTSUBMSG 2
...
...
@@ -6468,12 +6562,20 @@ typedef enum {
#define SEL_GOOGLE_PROTOBUF_METHODDESCRIPTORPROTO_OUTPUT_TYPE_STRING 10
#define SEL_GOOGLE_PROTOBUF_METHODDESCRIPTORPROTO_OUTPUT_TYPE_STARTSTR 11
#define SEL_GOOGLE_PROTOBUF_METHODDESCRIPTORPROTO_OUTPUT_TYPE_ENDSTR 12
#define SEL_GOOGLE_PROTOBUF_METHODDESCRIPTORPROTO_CLIENT_STREAMING_BOOL 13
#define SEL_GOOGLE_PROTOBUF_METHODDESCRIPTORPROTO_SERVER_STREAMING_BOOL 14
/* google.protobuf.MethodOptions */
#define SEL_GOOGLE_PROTOBUF_METHODOPTIONS_UNINTERPRETED_OPTION_STARTSUBMSG 2
#define SEL_GOOGLE_PROTOBUF_METHODOPTIONS_UNINTERPRETED_OPTION_STARTSEQ 3
#define SEL_GOOGLE_PROTOBUF_METHODOPTIONS_UNINTERPRETED_OPTION_ENDSEQ 4
#define SEL_GOOGLE_PROTOBUF_METHODOPTIONS_UNINTERPRETED_OPTION_ENDSUBMSG 5
#define SEL_GOOGLE_PROTOBUF_METHODOPTIONS_DEPRECATED_BOOL 6
/* google.protobuf.OneofDescriptorProto */
#define SEL_GOOGLE_PROTOBUF_ONEOFDESCRIPTORPROTO_NAME_STRING 2
#define SEL_GOOGLE_PROTOBUF_ONEOFDESCRIPTORPROTO_NAME_STARTSTR 3
#define SEL_GOOGLE_PROTOBUF_ONEOFDESCRIPTORPROTO_NAME_ENDSTR 4
/* google.protobuf.ServiceDescriptorProto */
#define SEL_GOOGLE_PROTOBUF_SERVICEDESCRIPTORPROTO_METHOD_STARTSUBMSG 2
...
...
@@ -6491,6 +6593,7 @@ typedef enum {
#define SEL_GOOGLE_PROTOBUF_SERVICEOPTIONS_UNINTERPRETED_OPTION_STARTSEQ 3
#define SEL_GOOGLE_PROTOBUF_SERVICEOPTIONS_UNINTERPRETED_OPTION_ENDSEQ 4
#define SEL_GOOGLE_PROTOBUF_SERVICEOPTIONS_UNINTERPRETED_OPTION_ENDSUBMSG 5
#define SEL_GOOGLE_PROTOBUF_SERVICEOPTIONS_DEPRECATED_BOOL 6
/* google.protobuf.SourceCodeInfo */
#define SEL_GOOGLE_PROTOBUF_SOURCECODEINFO_LOCATION_STARTSUBMSG 2
...
...
@@ -6511,6 +6614,11 @@ typedef enum {
#define SEL_GOOGLE_PROTOBUF_SOURCECODEINFO_LOCATION_TRAILING_COMMENTS_STRING 11
#define SEL_GOOGLE_PROTOBUF_SOURCECODEINFO_LOCATION_TRAILING_COMMENTS_STARTSTR 12
#define SEL_GOOGLE_PROTOBUF_SOURCECODEINFO_LOCATION_TRAILING_COMMENTS_ENDSTR 13
#define SEL_GOOGLE_PROTOBUF_SOURCECODEINFO_LOCATION_LEADING_DETACHED_COMMENTS_STARTSEQ 14
#define SEL_GOOGLE_PROTOBUF_SOURCECODEINFO_LOCATION_LEADING_DETACHED_COMMENTS_ENDSEQ 15
#define SEL_GOOGLE_PROTOBUF_SOURCECODEINFO_LOCATION_LEADING_DETACHED_COMMENTS_STRING 16
#define SEL_GOOGLE_PROTOBUF_SOURCECODEINFO_LOCATION_LEADING_DETACHED_COMMENTS_STARTSTR 17
#define SEL_GOOGLE_PROTOBUF_SOURCECODEINFO_LOCATION_LEADING_DETACHED_COMMENTS_ENDSTR 18
/* google.protobuf.UninterpretedOption */
#define SEL_GOOGLE_PROTOBUF_UNINTERPRETEDOPTION_NAME_STARTSUBMSG 2
...
...
@@ -6549,6 +6657,11 @@ UPB_INLINE const upb_msgdef *upbdefs_google_protobuf_DescriptorProto_ExtensionRa
assert
(
m
);
return
m
;
}
UPB_INLINE
const
upb_msgdef
*
upbdefs_google_protobuf_DescriptorProto_ReservedRange
(
const
upb_symtab
*
s
)
{
const
upb_msgdef
*
m
=
upb_symtab_lookupmsg
(
s
,
"google.protobuf.DescriptorProto.ReservedRange"
);
assert
(
m
);
return
m
;
}
UPB_INLINE
const
upb_msgdef
*
upbdefs_google_protobuf_EnumDescriptorProto
(
const
upb_symtab
*
s
)
{
const
upb_msgdef
*
m
=
upb_symtab_lookupmsg
(
s
,
"google.protobuf.EnumDescriptorProto"
);
assert
(
m
);
...
...
@@ -6609,6 +6722,11 @@ UPB_INLINE const upb_msgdef *upbdefs_google_protobuf_MethodOptions(const upb_sym
assert
(
m
);
return
m
;
}
UPB_INLINE
const
upb_msgdef
*
upbdefs_google_protobuf_OneofDescriptorProto
(
const
upb_symtab
*
s
)
{
const
upb_msgdef
*
m
=
upb_symtab_lookupmsg
(
s
,
"google.protobuf.OneofDescriptorProto"
);
assert
(
m
);
return
m
;
}
UPB_INLINE
const
upb_msgdef
*
upbdefs_google_protobuf_ServiceDescriptorProto
(
const
upb_symtab
*
s
)
{
const
upb_msgdef
*
m
=
upb_symtab_lookupmsg
(
s
,
"google.protobuf.ServiceDescriptorProto"
);
assert
(
m
);
...
...
@@ -6657,6 +6775,11 @@ UPB_INLINE const upb_enumdef *upbdefs_google_protobuf_FieldOptions_CType(const u
assert
(
e
);
return
e
;
}
UPB_INLINE
const
upb_enumdef
*
upbdefs_google_protobuf_FieldOptions_JSType
(
const
upb_symtab
*
s
)
{
const
upb_enumdef
*
e
=
upb_symtab_lookupenum
(
s
,
"google.protobuf.FieldOptions.JSType"
);
assert
(
e
);
return
e
;
}
UPB_INLINE
const
upb_enumdef
*
upbdefs_google_protobuf_FileOptions_OptimizeMode
(
const
upb_symtab
*
s
)
{
const
upb_enumdef
*
e
=
upb_symtab_lookupenum
(
s
,
"google.protobuf.FileOptions.OptimizeMode"
);
assert
(
e
);
...
...
@@ -6665,33 +6788,42 @@ UPB_INLINE const upb_enumdef *upbdefs_google_protobuf_FileOptions_OptimizeMode(c
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_DescriptorProto_ExtensionRange_end
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_DescriptorProto_ExtensionRange
(
s
),
2
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_DescriptorProto_ExtensionRange_start
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_DescriptorProto_ExtensionRange
(
s
),
1
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_DescriptorProto_ReservedRange_end
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_DescriptorProto_ReservedRange
(
s
),
2
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_DescriptorProto_ReservedRange_start
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_DescriptorProto_ReservedRange
(
s
),
1
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_DescriptorProto_enum_type
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_DescriptorProto
(
s
),
4
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_DescriptorProto_extension
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_DescriptorProto
(
s
),
6
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_DescriptorProto_extension_range
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_DescriptorProto
(
s
),
5
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_DescriptorProto_field
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_DescriptorProto
(
s
),
2
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_DescriptorProto_name
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_DescriptorProto
(
s
),
1
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_DescriptorProto_nested_type
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_DescriptorProto
(
s
),
3
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_DescriptorProto_oneof_decl
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_DescriptorProto
(
s
),
8
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_DescriptorProto_options
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_DescriptorProto
(
s
),
7
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_DescriptorProto_reserved_name
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_DescriptorProto
(
s
),
10
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_DescriptorProto_reserved_range
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_DescriptorProto
(
s
),
9
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_EnumDescriptorProto_name
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_EnumDescriptorProto
(
s
),
1
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_EnumDescriptorProto_options
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_EnumDescriptorProto
(
s
),
3
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_EnumDescriptorProto_value
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_EnumDescriptorProto
(
s
),
2
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_EnumOptions_allow_alias
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_EnumOptions
(
s
),
2
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_EnumOptions_deprecated
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_EnumOptions
(
s
),
3
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_EnumOptions_uninterpreted_option
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_EnumOptions
(
s
),
999
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_EnumValueDescriptorProto_name
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_EnumValueDescriptorProto
(
s
),
1
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_EnumValueDescriptorProto_number
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_EnumValueDescriptorProto
(
s
),
2
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_EnumValueDescriptorProto_options
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_EnumValueDescriptorProto
(
s
),
3
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_EnumValueOptions_deprecated
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_EnumValueOptions
(
s
),
1
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_EnumValueOptions_uninterpreted_option
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_EnumValueOptions
(
s
),
999
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FieldDescriptorProto_default_value
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FieldDescriptorProto
(
s
),
7
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FieldDescriptorProto_extendee
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FieldDescriptorProto
(
s
),
2
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FieldDescriptorProto_json_name
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FieldDescriptorProto
(
s
),
10
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FieldDescriptorProto_label
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FieldDescriptorProto
(
s
),
4
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FieldDescriptorProto_name
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FieldDescriptorProto
(
s
),
1
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FieldDescriptorProto_number
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FieldDescriptorProto
(
s
),
3
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FieldDescriptorProto_oneof_index
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FieldDescriptorProto
(
s
),
9
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FieldDescriptorProto_options
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FieldDescriptorProto
(
s
),
8
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FieldDescriptorProto_type
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FieldDescriptorProto
(
s
),
5
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FieldDescriptorProto_type_name
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FieldDescriptorProto
(
s
),
6
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FieldOptions_ctype
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FieldOptions
(
s
),
1
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FieldOptions_deprecated
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FieldOptions
(
s
),
3
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FieldOptions_
experimental_map_key
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FieldOptions
(
s
),
9
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FieldOptions_
jstype
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FieldOptions
(
s
),
6
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FieldOptions_lazy
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FieldOptions
(
s
),
5
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FieldOptions_packed
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FieldOptions
(
s
),
2
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FieldOptions_uninterpreted_option
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FieldOptions
(
s
),
999
);
}
...
...
@@ -6706,31 +6838,46 @@ UPB_INLINE const upb_fielddef *upbdefs_google_protobuf_FileDescriptorProto_packa
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FileDescriptorProto_public_dependency
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FileDescriptorProto
(
s
),
10
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FileDescriptorProto_service
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FileDescriptorProto
(
s
),
6
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FileDescriptorProto_source_code_info
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FileDescriptorProto
(
s
),
9
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FileDescriptorProto_syntax
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FileDescriptorProto
(
s
),
12
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FileDescriptorProto_weak_dependency
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FileDescriptorProto
(
s
),
11
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FileDescriptorSet_file
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FileDescriptorSet
(
s
),
1
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FileOptions_cc_enable_arenas
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FileOptions
(
s
),
31
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FileOptions_cc_generic_services
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FileOptions
(
s
),
16
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FileOptions_csharp_namespace
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FileOptions
(
s
),
37
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FileOptions_deprecated
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FileOptions
(
s
),
23
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FileOptions_go_package
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FileOptions
(
s
),
11
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FileOptions_java_generate_equals_and_hash
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FileOptions
(
s
),
20
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FileOptions_java_generic_services
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FileOptions
(
s
),
17
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FileOptions_java_multiple_files
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FileOptions
(
s
),
10
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FileOptions_java_outer_classname
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FileOptions
(
s
),
8
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FileOptions_java_package
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FileOptions
(
s
),
1
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FileOptions_java_string_check_utf8
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FileOptions
(
s
),
27
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FileOptions_javanano_use_deprecated_package
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FileOptions
(
s
),
38
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FileOptions_objc_class_prefix
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FileOptions
(
s
),
36
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FileOptions_optimize_for
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FileOptions
(
s
),
9
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FileOptions_py_generic_services
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FileOptions
(
s
),
18
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_FileOptions_uninterpreted_option
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_FileOptions
(
s
),
999
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_MessageOptions_deprecated
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_MessageOptions
(
s
),
3
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_MessageOptions_map_entry
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_MessageOptions
(
s
),
7
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_MessageOptions_message_set_wire_format
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_MessageOptions
(
s
),
1
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_MessageOptions_no_standard_descriptor_accessor
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_MessageOptions
(
s
),
2
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_MessageOptions_uninterpreted_option
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_MessageOptions
(
s
),
999
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_MethodDescriptorProto_client_streaming
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_MethodDescriptorProto
(
s
),
5
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_MethodDescriptorProto_input_type
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_MethodDescriptorProto
(
s
),
2
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_MethodDescriptorProto_name
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_MethodDescriptorProto
(
s
),
1
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_MethodDescriptorProto_options
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_MethodDescriptorProto
(
s
),
4
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_MethodDescriptorProto_output_type
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_MethodDescriptorProto
(
s
),
3
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_MethodDescriptorProto_server_streaming
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_MethodDescriptorProto
(
s
),
6
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_MethodOptions_deprecated
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_MethodOptions
(
s
),
33
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_MethodOptions_uninterpreted_option
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_MethodOptions
(
s
),
999
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_OneofDescriptorProto_name
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_OneofDescriptorProto
(
s
),
1
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_ServiceDescriptorProto_method
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_ServiceDescriptorProto
(
s
),
2
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_ServiceDescriptorProto_name
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_ServiceDescriptorProto
(
s
),
1
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_ServiceDescriptorProto_options
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_ServiceDescriptorProto
(
s
),
3
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_ServiceOptions_deprecated
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_ServiceOptions
(
s
),
33
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_ServiceOptions_uninterpreted_option
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_ServiceOptions
(
s
),
999
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_SourceCodeInfo_Location_leading_comments
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_SourceCodeInfo_Location
(
s
),
3
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_SourceCodeInfo_Location_leading_detached_comments
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_SourceCodeInfo_Location
(
s
),
6
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_SourceCodeInfo_Location_path
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_SourceCodeInfo_Location
(
s
),
1
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_SourceCodeInfo_Location_span
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_SourceCodeInfo_Location
(
s
),
2
);
}
UPB_INLINE
const
upb_fielddef
*
upbdefs_google_protobuf_SourceCodeInfo_Location_trailing_comments
(
const
upb_symtab
*
s
)
{
return
upb_msgdef_itof
(
upbdefs_google_protobuf_SourceCodeInfo_Location
(
s
),
4
);
}
...
...
@@ -6775,7 +6922,10 @@ inline upb::reffed_ptr<const upb::FieldDef> extension_range() { RETURN_REFFED(up
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
field
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_DescriptorProto_field
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
name
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_DescriptorProto_name
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
nested_type
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_DescriptorProto_nested_type
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
oneof_decl
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_DescriptorProto_oneof_decl
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
options
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_DescriptorProto_options
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
reserved_name
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_DescriptorProto_reserved_name
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
reserved_range
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_DescriptorProto_reserved_range
)
}
}
/* namespace DescriptorProto */
}
/* namespace protobuf */
}
/* namespace google */
...
...
@@ -6792,6 +6942,18 @@ inline upb::reffed_ptr<const upb::FieldDef> start() { RETURN_REFFED(upb::FieldDe
}
/* namespace protobuf */
}
/* namespace google */
namespace
google
{
namespace
protobuf
{
namespace
DescriptorProto
{
namespace
ReservedRange
{
inline
upb
::
reffed_ptr
<
const
upb
::
MessageDef
>
MessageDef
()
{
RETURN_REFFED
(
upb
::
MessageDef
,
upbdefs_google_protobuf_DescriptorProto_ReservedRange
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
end
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_DescriptorProto_ReservedRange_end
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
start
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_DescriptorProto_ReservedRange_start
)
}
}
/* namespace ReservedRange */
}
/* namespace DescriptorProto */
}
/* namespace protobuf */
}
/* namespace google */
namespace
google
{
namespace
protobuf
{
namespace
EnumDescriptorProto
{
...
...
@@ -6808,6 +6970,7 @@ namespace protobuf {
namespace
EnumOptions
{
inline
upb
::
reffed_ptr
<
const
upb
::
MessageDef
>
MessageDef
()
{
RETURN_REFFED
(
upb
::
MessageDef
,
upbdefs_google_protobuf_EnumOptions
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
allow_alias
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_EnumOptions_allow_alias
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
deprecated
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_EnumOptions_deprecated
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
uninterpreted_option
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_EnumOptions_uninterpreted_option
)
}
}
/* namespace EnumOptions */
}
/* namespace protobuf */
...
...
@@ -6828,6 +6991,7 @@ namespace google {
namespace
protobuf
{
namespace
EnumValueOptions
{
inline
upb
::
reffed_ptr
<
const
upb
::
MessageDef
>
MessageDef
()
{
RETURN_REFFED
(
upb
::
MessageDef
,
upbdefs_google_protobuf_EnumValueOptions
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
deprecated
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_EnumValueOptions_deprecated
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
uninterpreted_option
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_EnumValueOptions_uninterpreted_option
)
}
}
/* namespace EnumValueOptions */
}
/* namespace protobuf */
...
...
@@ -6839,9 +7003,11 @@ namespace FieldDescriptorProto {
inline
upb
::
reffed_ptr
<
const
upb
::
MessageDef
>
MessageDef
()
{
RETURN_REFFED
(
upb
::
MessageDef
,
upbdefs_google_protobuf_FieldDescriptorProto
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
default_value
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FieldDescriptorProto_default_value
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
extendee
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FieldDescriptorProto_extendee
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
json_name
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FieldDescriptorProto_json_name
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
label
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FieldDescriptorProto_label
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
name
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FieldDescriptorProto_name
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
number
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FieldDescriptorProto_number
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
oneof_index
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FieldDescriptorProto_oneof_index
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
options
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FieldDescriptorProto_options
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
type
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FieldDescriptorProto_type
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
type_name
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FieldDescriptorProto_type_name
)
}
...
...
@@ -6857,12 +7023,13 @@ namespace FieldOptions {
inline
upb
::
reffed_ptr
<
const
upb
::
MessageDef
>
MessageDef
()
{
RETURN_REFFED
(
upb
::
MessageDef
,
upbdefs_google_protobuf_FieldOptions
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
ctype
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FieldOptions_ctype
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
deprecated
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FieldOptions_deprecated
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
experimental_map_key
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FieldOptions_experimental_map_key
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
jstype
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FieldOptions_jstype
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
lazy
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FieldOptions_lazy
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
packed
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FieldOptions_packed
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
uninterpreted_option
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FieldOptions_uninterpreted_option
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
weak
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FieldOptions_weak
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
EnumDef
>
CType
()
{
RETURN_REFFED
(
upb
::
EnumDef
,
upbdefs_google_protobuf_FieldOptions_CType
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
EnumDef
>
JSType
()
{
RETURN_REFFED
(
upb
::
EnumDef
,
upbdefs_google_protobuf_FieldOptions_JSType
)
}
}
/* namespace FieldOptions */
}
/* namespace protobuf */
}
/* namespace google */
...
...
@@ -6881,6 +7048,7 @@ inline upb::reffed_ptr<const upb::FieldDef> package() { RETURN_REFFED(upb::Field
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
public_dependency
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FileDescriptorProto_public_dependency
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
service
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FileDescriptorProto_service
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
source_code_info
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FileDescriptorProto_source_code_info
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
syntax
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FileDescriptorProto_syntax
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
weak_dependency
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FileDescriptorProto_weak_dependency
)
}
}
/* namespace FileDescriptorProto */
}
/* namespace protobuf */
...
...
@@ -6899,13 +7067,19 @@ namespace google {
namespace
protobuf
{
namespace
FileOptions
{
inline
upb
::
reffed_ptr
<
const
upb
::
MessageDef
>
MessageDef
()
{
RETURN_REFFED
(
upb
::
MessageDef
,
upbdefs_google_protobuf_FileOptions
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
cc_enable_arenas
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FileOptions_cc_enable_arenas
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
cc_generic_services
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FileOptions_cc_generic_services
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
csharp_namespace
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FileOptions_csharp_namespace
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
deprecated
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FileOptions_deprecated
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
go_package
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FileOptions_go_package
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
java_generate_equals_and_hash
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FileOptions_java_generate_equals_and_hash
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
java_generic_services
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FileOptions_java_generic_services
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
java_multiple_files
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FileOptions_java_multiple_files
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
java_outer_classname
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FileOptions_java_outer_classname
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
java_package
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FileOptions_java_package
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
java_string_check_utf8
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FileOptions_java_string_check_utf8
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
javanano_use_deprecated_package
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FileOptions_javanano_use_deprecated_package
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
objc_class_prefix
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FileOptions_objc_class_prefix
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
optimize_for
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FileOptions_optimize_for
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
py_generic_services
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FileOptions_py_generic_services
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
uninterpreted_option
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_FileOptions_uninterpreted_option
)
}
...
...
@@ -6918,6 +7092,8 @@ namespace google {
namespace
protobuf
{
namespace
MessageOptions
{
inline
upb
::
reffed_ptr
<
const
upb
::
MessageDef
>
MessageDef
()
{
RETURN_REFFED
(
upb
::
MessageDef
,
upbdefs_google_protobuf_MessageOptions
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
deprecated
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_MessageOptions_deprecated
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
map_entry
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_MessageOptions_map_entry
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
message_set_wire_format
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_MessageOptions_message_set_wire_format
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
no_standard_descriptor_accessor
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_MessageOptions_no_standard_descriptor_accessor
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
uninterpreted_option
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_MessageOptions_uninterpreted_option
)
}
...
...
@@ -6929,10 +7105,12 @@ namespace google {
namespace
protobuf
{
namespace
MethodDescriptorProto
{
inline
upb
::
reffed_ptr
<
const
upb
::
MessageDef
>
MessageDef
()
{
RETURN_REFFED
(
upb
::
MessageDef
,
upbdefs_google_protobuf_MethodDescriptorProto
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
client_streaming
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_MethodDescriptorProto_client_streaming
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
input_type
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_MethodDescriptorProto_input_type
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
name
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_MethodDescriptorProto_name
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
options
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_MethodDescriptorProto_options
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
output_type
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_MethodDescriptorProto_output_type
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
server_streaming
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_MethodDescriptorProto_server_streaming
)
}
}
/* namespace MethodDescriptorProto */
}
/* namespace protobuf */
}
/* namespace google */
...
...
@@ -6941,11 +7119,21 @@ namespace google {
namespace
protobuf
{
namespace
MethodOptions
{
inline
upb
::
reffed_ptr
<
const
upb
::
MessageDef
>
MessageDef
()
{
RETURN_REFFED
(
upb
::
MessageDef
,
upbdefs_google_protobuf_MethodOptions
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
deprecated
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_MethodOptions_deprecated
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
uninterpreted_option
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_MethodOptions_uninterpreted_option
)
}
}
/* namespace MethodOptions */
}
/* namespace protobuf */
}
/* namespace google */
namespace
google
{
namespace
protobuf
{
namespace
OneofDescriptorProto
{
inline
upb
::
reffed_ptr
<
const
upb
::
MessageDef
>
MessageDef
()
{
RETURN_REFFED
(
upb
::
MessageDef
,
upbdefs_google_protobuf_OneofDescriptorProto
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
name
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_OneofDescriptorProto_name
)
}
}
/* namespace OneofDescriptorProto */
}
/* namespace protobuf */
}
/* namespace google */
namespace
google
{
namespace
protobuf
{
namespace
ServiceDescriptorProto
{
...
...
@@ -6961,6 +7149,7 @@ namespace google {
namespace
protobuf
{
namespace
ServiceOptions
{
inline
upb
::
reffed_ptr
<
const
upb
::
MessageDef
>
MessageDef
()
{
RETURN_REFFED
(
upb
::
MessageDef
,
upbdefs_google_protobuf_ServiceOptions
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
deprecated
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_ServiceOptions_deprecated
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
uninterpreted_option
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_ServiceOptions_uninterpreted_option
)
}
}
/* namespace ServiceOptions */
}
/* namespace protobuf */
...
...
@@ -6981,6 +7170,7 @@ namespace SourceCodeInfo {
namespace
Location
{
inline
upb
::
reffed_ptr
<
const
upb
::
MessageDef
>
MessageDef
()
{
RETURN_REFFED
(
upb
::
MessageDef
,
upbdefs_google_protobuf_SourceCodeInfo_Location
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
leading_comments
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_SourceCodeInfo_Location_leading_comments
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
leading_detached_comments
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_SourceCodeInfo_Location_leading_detached_comments
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
path
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_SourceCodeInfo_Location_path
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
span
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_SourceCodeInfo_Location_span
)
}
inline
upb
::
reffed_ptr
<
const
upb
::
FieldDef
>
trailing_comments
()
{
RETURN_REFFED
(
upb
::
FieldDef
,
upbdefs_google_protobuf_SourceCodeInfo_Location_trailing_comments
)
}
...
...
@@ -7067,6 +7257,13 @@ UPB_DECLARE_TYPE(upb::pb::DecoderMethodOptions, upb_pbdecodermethodopts)
UPB_DECLARE_DERIVED_TYPE
(
upb
::
pb
::
DecoderMethod
,
upb
::
RefCounted
,
upb_pbdecodermethod
,
upb_refcounted
)
/* The maximum number of bytes we are required to buffer internally between
* calls to the decoder. The value is 14: a 5 byte unknown tag plus ten-byte
* varint, less one because we are buffering an incomplete value.
*
* Should only be used by unit tests. */
#define UPB_DECODER_MAX_RESIDUAL_BYTES 14
#ifdef __cplusplus
/* The parameters one uses to construct a DecoderMethod.
...
...
@@ -7541,11 +7738,8 @@ struct upb_pbdecoder {
/* Overall stream offset of "buf." */
uint64_t
bufstart_ofs
;
/* Buffer for residual bytes not parsed from the previous buffer.
* The maximum number of residual bytes we require is 12; a five-byte
* unknown tag plus an eight-byte value, less one because the value
* is only a partial value. */
char
residual
[
12
];
/* Buffer for residual bytes not parsed from the previous buffer. */
char
residual
[
UPB_DECODER_MAX_RESIDUAL_BYTES
];
char
*
residual_end
;
/* Bytes of data that should be discarded from the input beore we start
...
...
@@ -8083,11 +8277,14 @@ inline reffed_ptr<const Handlers> TextPrinter::NewHandlers(
namespace
upb
{
namespace
json
{
class
Parser
;
class
ParserMethod
;
}
/* namespace json */
}
/* namespace upb */
#endif
UPB_DECLARE_TYPE
(
upb
::
json
::
Parser
,
upb_json_parser
)
UPB_DECLARE_DERIVED_TYPE
(
upb
::
json
::
ParserMethod
,
upb
::
RefCounted
,
upb_json_parsermethod
,
upb_refcounted
)
/* upb::json::Parser **********************************************************/
...
...
@@ -8095,7 +8292,7 @@ UPB_DECLARE_TYPE(upb::json::Parser, upb_json_parser)
* constructed. This hint may be an overestimate for some build configurations.
* But if the parser library is upgraded without recompiling the application,
* it may be an underestimate. */
#define UPB_JSON_PARSER_SIZE
37
04
#define UPB_JSON_PARSER_SIZE
41
04
#ifdef __cplusplus
...
...
@@ -8103,7 +8300,8 @@ UPB_DECLARE_TYPE(upb::json::Parser, upb_json_parser)
* sink. */
class
upb
::
json
::
Parser
{
public
:
static
Parser
*
Create
(
Environment
*
env
,
Sink
*
output
);
static
Parser
*
Create
(
Environment
*
env
,
const
ParserMethod
*
method
,
Sink
*
output
);
BytesSink
*
input
();
...
...
@@ -8111,25 +8309,72 @@ class upb::json::Parser {
UPB_DISALLOW_POD_OPS
(
Parser
,
upb
::
json
::
Parser
)
};
class
upb
::
json
::
ParserMethod
{
public
:
/* Include base methods from upb::ReferenceCounted. */
UPB_REFCOUNTED_CPPMETHODS
/* Returns handlers for parsing according to the specified schema. */
static
reffed_ptr
<
const
ParserMethod
>
New
(
const
upb
::
MessageDef
*
md
);
/* The destination handlers that are statically bound to this method.
* This method is only capable of outputting to a sink that uses these
* handlers. */
const
Handlers
*
dest_handlers
()
const
;
/* The input handlers for this decoder method. */
const
BytesHandler
*
input_handler
()
const
;
private
:
UPB_DISALLOW_POD_OPS
(
ParserMethod
,
upb
::
json
::
ParserMethod
)
};
#endif
UPB_BEGIN_EXTERN_C
upb_json_parser
*
upb_json_parser_create
(
upb_env
*
e
,
upb_sink
*
output
);
upb_json_parser
*
upb_json_parser_create
(
upb_env
*
e
,
const
upb_json_parsermethod
*
m
,
upb_sink
*
output
);
upb_bytessink
*
upb_json_parser_input
(
upb_json_parser
*
p
);
upb_json_parsermethod
*
upb_json_parsermethod_new
(
const
upb_msgdef
*
md
,
const
void
*
owner
);
const
upb_handlers
*
upb_json_parsermethod_desthandlers
(
const
upb_json_parsermethod
*
m
);
const
upb_byteshandler
*
upb_json_parsermethod_inputhandler
(
const
upb_json_parsermethod
*
m
);
/* Include refcounted methods like upb_json_parsermethod_ref(). */
UPB_REFCOUNTED_CMETHODS
(
upb_json_parsermethod
,
upb_json_parsermethod_upcast
)
UPB_END_EXTERN_C
#ifdef __cplusplus
namespace
upb
{
namespace
json
{
inline
Parser
*
Parser
::
Create
(
Environment
*
env
,
Sink
*
output
)
{
return
upb_json_parser_create
(
env
,
output
);
inline
Parser
*
Parser
::
Create
(
Environment
*
env
,
const
ParserMethod
*
method
,
Sink
*
output
)
{
return
upb_json_parser_create
(
env
,
method
,
output
);
}
inline
BytesSink
*
Parser
::
input
()
{
return
upb_json_parser_input
(
this
);
}
inline
const
Handlers
*
ParserMethod
::
dest_handlers
()
const
{
return
upb_json_parsermethod_desthandlers
(
this
);
}
inline
const
BytesHandler
*
ParserMethod
::
input_handler
()
const
{
return
upb_json_parsermethod_inputhandler
(
this
);
}
/* static */
inline
reffed_ptr
<
const
ParserMethod
>
ParserMethod
::
New
(
const
MessageDef
*
md
)
{
const
upb_json_parsermethod
*
m
=
upb_json_parsermethod_new
(
md
,
&
m
);
return
reffed_ptr
<
const
ParserMethod
>
(
m
,
&
m
);
}
}
/* namespace json */
}
/* namespace upb */
...
...
ruby/tests/basic.rb
View file @
78da6669
...
...
@@ -1160,7 +1160,7 @@ module BasicTest
# TODO: Fix JSON in JRuby version.
return
if
RUBY_PLATFORM
==
"java"
m
=
MapMessage
.
new
(
:map_string_int32
=>
{
"a"
=>
1
})
expected
=
'{"map
_string_int32":{"a":1},"map_string_m
sg":{}}'
expected
=
'{"map
StringInt32":{"a":1},"mapStringM
sg":{}}'
assert
MapMessage
.
encode_json
(
m
)
==
expected
m2
=
MapMessage
.
decode_json
(
MapMessage
.
encode_json
(
m
))
assert
m
==
m2
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment