diff options
author | Paul Yang <TeBoring@users.noreply.github.com> | 2018-12-04 15:21:32 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-04 15:21:32 -0800 |
commit | 13c59cb051c4deee5367f9c5fc7b5d07363496a0 (patch) | |
tree | d71ca4fa8ee5a0feed15eed99f8da51af21aa1d1 /upb/def.h | |
parent | 9e44a757edb7ba7155469d3305da32b3dc11c756 (diff) |
Implement json decoding for Any message. (#130)
* Implement json decoding for Any message.
type url may not appear as the first value in json. As a result,
other data cannot be resolved before resolving type url. To solve that,
this change caches the start and end position of unparsed values and
resolve them in end_any_object when type url has been resolved.
* Handle Any in switch
* Update json parser size
* Fix comments
* Sync upstream
* Add dependency on upb_pb for upb_json
* Debug failed test
* Fix cmake
* Update test generated files
* Remove debug tests
Diffstat (limited to 'upb/def.h')
-rw-r--r-- | upb/def.h | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -285,6 +285,7 @@ typedef enum { */ typedef enum { UPB_WELLKNOWN_UNSPECIFIED, + UPB_WELLKNOWN_ANY, UPB_WELLKNOWN_DURATION, UPB_WELLKNOWN_TIMESTAMP, /* number wrappers */ @@ -1543,6 +1544,8 @@ const upb_def *upb_symtab_resolve(const upb_symtab *s, const char *base, const char *sym); const upb_def *upb_symtab_lookup(const upb_symtab *s, const char *sym); const upb_msgdef *upb_symtab_lookupmsg(const upb_symtab *s, const char *sym); +const upb_msgdef *upb_symtab_lookupmsg2( + const upb_symtab *s, const char *sym, size_t len); const upb_enumdef *upb_symtab_lookupenum(const upb_symtab *s, const char *sym); bool upb_symtab_add(upb_symtab *s, upb_def *const*defs, size_t n, void *ref_donor, upb_status *status); |