mirror of
https://github.com/google/flatbuffers.git
synced 2026-07-02 14:08:18 +00:00
[Nim] Bfbs Nim Generator (#7534)
* Bfbs Nim Generator * Remove commented out tests * add missing line to idl.h * Commit python reflection changes * Commit python reflection changes and move tests * Remove default string addition * Move tests to python file * Fix element size check when element is table * remove whitespace changes * add element_type docs and commit further to namer and remove kkeep * Bfbs Nim Generator * Remove commented out tests * add missing line to idl.h * Commit python reflection changes * Commit python reflection changes and move tests * Remove default string addition * Move tests to python file * Fix element size check when element is table * remove whitespace changes * add element_type docs and commit further to namer and remove kkeep * remove unused variables * added tests to ci * added tests to ci * fixes * Added reflection type Field, Variable to namer * Moved reflection namer impl to bfbsnamer * Remove whitespace at end of line * Added nim to generated code * Revert whitespace removal Co-authored-by: Derek Bailey <derekbailey@google.com>
This commit is contained in:
13
tests/Abc.nim
Normal file
13
tests/Abc.nim
Normal file
@@ -0,0 +1,13 @@
|
||||
#[ Abc
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
]#
|
||||
|
||||
type Abc*{.pure.} = enum
|
||||
A = 0.int32,
|
||||
B = 1.int32,
|
||||
C = 2.int32,
|
||||
103
tests/MoreDefaults.nim
Normal file
103
tests/MoreDefaults.nim
Normal file
@@ -0,0 +1,103 @@
|
||||
#[ MoreDefaults
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
]#
|
||||
|
||||
import Abc as Abc
|
||||
import flatbuffers
|
||||
|
||||
type MoreDefaults* = object of FlatObj
|
||||
func intsLength*(self: MoreDefaults): int =
|
||||
let o = self.tab.Offset(4)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func ints*(self: MoreDefaults, j: int): int32 =
|
||||
let o = self.tab.Offset(4)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 4.uoffset
|
||||
return Get[int32](self.tab, x)
|
||||
func ints*(self: MoreDefaults): seq[int32] =
|
||||
let len = self.intsLength
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.ints(i))
|
||||
func floatsLength*(self: MoreDefaults): int =
|
||||
let o = self.tab.Offset(6)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func floats*(self: MoreDefaults, j: int): float32 =
|
||||
let o = self.tab.Offset(6)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 4.uoffset
|
||||
return Get[float32](self.tab, x)
|
||||
func floats*(self: MoreDefaults): seq[float32] =
|
||||
let len = self.floatsLength
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.floats(i))
|
||||
func emptyString*(self: MoreDefaults): string =
|
||||
let o = self.tab.Offset(8)
|
||||
if o != 0:
|
||||
return self.tab.String(self.tab.Pos + o)
|
||||
return ""
|
||||
func someString*(self: MoreDefaults): string =
|
||||
let o = self.tab.Offset(10)
|
||||
if o != 0:
|
||||
return self.tab.String(self.tab.Pos + o)
|
||||
return ""
|
||||
func abcsLength*(self: MoreDefaults): int =
|
||||
let o = self.tab.Offset(12)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func abcs*(self: MoreDefaults, j: int): Abc.Abc =
|
||||
let o = self.tab.Offset(12)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 4.uoffset
|
||||
return Abc.Abc(Get[int32](self.tab, x))
|
||||
func abcs*(self: MoreDefaults): seq[Abc.Abc] =
|
||||
let len = self.abcsLength
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.abcs(i))
|
||||
func boolsLength*(self: MoreDefaults): int =
|
||||
let o = self.tab.Offset(14)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func bools*(self: MoreDefaults, j: int): bool =
|
||||
let o = self.tab.Offset(14)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 1.uoffset
|
||||
return Get[bool](self.tab, x)
|
||||
func bools*(self: MoreDefaults): seq[bool] =
|
||||
let len = self.boolsLength
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.bools(i))
|
||||
proc MoreDefaultsStart*(builder: var Builder) =
|
||||
builder.StartObject(6)
|
||||
proc MoreDefaultsAddints*(builder: var Builder, ints: uoffset) =
|
||||
builder.PrependSlot(0, ints, default(uoffset))
|
||||
proc MoreDefaultsStartintsVector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(4, numElems, 4)
|
||||
proc MoreDefaultsAddfloats*(builder: var Builder, floats: uoffset) =
|
||||
builder.PrependSlot(1, floats, default(uoffset))
|
||||
proc MoreDefaultsStartfloatsVector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(4, numElems, 4)
|
||||
proc MoreDefaultsAddemptyString*(builder: var Builder, emptyString: uoffset) =
|
||||
builder.PrependSlot(2, emptyString, default(uoffset))
|
||||
proc MoreDefaultsAddsomeString*(builder: var Builder, someString: uoffset) =
|
||||
builder.PrependSlot(3, someString, default(uoffset))
|
||||
proc MoreDefaultsAddabcs*(builder: var Builder, abcs: uoffset) =
|
||||
builder.PrependSlot(4, abcs, default(uoffset))
|
||||
proc MoreDefaultsStartabcsVector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(4, numElems, 4)
|
||||
proc MoreDefaultsAddbools*(builder: var Builder, bools: uoffset) =
|
||||
builder.PrependSlot(5, bools, default(uoffset))
|
||||
proc MoreDefaultsStartboolsVector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(1, numElems, 1)
|
||||
proc MoreDefaultsEnd*(builder: var Builder): uoffset =
|
||||
return builder.EndObject()
|
||||
26
tests/MyGame/Example/Ability.nim
Normal file
26
tests/MyGame/Example/Ability.nim
Normal file
@@ -0,0 +1,26 @@
|
||||
#[ MyGame.Example.Ability
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : MyGame.Example.Monster ()
|
||||
]#
|
||||
|
||||
import flatbuffers
|
||||
|
||||
type Ability* = object of FlatObj
|
||||
func id*(self: Ability): uint32 =
|
||||
return Get[uint32](self.tab, self.tab.Pos + 0)
|
||||
func `id=`*(self: var Ability, n: uint32): bool =
|
||||
return self.tab.Mutate(self.tab.Pos + 0, n)
|
||||
func distance*(self: Ability): uint32 =
|
||||
return Get[uint32](self.tab, self.tab.Pos + 4)
|
||||
func `distance=`*(self: var Ability, n: uint32): bool =
|
||||
return self.tab.Mutate(self.tab.Pos + 4, n)
|
||||
proc AbilityCreate*(self: var Builder, id: uint32, distance: uint32): uoffset =
|
||||
self.Prep(4, 8)
|
||||
self.Prepend(distance)
|
||||
self.Prepend(id)
|
||||
return self.Offset()
|
||||
15
tests/MyGame/Example/Any.nim
Normal file
15
tests/MyGame/Example/Any.nim
Normal file
@@ -0,0 +1,15 @@
|
||||
#[ MyGame.Example.Any
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : MyGame.Example.Monster ()
|
||||
]#
|
||||
|
||||
type Any*{.pure.} = enum
|
||||
None = 0.uint8,
|
||||
Monster = 1.uint8,
|
||||
TestSimpleTableWithEnum = 2.uint8,
|
||||
MyGameExample2Monster = 3.uint8,
|
||||
15
tests/MyGame/Example/AnyAmbiguousAliases.nim
Normal file
15
tests/MyGame/Example/AnyAmbiguousAliases.nim
Normal file
@@ -0,0 +1,15 @@
|
||||
#[ MyGame.Example.AnyAmbiguousAliases
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : MyGame.Example.Monster ()
|
||||
]#
|
||||
|
||||
type AnyAmbiguousAliases*{.pure.} = enum
|
||||
None = 0.uint8,
|
||||
M1 = 1.uint8,
|
||||
M2 = 2.uint8,
|
||||
M3 = 3.uint8,
|
||||
15
tests/MyGame/Example/AnyUniqueAliases.nim
Normal file
15
tests/MyGame/Example/AnyUniqueAliases.nim
Normal file
@@ -0,0 +1,15 @@
|
||||
#[ MyGame.Example.AnyUniqueAliases
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : MyGame.Example.Monster ()
|
||||
]#
|
||||
|
||||
type AnyUniqueAliases*{.pure.} = enum
|
||||
None = 0.uint8,
|
||||
M = 1.uint8,
|
||||
Ts = 2.uint8,
|
||||
M2 = 3.uint8,
|
||||
18
tests/MyGame/Example/Color.nim
Normal file
18
tests/MyGame/Example/Color.nim
Normal file
@@ -0,0 +1,18 @@
|
||||
#[ MyGame.Example.Color
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : MyGame.Example.Monster ()
|
||||
]#
|
||||
|
||||
# Composite components of Monster color.
|
||||
type Color*{.pure.} = enum
|
||||
Red = 1.uint8,
|
||||
# \brief color Green
|
||||
# Green is bit_flag with value (1u << 1)
|
||||
Green = 2.uint8,
|
||||
# \brief color Blue (1u << 3)
|
||||
Blue = 8.uint8,
|
||||
14
tests/MyGame/Example/LongEnum.nim
Normal file
14
tests/MyGame/Example/LongEnum.nim
Normal file
@@ -0,0 +1,14 @@
|
||||
#[ MyGame.Example.LongEnum
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : MyGame.Example.Monster ()
|
||||
]#
|
||||
|
||||
type LongEnum*{.pure.} = enum
|
||||
LongOne = 2.uint64,
|
||||
LongTwo = 4.uint64,
|
||||
LongBig = 1099511627776.uint64,
|
||||
@@ -359,7 +359,7 @@ function mt:Testarrayofsortedstruct(j)
|
||||
local o = self.view:Offset(62)
|
||||
if o ~= 0 then
|
||||
local x = self.view:Vector(o)
|
||||
x = x + ((j-1) * 4)
|
||||
x = x + ((j-1) * 8)
|
||||
local obj = __MyGame_Example_Ability.New()
|
||||
obj:Init(self.view.bytes, x)
|
||||
return obj
|
||||
@@ -852,7 +852,7 @@ function Monster.AddTestarrayofsortedstruct(builder, testarrayofsortedstruct)
|
||||
end
|
||||
|
||||
function Monster.StartTestarrayofsortedstructVector(builder, numElems)
|
||||
return builder:StartVector(4, numElems, 4)
|
||||
return builder:StartVector(8, numElems, 4)
|
||||
end
|
||||
|
||||
function Monster.AddFlex(builder, flex)
|
||||
|
||||
662
tests/MyGame/Example/Monster.nim
Normal file
662
tests/MyGame/Example/Monster.nim
Normal file
@@ -0,0 +1,662 @@
|
||||
#[ MyGame.Example.Monster
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : MyGame.Example.Monster ()
|
||||
]#
|
||||
|
||||
import ../InParentNamespace as MyGame_InParentNamespace
|
||||
import Ability as MyGame_Example_Ability
|
||||
import Any as MyGame_Example_Any
|
||||
import AnyAmbiguousAliases as MyGame_Example_AnyAmbiguousAliases
|
||||
import AnyUniqueAliases as MyGame_Example_AnyUniqueAliases
|
||||
import Color as MyGame_Example_Color
|
||||
import LongEnum as MyGame_Example_LongEnum
|
||||
import Race as MyGame_Example_Race
|
||||
import Referrable as MyGame_Example_Referrable
|
||||
import Stat as MyGame_Example_Stat
|
||||
import Test as MyGame_Example_Test
|
||||
import Vec3 as MyGame_Example_Vec3
|
||||
import flatbuffers
|
||||
import std/options
|
||||
|
||||
# an example documentation comment: "monster object"
|
||||
type Monster* = object of FlatObj
|
||||
func pos*(self: Monster): Option[MyGame_Example_Vec3.Vec3] =
|
||||
let o = self.tab.Offset(4)
|
||||
if o != 0:
|
||||
return some(MyGame_Example_Vec3.Vec3(tab: Vtable(Bytes: self.tab.Bytes, Pos: self.tab.Pos + o)))
|
||||
func mana*(self: Monster): int16 =
|
||||
let o = self.tab.Offset(6)
|
||||
if o != 0:
|
||||
return Get[int16](self.tab, self.tab.Pos + o)
|
||||
return 150
|
||||
func `mana=`*(self: var Monster, n: int16): bool =
|
||||
return self.tab.MutateSlot(6, n)
|
||||
func hp*(self: Monster): int16 =
|
||||
let o = self.tab.Offset(8)
|
||||
if o != 0:
|
||||
return Get[int16](self.tab, self.tab.Pos + o)
|
||||
return 100
|
||||
func `hp=`*(self: var Monster, n: int16): bool =
|
||||
return self.tab.MutateSlot(8, n)
|
||||
func name*(self: Monster): string =
|
||||
let o = self.tab.Offset(10)
|
||||
if o != 0:
|
||||
return self.tab.String(self.tab.Pos + o)
|
||||
return ""
|
||||
func inventoryLength*(self: Monster): int =
|
||||
let o = self.tab.Offset(14)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func inventory*(self: Monster, j: int): uint8 =
|
||||
let o = self.tab.Offset(14)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 1.uoffset
|
||||
return Get[uint8](self.tab, x)
|
||||
func inventory*(self: Monster): seq[uint8] =
|
||||
let len = self.inventoryLength
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.inventory(i))
|
||||
func color*(self: Monster): MyGame_Example_Color.Color =
|
||||
let o = self.tab.Offset(16)
|
||||
if o != 0:
|
||||
return MyGame_Example_Color.Color(Get[uint8](self.tab, self.tab.Pos + o))
|
||||
return type(result)(8)
|
||||
func `color=`*(self: var Monster, n: MyGame_Example_Color.Color): bool =
|
||||
return self.tab.MutateSlot(16, n)
|
||||
func testType*(self: Monster): MyGame_Example_Any.Any =
|
||||
let o = self.tab.Offset(18)
|
||||
if o != 0:
|
||||
return MyGame_Example_Any.Any(Get[uint8](self.tab, self.tab.Pos + o))
|
||||
return type(result)(0)
|
||||
func `testType=`*(self: var Monster, n: MyGame_Example_Any.Any): bool =
|
||||
return self.tab.MutateSlot(18, n)
|
||||
func test*(self: Monster): Option[Vtable] =
|
||||
let o = self.tab.Offset(20)
|
||||
if o != 0:
|
||||
return some(self.tab.Union(o))
|
||||
func test4Length*(self: Monster): int =
|
||||
let o = self.tab.Offset(22)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func test4*(self: Monster, j: int): MyGame_Example_Test.Test =
|
||||
let o = self.tab.Offset(22)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 4.uoffset
|
||||
return MyGame_Example_Test.Test(tab: Vtable(Bytes: self.tab.Bytes, Pos: x))
|
||||
func test4*(self: Monster): seq[MyGame_Example_Test.Test] =
|
||||
let len = self.test4Length
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.test4(i))
|
||||
func testarrayofstringLength*(self: Monster): int =
|
||||
let o = self.tab.Offset(24)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func testarrayofstring*(self: Monster, j: int): string =
|
||||
let o = self.tab.Offset(24)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 4.uoffset
|
||||
return self.tab.String(x)
|
||||
func testarrayofstring*(self: Monster): seq[string] =
|
||||
let len = self.testarrayofstringLength
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.testarrayofstring(i))
|
||||
func testarrayoftablesLength*(self: Monster): int =
|
||||
let o = self.tab.Offset(26)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func testarrayoftables*(self: Monster, j: int): Monster =
|
||||
let o = self.tab.Offset(26)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 4.uoffset
|
||||
return Monster(tab: Vtable(Bytes: self.tab.Bytes, Pos: x))
|
||||
func testarrayoftables*(self: Monster): seq[Monster] =
|
||||
let len = self.testarrayoftablesLength
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.testarrayoftables(i))
|
||||
func enemy*(self: Monster): Option[Monster] =
|
||||
let o = self.tab.Offset(28)
|
||||
if o != 0:
|
||||
return some(Monster(tab: Vtable(Bytes: self.tab.Bytes, Pos: self.tab.Pos + o)))
|
||||
func testnestedflatbufferLength*(self: Monster): int =
|
||||
let o = self.tab.Offset(30)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func testnestedflatbuffer*(self: Monster, j: int): uint8 =
|
||||
let o = self.tab.Offset(30)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 1.uoffset
|
||||
return Get[uint8](self.tab, x)
|
||||
func testnestedflatbuffer*(self: Monster): seq[uint8] =
|
||||
let len = self.testnestedflatbufferLength
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.testnestedflatbuffer(i))
|
||||
func testempty*(self: Monster): Option[MyGame_Example_Stat.Stat] =
|
||||
let o = self.tab.Offset(32)
|
||||
if o != 0:
|
||||
return some(MyGame_Example_Stat.Stat(tab: Vtable(Bytes: self.tab.Bytes, Pos: self.tab.Pos + o)))
|
||||
func testbool*(self: Monster): bool =
|
||||
let o = self.tab.Offset(34)
|
||||
if o != 0:
|
||||
return Get[bool](self.tab, self.tab.Pos + o)
|
||||
return false
|
||||
func `testbool=`*(self: var Monster, n: bool): bool =
|
||||
return self.tab.MutateSlot(34, n)
|
||||
func testhashs32Fnv1*(self: Monster): int32 =
|
||||
let o = self.tab.Offset(36)
|
||||
if o != 0:
|
||||
return Get[int32](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `testhashs32Fnv1=`*(self: var Monster, n: int32): bool =
|
||||
return self.tab.MutateSlot(36, n)
|
||||
func testhashu32Fnv1*(self: Monster): uint32 =
|
||||
let o = self.tab.Offset(38)
|
||||
if o != 0:
|
||||
return Get[uint32](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `testhashu32Fnv1=`*(self: var Monster, n: uint32): bool =
|
||||
return self.tab.MutateSlot(38, n)
|
||||
func testhashs64Fnv1*(self: Monster): int64 =
|
||||
let o = self.tab.Offset(40)
|
||||
if o != 0:
|
||||
return Get[int64](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `testhashs64Fnv1=`*(self: var Monster, n: int64): bool =
|
||||
return self.tab.MutateSlot(40, n)
|
||||
func testhashu64Fnv1*(self: Monster): uint64 =
|
||||
let o = self.tab.Offset(42)
|
||||
if o != 0:
|
||||
return Get[uint64](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `testhashu64Fnv1=`*(self: var Monster, n: uint64): bool =
|
||||
return self.tab.MutateSlot(42, n)
|
||||
func testhashs32Fnv1a*(self: Monster): int32 =
|
||||
let o = self.tab.Offset(44)
|
||||
if o != 0:
|
||||
return Get[int32](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `testhashs32Fnv1a=`*(self: var Monster, n: int32): bool =
|
||||
return self.tab.MutateSlot(44, n)
|
||||
func testhashu32Fnv1a*(self: Monster): uint32 =
|
||||
let o = self.tab.Offset(46)
|
||||
if o != 0:
|
||||
return Get[uint32](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `testhashu32Fnv1a=`*(self: var Monster, n: uint32): bool =
|
||||
return self.tab.MutateSlot(46, n)
|
||||
func testhashs64Fnv1a*(self: Monster): int64 =
|
||||
let o = self.tab.Offset(48)
|
||||
if o != 0:
|
||||
return Get[int64](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `testhashs64Fnv1a=`*(self: var Monster, n: int64): bool =
|
||||
return self.tab.MutateSlot(48, n)
|
||||
func testhashu64Fnv1a*(self: Monster): uint64 =
|
||||
let o = self.tab.Offset(50)
|
||||
if o != 0:
|
||||
return Get[uint64](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `testhashu64Fnv1a=`*(self: var Monster, n: uint64): bool =
|
||||
return self.tab.MutateSlot(50, n)
|
||||
func testarrayofboolsLength*(self: Monster): int =
|
||||
let o = self.tab.Offset(52)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func testarrayofbools*(self: Monster, j: int): bool =
|
||||
let o = self.tab.Offset(52)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 1.uoffset
|
||||
return Get[bool](self.tab, x)
|
||||
func testarrayofbools*(self: Monster): seq[bool] =
|
||||
let len = self.testarrayofboolsLength
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.testarrayofbools(i))
|
||||
func testf*(self: Monster): float32 =
|
||||
let o = self.tab.Offset(54)
|
||||
if o != 0:
|
||||
return Get[float32](self.tab, self.tab.Pos + o)
|
||||
return 3.14159
|
||||
func `testf=`*(self: var Monster, n: float32): bool =
|
||||
return self.tab.MutateSlot(54, n)
|
||||
func testf2*(self: Monster): float32 =
|
||||
let o = self.tab.Offset(56)
|
||||
if o != 0:
|
||||
return Get[float32](self.tab, self.tab.Pos + o)
|
||||
return 3.0
|
||||
func `testf2=`*(self: var Monster, n: float32): bool =
|
||||
return self.tab.MutateSlot(56, n)
|
||||
func testf3*(self: Monster): float32 =
|
||||
let o = self.tab.Offset(58)
|
||||
if o != 0:
|
||||
return Get[float32](self.tab, self.tab.Pos + o)
|
||||
return 0.0
|
||||
func `testf3=`*(self: var Monster, n: float32): bool =
|
||||
return self.tab.MutateSlot(58, n)
|
||||
func testarrayofstring2Length*(self: Monster): int =
|
||||
let o = self.tab.Offset(60)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func testarrayofstring2*(self: Monster, j: int): string =
|
||||
let o = self.tab.Offset(60)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 4.uoffset
|
||||
return self.tab.String(x)
|
||||
func testarrayofstring2*(self: Monster): seq[string] =
|
||||
let len = self.testarrayofstring2Length
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.testarrayofstring2(i))
|
||||
func testarrayofsortedstructLength*(self: Monster): int =
|
||||
let o = self.tab.Offset(62)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func testarrayofsortedstruct*(self: Monster, j: int): MyGame_Example_Ability.Ability =
|
||||
let o = self.tab.Offset(62)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 8.uoffset
|
||||
return MyGame_Example_Ability.Ability(tab: Vtable(Bytes: self.tab.Bytes, Pos: x))
|
||||
func testarrayofsortedstruct*(self: Monster): seq[MyGame_Example_Ability.Ability] =
|
||||
let len = self.testarrayofsortedstructLength
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.testarrayofsortedstruct(i))
|
||||
func flexLength*(self: Monster): int =
|
||||
let o = self.tab.Offset(64)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func flex*(self: Monster, j: int): uint8 =
|
||||
let o = self.tab.Offset(64)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 1.uoffset
|
||||
return Get[uint8](self.tab, x)
|
||||
func flex*(self: Monster): seq[uint8] =
|
||||
let len = self.flexLength
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.flex(i))
|
||||
func test5Length*(self: Monster): int =
|
||||
let o = self.tab.Offset(66)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func test5*(self: Monster, j: int): MyGame_Example_Test.Test =
|
||||
let o = self.tab.Offset(66)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 4.uoffset
|
||||
return MyGame_Example_Test.Test(tab: Vtable(Bytes: self.tab.Bytes, Pos: x))
|
||||
func test5*(self: Monster): seq[MyGame_Example_Test.Test] =
|
||||
let len = self.test5Length
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.test5(i))
|
||||
func vectorOfLongsLength*(self: Monster): int =
|
||||
let o = self.tab.Offset(68)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func vectorOfLongs*(self: Monster, j: int): int64 =
|
||||
let o = self.tab.Offset(68)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 8.uoffset
|
||||
return Get[int64](self.tab, x)
|
||||
func vectorOfLongs*(self: Monster): seq[int64] =
|
||||
let len = self.vectorOfLongsLength
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.vectorOfLongs(i))
|
||||
func vectorOfDoublesLength*(self: Monster): int =
|
||||
let o = self.tab.Offset(70)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func vectorOfDoubles*(self: Monster, j: int): float64 =
|
||||
let o = self.tab.Offset(70)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 8.uoffset
|
||||
return Get[float64](self.tab, x)
|
||||
func vectorOfDoubles*(self: Monster): seq[float64] =
|
||||
let len = self.vectorOfDoublesLength
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.vectorOfDoubles(i))
|
||||
func parentNamespaceTest*(self: Monster): Option[MyGame_InParentNamespace.InParentNamespace] =
|
||||
let o = self.tab.Offset(72)
|
||||
if o != 0:
|
||||
return some(MyGame_InParentNamespace.InParentNamespace(tab: Vtable(Bytes: self.tab.Bytes, Pos: self.tab.Pos + o)))
|
||||
func vectorOfReferrablesLength*(self: Monster): int =
|
||||
let o = self.tab.Offset(74)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func vectorOfReferrables*(self: Monster, j: int): MyGame_Example_Referrable.Referrable =
|
||||
let o = self.tab.Offset(74)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 4.uoffset
|
||||
return MyGame_Example_Referrable.Referrable(tab: Vtable(Bytes: self.tab.Bytes, Pos: x))
|
||||
func vectorOfReferrables*(self: Monster): seq[MyGame_Example_Referrable.Referrable] =
|
||||
let len = self.vectorOfReferrablesLength
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.vectorOfReferrables(i))
|
||||
func singleWeakReference*(self: Monster): uint64 =
|
||||
let o = self.tab.Offset(76)
|
||||
if o != 0:
|
||||
return Get[uint64](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `singleWeakReference=`*(self: var Monster, n: uint64): bool =
|
||||
return self.tab.MutateSlot(76, n)
|
||||
func vectorOfWeakReferencesLength*(self: Monster): int =
|
||||
let o = self.tab.Offset(78)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func vectorOfWeakReferences*(self: Monster, j: int): uint64 =
|
||||
let o = self.tab.Offset(78)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 8.uoffset
|
||||
return Get[uint64](self.tab, x)
|
||||
func vectorOfWeakReferences*(self: Monster): seq[uint64] =
|
||||
let len = self.vectorOfWeakReferencesLength
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.vectorOfWeakReferences(i))
|
||||
func vectorOfStrongReferrablesLength*(self: Monster): int =
|
||||
let o = self.tab.Offset(80)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func vectorOfStrongReferrables*(self: Monster, j: int): MyGame_Example_Referrable.Referrable =
|
||||
let o = self.tab.Offset(80)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 4.uoffset
|
||||
return MyGame_Example_Referrable.Referrable(tab: Vtable(Bytes: self.tab.Bytes, Pos: x))
|
||||
func vectorOfStrongReferrables*(self: Monster): seq[MyGame_Example_Referrable.Referrable] =
|
||||
let len = self.vectorOfStrongReferrablesLength
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.vectorOfStrongReferrables(i))
|
||||
func coOwningReference*(self: Monster): uint64 =
|
||||
let o = self.tab.Offset(82)
|
||||
if o != 0:
|
||||
return Get[uint64](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `coOwningReference=`*(self: var Monster, n: uint64): bool =
|
||||
return self.tab.MutateSlot(82, n)
|
||||
func vectorOfCoOwningReferencesLength*(self: Monster): int =
|
||||
let o = self.tab.Offset(84)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func vectorOfCoOwningReferences*(self: Monster, j: int): uint64 =
|
||||
let o = self.tab.Offset(84)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 8.uoffset
|
||||
return Get[uint64](self.tab, x)
|
||||
func vectorOfCoOwningReferences*(self: Monster): seq[uint64] =
|
||||
let len = self.vectorOfCoOwningReferencesLength
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.vectorOfCoOwningReferences(i))
|
||||
func nonOwningReference*(self: Monster): uint64 =
|
||||
let o = self.tab.Offset(86)
|
||||
if o != 0:
|
||||
return Get[uint64](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `nonOwningReference=`*(self: var Monster, n: uint64): bool =
|
||||
return self.tab.MutateSlot(86, n)
|
||||
func vectorOfNonOwningReferencesLength*(self: Monster): int =
|
||||
let o = self.tab.Offset(88)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func vectorOfNonOwningReferences*(self: Monster, j: int): uint64 =
|
||||
let o = self.tab.Offset(88)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 8.uoffset
|
||||
return Get[uint64](self.tab, x)
|
||||
func vectorOfNonOwningReferences*(self: Monster): seq[uint64] =
|
||||
let len = self.vectorOfNonOwningReferencesLength
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.vectorOfNonOwningReferences(i))
|
||||
func anyUniqueType*(self: Monster): MyGame_Example_AnyUniqueAliases.AnyUniqueAliases =
|
||||
let o = self.tab.Offset(90)
|
||||
if o != 0:
|
||||
return MyGame_Example_AnyUniqueAliases.AnyUniqueAliases(Get[uint8](self.tab, self.tab.Pos + o))
|
||||
return type(result)(0)
|
||||
func `anyUniqueType=`*(self: var Monster, n: MyGame_Example_AnyUniqueAliases.AnyUniqueAliases): bool =
|
||||
return self.tab.MutateSlot(90, n)
|
||||
func anyUnique*(self: Monster): Option[Vtable] =
|
||||
let o = self.tab.Offset(92)
|
||||
if o != 0:
|
||||
return some(self.tab.Union(o))
|
||||
func anyAmbiguousType*(self: Monster): MyGame_Example_AnyAmbiguousAliases.AnyAmbiguousAliases =
|
||||
let o = self.tab.Offset(94)
|
||||
if o != 0:
|
||||
return MyGame_Example_AnyAmbiguousAliases.AnyAmbiguousAliases(Get[uint8](self.tab, self.tab.Pos + o))
|
||||
return type(result)(0)
|
||||
func `anyAmbiguousType=`*(self: var Monster, n: MyGame_Example_AnyAmbiguousAliases.AnyAmbiguousAliases): bool =
|
||||
return self.tab.MutateSlot(94, n)
|
||||
func anyAmbiguous*(self: Monster): Option[Vtable] =
|
||||
let o = self.tab.Offset(96)
|
||||
if o != 0:
|
||||
return some(self.tab.Union(o))
|
||||
func vectorOfEnumsLength*(self: Monster): int =
|
||||
let o = self.tab.Offset(98)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func vectorOfEnums*(self: Monster, j: int): MyGame_Example_Color.Color =
|
||||
let o = self.tab.Offset(98)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 1.uoffset
|
||||
return MyGame_Example_Color.Color(Get[uint8](self.tab, x))
|
||||
func vectorOfEnums*(self: Monster): seq[MyGame_Example_Color.Color] =
|
||||
let len = self.vectorOfEnumsLength
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.vectorOfEnums(i))
|
||||
func signedEnum*(self: Monster): MyGame_Example_Race.Race =
|
||||
let o = self.tab.Offset(100)
|
||||
if o != 0:
|
||||
return MyGame_Example_Race.Race(Get[int8](self.tab, self.tab.Pos + o))
|
||||
return type(result)(-1)
|
||||
func `signedEnum=`*(self: var Monster, n: MyGame_Example_Race.Race): bool =
|
||||
return self.tab.MutateSlot(100, n)
|
||||
func testrequirednestedflatbufferLength*(self: Monster): int =
|
||||
let o = self.tab.Offset(102)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func testrequirednestedflatbuffer*(self: Monster, j: int): uint8 =
|
||||
let o = self.tab.Offset(102)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 1.uoffset
|
||||
return Get[uint8](self.tab, x)
|
||||
func testrequirednestedflatbuffer*(self: Monster): seq[uint8] =
|
||||
let len = self.testrequirednestedflatbufferLength
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.testrequirednestedflatbuffer(i))
|
||||
func scalarKeySortedTablesLength*(self: Monster): int =
|
||||
let o = self.tab.Offset(104)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func scalarKeySortedTables*(self: Monster, j: int): MyGame_Example_Stat.Stat =
|
||||
let o = self.tab.Offset(104)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 4.uoffset
|
||||
return MyGame_Example_Stat.Stat(tab: Vtable(Bytes: self.tab.Bytes, Pos: x))
|
||||
func scalarKeySortedTables*(self: Monster): seq[MyGame_Example_Stat.Stat] =
|
||||
let len = self.scalarKeySortedTablesLength
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.scalarKeySortedTables(i))
|
||||
func nativeInline*(self: Monster): Option[MyGame_Example_Test.Test] =
|
||||
let o = self.tab.Offset(106)
|
||||
if o != 0:
|
||||
return some(MyGame_Example_Test.Test(tab: Vtable(Bytes: self.tab.Bytes, Pos: self.tab.Pos + o)))
|
||||
func longEnumNonEnumDefault*(self: Monster): MyGame_Example_LongEnum.LongEnum =
|
||||
let o = self.tab.Offset(108)
|
||||
if o != 0:
|
||||
return MyGame_Example_LongEnum.LongEnum(Get[uint64](self.tab, self.tab.Pos + o))
|
||||
return type(result)(0)
|
||||
func `longEnumNonEnumDefault=`*(self: var Monster, n: MyGame_Example_LongEnum.LongEnum): bool =
|
||||
return self.tab.MutateSlot(108, n)
|
||||
func longEnumNormalDefault*(self: Monster): MyGame_Example_LongEnum.LongEnum =
|
||||
let o = self.tab.Offset(110)
|
||||
if o != 0:
|
||||
return MyGame_Example_LongEnum.LongEnum(Get[uint64](self.tab, self.tab.Pos + o))
|
||||
return type(result)(2)
|
||||
func `longEnumNormalDefault=`*(self: var Monster, n: MyGame_Example_LongEnum.LongEnum): bool =
|
||||
return self.tab.MutateSlot(110, n)
|
||||
proc MonsterStart*(builder: var Builder) =
|
||||
builder.StartObject(54)
|
||||
proc MonsterAddpos*(builder: var Builder, pos: uoffset) =
|
||||
builder.PrependStructSlot(0, pos, default(uoffset))
|
||||
proc MonsterAddmana*(builder: var Builder, mana: int16) =
|
||||
builder.PrependSlot(1, mana, default(int16))
|
||||
proc MonsterAddhp*(builder: var Builder, hp: int16) =
|
||||
builder.PrependSlot(2, hp, default(int16))
|
||||
proc MonsterAddname*(builder: var Builder, name: uoffset) =
|
||||
builder.PrependSlot(3, name, default(uoffset))
|
||||
proc MonsterAddinventory*(builder: var Builder, inventory: uoffset) =
|
||||
builder.PrependSlot(5, inventory, default(uoffset))
|
||||
proc MonsterStartinventoryVector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(1, numElems, 1)
|
||||
proc MonsterAddcolor*(builder: var Builder, color: uint8) =
|
||||
builder.PrependSlot(6, color, default(uint8))
|
||||
proc MonsterAddtestType*(builder: var Builder, testType: uint8) =
|
||||
builder.PrependSlot(7, testType, default(uint8))
|
||||
proc MonsterAddtest*(builder: var Builder, test: uoffset) =
|
||||
builder.PrependSlot(8, test, default(uoffset))
|
||||
proc MonsterAddtest4*(builder: var Builder, test4: uoffset) =
|
||||
builder.PrependSlot(9, test4, default(uoffset))
|
||||
proc MonsterStarttest4Vector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(4, numElems, 2)
|
||||
proc MonsterAddtestarrayofstring*(builder: var Builder, testarrayofstring: uoffset) =
|
||||
builder.PrependSlot(10, testarrayofstring, default(uoffset))
|
||||
proc MonsterStarttestarrayofstringVector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(4, numElems, 4)
|
||||
proc MonsterAddtestarrayoftables*(builder: var Builder, testarrayoftables: uoffset) =
|
||||
builder.PrependSlot(11, testarrayoftables, default(uoffset))
|
||||
proc MonsterStarttestarrayoftablesVector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(4, numElems, 4)
|
||||
proc MonsterAddenemy*(builder: var Builder, enemy: uoffset) =
|
||||
builder.PrependStructSlot(12, enemy, default(uoffset))
|
||||
proc MonsterAddtestnestedflatbuffer*(builder: var Builder, testnestedflatbuffer: uoffset) =
|
||||
builder.PrependSlot(13, testnestedflatbuffer, default(uoffset))
|
||||
proc MonsterStarttestnestedflatbufferVector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(1, numElems, 1)
|
||||
proc MonsterAddtestempty*(builder: var Builder, testempty: uoffset) =
|
||||
builder.PrependStructSlot(14, testempty, default(uoffset))
|
||||
proc MonsterAddtestbool*(builder: var Builder, testbool: bool) =
|
||||
builder.PrependSlot(15, testbool, default(bool))
|
||||
proc MonsterAddtesthashs32Fnv1*(builder: var Builder, testhashs32Fnv1: int32) =
|
||||
builder.PrependSlot(16, testhashs32Fnv1, default(int32))
|
||||
proc MonsterAddtesthashu32Fnv1*(builder: var Builder, testhashu32Fnv1: uint32) =
|
||||
builder.PrependSlot(17, testhashu32Fnv1, default(uint32))
|
||||
proc MonsterAddtesthashs64Fnv1*(builder: var Builder, testhashs64Fnv1: int64) =
|
||||
builder.PrependSlot(18, testhashs64Fnv1, default(int64))
|
||||
proc MonsterAddtesthashu64Fnv1*(builder: var Builder, testhashu64Fnv1: uint64) =
|
||||
builder.PrependSlot(19, testhashu64Fnv1, default(uint64))
|
||||
proc MonsterAddtesthashs32Fnv1a*(builder: var Builder, testhashs32Fnv1a: int32) =
|
||||
builder.PrependSlot(20, testhashs32Fnv1a, default(int32))
|
||||
proc MonsterAddtesthashu32Fnv1a*(builder: var Builder, testhashu32Fnv1a: uint32) =
|
||||
builder.PrependSlot(21, testhashu32Fnv1a, default(uint32))
|
||||
proc MonsterAddtesthashs64Fnv1a*(builder: var Builder, testhashs64Fnv1a: int64) =
|
||||
builder.PrependSlot(22, testhashs64Fnv1a, default(int64))
|
||||
proc MonsterAddtesthashu64Fnv1a*(builder: var Builder, testhashu64Fnv1a: uint64) =
|
||||
builder.PrependSlot(23, testhashu64Fnv1a, default(uint64))
|
||||
proc MonsterAddtestarrayofbools*(builder: var Builder, testarrayofbools: uoffset) =
|
||||
builder.PrependSlot(24, testarrayofbools, default(uoffset))
|
||||
proc MonsterStarttestarrayofboolsVector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(1, numElems, 1)
|
||||
proc MonsterAddtestf*(builder: var Builder, testf: float32) =
|
||||
builder.PrependSlot(25, testf, default(float32))
|
||||
proc MonsterAddtestf2*(builder: var Builder, testf2: float32) =
|
||||
builder.PrependSlot(26, testf2, default(float32))
|
||||
proc MonsterAddtestf3*(builder: var Builder, testf3: float32) =
|
||||
builder.PrependSlot(27, testf3, default(float32))
|
||||
proc MonsterAddtestarrayofstring2*(builder: var Builder, testarrayofstring2: uoffset) =
|
||||
builder.PrependSlot(28, testarrayofstring2, default(uoffset))
|
||||
proc MonsterStarttestarrayofstring2Vector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(4, numElems, 4)
|
||||
proc MonsterAddtestarrayofsortedstruct*(builder: var Builder, testarrayofsortedstruct: uoffset) =
|
||||
builder.PrependSlot(29, testarrayofsortedstruct, default(uoffset))
|
||||
proc MonsterStarttestarrayofsortedstructVector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(8, numElems, 4)
|
||||
proc MonsterAddflex*(builder: var Builder, flex: uoffset) =
|
||||
builder.PrependSlot(30, flex, default(uoffset))
|
||||
proc MonsterStartflexVector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(1, numElems, 1)
|
||||
proc MonsterAddtest5*(builder: var Builder, test5: uoffset) =
|
||||
builder.PrependSlot(31, test5, default(uoffset))
|
||||
proc MonsterStarttest5Vector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(4, numElems, 2)
|
||||
proc MonsterAddvectorOfLongs*(builder: var Builder, vectorOfLongs: uoffset) =
|
||||
builder.PrependSlot(32, vectorOfLongs, default(uoffset))
|
||||
proc MonsterStartvectorOfLongsVector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(8, numElems, 8)
|
||||
proc MonsterAddvectorOfDoubles*(builder: var Builder, vectorOfDoubles: uoffset) =
|
||||
builder.PrependSlot(33, vectorOfDoubles, default(uoffset))
|
||||
proc MonsterStartvectorOfDoublesVector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(8, numElems, 8)
|
||||
proc MonsterAddparentNamespaceTest*(builder: var Builder, parentNamespaceTest: uoffset) =
|
||||
builder.PrependStructSlot(34, parentNamespaceTest, default(uoffset))
|
||||
proc MonsterAddvectorOfReferrables*(builder: var Builder, vectorOfReferrables: uoffset) =
|
||||
builder.PrependSlot(35, vectorOfReferrables, default(uoffset))
|
||||
proc MonsterStartvectorOfReferrablesVector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(4, numElems, 4)
|
||||
proc MonsterAddsingleWeakReference*(builder: var Builder, singleWeakReference: uint64) =
|
||||
builder.PrependSlot(36, singleWeakReference, default(uint64))
|
||||
proc MonsterAddvectorOfWeakReferences*(builder: var Builder, vectorOfWeakReferences: uoffset) =
|
||||
builder.PrependSlot(37, vectorOfWeakReferences, default(uoffset))
|
||||
proc MonsterStartvectorOfWeakReferencesVector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(8, numElems, 8)
|
||||
proc MonsterAddvectorOfStrongReferrables*(builder: var Builder, vectorOfStrongReferrables: uoffset) =
|
||||
builder.PrependSlot(38, vectorOfStrongReferrables, default(uoffset))
|
||||
proc MonsterStartvectorOfStrongReferrablesVector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(4, numElems, 4)
|
||||
proc MonsterAddcoOwningReference*(builder: var Builder, coOwningReference: uint64) =
|
||||
builder.PrependSlot(39, coOwningReference, default(uint64))
|
||||
proc MonsterAddvectorOfCoOwningReferences*(builder: var Builder, vectorOfCoOwningReferences: uoffset) =
|
||||
builder.PrependSlot(40, vectorOfCoOwningReferences, default(uoffset))
|
||||
proc MonsterStartvectorOfCoOwningReferencesVector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(8, numElems, 8)
|
||||
proc MonsterAddnonOwningReference*(builder: var Builder, nonOwningReference: uint64) =
|
||||
builder.PrependSlot(41, nonOwningReference, default(uint64))
|
||||
proc MonsterAddvectorOfNonOwningReferences*(builder: var Builder, vectorOfNonOwningReferences: uoffset) =
|
||||
builder.PrependSlot(42, vectorOfNonOwningReferences, default(uoffset))
|
||||
proc MonsterStartvectorOfNonOwningReferencesVector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(8, numElems, 8)
|
||||
proc MonsterAddanyUniqueType*(builder: var Builder, anyUniqueType: uint8) =
|
||||
builder.PrependSlot(43, anyUniqueType, default(uint8))
|
||||
proc MonsterAddanyUnique*(builder: var Builder, anyUnique: uoffset) =
|
||||
builder.PrependSlot(44, anyUnique, default(uoffset))
|
||||
proc MonsterAddanyAmbiguousType*(builder: var Builder, anyAmbiguousType: uint8) =
|
||||
builder.PrependSlot(45, anyAmbiguousType, default(uint8))
|
||||
proc MonsterAddanyAmbiguous*(builder: var Builder, anyAmbiguous: uoffset) =
|
||||
builder.PrependSlot(46, anyAmbiguous, default(uoffset))
|
||||
proc MonsterAddvectorOfEnums*(builder: var Builder, vectorOfEnums: uoffset) =
|
||||
builder.PrependSlot(47, vectorOfEnums, default(uoffset))
|
||||
proc MonsterStartvectorOfEnumsVector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(1, numElems, 1)
|
||||
proc MonsterAddsignedEnum*(builder: var Builder, signedEnum: int8) =
|
||||
builder.PrependSlot(48, signedEnum, default(int8))
|
||||
proc MonsterAddtestrequirednestedflatbuffer*(builder: var Builder, testrequirednestedflatbuffer: uoffset) =
|
||||
builder.PrependSlot(49, testrequirednestedflatbuffer, default(uoffset))
|
||||
proc MonsterStarttestrequirednestedflatbufferVector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(1, numElems, 1)
|
||||
proc MonsterAddscalarKeySortedTables*(builder: var Builder, scalarKeySortedTables: uoffset) =
|
||||
builder.PrependSlot(50, scalarKeySortedTables, default(uoffset))
|
||||
proc MonsterStartscalarKeySortedTablesVector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(4, numElems, 4)
|
||||
proc MonsterAddnativeInline*(builder: var Builder, nativeInline: uoffset) =
|
||||
builder.PrependStructSlot(51, nativeInline, default(uoffset))
|
||||
proc MonsterAddlongEnumNonEnumDefault*(builder: var Builder, longEnumNonEnumDefault: uint64) =
|
||||
builder.PrependSlot(52, longEnumNonEnumDefault, default(uint64))
|
||||
proc MonsterAddlongEnumNormalDefault*(builder: var Builder, longEnumNormalDefault: uint64) =
|
||||
builder.PrependSlot(53, longEnumNormalDefault, default(uint64))
|
||||
proc MonsterEnd*(builder: var Builder): uoffset =
|
||||
return builder.EndObject()
|
||||
15
tests/MyGame/Example/Race.nim
Normal file
15
tests/MyGame/Example/Race.nim
Normal file
@@ -0,0 +1,15 @@
|
||||
#[ MyGame.Example.Race
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : MyGame.Example.Monster ()
|
||||
]#
|
||||
|
||||
type Race*{.pure.} = enum
|
||||
None = -1.int8,
|
||||
Human = 0.int8,
|
||||
Dwarf = 1.int8,
|
||||
Elf = 2.int8,
|
||||
26
tests/MyGame/Example/Referrable.nim
Normal file
26
tests/MyGame/Example/Referrable.nim
Normal file
@@ -0,0 +1,26 @@
|
||||
#[ MyGame.Example.Referrable
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : MyGame.Example.Monster ()
|
||||
]#
|
||||
|
||||
import flatbuffers
|
||||
|
||||
type Referrable* = object of FlatObj
|
||||
func id*(self: Referrable): uint64 =
|
||||
let o = self.tab.Offset(4)
|
||||
if o != 0:
|
||||
return Get[uint64](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `id=`*(self: var Referrable, n: uint64): bool =
|
||||
return self.tab.MutateSlot(4, n)
|
||||
proc ReferrableStart*(builder: var Builder) =
|
||||
builder.StartObject(1)
|
||||
proc ReferrableAddid*(builder: var Builder, id: uint64) =
|
||||
builder.PrependSlot(0, id, default(uint64))
|
||||
proc ReferrableEnd*(builder: var Builder): uoffset =
|
||||
return builder.EndObject()
|
||||
42
tests/MyGame/Example/Stat.nim
Normal file
42
tests/MyGame/Example/Stat.nim
Normal file
@@ -0,0 +1,42 @@
|
||||
#[ MyGame.Example.Stat
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : MyGame.Example.Monster ()
|
||||
]#
|
||||
|
||||
import flatbuffers
|
||||
import std/options
|
||||
|
||||
type Stat* = object of FlatObj
|
||||
func id*(self: Stat): Option[string] =
|
||||
let o = self.tab.Offset(4)
|
||||
if o != 0:
|
||||
return some(self.tab.String(self.tab.Pos + o))
|
||||
func val*(self: Stat): int64 =
|
||||
let o = self.tab.Offset(6)
|
||||
if o != 0:
|
||||
return Get[int64](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `val=`*(self: var Stat, n: int64): bool =
|
||||
return self.tab.MutateSlot(6, n)
|
||||
func count*(self: Stat): uint16 =
|
||||
let o = self.tab.Offset(8)
|
||||
if o != 0:
|
||||
return Get[uint16](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `count=`*(self: var Stat, n: uint16): bool =
|
||||
return self.tab.MutateSlot(8, n)
|
||||
proc StatStart*(builder: var Builder) =
|
||||
builder.StartObject(3)
|
||||
proc StatAddid*(builder: var Builder, id: uoffset) =
|
||||
builder.PrependSlot(0, id, default(uoffset))
|
||||
proc StatAddval*(builder: var Builder, val: int64) =
|
||||
builder.PrependSlot(1, val, default(int64))
|
||||
proc StatAddcount*(builder: var Builder, count: uint16) =
|
||||
builder.PrependSlot(2, count, default(uint16))
|
||||
proc StatEnd*(builder: var Builder): uoffset =
|
||||
return builder.EndObject()
|
||||
34
tests/MyGame/Example/StructOfStructs.nim
Normal file
34
tests/MyGame/Example/StructOfStructs.nim
Normal file
@@ -0,0 +1,34 @@
|
||||
#[ MyGame.Example.StructOfStructs
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : MyGame.Example.Monster ()
|
||||
]#
|
||||
|
||||
import Ability as MyGame_Example_Ability
|
||||
import Test as MyGame_Example_Test
|
||||
import flatbuffers
|
||||
|
||||
type StructOfStructs* = object of FlatObj
|
||||
func a*(self: StructOfStructs): MyGame_Example_Ability.Ability =
|
||||
return MyGame_Example_Ability.Ability(tab: Vtable(Bytes: self.tab.Bytes, Pos: self.tab.Pos + 0))
|
||||
func b*(self: StructOfStructs): MyGame_Example_Test.Test =
|
||||
return MyGame_Example_Test.Test(tab: Vtable(Bytes: self.tab.Bytes, Pos: self.tab.Pos + 8))
|
||||
func c*(self: StructOfStructs): MyGame_Example_Ability.Ability =
|
||||
return MyGame_Example_Ability.Ability(tab: Vtable(Bytes: self.tab.Bytes, Pos: self.tab.Pos + 12))
|
||||
proc StructOfStructsCreate*(self: var Builder, a_id: uint32, a_distance: uint32, b_a: int16, b_b: int8, c_id: uint32, c_distance: uint32): uoffset =
|
||||
self.Prep(4, 20)
|
||||
self.Prep(4, 8)
|
||||
self.Prepend(c_distance)
|
||||
self.Prepend(c_id)
|
||||
self.Prep(2, 4)
|
||||
self.Pad(1)
|
||||
self.Prepend(b_b)
|
||||
self.Prepend(b_a)
|
||||
self.Prep(4, 8)
|
||||
self.Prepend(a_distance)
|
||||
self.Prepend(a_id)
|
||||
return self.Offset()
|
||||
30
tests/MyGame/Example/StructOfStructsOfStructs.nim
Normal file
30
tests/MyGame/Example/StructOfStructsOfStructs.nim
Normal file
@@ -0,0 +1,30 @@
|
||||
#[ MyGame.Example.StructOfStructsOfStructs
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : MyGame.Example.Monster ()
|
||||
]#
|
||||
|
||||
import StructOfStructs as MyGame_Example_StructOfStructs
|
||||
import flatbuffers
|
||||
|
||||
type StructOfStructsOfStructs* = object of FlatObj
|
||||
func a*(self: StructOfStructsOfStructs): MyGame_Example_StructOfStructs.StructOfStructs =
|
||||
return MyGame_Example_StructOfStructs.StructOfStructs(tab: Vtable(Bytes: self.tab.Bytes, Pos: self.tab.Pos + 0))
|
||||
proc StructOfStructsOfStructsCreate*(self: var Builder, a_a_id: uint32, a_a_distance: uint32, a_b_a: int16, a_b_b: int8, a_c_id: uint32, a_c_distance: uint32): uoffset =
|
||||
self.Prep(4, 20)
|
||||
self.Prep(4, 20)
|
||||
self.Prep(4, 8)
|
||||
self.Prepend(a_c_distance)
|
||||
self.Prepend(a_c_id)
|
||||
self.Prep(2, 4)
|
||||
self.Pad(1)
|
||||
self.Prepend(a_b_b)
|
||||
self.Prepend(a_b_a)
|
||||
self.Prep(4, 8)
|
||||
self.Prepend(a_a_distance)
|
||||
self.Prepend(a_a_id)
|
||||
return self.Offset()
|
||||
27
tests/MyGame/Example/Test.nim
Normal file
27
tests/MyGame/Example/Test.nim
Normal file
@@ -0,0 +1,27 @@
|
||||
#[ MyGame.Example.Test
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : MyGame.Example.Monster ()
|
||||
]#
|
||||
|
||||
import flatbuffers
|
||||
|
||||
type Test* = object of FlatObj
|
||||
func a*(self: Test): int16 =
|
||||
return Get[int16](self.tab, self.tab.Pos + 0)
|
||||
func `a=`*(self: var Test, n: int16): bool =
|
||||
return self.tab.Mutate(self.tab.Pos + 0, n)
|
||||
func b*(self: Test): int8 =
|
||||
return Get[int8](self.tab, self.tab.Pos + 2)
|
||||
func `b=`*(self: var Test, n: int8): bool =
|
||||
return self.tab.Mutate(self.tab.Pos + 2, n)
|
||||
proc TestCreate*(self: var Builder, a: int16, b: int8): uoffset =
|
||||
self.Prep(2, 4)
|
||||
self.Pad(1)
|
||||
self.Prepend(b)
|
||||
self.Prepend(a)
|
||||
return self.Offset()
|
||||
27
tests/MyGame/Example/TestSimpleTableWithEnum.nim
Normal file
27
tests/MyGame/Example/TestSimpleTableWithEnum.nim
Normal file
@@ -0,0 +1,27 @@
|
||||
#[ MyGame.Example.TestSimpleTableWithEnum
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : MyGame.Example.Monster ()
|
||||
]#
|
||||
|
||||
import Color as MyGame_Example_Color
|
||||
import flatbuffers
|
||||
|
||||
type TestSimpleTableWithEnum* = object of FlatObj
|
||||
func color*(self: TestSimpleTableWithEnum): MyGame_Example_Color.Color =
|
||||
let o = self.tab.Offset(4)
|
||||
if o != 0:
|
||||
return MyGame_Example_Color.Color(Get[uint8](self.tab, self.tab.Pos + o))
|
||||
return type(result)(2)
|
||||
func `color=`*(self: var TestSimpleTableWithEnum, n: MyGame_Example_Color.Color): bool =
|
||||
return self.tab.MutateSlot(4, n)
|
||||
proc TestSimpleTableWithEnumStart*(builder: var Builder) =
|
||||
builder.StartObject(1)
|
||||
proc TestSimpleTableWithEnumAddcolor*(builder: var Builder, color: uint8) =
|
||||
builder.PrependSlot(0, color, default(uint8))
|
||||
proc TestSimpleTableWithEnumEnd*(builder: var Builder): uoffset =
|
||||
return builder.EndObject()
|
||||
144
tests/MyGame/Example/TypeAliases.nim
Normal file
144
tests/MyGame/Example/TypeAliases.nim
Normal file
@@ -0,0 +1,144 @@
|
||||
#[ MyGame.Example.TypeAliases
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : MyGame.Example.Monster ()
|
||||
]#
|
||||
|
||||
import flatbuffers
|
||||
import std/options
|
||||
|
||||
type TypeAliases* = object of FlatObj
|
||||
func i8*(self: TypeAliases): int8 =
|
||||
let o = self.tab.Offset(4)
|
||||
if o != 0:
|
||||
return Get[int8](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `i8=`*(self: var TypeAliases, n: int8): bool =
|
||||
return self.tab.MutateSlot(4, n)
|
||||
func u8*(self: TypeAliases): uint8 =
|
||||
let o = self.tab.Offset(6)
|
||||
if o != 0:
|
||||
return Get[uint8](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `u8=`*(self: var TypeAliases, n: uint8): bool =
|
||||
return self.tab.MutateSlot(6, n)
|
||||
func i16*(self: TypeAliases): int16 =
|
||||
let o = self.tab.Offset(8)
|
||||
if o != 0:
|
||||
return Get[int16](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `i16=`*(self: var TypeAliases, n: int16): bool =
|
||||
return self.tab.MutateSlot(8, n)
|
||||
func u16*(self: TypeAliases): uint16 =
|
||||
let o = self.tab.Offset(10)
|
||||
if o != 0:
|
||||
return Get[uint16](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `u16=`*(self: var TypeAliases, n: uint16): bool =
|
||||
return self.tab.MutateSlot(10, n)
|
||||
func i32*(self: TypeAliases): int32 =
|
||||
let o = self.tab.Offset(12)
|
||||
if o != 0:
|
||||
return Get[int32](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `i32=`*(self: var TypeAliases, n: int32): bool =
|
||||
return self.tab.MutateSlot(12, n)
|
||||
func u32*(self: TypeAliases): uint32 =
|
||||
let o = self.tab.Offset(14)
|
||||
if o != 0:
|
||||
return Get[uint32](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `u32=`*(self: var TypeAliases, n: uint32): bool =
|
||||
return self.tab.MutateSlot(14, n)
|
||||
func i64*(self: TypeAliases): int64 =
|
||||
let o = self.tab.Offset(16)
|
||||
if o != 0:
|
||||
return Get[int64](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `i64=`*(self: var TypeAliases, n: int64): bool =
|
||||
return self.tab.MutateSlot(16, n)
|
||||
func u64*(self: TypeAliases): uint64 =
|
||||
let o = self.tab.Offset(18)
|
||||
if o != 0:
|
||||
return Get[uint64](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `u64=`*(self: var TypeAliases, n: uint64): bool =
|
||||
return self.tab.MutateSlot(18, n)
|
||||
func f32*(self: TypeAliases): float32 =
|
||||
let o = self.tab.Offset(20)
|
||||
if o != 0:
|
||||
return Get[float32](self.tab, self.tab.Pos + o)
|
||||
return 0.0
|
||||
func `f32=`*(self: var TypeAliases, n: float32): bool =
|
||||
return self.tab.MutateSlot(20, n)
|
||||
func f64*(self: TypeAliases): float64 =
|
||||
let o = self.tab.Offset(22)
|
||||
if o != 0:
|
||||
return Get[float64](self.tab, self.tab.Pos + o)
|
||||
return 0.0
|
||||
func `f64=`*(self: var TypeAliases, n: float64): bool =
|
||||
return self.tab.MutateSlot(22, n)
|
||||
func v8Length*(self: TypeAliases): int =
|
||||
let o = self.tab.Offset(24)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func v8*(self: TypeAliases, j: int): int8 =
|
||||
let o = self.tab.Offset(24)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 1.uoffset
|
||||
return Get[int8](self.tab, x)
|
||||
func v8*(self: TypeAliases): seq[int8] =
|
||||
let len = self.v8Length
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.v8(i))
|
||||
func vf64Length*(self: TypeAliases): int =
|
||||
let o = self.tab.Offset(26)
|
||||
if o != 0:
|
||||
return self.tab.VectorLen(o)
|
||||
func vf64*(self: TypeAliases, j: int): float64 =
|
||||
let o = self.tab.Offset(26)
|
||||
if o != 0:
|
||||
var x = self.tab.Vector(o)
|
||||
x += j.uoffset * 8.uoffset
|
||||
return Get[float64](self.tab, x)
|
||||
func vf64*(self: TypeAliases): seq[float64] =
|
||||
let len = self.vf64Length
|
||||
for i in countup(0, len - 1):
|
||||
result.add(self.vf64(i))
|
||||
proc TypeAliasesStart*(builder: var Builder) =
|
||||
builder.StartObject(12)
|
||||
proc TypeAliasesAddi8*(builder: var Builder, i8: int8) =
|
||||
builder.PrependSlot(0, i8, default(int8))
|
||||
proc TypeAliasesAddu8*(builder: var Builder, u8: uint8) =
|
||||
builder.PrependSlot(1, u8, default(uint8))
|
||||
proc TypeAliasesAddi16*(builder: var Builder, i16: int16) =
|
||||
builder.PrependSlot(2, i16, default(int16))
|
||||
proc TypeAliasesAddu16*(builder: var Builder, u16: uint16) =
|
||||
builder.PrependSlot(3, u16, default(uint16))
|
||||
proc TypeAliasesAddi32*(builder: var Builder, i32: int32) =
|
||||
builder.PrependSlot(4, i32, default(int32))
|
||||
proc TypeAliasesAddu32*(builder: var Builder, u32: uint32) =
|
||||
builder.PrependSlot(5, u32, default(uint32))
|
||||
proc TypeAliasesAddi64*(builder: var Builder, i64: int64) =
|
||||
builder.PrependSlot(6, i64, default(int64))
|
||||
proc TypeAliasesAddu64*(builder: var Builder, u64: uint64) =
|
||||
builder.PrependSlot(7, u64, default(uint64))
|
||||
proc TypeAliasesAddf32*(builder: var Builder, f32: float32) =
|
||||
builder.PrependSlot(8, f32, default(float32))
|
||||
proc TypeAliasesAddf64*(builder: var Builder, f64: float64) =
|
||||
builder.PrependSlot(9, f64, default(float64))
|
||||
proc TypeAliasesAddv8*(builder: var Builder, v8: uoffset) =
|
||||
builder.PrependSlot(10, v8, default(uoffset))
|
||||
proc TypeAliasesStartv8Vector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(1, numElems, 1)
|
||||
proc TypeAliasesAddvf64*(builder: var Builder, vf64: uoffset) =
|
||||
builder.PrependSlot(11, vf64, default(uoffset))
|
||||
proc TypeAliasesStartvf64Vector*(builder: var Builder, numElems: uoffset) =
|
||||
builder.StartVector(8, numElems, 8)
|
||||
proc TypeAliasesEnd*(builder: var Builder): uoffset =
|
||||
return builder.EndObject()
|
||||
52
tests/MyGame/Example/Vec3.nim
Normal file
52
tests/MyGame/Example/Vec3.nim
Normal file
@@ -0,0 +1,52 @@
|
||||
#[ MyGame.Example.Vec3
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : MyGame.Example.Monster ()
|
||||
]#
|
||||
|
||||
import Color as MyGame_Example_Color
|
||||
import Test as MyGame_Example_Test
|
||||
import flatbuffers
|
||||
|
||||
type Vec3* = object of FlatObj
|
||||
func x*(self: Vec3): float32 =
|
||||
return Get[float32](self.tab, self.tab.Pos + 0)
|
||||
func `x=`*(self: var Vec3, n: float32): bool =
|
||||
return self.tab.Mutate(self.tab.Pos + 0, n)
|
||||
func y*(self: Vec3): float32 =
|
||||
return Get[float32](self.tab, self.tab.Pos + 4)
|
||||
func `y=`*(self: var Vec3, n: float32): bool =
|
||||
return self.tab.Mutate(self.tab.Pos + 4, n)
|
||||
func z*(self: Vec3): float32 =
|
||||
return Get[float32](self.tab, self.tab.Pos + 8)
|
||||
func `z=`*(self: var Vec3, n: float32): bool =
|
||||
return self.tab.Mutate(self.tab.Pos + 8, n)
|
||||
func test1*(self: Vec3): float64 =
|
||||
return Get[float64](self.tab, self.tab.Pos + 16)
|
||||
func `test1=`*(self: var Vec3, n: float64): bool =
|
||||
return self.tab.Mutate(self.tab.Pos + 16, n)
|
||||
func test2*(self: Vec3): MyGame_Example_Color.Color =
|
||||
return MyGame_Example_Color.Color(Get[uint8](self.tab, self.tab.Pos + 24))
|
||||
func `test2=`*(self: var Vec3, n: MyGame_Example_Color.Color): bool =
|
||||
return self.tab.Mutate(self.tab.Pos + 24, n)
|
||||
func test3*(self: Vec3): MyGame_Example_Test.Test =
|
||||
return MyGame_Example_Test.Test(tab: Vtable(Bytes: self.tab.Bytes, Pos: self.tab.Pos + 26))
|
||||
proc Vec3Create*(self: var Builder, x: float32, y: float32, z: float32, test1: float64, test2: MyGame_Example_Color.Color, test3_a: int16, test3_b: int8): uoffset =
|
||||
self.Prep(8, 32)
|
||||
self.Pad(2)
|
||||
self.Prep(2, 4)
|
||||
self.Pad(1)
|
||||
self.Prepend(test3_b)
|
||||
self.Prepend(test3_a)
|
||||
self.Pad(1)
|
||||
self.Prepend(test2)
|
||||
self.Prepend(test1)
|
||||
self.Pad(4)
|
||||
self.Prepend(z)
|
||||
self.Prepend(y)
|
||||
self.Prepend(x)
|
||||
return self.Offset()
|
||||
17
tests/MyGame/Example2/Monster.nim
Normal file
17
tests/MyGame/Example2/Monster.nim
Normal file
@@ -0,0 +1,17 @@
|
||||
#[ MyGame.Example2.Monster
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : MyGame.Example.Monster ()
|
||||
]#
|
||||
|
||||
import flatbuffers
|
||||
|
||||
type Monster* = object of FlatObj
|
||||
proc MonsterStart*(builder: var Builder) =
|
||||
builder.StartObject(0)
|
||||
proc MonsterEnd*(builder: var Builder): uoffset =
|
||||
return builder.EndObject()
|
||||
17
tests/MyGame/InParentNamespace.nim
Normal file
17
tests/MyGame/InParentNamespace.nim
Normal file
@@ -0,0 +1,17 @@
|
||||
#[ MyGame.InParentNamespace
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : MyGame.Example.Monster ()
|
||||
]#
|
||||
|
||||
import flatbuffers
|
||||
|
||||
type InParentNamespace* = object of FlatObj
|
||||
proc InParentNamespaceStart*(builder: var Builder) =
|
||||
builder.StartObject(0)
|
||||
proc InParentNamespaceEnd*(builder: var Builder): uoffset =
|
||||
return builder.EndObject()
|
||||
12
tests/MyGame/OtherNameSpace/FromInclude.nim
Normal file
12
tests/MyGame/OtherNameSpace/FromInclude.nim
Normal file
@@ -0,0 +1,12 @@
|
||||
#[ MyGame.OtherNameSpace.FromInclude
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : MyGame.Example.Monster ()
|
||||
]#
|
||||
|
||||
type FromInclude*{.pure.} = enum
|
||||
IncludeVal = 0.int64,
|
||||
25
tests/MyGame/OtherNameSpace/TableB.nim
Normal file
25
tests/MyGame/OtherNameSpace/TableB.nim
Normal file
@@ -0,0 +1,25 @@
|
||||
#[ MyGame.OtherNameSpace.TableB
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : MyGame.Example.Monster ()
|
||||
]#
|
||||
|
||||
import ../../TableA as TableA
|
||||
import flatbuffers
|
||||
import std/options
|
||||
|
||||
type TableB* = object of FlatObj
|
||||
func a*(self: TableB): Option[TableA.TableA] =
|
||||
let o = self.tab.Offset(4)
|
||||
if o != 0:
|
||||
return some(TableA.TableA(tab: Vtable(Bytes: self.tab.Bytes, Pos: self.tab.Pos + o)))
|
||||
proc TableBstart*(builder: var Builder) =
|
||||
builder.StartObject(1)
|
||||
proc TableBadda*(builder: var Builder, a: uoffset) =
|
||||
builder.PrependStructSlot(0, a, default(uoffset))
|
||||
proc TableBend*(builder: var Builder): uoffset =
|
||||
return builder.EndObject()
|
||||
21
tests/MyGame/OtherNameSpace/Unused.nim
Normal file
21
tests/MyGame/OtherNameSpace/Unused.nim
Normal file
@@ -0,0 +1,21 @@
|
||||
#[ MyGame.OtherNameSpace.Unused
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : MyGame.Example.Monster ()
|
||||
]#
|
||||
|
||||
import flatbuffers
|
||||
|
||||
type Unused* = object of FlatObj
|
||||
func a*(self: Unused): int32 =
|
||||
return Get[int32](self.tab, self.tab.Pos + 0)
|
||||
func `a=`*(self: var Unused, n: int32): bool =
|
||||
return self.tab.Mutate(self.tab.Pos + 0, n)
|
||||
proc UnusedCreate*(self: var Builder, a: int32): uoffset =
|
||||
self.Prep(4, 4)
|
||||
self.Prepend(a)
|
||||
return self.Offset()
|
||||
20
tests/Property.nim
Normal file
20
tests/Property.nim
Normal file
@@ -0,0 +1,20 @@
|
||||
#[ Property
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
]#
|
||||
|
||||
import flatbuffers
|
||||
|
||||
type Property* = object of FlatObj
|
||||
func property*(self: Property): bool =
|
||||
return Get[bool](self.tab, self.tab.Pos + 0)
|
||||
func `property=`*(self: var Property, n: bool): bool =
|
||||
return self.tab.Mutate(self.tab.Pos + 0, n)
|
||||
proc PropertyCreate*(self: var Builder, property: bool): uoffset =
|
||||
self.Prep(1, 1)
|
||||
self.Prepend(property)
|
||||
return self.Offset()
|
||||
25
tests/TableA.nim
Normal file
25
tests/TableA.nim
Normal file
@@ -0,0 +1,25 @@
|
||||
#[ TableA
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : MyGame.Example.Monster ()
|
||||
]#
|
||||
|
||||
import MyGame/OtherNameSpace/TableB as MyGame_OtherNameSpace_TableB
|
||||
import flatbuffers
|
||||
import std/options
|
||||
|
||||
type TableA* = object of FlatObj
|
||||
func b*(self: TableA): Option[MyGame_OtherNameSpace_TableB.TableB] =
|
||||
let o = self.tab.Offset(4)
|
||||
if o != 0:
|
||||
return some(MyGame_OtherNameSpace_TableB.TableB(tab: Vtable(Bytes: self.tab.Bytes, Pos: self.tab.Pos + o)))
|
||||
proc TableAstart*(builder: var Builder) =
|
||||
builder.StartObject(1)
|
||||
proc TableAaddb*(builder: var Builder, b: uoffset) =
|
||||
builder.PrependStructSlot(0, b, default(uoffset))
|
||||
proc TableAend*(builder: var Builder): uoffset =
|
||||
return builder.EndObject()
|
||||
24
tests/TestMutatingBool.nim
Normal file
24
tests/TestMutatingBool.nim
Normal file
@@ -0,0 +1,24 @@
|
||||
#[ TestMutatingBool
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
]#
|
||||
|
||||
import Property as Property
|
||||
import flatbuffers
|
||||
import std/options
|
||||
|
||||
type TestMutatingBool* = object of FlatObj
|
||||
func b*(self: TestMutatingBool): Option[Property.Property] =
|
||||
let o = self.tab.Offset(4)
|
||||
if o != 0:
|
||||
return some(Property.Property(tab: Vtable(Bytes: self.tab.Bytes, Pos: self.tab.Pos + o)))
|
||||
proc TestMutatingBoolStart*(builder: var Builder) =
|
||||
builder.StartObject(1)
|
||||
proc TestMutatingBoolAddb*(builder: var Builder, b: uoffset) =
|
||||
builder.PrependStructSlot(0, b, default(uoffset))
|
||||
proc TestMutatingBoolEnd*(builder: var Builder): uoffset =
|
||||
return builder.EndObject()
|
||||
@@ -3438,7 +3438,7 @@ table (reflection.Type):
|
||||
+0x1F5A | 0E | uint8_t | 0x0E (14) | table field `base_type` (Byte)
|
||||
+0x1F5B | 0F | uint8_t | 0x0F (15) | table field `element` (Byte)
|
||||
+0x1F5C | 00 00 00 00 | uint32_t | 0x00000000 (0) | table field `index` (Int)
|
||||
+0x1F60 | 04 00 00 00 | uint32_t | 0x00000004 (4) | table field `element_size` (UInt)
|
||||
+0x1F60 | 08 00 00 00 | uint32_t | 0x00000008 (8) | table field `element_size` (UInt)
|
||||
|
||||
string (reflection.Field.name):
|
||||
+0x1F64 | 17 00 00 00 | uint32_t | 0x00000017 (23) | length of string
|
||||
|
||||
Binary file not shown.
@@ -421,7 +421,7 @@ struct MonsterBinarySchema {
|
||||
0x1D,0x00,0x3E,0x00,0x48,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0xD4,0xE9,0xFF,0xFF,0x10,0x00,0x00,0x00,
|
||||
0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x32,0x39,0x00,0x00,0x02,0x00,0x00,0x00,0x69,0x64,0x00,0x00,
|
||||
0xA4,0xF5,0xFF,0xFF,0x00,0x00,0x0E,0x0F,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x17,0x00,0x00,0x00,
|
||||
0xA4,0xF5,0xFF,0xFF,0x00,0x00,0x0E,0x0F,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x17,0x00,0x00,0x00,
|
||||
0x74,0x65,0x73,0x74,0x61,0x72,0x72,0x61,0x79,0x6F,0x66,0x73,0x6F,0x72,0x74,0x65,0x64,0x73,0x74,0x72,
|
||||
0x75,0x63,0x74,0x00,0x5C,0xF4,0xFF,0xFF,0x00,0x00,0x00,0x01,0x1C,0x00,0x3C,0x00,0x44,0x00,0x00,0x00,
|
||||
0x34,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
|
||||
|
||||
22
tests/nim/testnim.py
Normal file
22
tests/nim/testnim.py
Normal file
@@ -0,0 +1,22 @@
|
||||
import glob
|
||||
import os
|
||||
import shutil
|
||||
import subprocess
|
||||
from pathlib import Path
|
||||
|
||||
test_nim_dir = Path(__file__).absolute().parent
|
||||
test_dir = test_nim_dir.parent
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
subprocess.check_call("testament --megatest:off all".split())
|
||||
finally:
|
||||
shutil.rmtree(test_nim_dir / "nimcache")
|
||||
shutil.rmtree(test_nim_dir / "testresults")
|
||||
for f in glob.glob(str(test_nim_dir / "tests" / "*" / "test")):
|
||||
os.remove(f)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
27
tests/nim/tests/moredefaults/test.nim
Normal file
27
tests/nim/tests/moredefaults/test.nim
Normal file
@@ -0,0 +1,27 @@
|
||||
discard """
|
||||
action: "run"
|
||||
exitcode: 0
|
||||
timeout: 60.0
|
||||
"""
|
||||
import std/unittest
|
||||
import flatbuffers
|
||||
import ../../../MoreDefaults
|
||||
|
||||
suite "TestMoreDefaults":
|
||||
|
||||
test "testFlatbuffersObject":
|
||||
var fbb = newBuilder(0)
|
||||
fbb.MoreDefaultsStart()
|
||||
let root = fbb.MoreDefaultsEnd()
|
||||
fbb.Finish(root)
|
||||
|
||||
var defaults: MoreDefaults
|
||||
defaults.GetRootAs(fbb.FinishedBytes(), 0)
|
||||
check(defaults.emptyString == "")
|
||||
check(defaults.ints == [])
|
||||
check(defaults.floats == [])
|
||||
check(defaults.bools == [])
|
||||
check(defaults.intsLength == 0)
|
||||
check(defaults.floatsLength == 0)
|
||||
check(defaults.abcsLength == 0)
|
||||
check(defaults.boolsLength == 0)
|
||||
39
tests/nim/tests/mutatingbool/test.nim
Normal file
39
tests/nim/tests/mutatingbool/test.nim
Normal file
@@ -0,0 +1,39 @@
|
||||
discard """
|
||||
action: "run"
|
||||
exitcode: 0
|
||||
timeout: 60.0
|
||||
"""
|
||||
import std/unittest
|
||||
import std/options
|
||||
import flatbuffers
|
||||
import ../../../TestMutatingBool
|
||||
import ../../../Property
|
||||
|
||||
suite "TestMutatingBool":
|
||||
|
||||
test "MutatingBool":
|
||||
var builder = newBuilder(1024)
|
||||
builder.TestMutatingBoolStart()
|
||||
builder.TestMutatingBoolAddB(builder.PropertyCreate(false))
|
||||
let root = builder.TestMutatingBoolEnd()
|
||||
builder.Finish(root)
|
||||
|
||||
var test_mutating_bool: TestMutatingBool
|
||||
GetRootAs(test_mutating_bool, builder.FinishedBytes(), 0)
|
||||
check(test_mutating_bool.b.isSome)
|
||||
var prop2 = test_mutating_bool.b.get()
|
||||
check(prop2.property == false)
|
||||
discard (prop2.property = false)
|
||||
check(prop2.property == false)
|
||||
discard (prop2.property = true)
|
||||
check(prop2.property == true)
|
||||
|
||||
test "EmptyBool":
|
||||
var builder = newBuilder(1024)
|
||||
builder.TestMutatingBoolStart()
|
||||
let root = builder.TestMutatingBoolEnd()
|
||||
builder.Finish(root)
|
||||
|
||||
var test_mutating_bool: TestMutatingBool
|
||||
GetRootAs(test_mutating_bool, builder.FinishedBytes(), 0)
|
||||
check(test_mutating_bool.b.isNone)
|
||||
207
tests/nim/tests/mygame/test.nim
Normal file
207
tests/nim/tests/mygame/test.nim
Normal file
@@ -0,0 +1,207 @@
|
||||
discard """
|
||||
action: "run"
|
||||
exitcode: 0
|
||||
timeout: 60.0
|
||||
"""
|
||||
import std/unittest
|
||||
import std/options
|
||||
import flatbuffers
|
||||
import ../../../MyGame/Example/Test
|
||||
import ../../../MyGame/Example/Monster
|
||||
import ../../../MyGame/Example/Vec3
|
||||
import ../../../MyGame/Example/Color as ColorMod
|
||||
import ../../../MyGame/Example/Any as AnyMod
|
||||
|
||||
proc verifyMonster(monster: var Monster) =
|
||||
check(monster.hp == 80)
|
||||
check(monster.mana == 150)
|
||||
check(monster.name == "MyMonster")
|
||||
check(monster.pos.isSome)
|
||||
let pos = monster.pos.get()
|
||||
check(pos.x == 1)
|
||||
check(pos.y == 2)
|
||||
check(pos.z == 3)
|
||||
check(pos.test1 == 3)
|
||||
check(pos.test2 == Color.Green)
|
||||
check(pos.test3.a == 5)
|
||||
check(pos.test3.b == 6)
|
||||
check(monster.testType == Any.Monster)
|
||||
check(monster.test.isSome)
|
||||
let monster2 = Monster(tab: monster.test.get())
|
||||
check(monster2.name == "Fred")
|
||||
check((monster.mana = 10) == false)
|
||||
check(monster.mana == 150)
|
||||
check(monster.inventoryLength == 5)
|
||||
var sum: uint8 = 0
|
||||
for item in monster.inventory:
|
||||
sum += item
|
||||
check(sum == 10)
|
||||
check(monster.test4Length == 2)
|
||||
|
||||
let test0 = monster.test4(0)
|
||||
let test1 = monster.test4(1)
|
||||
var sum0 = test0.a + test0.b
|
||||
var sum1 = test1.a + test1.b
|
||||
check(sum0 + sum1 == 100)
|
||||
|
||||
check(monster.testarrayofstringLength == 2)
|
||||
check(monster.testarrayofstring(0) == "test1")
|
||||
check(monster.testarrayofstring(1) == "test2")
|
||||
check(monster.testbool == true)
|
||||
|
||||
|
||||
suite "TestMyGame":
|
||||
|
||||
test "testData":
|
||||
let data: seq[byte] = @[byte(48), 0, 0, 0, 77, 79, 78, 83, 0, 0, 0, 0, 36,
|
||||
0, 72, 0, 40, 0, 0, 0, 38, 0, 32, 0, 0, 0, 28, 0, 0, 0, 27, 0, 20, 0,
|
||||
16, 0, 12, 0, 4, 0, 0, 0, 0, 0, 0, 0, 11, 0, 36, 0, 0, 0, 164, 0, 0, 0,
|
||||
0, 0, 0, 1, 60, 0, 0, 0, 68, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 1, 88, 0, 0,
|
||||
0, 120, 0, 0, 0, 0, 0, 80, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 64, 2, 0, 5, 0, 6, 0, 0, 0, 2, 0, 0, 0,
|
||||
64, 0, 0, 0, 48, 0, 0, 0, 2, 0, 0, 0, 30, 0, 40, 0, 10, 0, 20, 0, 152,
|
||||
255, 255, 255, 4, 0, 0, 0, 4, 0, 0, 0, 70, 114, 101, 100, 0, 0, 0, 0, 5,
|
||||
0, 0, 0, 0, 1, 2, 3, 4, 0, 0, 0, 5, 0, 0, 0, 116, 101, 115, 116, 50, 0,
|
||||
0, 0, 5, 0, 0, 0, 116, 101, 115, 116, 49, 0, 0, 0, 9, 0, 0, 0, 77, 121,
|
||||
77, 111, 110, 115, 116, 101, 114, 0, 0, 0, 3, 0, 0, 0, 20, 0, 0, 0, 36,
|
||||
0, 0, 0, 4, 0, 0, 0, 240, 255, 255, 255, 32, 0, 0, 0, 248, 255, 255,
|
||||
255, 36, 0, 0, 0, 12, 0, 8, 0, 0, 0, 0, 0, 0, 0, 4, 0, 12, 0, 0, 0, 28,
|
||||
0, 0, 0, 5, 0, 0, 0, 87, 105, 108, 109, 97, 0, 0, 0, 6, 0, 0, 0, 66, 97,
|
||||
114, 110, 101, 121, 0, 0, 5, 0, 0, 0, 70, 114, 111, 100, 111, 0, 0, 0]
|
||||
var monster: Monster
|
||||
GetRootAs(monster, data, 0)
|
||||
verifyMonster(monster)
|
||||
|
||||
test "testCreateString":
|
||||
var fbb = newBuilder(0)
|
||||
let name = fbb.Create("Frodo")
|
||||
fbb.Finish(name)
|
||||
check(fbb.FinishedBytes() == @[byte(4), 0, 0, 0, 5, 0, 0, 0, 70, 114, 111,
|
||||
100, 111, 0, 0, 0])
|
||||
|
||||
test "testCreateVector":
|
||||
var fbb = newBuilder(0)
|
||||
let vec = fbb.Create(@[byte(0), 1, 2, 3, 4])
|
||||
fbb.Finish(vec)
|
||||
check(fbb.FinishedBytes() == @[byte(4), 0, 0, 0, 5, 0, 0, 0, 0, 1, 2, 3, 4,
|
||||
0, 0, 0])
|
||||
|
||||
test "createSimpleMonster":
|
||||
var fbb = newBuilder(0)
|
||||
let names = [
|
||||
fbb.Create("Frodo"),
|
||||
fbb.Create("Barney"),
|
||||
fbb.Create("Wilma"),
|
||||
]
|
||||
fbb.MonsterStart()
|
||||
fbb.MonsterAddName(names[0])
|
||||
let monster = fbb.MonsterEnd()
|
||||
fbb.Finish(monster)
|
||||
check(fbb.FinishedBytes() == @[byte(16), 0, 0, 0, 12, 0, 8, 0, 0, 0, 0, 0,
|
||||
0, 0, 4, 0, 12, 0, 0, 0, 28, 0, 0, 0, 5, 0, 0, 0, 87, 105, 108, 109, 97,
|
||||
0, 0, 0, 6, 0, 0, 0, 66, 97, 114, 110, 101, 121, 0, 0, 5, 0, 0, 0, 70,
|
||||
114, 111, 100, 111, 0, 0, 0])
|
||||
|
||||
test "testCreateTestVector":
|
||||
var fbb = newBuilder(0)
|
||||
fbb.MonsterStartTest4Vector(2)
|
||||
discard fbb.TestCreate(a = 30, b = 40)
|
||||
discard fbb.TestCreate(a = 10, b = 20)
|
||||
let test4 = fbb.EndVector()
|
||||
fbb.Finish(test4)
|
||||
check(fbb.FinishedBytes() == @[byte(4), 0, 0, 0, 2, 0, 0, 0, 10, 0, 20, 0,
|
||||
30, 0, 40, 0])
|
||||
|
||||
test "testTableWithStruct":
|
||||
var fbb = newBuilder(0)
|
||||
fbb.MonsterStart()
|
||||
fbb.MonsterAddPos(fbb.Vec3Create(x = 1,
|
||||
y = 2,
|
||||
z = 3,
|
||||
test1 = 3,
|
||||
test2 = Color.Green,
|
||||
test3_a = 5, test3_b = 6))
|
||||
|
||||
let monster_end = fbb.MonsterEnd()
|
||||
fbb.Finish(monster_end)
|
||||
check(fbb.FinishedBytes() == @[byte(12), 0, 0, 0, 0, 0, 6, 0, 36, 0, 4, 0,
|
||||
6, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 8, 64, 2, 0, 5, 0, 6, 0, 0, 0])
|
||||
|
||||
test "testCreateMonster":
|
||||
var fbb = newBuilder(0)
|
||||
let names = [
|
||||
fbb.Create("Frodo"),
|
||||
fbb.Create("Barney"),
|
||||
fbb.Create("Wilma"),
|
||||
]
|
||||
|
||||
var offsets: seq[uoffset] = @[]
|
||||
fbb.MonsterStart()
|
||||
fbb.MonsterAddName(names[0])
|
||||
offsets.add(fbb.MonsterEnd())
|
||||
fbb.MonsterStart()
|
||||
fbb.MonsterAddName(names[1])
|
||||
offsets.add(fbb.MonsterEnd())
|
||||
fbb.MonsterStart()
|
||||
fbb.MonsterAddName(names[2])
|
||||
offsets.add(fbb.MonsterEnd())
|
||||
|
||||
let str = fbb.Create("MyMonster")
|
||||
let test1 = fbb.Create("test1")
|
||||
let test2 = fbb.Create("test2")
|
||||
let inv = fbb.Create(@[byte(0), 1, 2, 3, 4])
|
||||
let fred = fbb.Create("Fred")
|
||||
fbb.MonsterStart()
|
||||
fbb.MonsterAddName(fred)
|
||||
let mon2 = fbb.MonsterEnd()
|
||||
|
||||
fbb.MonsterStartTest4Vector(2)
|
||||
discard fbb.TestCreate(a = 30, b = 40)
|
||||
discard fbb.TestCreate(a = 10, b = 20)
|
||||
let test4 = fbb.EndVector()
|
||||
|
||||
fbb.MonsterStartTestarrayofstringVector(2)
|
||||
fbb.PrependOffsetRelative(test1)
|
||||
fbb.PrependOffsetRelative(test2)
|
||||
let stringTestVector = fbb.EndVector()
|
||||
|
||||
fbb.MonsterStartTestarrayoftablesVector(3)
|
||||
fbb.PrependOffsetRelative(offsets[0])
|
||||
fbb.PrependOffsetRelative(offsets[1])
|
||||
fbb.PrependOffsetRelative(offsets[2])
|
||||
let tableTestVector = fbb.EndVector()
|
||||
|
||||
fbb.MonsterStart()
|
||||
fbb.MonsterAddPos(fbb.Vec3Create(x = 1,
|
||||
y = 2,
|
||||
z = 3,
|
||||
test1 = 3,
|
||||
test2 = Color.Green,
|
||||
test3_a = 5, test3_b = 6))
|
||||
fbb.MonsterAddHp(80)
|
||||
fbb.MonsterAddName(str)
|
||||
fbb.MonsterAddInventory(inv)
|
||||
fbb.MonsterAddTestType(Any.Monster.uint8)
|
||||
fbb.MonsterAddTest(mon2)
|
||||
fbb.MonsterAddTest4(test4)
|
||||
fbb.MonsterAddTestarrayofstring(stringTestVector)
|
||||
fbb.MonsterAddTestbool(true)
|
||||
fbb.MonsterAddTestarrayoftables(tableTestVector)
|
||||
let monster_end = fbb.MonsterEnd()
|
||||
fbb.Finish(monster_end)
|
||||
check(fbb.FinishedBytes() == @[byte(40), 0, 0, 0, 36, 0, 72, 0, 40, 0, 0, 0,
|
||||
38, 0, 32, 0, 0, 0, 28, 0, 0, 0, 27, 0, 20, 0, 16, 0, 12, 0, 4, 0, 0, 0,
|
||||
0, 0, 0, 0, 11, 0, 36, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 1, 76, 0, 0, 0,
|
||||
84, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 1, 104, 0, 0, 0, 136, 0, 0, 0, 0, 0,
|
||||
80, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 8, 64, 2, 0, 5, 0, 6, 0, 0, 0, 3, 0, 0, 0, 108, 0, 0, 0, 112, 0,
|
||||
0, 0, 128, 0, 0, 0, 2, 0, 0, 0, 52, 0, 0, 0, 60, 0, 0, 0, 2, 0, 0, 0,
|
||||
10, 0, 20, 0, 30, 0, 40, 0, 168, 255, 255, 255, 4, 0, 0, 0, 4, 0, 0, 0,
|
||||
70, 114, 101, 100, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 2, 3, 4, 0, 0, 0, 5, 0,
|
||||
0, 0, 116, 101, 115, 116, 50, 0, 0, 0, 5, 0, 0, 0, 116, 101, 115, 116,
|
||||
49, 0, 0, 0, 9, 0, 0, 0, 77, 121, 77, 111, 110, 115, 116, 101, 114, 0,
|
||||
0, 0, 240, 255, 255, 255, 32, 0, 0, 0, 248, 255, 255, 255, 36, 0, 0, 0,
|
||||
12, 0, 8, 0, 0, 0, 0, 0, 0, 0, 4, 0, 12, 0, 0, 0, 28, 0, 0, 0, 5, 0, 0,
|
||||
0, 87, 105, 108, 109, 97, 0, 0, 0, 6, 0, 0, 0, 66, 97, 114, 110, 101,
|
||||
121, 0, 0, 5, 0, 0, 0, 70, 114, 111, 100, 111, 0, 0, 0])
|
||||
29
tests/nim/tests/optional_scalars/test.nim
Normal file
29
tests/nim/tests/optional_scalars/test.nim
Normal file
@@ -0,0 +1,29 @@
|
||||
discard """
|
||||
action: "run"
|
||||
exitcode: 0
|
||||
timeout: 60.0
|
||||
"""
|
||||
import std/unittest
|
||||
import std/options
|
||||
import flatbuffers
|
||||
import ../../../optional_scalars/ScalarStuff
|
||||
|
||||
|
||||
suite "TestOptionalScalars":
|
||||
|
||||
test "OptionalScalars":
|
||||
var builder = newBuilder(1024)
|
||||
builder.ScalarStuffStart()
|
||||
let root = builder.ScalarStuffEnd()
|
||||
builder.Finish(root)
|
||||
|
||||
var optionals: ScalarStuff
|
||||
optionals.GetRootAs(builder.FinishedBytes(), 0)
|
||||
|
||||
# Creates a flatbuffer with optional values.
|
||||
check(optionals.justI8 == 0)
|
||||
check(optionals.maybeF32.isNone)
|
||||
check(optionals.defaultBool == true)
|
||||
check(optionals.justU16 == 0)
|
||||
check(optionals.maybeEnum.isNone)
|
||||
check(optionals.defaultU64 == 42)
|
||||
14
tests/optional_scalars/OptionalByte.nim
Normal file
14
tests/optional_scalars/OptionalByte.nim
Normal file
@@ -0,0 +1,14 @@
|
||||
#[ optional_scalars.OptionalByte
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : optional_scalars.ScalarStuff ()
|
||||
]#
|
||||
|
||||
type OptionalByte*{.pure.} = enum
|
||||
None = 0.int8,
|
||||
One = 1.int8,
|
||||
Two = 2.int8,
|
||||
331
tests/optional_scalars/ScalarStuff.nim
Normal file
331
tests/optional_scalars/ScalarStuff.nim
Normal file
@@ -0,0 +1,331 @@
|
||||
#[ optional_scalars.ScalarStuff
|
||||
Automatically generated by the FlatBuffers compiler, do not modify.
|
||||
Or modify. I'm a message, not a cop.
|
||||
|
||||
flatc version: 22.9.29
|
||||
|
||||
Declared by :
|
||||
Rooting type : optional_scalars.ScalarStuff ()
|
||||
]#
|
||||
|
||||
import OptionalByte as optional_scalars_OptionalByte
|
||||
import flatbuffers
|
||||
import std/options
|
||||
|
||||
type ScalarStuff* = object of FlatObj
|
||||
func justI8*(self: ScalarStuff): int8 =
|
||||
let o = self.tab.Offset(4)
|
||||
if o != 0:
|
||||
return Get[int8](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `justI8=`*(self: var ScalarStuff, n: int8): bool =
|
||||
return self.tab.MutateSlot(4, n)
|
||||
func maybeI8*(self: ScalarStuff): Option[int8] =
|
||||
let o = self.tab.Offset(6)
|
||||
if o != 0:
|
||||
return some(Get[int8](self.tab, self.tab.Pos + o))
|
||||
func `maybeI8=`*(self: var ScalarStuff, n: Option[int8]): bool =
|
||||
return self.tab.MutateSlot(6, n)
|
||||
func defaultI8*(self: ScalarStuff): int8 =
|
||||
let o = self.tab.Offset(8)
|
||||
if o != 0:
|
||||
return Get[int8](self.tab, self.tab.Pos + o)
|
||||
return 42
|
||||
func `defaultI8=`*(self: var ScalarStuff, n: int8): bool =
|
||||
return self.tab.MutateSlot(8, n)
|
||||
func justU8*(self: ScalarStuff): uint8 =
|
||||
let o = self.tab.Offset(10)
|
||||
if o != 0:
|
||||
return Get[uint8](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `justU8=`*(self: var ScalarStuff, n: uint8): bool =
|
||||
return self.tab.MutateSlot(10, n)
|
||||
func maybeU8*(self: ScalarStuff): Option[uint8] =
|
||||
let o = self.tab.Offset(12)
|
||||
if o != 0:
|
||||
return some(Get[uint8](self.tab, self.tab.Pos + o))
|
||||
func `maybeU8=`*(self: var ScalarStuff, n: Option[uint8]): bool =
|
||||
return self.tab.MutateSlot(12, n)
|
||||
func defaultU8*(self: ScalarStuff): uint8 =
|
||||
let o = self.tab.Offset(14)
|
||||
if o != 0:
|
||||
return Get[uint8](self.tab, self.tab.Pos + o)
|
||||
return 42
|
||||
func `defaultU8=`*(self: var ScalarStuff, n: uint8): bool =
|
||||
return self.tab.MutateSlot(14, n)
|
||||
func justI16*(self: ScalarStuff): int16 =
|
||||
let o = self.tab.Offset(16)
|
||||
if o != 0:
|
||||
return Get[int16](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `justI16=`*(self: var ScalarStuff, n: int16): bool =
|
||||
return self.tab.MutateSlot(16, n)
|
||||
func maybeI16*(self: ScalarStuff): Option[int16] =
|
||||
let o = self.tab.Offset(18)
|
||||
if o != 0:
|
||||
return some(Get[int16](self.tab, self.tab.Pos + o))
|
||||
func `maybeI16=`*(self: var ScalarStuff, n: Option[int16]): bool =
|
||||
return self.tab.MutateSlot(18, n)
|
||||
func defaultI16*(self: ScalarStuff): int16 =
|
||||
let o = self.tab.Offset(20)
|
||||
if o != 0:
|
||||
return Get[int16](self.tab, self.tab.Pos + o)
|
||||
return 42
|
||||
func `defaultI16=`*(self: var ScalarStuff, n: int16): bool =
|
||||
return self.tab.MutateSlot(20, n)
|
||||
func justU16*(self: ScalarStuff): uint16 =
|
||||
let o = self.tab.Offset(22)
|
||||
if o != 0:
|
||||
return Get[uint16](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `justU16=`*(self: var ScalarStuff, n: uint16): bool =
|
||||
return self.tab.MutateSlot(22, n)
|
||||
func maybeU16*(self: ScalarStuff): Option[uint16] =
|
||||
let o = self.tab.Offset(24)
|
||||
if o != 0:
|
||||
return some(Get[uint16](self.tab, self.tab.Pos + o))
|
||||
func `maybeU16=`*(self: var ScalarStuff, n: Option[uint16]): bool =
|
||||
return self.tab.MutateSlot(24, n)
|
||||
func defaultU16*(self: ScalarStuff): uint16 =
|
||||
let o = self.tab.Offset(26)
|
||||
if o != 0:
|
||||
return Get[uint16](self.tab, self.tab.Pos + o)
|
||||
return 42
|
||||
func `defaultU16=`*(self: var ScalarStuff, n: uint16): bool =
|
||||
return self.tab.MutateSlot(26, n)
|
||||
func justI32*(self: ScalarStuff): int32 =
|
||||
let o = self.tab.Offset(28)
|
||||
if o != 0:
|
||||
return Get[int32](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `justI32=`*(self: var ScalarStuff, n: int32): bool =
|
||||
return self.tab.MutateSlot(28, n)
|
||||
func maybeI32*(self: ScalarStuff): Option[int32] =
|
||||
let o = self.tab.Offset(30)
|
||||
if o != 0:
|
||||
return some(Get[int32](self.tab, self.tab.Pos + o))
|
||||
func `maybeI32=`*(self: var ScalarStuff, n: Option[int32]): bool =
|
||||
return self.tab.MutateSlot(30, n)
|
||||
func defaultI32*(self: ScalarStuff): int32 =
|
||||
let o = self.tab.Offset(32)
|
||||
if o != 0:
|
||||
return Get[int32](self.tab, self.tab.Pos + o)
|
||||
return 42
|
||||
func `defaultI32=`*(self: var ScalarStuff, n: int32): bool =
|
||||
return self.tab.MutateSlot(32, n)
|
||||
func justU32*(self: ScalarStuff): uint32 =
|
||||
let o = self.tab.Offset(34)
|
||||
if o != 0:
|
||||
return Get[uint32](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `justU32=`*(self: var ScalarStuff, n: uint32): bool =
|
||||
return self.tab.MutateSlot(34, n)
|
||||
func maybeU32*(self: ScalarStuff): Option[uint32] =
|
||||
let o = self.tab.Offset(36)
|
||||
if o != 0:
|
||||
return some(Get[uint32](self.tab, self.tab.Pos + o))
|
||||
func `maybeU32=`*(self: var ScalarStuff, n: Option[uint32]): bool =
|
||||
return self.tab.MutateSlot(36, n)
|
||||
func defaultU32*(self: ScalarStuff): uint32 =
|
||||
let o = self.tab.Offset(38)
|
||||
if o != 0:
|
||||
return Get[uint32](self.tab, self.tab.Pos + o)
|
||||
return 42
|
||||
func `defaultU32=`*(self: var ScalarStuff, n: uint32): bool =
|
||||
return self.tab.MutateSlot(38, n)
|
||||
func justI64*(self: ScalarStuff): int64 =
|
||||
let o = self.tab.Offset(40)
|
||||
if o != 0:
|
||||
return Get[int64](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `justI64=`*(self: var ScalarStuff, n: int64): bool =
|
||||
return self.tab.MutateSlot(40, n)
|
||||
func maybeI64*(self: ScalarStuff): Option[int64] =
|
||||
let o = self.tab.Offset(42)
|
||||
if o != 0:
|
||||
return some(Get[int64](self.tab, self.tab.Pos + o))
|
||||
func `maybeI64=`*(self: var ScalarStuff, n: Option[int64]): bool =
|
||||
return self.tab.MutateSlot(42, n)
|
||||
func defaultI64*(self: ScalarStuff): int64 =
|
||||
let o = self.tab.Offset(44)
|
||||
if o != 0:
|
||||
return Get[int64](self.tab, self.tab.Pos + o)
|
||||
return 42
|
||||
func `defaultI64=`*(self: var ScalarStuff, n: int64): bool =
|
||||
return self.tab.MutateSlot(44, n)
|
||||
func justU64*(self: ScalarStuff): uint64 =
|
||||
let o = self.tab.Offset(46)
|
||||
if o != 0:
|
||||
return Get[uint64](self.tab, self.tab.Pos + o)
|
||||
return 0
|
||||
func `justU64=`*(self: var ScalarStuff, n: uint64): bool =
|
||||
return self.tab.MutateSlot(46, n)
|
||||
func maybeU64*(self: ScalarStuff): Option[uint64] =
|
||||
let o = self.tab.Offset(48)
|
||||
if o != 0:
|
||||
return some(Get[uint64](self.tab, self.tab.Pos + o))
|
||||
func `maybeU64=`*(self: var ScalarStuff, n: Option[uint64]): bool =
|
||||
return self.tab.MutateSlot(48, n)
|
||||
func defaultU64*(self: ScalarStuff): uint64 =
|
||||
let o = self.tab.Offset(50)
|
||||
if o != 0:
|
||||
return Get[uint64](self.tab, self.tab.Pos + o)
|
||||
return 42
|
||||
func `defaultU64=`*(self: var ScalarStuff, n: uint64): bool =
|
||||
return self.tab.MutateSlot(50, n)
|
||||
func justF32*(self: ScalarStuff): float32 =
|
||||
let o = self.tab.Offset(52)
|
||||
if o != 0:
|
||||
return Get[float32](self.tab, self.tab.Pos + o)
|
||||
return 0.0
|
||||
func `justF32=`*(self: var ScalarStuff, n: float32): bool =
|
||||
return self.tab.MutateSlot(52, n)
|
||||
func maybeF32*(self: ScalarStuff): Option[float32] =
|
||||
let o = self.tab.Offset(54)
|
||||
if o != 0:
|
||||
return some(Get[float32](self.tab, self.tab.Pos + o))
|
||||
func `maybeF32=`*(self: var ScalarStuff, n: Option[float32]): bool =
|
||||
return self.tab.MutateSlot(54, n)
|
||||
func defaultF32*(self: ScalarStuff): float32 =
|
||||
let o = self.tab.Offset(56)
|
||||
if o != 0:
|
||||
return Get[float32](self.tab, self.tab.Pos + o)
|
||||
return 42.0
|
||||
func `defaultF32=`*(self: var ScalarStuff, n: float32): bool =
|
||||
return self.tab.MutateSlot(56, n)
|
||||
func justF64*(self: ScalarStuff): float64 =
|
||||
let o = self.tab.Offset(58)
|
||||
if o != 0:
|
||||
return Get[float64](self.tab, self.tab.Pos + o)
|
||||
return 0.0
|
||||
func `justF64=`*(self: var ScalarStuff, n: float64): bool =
|
||||
return self.tab.MutateSlot(58, n)
|
||||
func maybeF64*(self: ScalarStuff): Option[float64] =
|
||||
let o = self.tab.Offset(60)
|
||||
if o != 0:
|
||||
return some(Get[float64](self.tab, self.tab.Pos + o))
|
||||
func `maybeF64=`*(self: var ScalarStuff, n: Option[float64]): bool =
|
||||
return self.tab.MutateSlot(60, n)
|
||||
func defaultF64*(self: ScalarStuff): float64 =
|
||||
let o = self.tab.Offset(62)
|
||||
if o != 0:
|
||||
return Get[float64](self.tab, self.tab.Pos + o)
|
||||
return 42.0
|
||||
func `defaultF64=`*(self: var ScalarStuff, n: float64): bool =
|
||||
return self.tab.MutateSlot(62, n)
|
||||
func justBool*(self: ScalarStuff): bool =
|
||||
let o = self.tab.Offset(64)
|
||||
if o != 0:
|
||||
return Get[bool](self.tab, self.tab.Pos + o)
|
||||
return false
|
||||
func `justBool=`*(self: var ScalarStuff, n: bool): bool =
|
||||
return self.tab.MutateSlot(64, n)
|
||||
func maybeBool*(self: ScalarStuff): Option[bool] =
|
||||
let o = self.tab.Offset(66)
|
||||
if o != 0:
|
||||
return some(Get[bool](self.tab, self.tab.Pos + o))
|
||||
func `maybeBool=`*(self: var ScalarStuff, n: Option[bool]): bool =
|
||||
return self.tab.MutateSlot(66, n)
|
||||
func defaultBool*(self: ScalarStuff): bool =
|
||||
let o = self.tab.Offset(68)
|
||||
if o != 0:
|
||||
return Get[bool](self.tab, self.tab.Pos + o)
|
||||
return true
|
||||
func `defaultBool=`*(self: var ScalarStuff, n: bool): bool =
|
||||
return self.tab.MutateSlot(68, n)
|
||||
func justEnum*(self: ScalarStuff): optional_scalars_OptionalByte.OptionalByte =
|
||||
let o = self.tab.Offset(70)
|
||||
if o != 0:
|
||||
return optional_scalars_OptionalByte.OptionalByte(Get[int8](self.tab, self.tab.Pos + o))
|
||||
return type(result)(0)
|
||||
func `justEnum=`*(self: var ScalarStuff, n: optional_scalars_OptionalByte.OptionalByte): bool =
|
||||
return self.tab.MutateSlot(70, n)
|
||||
func maybeEnum*(self: ScalarStuff): Option[optional_scalars_OptionalByte.OptionalByte] =
|
||||
let o = self.tab.Offset(72)
|
||||
if o != 0:
|
||||
return some(optional_scalars_OptionalByte.OptionalByte(Get[int8](self.tab, self.tab.Pos + o)))
|
||||
func `maybeEnum=`*(self: var ScalarStuff, n: Option[optional_scalars_OptionalByte.OptionalByte]): bool =
|
||||
return self.tab.MutateSlot(72, n)
|
||||
func defaultEnum*(self: ScalarStuff): optional_scalars_OptionalByte.OptionalByte =
|
||||
let o = self.tab.Offset(74)
|
||||
if o != 0:
|
||||
return optional_scalars_OptionalByte.OptionalByte(Get[int8](self.tab, self.tab.Pos + o))
|
||||
return type(result)(1)
|
||||
func `defaultEnum=`*(self: var ScalarStuff, n: optional_scalars_OptionalByte.OptionalByte): bool =
|
||||
return self.tab.MutateSlot(74, n)
|
||||
proc ScalarStuffStart*(builder: var Builder) =
|
||||
builder.StartObject(36)
|
||||
proc ScalarStuffAddjustI8*(builder: var Builder, justI8: int8) =
|
||||
builder.PrependSlot(0, justI8, default(int8))
|
||||
proc ScalarStuffAddmaybeI8*(builder: var Builder, maybeI8: int8) =
|
||||
builder.PrependSlot(1, maybeI8, default(int8))
|
||||
proc ScalarStuffAdddefaultI8*(builder: var Builder, defaultI8: int8) =
|
||||
builder.PrependSlot(2, defaultI8, default(int8))
|
||||
proc ScalarStuffAddjustU8*(builder: var Builder, justU8: uint8) =
|
||||
builder.PrependSlot(3, justU8, default(uint8))
|
||||
proc ScalarStuffAddmaybeU8*(builder: var Builder, maybeU8: uint8) =
|
||||
builder.PrependSlot(4, maybeU8, default(uint8))
|
||||
proc ScalarStuffAdddefaultU8*(builder: var Builder, defaultU8: uint8) =
|
||||
builder.PrependSlot(5, defaultU8, default(uint8))
|
||||
proc ScalarStuffAddjustI16*(builder: var Builder, justI16: int16) =
|
||||
builder.PrependSlot(6, justI16, default(int16))
|
||||
proc ScalarStuffAddmaybeI16*(builder: var Builder, maybeI16: int16) =
|
||||
builder.PrependSlot(7, maybeI16, default(int16))
|
||||
proc ScalarStuffAdddefaultI16*(builder: var Builder, defaultI16: int16) =
|
||||
builder.PrependSlot(8, defaultI16, default(int16))
|
||||
proc ScalarStuffAddjustU16*(builder: var Builder, justU16: uint16) =
|
||||
builder.PrependSlot(9, justU16, default(uint16))
|
||||
proc ScalarStuffAddmaybeU16*(builder: var Builder, maybeU16: uint16) =
|
||||
builder.PrependSlot(10, maybeU16, default(uint16))
|
||||
proc ScalarStuffAdddefaultU16*(builder: var Builder, defaultU16: uint16) =
|
||||
builder.PrependSlot(11, defaultU16, default(uint16))
|
||||
proc ScalarStuffAddjustI32*(builder: var Builder, justI32: int32) =
|
||||
builder.PrependSlot(12, justI32, default(int32))
|
||||
proc ScalarStuffAddmaybeI32*(builder: var Builder, maybeI32: int32) =
|
||||
builder.PrependSlot(13, maybeI32, default(int32))
|
||||
proc ScalarStuffAdddefaultI32*(builder: var Builder, defaultI32: int32) =
|
||||
builder.PrependSlot(14, defaultI32, default(int32))
|
||||
proc ScalarStuffAddjustU32*(builder: var Builder, justU32: uint32) =
|
||||
builder.PrependSlot(15, justU32, default(uint32))
|
||||
proc ScalarStuffAddmaybeU32*(builder: var Builder, maybeU32: uint32) =
|
||||
builder.PrependSlot(16, maybeU32, default(uint32))
|
||||
proc ScalarStuffAdddefaultU32*(builder: var Builder, defaultU32: uint32) =
|
||||
builder.PrependSlot(17, defaultU32, default(uint32))
|
||||
proc ScalarStuffAddjustI64*(builder: var Builder, justI64: int64) =
|
||||
builder.PrependSlot(18, justI64, default(int64))
|
||||
proc ScalarStuffAddmaybeI64*(builder: var Builder, maybeI64: int64) =
|
||||
builder.PrependSlot(19, maybeI64, default(int64))
|
||||
proc ScalarStuffAdddefaultI64*(builder: var Builder, defaultI64: int64) =
|
||||
builder.PrependSlot(20, defaultI64, default(int64))
|
||||
proc ScalarStuffAddjustU64*(builder: var Builder, justU64: uint64) =
|
||||
builder.PrependSlot(21, justU64, default(uint64))
|
||||
proc ScalarStuffAddmaybeU64*(builder: var Builder, maybeU64: uint64) =
|
||||
builder.PrependSlot(22, maybeU64, default(uint64))
|
||||
proc ScalarStuffAdddefaultU64*(builder: var Builder, defaultU64: uint64) =
|
||||
builder.PrependSlot(23, defaultU64, default(uint64))
|
||||
proc ScalarStuffAddjustF32*(builder: var Builder, justF32: float32) =
|
||||
builder.PrependSlot(24, justF32, default(float32))
|
||||
proc ScalarStuffAddmaybeF32*(builder: var Builder, maybeF32: float32) =
|
||||
builder.PrependSlot(25, maybeF32, default(float32))
|
||||
proc ScalarStuffAdddefaultF32*(builder: var Builder, defaultF32: float32) =
|
||||
builder.PrependSlot(26, defaultF32, default(float32))
|
||||
proc ScalarStuffAddjustF64*(builder: var Builder, justF64: float64) =
|
||||
builder.PrependSlot(27, justF64, default(float64))
|
||||
proc ScalarStuffAddmaybeF64*(builder: var Builder, maybeF64: float64) =
|
||||
builder.PrependSlot(28, maybeF64, default(float64))
|
||||
proc ScalarStuffAdddefaultF64*(builder: var Builder, defaultF64: float64) =
|
||||
builder.PrependSlot(29, defaultF64, default(float64))
|
||||
proc ScalarStuffAddjustBool*(builder: var Builder, justBool: bool) =
|
||||
builder.PrependSlot(30, justBool, default(bool))
|
||||
proc ScalarStuffAddmaybeBool*(builder: var Builder, maybeBool: bool) =
|
||||
builder.PrependSlot(31, maybeBool, default(bool))
|
||||
proc ScalarStuffAdddefaultBool*(builder: var Builder, defaultBool: bool) =
|
||||
builder.PrependSlot(32, defaultBool, default(bool))
|
||||
proc ScalarStuffAddjustEnum*(builder: var Builder, justEnum: int8) =
|
||||
builder.PrependSlot(33, justEnum, default(int8))
|
||||
proc ScalarStuffAddmaybeEnum*(builder: var Builder, maybeEnum: int8) =
|
||||
builder.PrependSlot(34, maybeEnum, default(int8))
|
||||
proc ScalarStuffAdddefaultEnum*(builder: var Builder, defaultEnum: int8) =
|
||||
builder.PrependSlot(35, defaultEnum, default(int8))
|
||||
proc ScalarStuffEnd*(builder: var Builder): uoffset =
|
||||
return builder.EndObject()
|
||||
Reference in New Issue
Block a user