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
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
Josh Haberman
4b0c4ca7fb
New upb_msg code and Lua bindings around it.
...
There are still some things that are unfinished,
but we are at parity with what Lua had before.
8 years ago
HATATANI Shinta
35e174bf0e
Fix C++11 incompatibility
8 years ago
HATATANI Shinta
5211caac97
Make upb compatible with musl libc
8 years ago
Josh Haberman
5a49a33605
Responded to CR comments.
8 years ago
Josh Haberman
af79bfb919
Some refcounting fixes.
...
Clearly this stuff is too complex overall.
The plan is to move away from this and more towards
pools, like proto2 uses.
8 years ago
Josh Haberman
c387d372ee
Added descriptive comment about descriptor nesting.
8 years ago
Josh Haberman
bb872be0c0
Addressed CR comments: simplify slightly.
8 years ago
Josh Haberman
074a050bb1
Added support for loading oneofs from descriptors.
8 years ago
Josh Haberman
fd1e6a3805
Updated generated code.
8 years ago
Josh Haberman
b09c59cc05
A small bugfix to upb_table and simplified some code.
8 years ago
Josh Haberman
ea85066489
JSON: fix a couple cases of the wrong closure being passed to end handlers.
8 years ago