Bo Yang
bc7f1eaca0
In case of circular dependency, layout has to be inserted first.
7 years ago
Bo Yang
719f644232
Field missing submsg and hasbit information.
7 years ago
Bo Yang
8c6d0e5545
Conversion from uint64 to uint32 didn't consider sign bit.
7 years ago
Bo Yang
cafebf6bee
For encoding upb needs descriptor type instead of type.
7 years ago
Bo Yang
0a9681874e
Modify TODO
7 years ago
Bo Yang
1e1c54f772
Change parameter type from enum opcode to int.
...
If the compiler elects to represent enum E as a char rather than an int
(per 6.7.2.2p4), the call to va_start() will have undefined behavior.
7 years ago
Bo Yang
ee7b049d19
Initialize tag to make compiler happy.
7 years ago
Joshua Haberman
0776f64830
Fixed JIT for unknown fields. ( #1 )
7 years ago
Bo Yang
dd77460c65
Do not expose encode_unknown
7 years ago
Bo Yang
69dee545ec
Remove upb_pb_encoder_encode_unknown
7 years ago
Bo Yang
6a6e192375
Remove unused declaration.
7 years ago
Bo Yang
6b4e07cc18
Remove upb_addunknown_handlerfunc
7 years ago
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.
7 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