Eric Salo
36ce2fa7d1
add version/tag chars to the start of all mini descriptors
...
Verified during decoding. The specific values are just placeholders for now.
PiperOrigin-RevId: 481009599
2 years ago
Protobuf Team Bot
3faf958b3d
Initialize mini table subs, so that upb_MiniTable_Build creates stable unlinked table.
...
PiperOrigin-RevId: 479630135
2 years ago
Protobuf Team Bot
41686adf0f
Initialize mini table subs, so that upb_MiniTable_Build creates stable unlinked table.
...
PiperOrigin-RevId: 479466261
2 years ago
Protobuf Team Bot
bc2022ae86
Initialize mini table subs, so that upb_MiniTable_Build creates stable unlinked table.
...
PiperOrigin-RevId: 479445405
2 years ago
Eric Salo
c7187301d3
fix some warnings when the compiler is being strict
...
PiperOrigin-RevId: 476384407
2 years ago
Joshua Haberman
ba511fd425
Added a size overflow check for mini-table building
...
PiperOrigin-RevId: 475172738
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
a30bb1b842
Fix upb_MiniTable_Build not handling kUpb_MessageModifier_IsExtendable.
...
PiperOrigin-RevId: 449262594
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
c4ae35070b
Removed asserts we can no longer count on.
3 years ago
Joshua Haberman
e0aaad386f
Passes all conformance tests!
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
32038c1c59
New API for building extensions appears to work.
3 years ago
Joshua Haberman
60a3edb87f
Code is in place to generate from upbc, but segv results.
3 years ago
Joshua Haberman
eac23bc389
WIP.
3 years ago
Joshua Haberman
713630dee5
Passes tests!
3 years ago
Joshua Haberman
fb3b783353
WIP.
3 years ago
Joshua Haberman
5dfbc684dd
WIP.
3 years ago