summaryrefslogtreecommitdiff
path: root/upb/def.c
diff options
context:
space:
mode:
authorBo Yang <teboring@google.com>2018-09-06 05:00:42 +0000
committerBo Yang <teboring@google.com>2018-09-06 05:00:42 +0000
commit6c910330c4eac6b4461f460bfabc4cbb62be810c (patch)
tree37eab53d59f63c7e4a0637b769d2d302fbcdfce4 /upb/def.c
parent41379a7064b6488099f203521fb69ceea0f6cc15 (diff)
Fix json parsing for Struct, ListValue and Value.
Diffstat (limited to 'upb/def.c')
-rw-r--r--upb/def.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/upb/def.c b/upb/def.c
index b3114cd..0c154e6 100644
--- a/upb/def.c
+++ b/upb/def.c
@@ -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);
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback