Joshua Haberman
5a7644b2d0
Fixed fuzz bug in upb.
...
Extending a MessageSet with a non-message extension was causing crashes that would manifest in various ways.
PiperOrigin-RevId: 472496259
2 years ago
Protobuf Team Bot
0c6531378d
Merge GetEnum into GetInt32. Rename SetEnum to SetEnumProto2 to be clear that upb only treats Proto2 enum as enum. Proto3 enums should use SetInt32.
...
PiperOrigin-RevId: 467000685
2 years ago
Protobuf Team Bot
e09d6fcb6d
Update mini table API comment
...
PiperOrigin-RevId: 463868386
2 years ago
Joshua Haberman
125db89ff5
Added fuzz tests for mini table building and binary format parsing/serialization.
...
PiperOrigin-RevId: 458240180
2 years ago
Protobuf Team Bot
49876f4633
Update sample of using upb_MtDataEncoder
...
PiperOrigin-RevId: 457501667
2 years ago
Protobuf Team
c7620a4690
Mini table accessors Part2 (repeated fields).
...
Introduces upb_FieldValue for array accessor api.
PiperOrigin-RevId: 445491436
3 years ago
Joshua Haberman
fa8b605f78
Implemented MiniDescriptors for proto2 enums.
...
An enum MiniDescriptor simply encodes a set of valid `int32_t` values, so that the protobuf parser can test whether a given enum value is known or not.
The format implemented here is novel and needs to be documented. In short, the format is:
1. base92 values 0-31: 5-bit mask indicating presence or absence of the next five enum values.
2. base92 values 60-91: varint indicating skip over a region of enum values.
Negative enum values are encoded as their `uint32_t` equivalent.
PiperOrigin-RevId: 442892799
3 years ago
Joshua Haberman
911a25e738
Passes nearly all tests!
3 years ago
Joshua Haberman
e0aaad386f
Passes all conformance tests!
3 years ago
Joshua Haberman
76a81e2177
WIP.
3 years ago
Joshua Haberman
970c645140
Fixes for google3 (layering check and formatting).
3 years ago
Joshua Haberman
8405436044
Addressed PR comments.
3 years ago
Joshua Haberman
f5246b70fd
clang-format
3 years ago
Joshua Haberman
de2c129362
First draft of mini-table building API.
3 years ago
Joshua Haberman
7647b79403
WIP.
3 years ago
Joshua Haberman
32038c1c59
New API for building extensions appears to work.
3 years ago
Joshua Haberman
13434560e0
WIP.
3 years ago
Joshua Haberman
eac23bc389
WIP.
3 years ago
Joshua Haberman
fb3b783353
WIP.
3 years ago
Joshua Haberman
5dfbc684dd
WIP.
3 years ago