summaryrefslogtreecommitdiff
path: root/tools/make_c_api.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tools/make_c_api.lua')
-rw-r--r--tools/make_c_api.lua11
1 files changed, 6 insertions, 5 deletions
diff --git a/tools/make_c_api.lua b/tools/make_c_api.lua
index 62fd370..9e6d734 100644
--- a/tools/make_c_api.lua
+++ b/tools/make_c_api.lua
@@ -30,11 +30,6 @@ function strip_proto(filename)
return string.gsub(filename, '%.proto$','')
end
---[[
- [upb.TYPE_ENUM] = 5,
- [upb.TYPE_MESSAGE] = 8,
---]]
-
local function join(...)
return table.concat({...}, ".")
end
@@ -154,6 +149,12 @@ local function field_layout_rank(field)
-- 4. string fields
-- 5. submessage fields
-- 6. repeated fields
+ --
+ -- This has the following nice properties:
+ --
+ -- 1. padding alignment is (nearly) minimized.
+ -- 2. fields that might have defaults (1-4) are segregated
+ -- from fields that are always zero-initialized (5-7).
local rank
if field:containing_oneof() then
rank = 100 -- These go last (actually we skip them).
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback