mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-29 02:40:01 +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:
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()
|
||||
Reference in New Issue
Block a user