Eric Salo
ff8e1b40ba
create base/ subdir and expand :status build target to :base
...
upb.h is now just a temporary stub
PiperOrigin-RevId: 488255988
2 years ago
Mike Kruskal
2b011bc759
Internal changes
...
PiperOrigin-RevId: 487599716
2 years ago
Eric Salo
75907f7af9
rename the upb_MiniTable subtypes to follow the upb style guide:
...
upb_MiniTable_Enum -> upb_MiniTableEnum
upb_MiniTable_Extension -> upb_MiniTableExtension
upb_MiniTable_Field -> upb_MiniTableField
upb_MiniTable_File -> upb_MiniTableFile
upb_MiniTable_Sub -> upb_MiniTableSub
PiperOrigin-RevId: 486712960
2 years ago
Eric Salo
d9b6f13cde
remove upb_MtDataEncoder from the public surface
...
PiperOrigin-RevId: 485928803
2 years ago
Eric Salo
e137175092
create wire/ subdir for all wire-format code
...
PiperOrigin-RevId: 485898080
2 years ago
Eric Salo
c033eff26f
split apart mini_table.c into a new subdir
...
PiperOrigin-RevId: 484352293
2 years ago
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