summaryrefslogtreecommitdiff
path: root/upb
AgeCommit message (Collapse)Author
2017-03-14Fix bugs in file_onphpprefixBo Yang
1. It should call file_setphpprefix instead. 2. Collect prefix. 3. Return size of string.
2017-03-14Add new file option php_class_prefix.Bo Yang
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.
2017-02-06Bug fix: When encoding, negative int32 values should be padded to int64 in ↵Bo Yang
order to be wire compatible
2017-01-24Fixed amalgamated build and added test.Josh Haberman
2017-01-23A couple more fixes.Josh Haberman
2017-01-23Remove another bit of obsolete code.Josh Haberman
2017-01-23Removed all code for adding extensions to upb_symtab.Josh Haberman
This means extensions can't be used until we implement the replacement APIs for accessing extensions from a symtab.
2017-01-21Ripped out complicated and unused code for replacing defs in a symtab.Josh Haberman
Also hid the dup() functions. We can't quite delete them yet because our current approach for extensions depends on duplicating defs.
2017-01-21Make upb::SymbolTable no longer reference-counted.Josh Haberman
This transitions it from shared ownership to unique ownership.
2017-01-21Moved upb_symtab to def.h/def.c.Josh Haberman
This is in anticipation of removing refcounting and making upb_symtab (soon to be upb_defpool) the unique owner of all defs inside.
2016-12-14Addressed PR comments.Josh Haberman
2016-12-12A few C++ fixes for BufferSink.Josh Haberman
2016-12-12Basic serialization for upb_msg and Lua.Josh Haberman
Doesn't yet include strings, submessages, maps, or repeated fields.
2016-12-07Merge pull request #74 from haberman/msgJoshua Haberman
Added upb_msg and Lua bindings for using it.
2016-12-07Update for final PR comments.Josh Haberman
2016-12-07Added a few missing __gc metamethods.Josh Haberman
2016-12-06Changes for PR comments.Josh Haberman
2016-12-05Fleshed out comments and removed some dead code.Josh Haberman
2016-11-29Suppress warnings on 32-bit for this dead code for now.Josh Haberman
2016-11-29Fixed more bugs surfaced by Travis.Josh Haberman
2016-11-29Added descriptor.pb so we don't depend on protoc for tests.Josh Haberman
2016-11-29Fixed some bugs surfaced by Travis.Josh Haberman
2016-11-29Removed some temporary code and fixed a few tests.Josh Haberman
2016-11-29New upb_msg code and Lua bindings around it.Josh Haberman
There are still some things that are unfinished, but we are at parity with what Lua had before.
2016-11-13Fix C++11 incompatibilityHATATANI Shinta
2016-11-13Make upb compatible with musl libcHATATANI Shinta
2016-09-12Responded to CR comments.Josh Haberman
2016-09-09Some refcounting fixes.Josh Haberman
Clearly this stuff is too complex overall. The plan is to move away from this and more towards pools, like proto2 uses.
2016-09-09Merge pull request #69 from haberman/oneofdescJoshua Haberman
Added support for loading oneofs from descriptors.
2016-09-09Added descriptive comment about descriptor nesting.Josh Haberman
2016-09-09Addressed CR comments: simplify slightly.Josh Haberman
2016-09-08Added support for loading oneofs from descriptors.Josh Haberman
2016-09-06Merge pull request #68 from haberman/bugfixesJoshua Haberman
A small bugfix to upb_table and simplified some code.
2016-09-01Updated generated code.Josh Haberman
2016-09-01A small bugfix to upb_table and simplified some code.Josh Haberman
2016-08-29JSON: fix a couple cases of the wrong closure being passed to end handlers.Josh Haberman
2016-05-12Added UPB_ASSERT() that helps avoid unused var warnings.Joshua Haberman
* Added UPB_ASSERT() that helps avoid unused var warnings. * Addressed PR comments. * Fixed assert in the JIT.
2016-04-25Updated URL to Tarjan set union paper.Josh Haberman
2016-04-22Fixed small omission: upb_env_init2(). (#61)Joshua Haberman
2016-04-21Put oneofs in the same table as fields. (#60)Joshua Haberman
* Put oneofs in the same table as fields. Oneofs and fields are not allowed to have names that conflict, so we might as well put them all in the same table. This also allows an efficient operation that looks for both fields and oneofs in a single lookup. Added support for OneofDef to Lua to allow testing of this. * Addressed PR comments.
2016-04-19Changed schema for JSON test to be defined in a .proto file. (#54)Joshua Haberman
* Changed schema for JSON test to be defined in a .proto file. Before we had lots of code to build these schemas manually, but this was verbose and made it difficult to add to the schema easily. Now we can just write a .proto file and adding fields is easy. To avoid making the tests depend on upbc (and thus Lua) we check in the generated schema. * Made protobuf-compiler a dependency of "make genfiles." * For genfiles download recent protoc that can handle proto3. * Only use new protoc for genfiles.
2016-04-19Split upb::Arena/upb::Allocator from upb::Environment. (#58)Joshua Haberman
* Split upb::Arena/upb::Allocator from upb::Environment. This will allow arenas and allocators to be used independently of environments, which will be important for an upcoming change (a message representation). Overall this design feels cleaner that the previous Environment/SeededAllocator design. As part of this change, moved all allocations in upb to use a global allocator instead of hard-coding malloc/free. This will allow injecting OOM faults for more robust testing. One place that doesn't use the global allocator is the tracked ref code. Instead of its previous approach of CHECK_OOM() after every malloc() or table insert, it simply uses an allocator that does this automatically. I moved Allocator/Arena/Environment into upb.h. This seems principled since these are the only types in upb whose size is directly exposed to users, since they form the basis of memory allocation strategy. * Cleaned up some header includes and fixed more malloc -> upb_gmalloc(). * Changes from PR review. * Don't use UINTPTR_MAX or UINT64_MAX. * Punt on adding line/file for now. * We actually can't store (uint64_t)-1, update comment and test.
2016-04-15Also regenerate JSON parser.Josh Haberman
2016-04-15Fix for JSON error reporting. (#57)Joshua Haberman
Clearly upb needs more tests in its repository. Running the protobuf conformance tests against upb would be a great start...
2016-04-14JSON parser: always accept both name variants, flag controls which we generate.Joshua Haberman
* JSON parser: always accept both name variants, flag controls which we generate. My previous commit was based on wrong information about the proto3 JSON spec. It turns out we need to accept both field name formats all the time, and a runtime flag should control which we generate. * Documented the preserve_proto_fieldnames option. * Fix bugs in PR.
2016-04-14Added migration flag for users using old JSON format.Josh Haberman
2016-04-06Refactored upb_def_freeze() a bit per PR comments.Josh Haberman
2016-04-06Changes for PR comments.Josh Haberman
2016-04-05Added upb::FileDef, which represents the file defs are declared in.Josh Haberman
It is entirely optional: MessageDef/EnumDef can still exist on their own. But this can represent a def's file when it is desirable to do so (eg. for code generators). This approach will require that we change the way we handle extensions. But I think it will be a good change overall. Specifically, we previously handled extensions by duplicating the extended message and then adding the extension as a regular field to the duplicated message. This required also duplicating any messages that could reach the extended message. In the new world we will need a way of declaring and looking up extensions separately from the message being extended. This change also involves some notable changes to the generated code: - files are now called foo.upbdefs.h instead of foo.upb.h. This reflects the fact that we might possibly generate several different output files for a .proto file, and this one is just for defs. - we no longer generate selectors in the .h file. - the upbdefs.c no longer vends a SymbolTable. Now it vends the individual messages (and possibly a FileDef later). I think this will compose better once we can generate files where one generated files imports another. We also make the descriptor reader vend a list of FileDefs now. This is the best conceptual match for parsing a FileDescriptorSet.
2016-03-08Make OneofDef stop deriving from Def.Josh Haberman
It is clear now that oneofs are different form other defs in one important way: they are not top-level constructs that can stand on their own in a SymbolTable, for example. If you are iterating over a list of Defs in a SymbolTable, there is no chance you will run into a oneof. To reflect this reality, OneofDef no longer derives from Def, and the UPB_DEF_ONEOF is no longer an enum value that needs to be handled.
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback