mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-30 20:10:02 +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:
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