Bo Yang
5aa27d91c6
Use upb_sink_putunknown for reserve unknown
7 years ago
Bo Yang
dc9d15084f
Remove upb_addunknown_handlerfunc and upb_handlers_setaddunknown
7 years ago
Bo Yang
0b7904e18c
Reserve unknown fields in upb
...
1. For decoding, an unknownfields will be lazily created on message,
which contains bytes of unknown fields.
2. For encoding, if the unknownfields is present on message, all bytes
contained in it will be serialized.
7 years ago
Joshua Haberman
72c333eb03
Fixed amalgamated build.
7 years ago
Joshua Haberman
058a17f6a6
Fix amalgamated build.
7 years ago
Joshua Haberman
98f513fb8f
Fixed 32-bit build and added generated files.
7 years ago
Joshua Haberman
6b87674221
Address review comments and fix compile warnings.
7 years ago
Joshua Haberman
806ffc1d20
Responded to PR comments.
7 years ago
Joshua Haberman
15308afff2
Fixes for oneof conformance tests.
7 years ago
Joshua Haberman
b697882fb2
Fixed varint length when buffer is reallocated.
7 years ago
Joshua Haberman
be9094d91a
New encode/decode: most (171 / 192) conformance tests pass.
7 years ago
Joshua Haberman
edad06a9fa
WIP.
7 years ago
Joshua Haberman
1278ff8994
Responded to PR comments.
7 years ago
Joshua Haberman
c0a660f474
Added upb_stringview, the string representation for upb_msg.
7 years ago
Joshua Haberman
3e8acc3f4e
Removed incorrect assert and added comments.
7 years ago
Joshua Haberman
af43ea72b5
Removed incorrect assertion.
...
Internal members aren't initialized by default_msg.
7 years ago
Joshua Haberman
2826811367
Responded to PR comments.
7 years ago
Joshua Haberman
699b51b441
Lots of encoder/decoder work (backwards encoder).
7 years ago
Josh Haberman
1aafd4111b
A good start on upb_encode and upb_decode.
8 years ago
Joshua Haberman
9cb10577fc
First version of a real C codegen for upb.
...
Also includes an implementation of the conformance tests
to display what the API usage will be like.
There is still a lot to do, and things that are broken (oneofs,
repeated fields, etc), but it's a good start.
8 years ago
Joshua Haberman
76fcdd2ee9
Removed all upb_msgdef/upb_fielddef from upb_msg.
8 years ago
Joshua Haberman
1b9d37a00e
Start migrating upb_msglayout to be suitable for generated code.
...
This involves:
- remove upb_msglayout -> upb_msgfactory dependency.
- remove upb_msglayout -> upb_msgdef dependency (in progress).
- make upb_msglayout use a representation that can be
statically initialized by generated code.
The goal here is that upb_msglayout becomes a kind of "descriptor
lite": it contains enough data to parser and serialize protobufs
and manipulate a upb_msg in memory, while being far smaller and
simpler than a full descriptor. It also does not include field
names, which can be a benefit for applications that do not want
to leak field names.
Generated code can then create a upb_msglayout, and do most things
without ever needing to construct full descriptors/defs if they
don't want to.
8 years ago
Josh Haberman
cbc2d7af56
Responded to PR comments. This also fixed a few more conformance tests.
8 years ago
Josh Haberman
d04af15acb
Some fixes to make JSON properly recognize numbers in quotes.
8 years ago
Bo Yang
35f838e82d
php_namespace should be explicitly set even if it's empty.
8 years ago
Bo Yang
0a9b07ba86
Fix upb load descriptor when no messages defined in prorto.
8 years ago
Bo Yang
f15e6764bd
Add new file option php_namespace.
...
Use this option to change the namespace of php generated classes.
Default is empty. When this option is empty, the package name will be
used for determining the namespace.
8 years ago
Josh Haberman
c909a7aa6e
Deleted some dead code related to varint decoding.
8 years ago
Bo Yang
4169481438
Fix bugs in file_onphpprefix
...
1. It should call file_setphpprefix instead.
2. Collect prefix.
3. Return size of string.
8 years ago
Bo Yang
969ba5ef86
Add new file option php_class_prefix.
...
This option will be prepended to all php generated classes. The PHP
runtime needs to know this option to figure out the class name for
specific message.
8 years ago
Bo Yang
0168f28daf
Bug fix: When encoding, negative int32 values should be padded to int64 in order to be wire compatible
8 years ago
Josh Haberman
3b7dc27fb5
Fixed amalgamated build and added test.
8 years ago
Josh Haberman
5aa01b46e4
A couple more fixes.
8 years ago
Josh Haberman
512130adf1
Remove another bit of obsolete code.
8 years ago
Josh Haberman
693b841ec6
Removed all code for adding extensions to upb_symtab.
...
This means extensions can't be used until we implement
the replacement APIs for accessing extensions from a
symtab.
8 years ago
Josh Haberman
629b4ce621
Ripped out complicated and unused code for replacing defs in a symtab.
...
Also hid the dup() functions. We can't quite delete them yet
because our current approach for extensions depends on duplicating
defs.
8 years ago
Josh Haberman
47da2afd52
Make upb::SymbolTable no longer reference-counted.
...
This transitions it from shared ownership to unique
ownership.
8 years ago
Josh Haberman
c850bc0a4e
Moved upb_symtab to def.h/def.c.
...
This is in anticipation of removing refcounting and
making upb_symtab (soon to be upb_defpool) the unique
owner of all defs inside.
8 years ago
Josh Haberman
6cccfe1649
Addressed PR comments.
8 years ago
Josh Haberman
ce1f63fde2
A few C++ fixes for BufferSink.
8 years ago
Josh Haberman
15c388b819
Basic serialization for upb_msg and Lua.
...
Doesn't yet include strings, submessages, maps,
or repeated fields.
8 years ago
Josh Haberman
2b77da3da8
Update for final PR comments.
8 years ago
Josh Haberman
ba4e23f170
Added a few missing __gc metamethods.
8 years ago
Josh Haberman
949aeee3f1
Changes for PR comments.
8 years ago
Josh Haberman
3122535726
Fleshed out comments and removed some dead code.
8 years ago
Josh Haberman
62472c1161
Suppress warnings on 32-bit for this dead code for now.
8 years ago
Josh Haberman
e977c0af03
Fixed more bugs surfaced by Travis.
8 years ago
Josh Haberman
39c2414d68
Added descriptor.pb so we don't depend on protoc for tests.
8 years ago
Josh Haberman
ff99b3f46b
Fixed some bugs surfaced by Travis.
8 years ago
Josh Haberman
16ca9309b3
Removed some temporary code and fixed a few tests.
8 years ago