mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-14 08:26:59 +00:00
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
This commit is contained in:
@@ -1,54 +1,70 @@
|
||||
-- automatically generated by the FlatBuffers compiler, do not modify
|
||||
--[[ MyGame.Example.Vec3
|
||||
|
||||
-- namespace: Example
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 2.0.0
|
||||
|
||||
Declared by : //monster_test.fbs
|
||||
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
|
||||
|
||||
--]]
|
||||
|
||||
local flatbuffers = require('flatbuffers')
|
||||
|
||||
local Vec3 = {} -- the module
|
||||
local Vec3_mt = {} -- the class metatable
|
||||
local Vec3 = {}
|
||||
local mt = {}
|
||||
|
||||
function Vec3.New()
|
||||
local o = {}
|
||||
setmetatable(o, {__index = Vec3_mt})
|
||||
return o
|
||||
end
|
||||
function Vec3_mt:Init(buf, pos)
|
||||
self.view = flatbuffers.view.New(buf, pos)
|
||||
end
|
||||
function Vec3_mt:X()
|
||||
return self.view:Get(flatbuffers.N.Float32, self.view.pos + 0)
|
||||
end
|
||||
function Vec3_mt:Y()
|
||||
return self.view:Get(flatbuffers.N.Float32, self.view.pos + 4)
|
||||
end
|
||||
function Vec3_mt:Z()
|
||||
return self.view:Get(flatbuffers.N.Float32, self.view.pos + 8)
|
||||
end
|
||||
function Vec3_mt:Test1()
|
||||
return self.view:Get(flatbuffers.N.Float64, self.view.pos + 16)
|
||||
end
|
||||
function Vec3_mt:Test2()
|
||||
return self.view:Get(flatbuffers.N.Uint8, self.view.pos + 24)
|
||||
end
|
||||
function Vec3_mt:Test3(obj)
|
||||
obj:Init(self.view.bytes, self.view.pos + 26)
|
||||
return obj
|
||||
end
|
||||
function Vec3.CreateVec3(builder, x, y, z, test1, test2, test3_a, test3_b)
|
||||
builder:Prep(8, 32)
|
||||
builder:Pad(2)
|
||||
builder:Prep(2, 4)
|
||||
builder:Pad(1)
|
||||
builder:PrependInt8(test3_b)
|
||||
builder:PrependInt16(test3_a)
|
||||
builder:Pad(1)
|
||||
builder:PrependUint8(test2)
|
||||
builder:PrependFloat64(test1)
|
||||
builder:Pad(4)
|
||||
builder:PrependFloat32(z)
|
||||
builder:PrependFloat32(y)
|
||||
builder:PrependFloat32(x)
|
||||
return builder:Offset()
|
||||
local o = {}
|
||||
setmetatable(o, {__index = mt})
|
||||
return o
|
||||
end
|
||||
|
||||
return Vec3 -- return the module
|
||||
function mt:Init(buf, pos)
|
||||
self.view = flatbuffers.view.New(buf, pos)
|
||||
end
|
||||
|
||||
function mt:X()
|
||||
return self.view:Get(flatbuffers.N.Float32, self.view.pos + 0)
|
||||
end
|
||||
|
||||
function mt:Y()
|
||||
return self.view:Get(flatbuffers.N.Float32, self.view.pos + 4)
|
||||
end
|
||||
|
||||
function mt:Z()
|
||||
return self.view:Get(flatbuffers.N.Float32, self.view.pos + 8)
|
||||
end
|
||||
|
||||
function mt:Test1()
|
||||
return self.view:Get(flatbuffers.N.Float64, self.view.pos + 16)
|
||||
end
|
||||
|
||||
function mt:Test2()
|
||||
return self.view:Get(flatbuffers.N.Uint8, self.view.pos + 24)
|
||||
end
|
||||
|
||||
function mt:Test3(obj)
|
||||
obj:Init(self.view.bytes, self.view.pos + 26)
|
||||
return obj
|
||||
end
|
||||
|
||||
function Vec3.CreateVec3(builder, x, y, z, test1, test2, test3_a, test3_b)
|
||||
builder:Prep(8, 32)
|
||||
builder:Pad(2)
|
||||
builder:Prep(2, 4)
|
||||
builder:Pad(1)
|
||||
builder:PrependInt8(test3_b)
|
||||
builder:PrependInt16(test3_a)
|
||||
builder:Pad(1)
|
||||
builder:PrependUint8(test2)
|
||||
builder:PrependFloat64(test1)
|
||||
builder:Pad(4)
|
||||
builder:PrependFloat32(z)
|
||||
builder:PrependFloat32(y)
|
||||
builder:PrependFloat32(x)
|
||||
return builder:Offset()
|
||||
end
|
||||
|
||||
return Vec3
|
||||
Reference in New Issue
Block a user