summaryrefslogtreecommitdiff
path: root/upb/def.c
diff options
context:
space:
mode:
authorJoshua Haberman <jhaberman@gmail.com>2018-09-06 15:04:13 -0700
committerGitHub <noreply@github.com>2018-09-06 15:04:13 -0700
commitbdbc9fbd6d13d41d4bc05fea672d82f96d8e2d07 (patch)
tree7ca162abf08236a1146df4bb8bc780a39ba6db98 /upb/def.c
parent41379a7064b6488099f203521fb69ceea0f6cc15 (diff)
parent81fbb4ffa72e7e86e500cf4f7bd0c73910263fbf (diff)
Merge pull request #122 from TeBoring/json-values
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