diff options
author | Bo Yang <teboring@google.com> | 2018-09-06 05:00:42 +0000 |
---|---|---|
committer | Bo Yang <teboring@google.com> | 2018-09-06 05:00:42 +0000 |
commit | 6c910330c4eac6b4461f460bfabc4cbb62be810c (patch) | |
tree | 37eab53d59f63c7e4a0637b769d2d302fbcdfce4 /upb/def.c | |
parent | 41379a7064b6488099f203521fb69ceea0f6cc15 (diff) |
Fix json parsing for Struct, ListValue and Value.
Diffstat (limited to 'upb/def.c')
-rw-r--r-- | upb/def.c | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -1339,6 +1339,9 @@ bool upb_fielddef_checkdescriptortype(int32_t type) { static const char *kDurationFullMessageName = "google.protobuf.Duration"; static const char *kTimestampFullMessageName = "google.protobuf.Timestamp"; +static const char *kValueFullMessageName = "google.protobuf.Value"; +static const char *kListValueFullMessageName = "google.protobuf.ListValue"; +static const char *kStructFullMessageName = "google.protobuf.Struct"; static void visitmsg(const upb_refcounted *r, upb_refcounted_visit *visit, void *closure) { @@ -1604,6 +1607,18 @@ bool upb_msgdef_timestamp(const upb_msgdef *m) { return strcmp(upb_msgdef_fullname(m), kTimestampFullMessageName) == 0; } +bool upb_msgdef_value(const upb_msgdef *m) { + return strcmp(upb_msgdef_fullname(m), kValueFullMessageName) == 0; +} + +bool upb_msgdef_listvalue(const upb_msgdef *m) { + return strcmp(upb_msgdef_fullname(m), kListValueFullMessageName) == 0; +} + +bool upb_msgdef_structvalue(const upb_msgdef *m) { + return strcmp(upb_msgdef_fullname(m), kStructFullMessageName) == 0; +} + void upb_msg_field_begin(upb_msg_field_iter *iter, const upb_msgdef *m) { upb_inttable_begin(iter, &m->itof); } |