Joshua Haberman
d49c1db6c2
New JSON decoder, string->msg using reflection.
...
This compiles successfully, but I have not executed
it even once.
5 years ago
Joshua Haberman
872f4ceb8f
[json encoder] passes all conformance tests.
5 years ago
Joshua Haberman
384cf15b0f
[json encoder] passes almost all conformance tests.
5 years ago
Joshua Haberman
6e9db7dafc
Fixed JSON encoder so that it compiles.
5 years ago
Joshua Haberman
02c89a8b15
Renamed textencode -> text_encode for greater readability. ( #249 )
5 years ago
Nicolas Noble
bb2db35464
Fixing Windows build. ( #247 )
...
https://godbolt.org/z/3bSxGs
5 years ago
Joshua Haberman
60d0966a0b
[jsonencoder]: wrote most of the code, haven't even compiled yet, let alone tested.
5 years ago
Joshua Haberman
1da9cfde77
A few bugfixes.
5 years ago
Joshua Haberman
ca84145476
[decoder] fix for buf=NULL, size=0 case. ( #246 )
5 years ago
Joshua Haberman
4c6dcc3c6b
[textformat]: added missing newline when a message opens. ( #245 )
...
* [textformat]: added missing newline when a message opens.
* Added tostring() support to Lua that prints to text format.
Also fixed a gnarly bug that this exposed.
5 years ago
Joshua Haberman
3d955e684c
Added "extern C" blocks to textencode. ( #244 )
...
* Added "extern C" blocks to textencode.
* Added accidentally-deleted test_upb.lua, deleted unneeded test.proto.
5 years ago
Joshua Haberman
ca512852f3
Fixed parsing for string->double maps. ( #243 )
...
Map parsing/serializing relies on map entries always
having a predictable order. The code that generates
layout was not respecting this in the case of string
keys and primitive values.
5 years ago
Joshua Haberman
ce1a399a19
Text format serializer for upb_msg ( #242 )
...
* WIP, first version of encoder.
* More progress on text encoder.
* A lot of progress on the text printer.
* Added textencode header file.
* Text encoder now passes conformance tests.
These aren't very stringent though, and more testing is needed.
* Print text into static buffer. Passes all conformance tests.
* Fixed kokoro errors.
* Fix for indent depth when printing map fields.
5 years ago
Joshua Haberman
46b93f8cea
A bit more cleanup in the decoder.
5 years ago
Joshua Haberman
ad2eb65a4b
Refactored conformance_upb to use reflection, and fixed a decoder bug.
5 years ago
Joshua Haberman
9a870d957f
Removed upb_decframe and made ptr an explicit parameter and return.
5 years ago
Joshua Haberman
a6c54729df
Added UPB_ASSUME(), to work around warnings when optimization is enabled:
...
upb/json/parser.rl: In function 'end_member.isra.150':
bazel-out/k8-opt/bin/upb.c:5536:13: error: 'sel' may be used uninitialized in this function [-Werror=maybe-uninitialized]
upb_func *ret = (upb_func *)h->table[s].func;
5 years ago
Joshua Haberman
e911aae5f6
Factored upb_map_entry into a shared place.
5 years ago
Anna R
d2389ba261
Add correctness asserts to upb_addmsg
5 years ago
Anna R
de1bc11663
Split port into its own target, add msg.h to :legacy_msg_reflection
5 years ago
Joshua Haberman
744f8588da
Cleanup to remove END_GROUP from descriptortype -> type tables.
5 years ago
Joshua Haberman
f9efbcd5d6
Added missing append fallback.
5 years ago
Joshua Haberman
c4b64e6a20
Slight simplification: NULL arena will avoid creating a new sub-object.
5 years ago
Joshua Haberman
d541566a7b
Moved upb_array_new() to upb/reflection.h where it belongs.
5 years ago
Joshua Haberman
520ddc1f11
c89 fixes.
5 years ago
Joshua Haberman
2a85bef825
Generated code interface for maps is complete, though not yet tested.
5 years ago
Joshua Haberman
7f5fe52dfa
Fixes for non-C89 code.
5 years ago
Joshua Haberman
6c2d732082
Fixed upb's map parsing to overwrite existing elements.
5 years ago
Joshua Haberman
090a0c33a4
Fixed VLA error and rewrote the map parsing code to be clearer.
5 years ago
Joshua Haberman
0fbae939d2
Removed stray fprintf().
5 years ago
Joshua Haberman
572ba75d1c
Removed comma after final enumerator.
5 years ago
Joshua Haberman
c9135e5276
Fixed the build.
5 years ago
Joshua Haberman
e18541a9dd
Added some missing files.
5 years ago
Joshua Haberman
382f92a87f
Maps encode and decode successfully!
5 years ago
Joshua Haberman
4c57b1fefd
More progress on Lua extension.
5 years ago
Joshua Haberman
d6c3152c0b
Added more Lua tests that are passing.
...
Also ripped out the ctype checking in upb_table, it
was not helpful (didn't help catch bugs) but was causing
problems.
5 years ago
Joshua Haberman
ae66e571d4
Fixed some bugs and added a few more tests.
5 years ago
Joshua Haberman
bfc86d3577
Fixed many bugs, basic Lua test passes!
5 years ago
Joshua Haberman
cc6db9fb0b
Fixed crash bug.
5 years ago
Joshua Haberman
626ec4bfcf
Everything builds, test pass except test_decoder.
5 years ago
Joshua Haberman
5239655b99
WIP.
5 years ago
Joshua Haberman
23825332e1
WIP.
5 years ago
Joshua Haberman
27b95c969a
WIP.
5 years ago
Joshua Haberman
9a360ad43d
Moved legacy_msg_reflection.{c,h} -> reflection.{c.h}.
5 years ago
Joshua Haberman
dc58b657ee
New reflection API doesn't need types as parameters for map/array.
...
All tests are passing again.
5 years ago
Joshua Haberman
c486da3970
WIP.
5 years ago
Joshua Haberman
88b1026d26
Fixed leap year handling by reworking upb_mktime() -> upb_timegm().
...
The new function name also better reflects the semantics of the
function. Like timegm(), this function always converts to/from
UTC, not local time.
5 years ago
Joshua Haberman
715718d5a5
Changed endsubmsg handler to return the closure of the submessage.
...
This is a behavior change to help out PHP for the lazy wrappers
optimization.
5 years ago
Joshua Haberman
1ed64db8c2
Fixed compiler error "error: control reaches end of non-void function".
5 years ago
Alan Wu
a73fd86c13
Use memcpy to perform unaligned reads
...
Creating and reading from unaligned pointers is UB and I'm trying to
run upb on a platform (GraalVM) that is sensitive to that unfortunately.
Recent compilers are smart enough to fold the memcpy down to a simple
memory load on platforms that support it, so this should mostly be a
aesthetic change.
5 years ago