summaryrefslogtreecommitdiff
path: root/reflection
diff options
context:
space:
mode:
authorDerek Bailey <derekbailey@google.com>2021-12-02 21:29:19 -0800
committerGitHub <noreply@github.com>2021-12-02 21:29:19 -0800
commit061d61f3f899866558cbb132b5306402aa1de9fb (patch)
treee4721fd2042dec2cb07fef1e84cdb92df5501fbe /reflection
parentcffe0c4546a2ddc2370a626ac4f7ef3da9df6953 (diff)
downloadflatbuffers-061d61f3f899866558cbb132b5306402aa1de9fb.tar.gz
flatbuffers-061d61f3f899866558cbb132b5306402aa1de9fb.tar.bz2
flatbuffers-061d61f3f899866558cbb132b5306402aa1de9fb.zip
Lua Generator using IR. (#6940)
* initial hack to get new Lua generator into flatc * Starting to output enum defs for Lua * Continue to work on table generation for Lua * Finished basic getter access for Lua * Added ability to get object by index * Finished struct builder * aliased reflection to r * finish table builder generation * register requiring files * better generated header info * Tying up loose ends * Updated reflection to handle struct padding * Addd type sizes to reflection * Fixed some vector indirect issues * Lua tests passed * Misc cleanup * ci fixes 1 * ci fixes 2 * renaming * up size of type sizes * manually ran clang-format-11 -i src/idl_parser.cpp * fixed some windows casting * remove stupid auto import * more static_casting * remove std * update other build environments * remove scoped enums * replaced std::to_string with NumToString * more win fixes * more win fixes * replaced old lua with new * removed auto import * review responses * more style fixes * refactor bfbs_gen_len to use code += * added consts * fix lambda capture for windows * remove unused return type
Diffstat (limited to 'reflection')
-rw-r--r--reflection/reflection.fbs6
1 files changed, 6 insertions, 0 deletions
diff --git a/reflection/reflection.fbs b/reflection/reflection.fbs
index ce5f832d..c3665ebd 100644
--- a/reflection/reflection.fbs
+++ b/reflection/reflection.fbs
@@ -38,6 +38,10 @@ table Type {
// If base_type == Union, UnionType, or integral derived
// from an enum, index into "enums" below.
fixed_length:uint16 = 0; // Only if base_type == Array.
+ /// The size (octets) of the `base_type` field.
+ base_size:uint = 4; // 4 Is a common size due to offsets being that size.
+ /// The size (octets) of the `element` field, if present.
+ element_size:uint = 0;
}
table KeyValue {
@@ -77,6 +81,8 @@ table Field {
attributes:[KeyValue];
documentation:[string];
optional:bool = false;
+ /// Number of padding octets to always add after this field. Structs only.
+ padding:uint16 = 0;
}
table Object { // Used for both tables and structs.