Squashed 'third_party/flatbuffers/' changes from bc44fad35..8aa8b9139
8aa8b9139 Fix handling of +/-inf defaults in TS/rust/go/dart codegen (#7588)
001adf782 Add support for parsing proto map fields (#7613)
dbc58ab77 Fix help output for --gen-includes (#7611)
2facfeec7 Fix missing spaces in flatc help text (#7612)
4de2814c7 Fix: arduino platform build (#7625)
37b1acdaf Fix current official name of macOS (#7627)
a22434e2a Add missing #include <algorithm> for std::min/std::max uses, and #include <limits> for std::numeric_limits<> (#7624)
214cc9468 Bump Rust version to 22.10.26 before publication (#7622)
a4ff275d9 Added option to not requires an EoF token when parsing JSON (#7620)
15f32c690 python: object generation prefix and suffix (#7565)
051afd882 Add CreateSharedString to python builder (#7608)
728c033ad Add check for presence of realpath to CMakeLists.txt to support more platforms (#7603)
4c514483d Update DartTest.sh golden files (#7606)
c2d9c2080 [TS] Add support for fixed length arrays on Typescript (#5864) (#7021) (#7581)
e34ae4c6b `build.yml`: Fix missing 'v' in version
e54536127 `build.yml` Update to Kotlin Wrapper 1.0.5
49d9f941c `release.yml` Use env var for passphrase
cefc21c1f `release.yml` Add GPG key for Maven
3e64fa724 `release.yml`: Add Maven Steps
b15f3c57e `release_yml` Use new dotnet version
ff802c680 `release.yml` Use NuGet Key directly
b401957d5 `release.yml` Changed Push to follow examples
8c8151f8f `release.yml` Fix nuget push command
ebb7c203d `release.yml` Add Nuget support
203241ed3 FlatBuffers Version 22.10.26 (#7607)
ac485609c `setup.py`: Define version directly
de5b85aa6 `release.yml`: Switch to `python` directory
de3df2d88 `release.yml`: Add publishing to PyPi
043a24f2e [Python] Fixed the issue with nested unions relying on InitFromBuf. (#7576)
5a48b0d7d release.yml: Typo
ce307556f release.yml: Remove `npm ci`
cb616e27c Create release.yml (#7605)
a54ca1e75 FlatBuffers Version 22.10.25 (#7604)
5b3fadcc1 [vector] Allow to iterate with mutables (#7586)
872a49746 [Nim] Bfbs Nim Generator (#7534)
e30170296 Make type conversions explicit. (#7595)
f7b734438 Fix LongEnum definitions (#7596)
5792623df Rust fix compilation for no_std targets #2 (#7553)
0edb27528 Update Rust version (#7574)
acc6a20d3 tests/test.cpp contains a couple of tests that are only executed (#7571)
04cd037ba Fix #7580 by documenting union schema evolution rules (#7585)
e1c5db988 Turn on clippy for Rust and fix lints for non-generated code (#7575)
b80142b90 Update documentation to mention enum value attributes (#7570)
54418f371 Add support for metadata attributes for enum values (#7567) (#7568)
c92e78a9f FlatBuffers Version 22.9.29 (#7557)
d243b904c [TS] Make strict compliant and improve typings (#7549)
374f8fb5f Rust soundness fixes (#7518)
dadbff571 Moves swift package to root of repository so it can be used directly … (#7548)
76ddae006 FlatBuffers Version 22.9.24 (#7547)
cfe157ec5 Emit internal enums when swift_implementation_only (#7545)
413115858 [Python] Python fixed size array (#7529)
88046190e Upgrade grpc to 1.49.0 and make sure it builds (#7538)
72aa85a75 [C++] Rare bad buffer content alignment if sizeof(T) != alignof(T) (#7520)
bfceebb7f Fix conform (#7532)
git-subtree-dir: third_party/flatbuffers
git-subtree-split: 8aa8b9139eb330f27816a5b8b5bbef402fbe3632
Signed-off-by: James Kuszmaul <james.kuszmaul@bluerivertech.com>
Change-Id: I943faba499baf58e9f561b1e4734922188ba8626
diff --git a/tests/MyGame/Example/Ability.lua b/tests/MyGame/Example/Ability.lua
index 01c7480..223c6f0 100644
--- a/tests/MyGame/Example/Ability.lua
+++ b/tests/MyGame/Example/Ability.lua
@@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.
- flatc version: 2.0.8
+ flatc version: 22.10.26
Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
diff --git a/tests/MyGame/Example/Ability.nim b/tests/MyGame/Example/Ability.nim
new file mode 100644
index 0000000..987a0bc
--- /dev/null
+++ b/tests/MyGame/Example/Ability.nim
@@ -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.10.26
+
+ 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()
diff --git a/tests/MyGame/Example/Ability.py b/tests/MyGame/Example/Ability.py
index e57dfd7..e0344e5 100644
--- a/tests/MyGame/Example/Ability.py
+++ b/tests/MyGame/Example/Ability.py
@@ -43,6 +43,11 @@
return cls.InitFromObj(ability)
@classmethod
+ def InitFromPackedBuf(cls, buf, pos=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
+ return cls.InitFromBuf(buf, pos+n)
+
+ @classmethod
def InitFromObj(cls, ability):
x = AbilityT()
x._UnPack(ability)
diff --git a/tests/MyGame/Example/Any.lua b/tests/MyGame/Example/Any.lua
index b99f4c6..8aa73ee 100644
--- a/tests/MyGame/Example/Any.lua
+++ b/tests/MyGame/Example/Any.lua
@@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.
- flatc version: 2.0.8
+ flatc version: 22.10.26
Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
diff --git a/tests/MyGame/Example/Any.nim b/tests/MyGame/Example/Any.nim
new file mode 100644
index 0000000..977d419
--- /dev/null
+++ b/tests/MyGame/Example/Any.nim
@@ -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.10.26
+
+ Declared by :
+ Rooting type : MyGame.Example.Monster ()
+]#
+
+type Any*{.pure.} = enum
+ None = 0.uint8,
+ Monster = 1.uint8,
+ TestSimpleTableWithEnum = 2.uint8,
+ MyGameExample2Monster = 3.uint8,
diff --git a/tests/MyGame/Example/AnyAmbiguousAliases.lua b/tests/MyGame/Example/AnyAmbiguousAliases.lua
index 0d6106c..226055c 100644
--- a/tests/MyGame/Example/AnyAmbiguousAliases.lua
+++ b/tests/MyGame/Example/AnyAmbiguousAliases.lua
@@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.
- flatc version: 2.0.8
+ flatc version: 22.10.26
Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
diff --git a/tests/MyGame/Example/AnyAmbiguousAliases.nim b/tests/MyGame/Example/AnyAmbiguousAliases.nim
new file mode 100644
index 0000000..e8fd6c9
--- /dev/null
+++ b/tests/MyGame/Example/AnyAmbiguousAliases.nim
@@ -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.10.26
+
+ Declared by :
+ Rooting type : MyGame.Example.Monster ()
+]#
+
+type AnyAmbiguousAliases*{.pure.} = enum
+ None = 0.uint8,
+ M1 = 1.uint8,
+ M2 = 2.uint8,
+ M3 = 3.uint8,
diff --git a/tests/MyGame/Example/AnyUniqueAliases.lua b/tests/MyGame/Example/AnyUniqueAliases.lua
index 7ab4f9c..159028b 100644
--- a/tests/MyGame/Example/AnyUniqueAliases.lua
+++ b/tests/MyGame/Example/AnyUniqueAliases.lua
@@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.
- flatc version: 2.0.8
+ flatc version: 22.10.26
Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
diff --git a/tests/MyGame/Example/AnyUniqueAliases.nim b/tests/MyGame/Example/AnyUniqueAliases.nim
new file mode 100644
index 0000000..b31caf1
--- /dev/null
+++ b/tests/MyGame/Example/AnyUniqueAliases.nim
@@ -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.10.26
+
+ Declared by :
+ Rooting type : MyGame.Example.Monster ()
+]#
+
+type AnyUniqueAliases*{.pure.} = enum
+ None = 0.uint8,
+ M = 1.uint8,
+ Ts = 2.uint8,
+ M2 = 3.uint8,
diff --git a/tests/MyGame/Example/ArrayStruct.py b/tests/MyGame/Example/ArrayStruct.py
index c80bf68..d80f842 100644
--- a/tests/MyGame/Example/ArrayStruct.py
+++ b/tests/MyGame/Example/ArrayStruct.py
@@ -20,53 +20,65 @@
# ArrayStruct
def A(self): return self._tab.Get(flatbuffers.number_types.Float32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(0))
# ArrayStruct
- def B(self): return [self._tab.Get(flatbuffers.number_types.Int32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(4 + i * 4)) for i in range(15)]
+ def B(self, j = None):
+ if j is None:
+ return [self._tab.Get(flatbuffers.number_types.Int32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(4 + i * 4)) for i in range(self.BLength())]
+ elif j >= 0 and j < self.BLength():
+ return self._tab.Get(flatbuffers.number_types.Int32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(4 + j * 4))
+ else:
+ return None
+
+ # ArrayStruct
+ def BAsNumpy(self):
+ return self._tab.GetArrayAsNumpy(flatbuffers.number_types.Int32Flags, self._tab.Pos + 4, self.BLength())
+
# ArrayStruct
def BLength(self):
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
- if o != 0:
- return self._tab.VectorLen(o)
- return 0
+ return 15
# ArrayStruct
def BIsNone(self):
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
- return o == 0
+ return False
# ArrayStruct
def C(self): return self._tab.Get(flatbuffers.number_types.Int8Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(64))
# ArrayStruct
- def D(self, obj, i):
+ def D(self, i: int):
+ from MyGame.Example.NestedStruct import NestedStruct
+ obj = NestedStruct()
obj.Init(self._tab.Bytes, self._tab.Pos + 72 + i * 32)
return obj
# ArrayStruct
def DLength(self):
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(72))
- if o != 0:
- return self._tab.VectorLen(o)
- return 0
+ return 2
# ArrayStruct
def DIsNone(self):
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(72))
- return o == 0
+ return False
# ArrayStruct
def E(self): return self._tab.Get(flatbuffers.number_types.Int32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(136))
# ArrayStruct
- def F(self): return [self._tab.Get(flatbuffers.number_types.Int64Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(144 + i * 8)) for i in range(2)]
+ def F(self, j = None):
+ if j is None:
+ return [self._tab.Get(flatbuffers.number_types.Int64Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(144 + i * 8)) for i in range(self.FLength())]
+ elif j >= 0 and j < self.FLength():
+ return self._tab.Get(flatbuffers.number_types.Int64Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(144 + j * 8))
+ else:
+ return None
+
+ # ArrayStruct
+ def FAsNumpy(self):
+ return self._tab.GetArrayAsNumpy(flatbuffers.number_types.Int64Flags, self._tab.Pos + 144, self.FLength())
+
# ArrayStruct
def FLength(self):
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(144))
- if o != 0:
- return self._tab.VectorLen(o)
- return 0
+ return 2
# ArrayStruct
def FIsNone(self):
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(144))
- return o == 0
+ return False
def CreateArrayStruct(builder, a, b, c, d_a, d_b, d_c, d_d, e, f):
@@ -116,6 +128,11 @@
return cls.InitFromObj(arrayStruct)
@classmethod
+ def InitFromPackedBuf(cls, buf, pos=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
+ return cls.InitFromBuf(buf, pos+n)
+
+ @classmethod
def InitFromObj(cls, arrayStruct):
x = ArrayStructT()
x._UnPack(arrayStruct)
@@ -137,7 +154,11 @@
if not arrayStruct.DIsNone():
self.d = []
for i in range(arrayStruct.DLength()):
- self.d.append(arrayStruct.D(i))
+ if arrayStruct.D(i) is None:
+ self.d.append(None)
+ else:
+ nestedStruct_ = MyGame.Example.NestedStruct.NestedStructT.InitFromObj(arrayStruct.D(i))
+ self.d.append(nestedStruct_)
self.e = arrayStruct.E()
if not arrayStruct.FIsNone():
if np is None:
diff --git a/tests/MyGame/Example/ArrayTable.cs b/tests/MyGame/Example/ArrayTable.cs
index a5e4e79..1af6c28 100644
--- a/tests/MyGame/Example/ArrayTable.cs
+++ b/tests/MyGame/Example/ArrayTable.cs
@@ -13,7 +13,7 @@
{
private Table __p;
public ByteBuffer ByteBuffer { get { return __p.bb; } }
- public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_8(); }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_22_10_26(); }
public static ArrayTable GetRootAsArrayTable(ByteBuffer _bb) { return GetRootAsArrayTable(_bb, new ArrayTable()); }
public static ArrayTable GetRootAsArrayTable(ByteBuffer _bb, ArrayTable obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
public static bool ArrayTableBufferHasIdentifier(ByteBuffer _bb) { return Table.__has_identifier(_bb, "ARRT"); }
diff --git a/tests/MyGame/Example/ArrayTable.java b/tests/MyGame/Example/ArrayTable.java
index c255da3..1291eaf 100644
--- a/tests/MyGame/Example/ArrayTable.java
+++ b/tests/MyGame/Example/ArrayTable.java
@@ -9,7 +9,7 @@
@SuppressWarnings("unused")
public final class ArrayTable extends Table {
- public static void ValidateVersion() { Constants.FLATBUFFERS_2_0_8(); }
+ public static void ValidateVersion() { Constants.FLATBUFFERS_22_10_26(); }
public static ArrayTable getRootAsArrayTable(ByteBuffer _bb) { return getRootAsArrayTable(_bb, new ArrayTable()); }
public static ArrayTable getRootAsArrayTable(ByteBuffer _bb, ArrayTable obj) { _bb.order(ByteOrder.LITTLE_ENDIAN); return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb)); }
public static boolean ArrayTableBufferHasIdentifier(ByteBuffer _bb) { return __has_identifier(_bb, "ARRT"); }
diff --git a/tests/MyGame/Example/ArrayTable.py b/tests/MyGame/Example/ArrayTable.py
index 62d71af..b7a3ac5 100644
--- a/tests/MyGame/Example/ArrayTable.py
+++ b/tests/MyGame/Example/ArrayTable.py
@@ -67,6 +67,11 @@
return cls.InitFromObj(arrayTable)
@classmethod
+ def InitFromPackedBuf(cls, buf, pos=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
+ return cls.InitFromBuf(buf, pos+n)
+
+ @classmethod
def InitFromObj(cls, arrayTable):
x = ArrayTableT()
x._UnPack(arrayTable)
diff --git a/tests/MyGame/Example/Color.lua b/tests/MyGame/Example/Color.lua
index c7a0b1e..35a58dc 100644
--- a/tests/MyGame/Example/Color.lua
+++ b/tests/MyGame/Example/Color.lua
@@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.
- flatc version: 2.0.8
+ flatc version: 22.10.26
Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
diff --git a/tests/MyGame/Example/Color.nim b/tests/MyGame/Example/Color.nim
new file mode 100644
index 0000000..3c94beb
--- /dev/null
+++ b/tests/MyGame/Example/Color.nim
@@ -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.10.26
+
+ 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,
diff --git a/tests/MyGame/Example/LongEnum.java b/tests/MyGame/Example/LongEnum.java
index 4640f08..ca2f81a 100644
--- a/tests/MyGame/Example/LongEnum.java
+++ b/tests/MyGame/Example/LongEnum.java
@@ -5,8 +5,8 @@
@SuppressWarnings("unused")
public final class LongEnum {
private LongEnum() { }
- public static final long LongOne = 2;
- public static final long LongTwo = 4;
- public static final long LongBig = 1099511627776;
+ public static final long LongOne = 2L;
+ public static final long LongTwo = 4L;
+ public static final long LongBig = 1099511627776L;
}
diff --git a/tests/MyGame/Example/LongEnum.lua b/tests/MyGame/Example/LongEnum.lua
index a4e3dc5..b7d3367 100644
--- a/tests/MyGame/Example/LongEnum.lua
+++ b/tests/MyGame/Example/LongEnum.lua
@@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.
- flatc version: 2.0.8
+ flatc version: 22.10.26
Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
diff --git a/tests/MyGame/Example/LongEnum.nim b/tests/MyGame/Example/LongEnum.nim
new file mode 100644
index 0000000..2ff5b08
--- /dev/null
+++ b/tests/MyGame/Example/LongEnum.nim
@@ -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.10.26
+
+ Declared by :
+ Rooting type : MyGame.Example.Monster ()
+]#
+
+type LongEnum*{.pure.} = enum
+ LongOne = 2.uint64,
+ LongTwo = 4.uint64,
+ LongBig = 1099511627776.uint64,
diff --git a/tests/MyGame/Example/Monster.cs b/tests/MyGame/Example/Monster.cs
index 87d8ef3..c0f310c 100644
--- a/tests/MyGame/Example/Monster.cs
+++ b/tests/MyGame/Example/Monster.cs
@@ -14,7 +14,7 @@
{
private Table __p;
public ByteBuffer ByteBuffer { get { return __p.bb; } }
- public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_8(); }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_22_10_26(); }
public static Monster GetRootAsMonster(ByteBuffer _bb) { return GetRootAsMonster(_bb, new Monster()); }
public static Monster GetRootAsMonster(ByteBuffer _bb, Monster obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
public static bool MonsterBufferHasIdentifier(ByteBuffer _bb) { return Table.__has_identifier(_bb, "MONS"); }
@@ -215,6 +215,22 @@
public bool MutateLongEnumNonEnumDefault(MyGame.Example.LongEnum long_enum_non_enum_default) { int o = __p.__offset(108); if (o != 0) { __p.bb.PutUlong(o + __p.bb_pos, (ulong)long_enum_non_enum_default); return true; } else { return false; } }
public MyGame.Example.LongEnum LongEnumNormalDefault { get { int o = __p.__offset(110); return o != 0 ? (MyGame.Example.LongEnum)__p.bb.GetUlong(o + __p.bb_pos) : MyGame.Example.LongEnum.LongOne; } }
public bool MutateLongEnumNormalDefault(MyGame.Example.LongEnum long_enum_normal_default) { int o = __p.__offset(110); if (o != 0) { __p.bb.PutUlong(o + __p.bb_pos, (ulong)long_enum_normal_default); return true; } else { return false; } }
+ public float NanDefault { get { int o = __p.__offset(112); return o != 0 ? __p.bb.GetFloat(o + __p.bb_pos) : (float)Single.NaN; } }
+ public bool MutateNanDefault(float nan_default) { int o = __p.__offset(112); if (o != 0) { __p.bb.PutFloat(o + __p.bb_pos, nan_default); return true; } else { return false; } }
+ public float InfDefault { get { int o = __p.__offset(114); return o != 0 ? __p.bb.GetFloat(o + __p.bb_pos) : (float)Single.PositiveInfinity; } }
+ public bool MutateInfDefault(float inf_default) { int o = __p.__offset(114); if (o != 0) { __p.bb.PutFloat(o + __p.bb_pos, inf_default); return true; } else { return false; } }
+ public float PositiveInfDefault { get { int o = __p.__offset(116); return o != 0 ? __p.bb.GetFloat(o + __p.bb_pos) : (float)Single.PositiveInfinity; } }
+ public bool MutatePositiveInfDefault(float positive_inf_default) { int o = __p.__offset(116); if (o != 0) { __p.bb.PutFloat(o + __p.bb_pos, positive_inf_default); return true; } else { return false; } }
+ public float InfinityDefault { get { int o = __p.__offset(118); return o != 0 ? __p.bb.GetFloat(o + __p.bb_pos) : (float)Single.PositiveInfinity; } }
+ public bool MutateInfinityDefault(float infinity_default) { int o = __p.__offset(118); if (o != 0) { __p.bb.PutFloat(o + __p.bb_pos, infinity_default); return true; } else { return false; } }
+ public float PositiveInfinityDefault { get { int o = __p.__offset(120); return o != 0 ? __p.bb.GetFloat(o + __p.bb_pos) : (float)Single.PositiveInfinity; } }
+ public bool MutatePositiveInfinityDefault(float positive_infinity_default) { int o = __p.__offset(120); if (o != 0) { __p.bb.PutFloat(o + __p.bb_pos, positive_infinity_default); return true; } else { return false; } }
+ public float NegativeInfDefault { get { int o = __p.__offset(122); return o != 0 ? __p.bb.GetFloat(o + __p.bb_pos) : (float)Single.NegativeInfinity; } }
+ public bool MutateNegativeInfDefault(float negative_inf_default) { int o = __p.__offset(122); if (o != 0) { __p.bb.PutFloat(o + __p.bb_pos, negative_inf_default); return true; } else { return false; } }
+ public float NegativeInfinityDefault { get { int o = __p.__offset(124); return o != 0 ? __p.bb.GetFloat(o + __p.bb_pos) : (float)Single.NegativeInfinity; } }
+ public bool MutateNegativeInfinityDefault(float negative_infinity_default) { int o = __p.__offset(124); if (o != 0) { __p.bb.PutFloat(o + __p.bb_pos, negative_infinity_default); return true; } else { return false; } }
+ public double DoubleInfDefault { get { int o = __p.__offset(126); return o != 0 ? __p.bb.GetDouble(o + __p.bb_pos) : (double)Double.PositiveInfinity; } }
+ public bool MutateDoubleInfDefault(double double_inf_default) { int o = __p.__offset(126); if (o != 0) { __p.bb.PutDouble(o + __p.bb_pos, double_inf_default); return true; } else { return false; } }
public static Offset<MyGame.Example.Monster> CreateMonster(FlatBufferBuilder builder,
MyGame.Example.Vec3T pos = null,
@@ -269,8 +285,17 @@
VectorOffset scalar_key_sorted_tablesOffset = default(VectorOffset),
MyGame.Example.TestT native_inline = null,
MyGame.Example.LongEnum long_enum_non_enum_default = 0,
- MyGame.Example.LongEnum long_enum_normal_default = MyGame.Example.LongEnum.LongOne) {
- builder.StartTable(54);
+ MyGame.Example.LongEnum long_enum_normal_default = MyGame.Example.LongEnum.LongOne,
+ float nan_default = Single.NaN,
+ float inf_default = Single.PositiveInfinity,
+ float positive_inf_default = Single.PositiveInfinity,
+ float infinity_default = Single.PositiveInfinity,
+ float positive_infinity_default = Single.PositiveInfinity,
+ float negative_inf_default = Single.NegativeInfinity,
+ float negative_infinity_default = Single.NegativeInfinity,
+ double double_inf_default = Double.PositiveInfinity) {
+ builder.StartTable(62);
+ Monster.AddDoubleInfDefault(builder, double_inf_default);
Monster.AddLongEnumNormalDefault(builder, long_enum_normal_default);
Monster.AddLongEnumNonEnumDefault(builder, long_enum_non_enum_default);
Monster.AddNonOwningReference(builder, non_owning_reference);
@@ -280,6 +305,13 @@
Monster.AddTesthashs64Fnv1a(builder, testhashs64_fnv1a);
Monster.AddTesthashu64Fnv1(builder, testhashu64_fnv1);
Monster.AddTesthashs64Fnv1(builder, testhashs64_fnv1);
+ Monster.AddNegativeInfinityDefault(builder, negative_infinity_default);
+ Monster.AddNegativeInfDefault(builder, negative_inf_default);
+ Monster.AddPositiveInfinityDefault(builder, positive_infinity_default);
+ Monster.AddInfinityDefault(builder, infinity_default);
+ Monster.AddPositiveInfDefault(builder, positive_inf_default);
+ Monster.AddInfDefault(builder, inf_default);
+ Monster.AddNanDefault(builder, nan_default);
Monster.AddNativeInline(builder, MyGame.Example.Test.Pack(builder, native_inline));
Monster.AddScalarKeySortedTables(builder, scalar_key_sorted_tablesOffset);
Monster.AddTestrequirednestedflatbuffer(builder, testrequirednestedflatbufferOffset);
@@ -327,7 +359,7 @@
return Monster.EndMonster(builder);
}
- public static void StartMonster(FlatBufferBuilder builder) { builder.StartTable(54); }
+ public static void StartMonster(FlatBufferBuilder builder) { builder.StartTable(62); }
public static void AddPos(FlatBufferBuilder builder, Offset<MyGame.Example.Vec3> posOffset) { builder.AddStruct(0, posOffset.Value, 0); }
public static void AddMana(FlatBufferBuilder builder, short mana) { builder.AddShort(1, mana, 150); }
public static void AddHp(FlatBufferBuilder builder, short hp) { builder.AddShort(2, hp, 100); }
@@ -469,6 +501,14 @@
public static void AddNativeInline(FlatBufferBuilder builder, Offset<MyGame.Example.Test> nativeInlineOffset) { builder.AddStruct(51, nativeInlineOffset.Value, 0); }
public static void AddLongEnumNonEnumDefault(FlatBufferBuilder builder, MyGame.Example.LongEnum longEnumNonEnumDefault) { builder.AddUlong(52, (ulong)longEnumNonEnumDefault, 0); }
public static void AddLongEnumNormalDefault(FlatBufferBuilder builder, MyGame.Example.LongEnum longEnumNormalDefault) { builder.AddUlong(53, (ulong)longEnumNormalDefault, 2); }
+ public static void AddNanDefault(FlatBufferBuilder builder, float nanDefault) { builder.AddFloat(54, nanDefault, Single.NaN); }
+ public static void AddInfDefault(FlatBufferBuilder builder, float infDefault) { builder.AddFloat(55, infDefault, Single.PositiveInfinity); }
+ public static void AddPositiveInfDefault(FlatBufferBuilder builder, float positiveInfDefault) { builder.AddFloat(56, positiveInfDefault, Single.PositiveInfinity); }
+ public static void AddInfinityDefault(FlatBufferBuilder builder, float infinityDefault) { builder.AddFloat(57, infinityDefault, Single.PositiveInfinity); }
+ public static void AddPositiveInfinityDefault(FlatBufferBuilder builder, float positiveInfinityDefault) { builder.AddFloat(58, positiveInfinityDefault, Single.PositiveInfinity); }
+ public static void AddNegativeInfDefault(FlatBufferBuilder builder, float negativeInfDefault) { builder.AddFloat(59, negativeInfDefault, Single.NegativeInfinity); }
+ public static void AddNegativeInfinityDefault(FlatBufferBuilder builder, float negativeInfinityDefault) { builder.AddFloat(60, negativeInfinityDefault, Single.NegativeInfinity); }
+ public static void AddDoubleInfDefault(FlatBufferBuilder builder, double doubleInfDefault) { builder.AddDouble(61, doubleInfDefault, Double.PositiveInfinity); }
public static Offset<MyGame.Example.Monster> EndMonster(FlatBufferBuilder builder) {
int o = builder.EndTable();
builder.Required(o, 10); // name
@@ -620,6 +660,14 @@
_o.NativeInline = this.NativeInline.HasValue ? this.NativeInline.Value.UnPack() : null;
_o.LongEnumNonEnumDefault = this.LongEnumNonEnumDefault;
_o.LongEnumNormalDefault = this.LongEnumNormalDefault;
+ _o.NanDefault = this.NanDefault;
+ _o.InfDefault = this.InfDefault;
+ _o.PositiveInfDefault = this.PositiveInfDefault;
+ _o.InfinityDefault = this.InfinityDefault;
+ _o.PositiveInfinityDefault = this.PositiveInfinityDefault;
+ _o.NegativeInfDefault = this.NegativeInfDefault;
+ _o.NegativeInfinityDefault = this.NegativeInfinityDefault;
+ _o.DoubleInfDefault = this.DoubleInfDefault;
}
public static Offset<MyGame.Example.Monster> Pack(FlatBufferBuilder builder, MonsterT _o) {
if (_o == null) return default(Offset<MyGame.Example.Monster>);
@@ -796,7 +844,15 @@
_scalar_key_sorted_tables,
_o.NativeInline,
_o.LongEnumNonEnumDefault,
- _o.LongEnumNormalDefault);
+ _o.LongEnumNormalDefault,
+ _o.NanDefault,
+ _o.InfDefault,
+ _o.PositiveInfDefault,
+ _o.InfinityDefault,
+ _o.PositiveInfinityDefault,
+ _o.NegativeInfDefault,
+ _o.NegativeInfinityDefault,
+ _o.DoubleInfDefault);
}
}
@@ -949,6 +1005,22 @@
public MyGame.Example.LongEnum LongEnumNonEnumDefault { get; set; }
[Newtonsoft.Json.JsonProperty("long_enum_normal_default")]
public MyGame.Example.LongEnum LongEnumNormalDefault { get; set; }
+ [Newtonsoft.Json.JsonProperty("nan_default")]
+ public float NanDefault { get; set; }
+ [Newtonsoft.Json.JsonProperty("inf_default")]
+ public float InfDefault { get; set; }
+ [Newtonsoft.Json.JsonProperty("positive_inf_default")]
+ public float PositiveInfDefault { get; set; }
+ [Newtonsoft.Json.JsonProperty("infinity_default")]
+ public float InfinityDefault { get; set; }
+ [Newtonsoft.Json.JsonProperty("positive_infinity_default")]
+ public float PositiveInfinityDefault { get; set; }
+ [Newtonsoft.Json.JsonProperty("negative_inf_default")]
+ public float NegativeInfDefault { get; set; }
+ [Newtonsoft.Json.JsonProperty("negative_infinity_default")]
+ public float NegativeInfinityDefault { get; set; }
+ [Newtonsoft.Json.JsonProperty("double_inf_default")]
+ public double DoubleInfDefault { get; set; }
public MonsterT() {
this.Pos = new MyGame.Example.Vec3T();
@@ -1001,6 +1073,14 @@
this.NativeInline = new MyGame.Example.TestT();
this.LongEnumNonEnumDefault = 0;
this.LongEnumNormalDefault = MyGame.Example.LongEnum.LongOne;
+ this.NanDefault = Single.NaN;
+ this.InfDefault = Single.PositiveInfinity;
+ this.PositiveInfDefault = Single.PositiveInfinity;
+ this.InfinityDefault = Single.PositiveInfinity;
+ this.PositiveInfinityDefault = Single.PositiveInfinity;
+ this.NegativeInfDefault = Single.NegativeInfinity;
+ this.NegativeInfinityDefault = Single.NegativeInfinity;
+ this.DoubleInfDefault = Double.PositiveInfinity;
}
public static MonsterT DeserializeFromJson(string jsonText) {
diff --git a/tests/MyGame/Example/Monster.go b/tests/MyGame/Example/Monster.go
index 237896c..b64ced7 100644
--- a/tests/MyGame/Example/Monster.go
+++ b/tests/MyGame/Example/Monster.go
@@ -3,6 +3,8 @@
package Example
import (
+ "math"
+
flatbuffers "github.com/google/flatbuffers/go"
MyGame "MyGame"
@@ -60,6 +62,14 @@
NativeInline *TestT `json:"native_inline"`
LongEnumNonEnumDefault LongEnum `json:"long_enum_non_enum_default"`
LongEnumNormalDefault LongEnum `json:"long_enum_normal_default"`
+ NanDefault float32 `json:"nan_default"`
+ InfDefault float32 `json:"inf_default"`
+ PositiveInfDefault float32 `json:"positive_inf_default"`
+ InfinityDefault float32 `json:"infinity_default"`
+ PositiveInfinityDefault float32 `json:"positive_infinity_default"`
+ NegativeInfDefault float32 `json:"negative_inf_default"`
+ NegativeInfinityDefault float32 `json:"negative_infinity_default"`
+ DoubleInfDefault float64 `json:"double_inf_default"`
}
func (t *MonsterT) Pack(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
@@ -320,6 +330,14 @@
MonsterAddNativeInline(builder, nativeInlineOffset)
MonsterAddLongEnumNonEnumDefault(builder, t.LongEnumNonEnumDefault)
MonsterAddLongEnumNormalDefault(builder, t.LongEnumNormalDefault)
+ MonsterAddNanDefault(builder, t.NanDefault)
+ MonsterAddInfDefault(builder, t.InfDefault)
+ MonsterAddPositiveInfDefault(builder, t.PositiveInfDefault)
+ MonsterAddInfinityDefault(builder, t.InfinityDefault)
+ MonsterAddPositiveInfinityDefault(builder, t.PositiveInfinityDefault)
+ MonsterAddNegativeInfDefault(builder, t.NegativeInfDefault)
+ MonsterAddNegativeInfinityDefault(builder, t.NegativeInfinityDefault)
+ MonsterAddDoubleInfDefault(builder, t.DoubleInfDefault)
return MonsterEnd(builder)
}
@@ -461,6 +479,14 @@
t.NativeInline = rcv.NativeInline(nil).UnPack()
t.LongEnumNonEnumDefault = rcv.LongEnumNonEnumDefault()
t.LongEnumNormalDefault = rcv.LongEnumNormalDefault()
+ t.NanDefault = rcv.NanDefault()
+ t.InfDefault = rcv.InfDefault()
+ t.PositiveInfDefault = rcv.PositiveInfDefault()
+ t.InfinityDefault = rcv.InfinityDefault()
+ t.PositiveInfinityDefault = rcv.PositiveInfinityDefault()
+ t.NegativeInfDefault = rcv.NegativeInfDefault()
+ t.NegativeInfinityDefault = rcv.NegativeInfinityDefault()
+ t.DoubleInfDefault = rcv.DoubleInfDefault()
}
func (rcv *Monster) UnPack() *MonsterT {
@@ -1386,8 +1412,104 @@
return rcv._tab.MutateUint64Slot(110, uint64(n))
}
+func (rcv *Monster) NanDefault() float32 {
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(112))
+ if o != 0 {
+ return rcv._tab.GetFloat32(o + rcv._tab.Pos)
+ }
+ return float32(math.NaN())
+}
+
+func (rcv *Monster) MutateNanDefault(n float32) bool {
+ return rcv._tab.MutateFloat32Slot(112, n)
+}
+
+func (rcv *Monster) InfDefault() float32 {
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(114))
+ if o != 0 {
+ return rcv._tab.GetFloat32(o + rcv._tab.Pos)
+ }
+ return float32(math.Inf(1))
+}
+
+func (rcv *Monster) MutateInfDefault(n float32) bool {
+ return rcv._tab.MutateFloat32Slot(114, n)
+}
+
+func (rcv *Monster) PositiveInfDefault() float32 {
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(116))
+ if o != 0 {
+ return rcv._tab.GetFloat32(o + rcv._tab.Pos)
+ }
+ return float32(math.Inf(1))
+}
+
+func (rcv *Monster) MutatePositiveInfDefault(n float32) bool {
+ return rcv._tab.MutateFloat32Slot(116, n)
+}
+
+func (rcv *Monster) InfinityDefault() float32 {
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(118))
+ if o != 0 {
+ return rcv._tab.GetFloat32(o + rcv._tab.Pos)
+ }
+ return float32(math.Inf(1))
+}
+
+func (rcv *Monster) MutateInfinityDefault(n float32) bool {
+ return rcv._tab.MutateFloat32Slot(118, n)
+}
+
+func (rcv *Monster) PositiveInfinityDefault() float32 {
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(120))
+ if o != 0 {
+ return rcv._tab.GetFloat32(o + rcv._tab.Pos)
+ }
+ return float32(math.Inf(1))
+}
+
+func (rcv *Monster) MutatePositiveInfinityDefault(n float32) bool {
+ return rcv._tab.MutateFloat32Slot(120, n)
+}
+
+func (rcv *Monster) NegativeInfDefault() float32 {
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(122))
+ if o != 0 {
+ return rcv._tab.GetFloat32(o + rcv._tab.Pos)
+ }
+ return float32(math.Inf(-1))
+}
+
+func (rcv *Monster) MutateNegativeInfDefault(n float32) bool {
+ return rcv._tab.MutateFloat32Slot(122, n)
+}
+
+func (rcv *Monster) NegativeInfinityDefault() float32 {
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(124))
+ if o != 0 {
+ return rcv._tab.GetFloat32(o + rcv._tab.Pos)
+ }
+ return float32(math.Inf(-1))
+}
+
+func (rcv *Monster) MutateNegativeInfinityDefault(n float32) bool {
+ return rcv._tab.MutateFloat32Slot(124, n)
+}
+
+func (rcv *Monster) DoubleInfDefault() float64 {
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(126))
+ if o != 0 {
+ return rcv._tab.GetFloat64(o + rcv._tab.Pos)
+ }
+ return float64(math.Inf(1))
+}
+
+func (rcv *Monster) MutateDoubleInfDefault(n float64) bool {
+ return rcv._tab.MutateFloat64Slot(126, n)
+}
+
func MonsterStart(builder *flatbuffers.Builder) {
- builder.StartObject(54)
+ builder.StartObject(62)
}
func MonsterAddPos(builder *flatbuffers.Builder, pos flatbuffers.UOffsetT) {
builder.PrependStructSlot(0, flatbuffers.UOffsetT(pos), 0)
@@ -1608,6 +1730,30 @@
func MonsterAddLongEnumNormalDefault(builder *flatbuffers.Builder, longEnumNormalDefault LongEnum) {
builder.PrependUint64Slot(53, uint64(longEnumNormalDefault), 2)
}
+func MonsterAddNanDefault(builder *flatbuffers.Builder, nanDefault float32) {
+ builder.PrependFloat32Slot(54, nanDefault, float32(math.NaN()))
+}
+func MonsterAddInfDefault(builder *flatbuffers.Builder, infDefault float32) {
+ builder.PrependFloat32Slot(55, infDefault, float32(math.Inf(1)))
+}
+func MonsterAddPositiveInfDefault(builder *flatbuffers.Builder, positiveInfDefault float32) {
+ builder.PrependFloat32Slot(56, positiveInfDefault, float32(math.Inf(1)))
+}
+func MonsterAddInfinityDefault(builder *flatbuffers.Builder, infinityDefault float32) {
+ builder.PrependFloat32Slot(57, infinityDefault, float32(math.Inf(1)))
+}
+func MonsterAddPositiveInfinityDefault(builder *flatbuffers.Builder, positiveInfinityDefault float32) {
+ builder.PrependFloat32Slot(58, positiveInfinityDefault, float32(math.Inf(1)))
+}
+func MonsterAddNegativeInfDefault(builder *flatbuffers.Builder, negativeInfDefault float32) {
+ builder.PrependFloat32Slot(59, negativeInfDefault, float32(math.Inf(-1)))
+}
+func MonsterAddNegativeInfinityDefault(builder *flatbuffers.Builder, negativeInfinityDefault float32) {
+ builder.PrependFloat32Slot(60, negativeInfinityDefault, float32(math.Inf(-1)))
+}
+func MonsterAddDoubleInfDefault(builder *flatbuffers.Builder, doubleInfDefault float64) {
+ builder.PrependFloat64Slot(61, doubleInfDefault, float64(math.Inf(1)))
+}
func MonsterEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
diff --git a/tests/MyGame/Example/Monster.java b/tests/MyGame/Example/Monster.java
index 5339054..ad958aa 100644
--- a/tests/MyGame/Example/Monster.java
+++ b/tests/MyGame/Example/Monster.java
@@ -12,7 +12,7 @@
*/
@SuppressWarnings("unused")
public final class Monster extends Table {
- public static void ValidateVersion() { Constants.FLATBUFFERS_2_0_8(); }
+ public static void ValidateVersion() { Constants.FLATBUFFERS_22_10_26(); }
public static Monster getRootAsMonster(ByteBuffer _bb) { return getRootAsMonster(_bb, new Monster()); }
public static Monster getRootAsMonster(ByteBuffer _bb, Monster obj) { _bb.order(ByteOrder.LITTLE_ENDIAN); return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb)); }
public static boolean MonsterBufferHasIdentifier(ByteBuffer _bb) { return __has_identifier(_bb, "MONS"); }
@@ -216,8 +216,24 @@
public boolean mutateLongEnumNonEnumDefault(long long_enum_non_enum_default) { int o = __offset(108); if (o != 0) { bb.putLong(o + bb_pos, long_enum_non_enum_default); return true; } else { return false; } }
public long longEnumNormalDefault() { int o = __offset(110); return o != 0 ? bb.getLong(o + bb_pos) : 2L; }
public boolean mutateLongEnumNormalDefault(long long_enum_normal_default) { int o = __offset(110); if (o != 0) { bb.putLong(o + bb_pos, long_enum_normal_default); return true; } else { return false; } }
+ public float nanDefault() { int o = __offset(112); return o != 0 ? bb.getFloat(o + bb_pos) : Float.NaN; }
+ public boolean mutateNanDefault(float nan_default) { int o = __offset(112); if (o != 0) { bb.putFloat(o + bb_pos, nan_default); return true; } else { return false; } }
+ public float infDefault() { int o = __offset(114); return o != 0 ? bb.getFloat(o + bb_pos) : Float.POSITIVE_INFINITY; }
+ public boolean mutateInfDefault(float inf_default) { int o = __offset(114); if (o != 0) { bb.putFloat(o + bb_pos, inf_default); return true; } else { return false; } }
+ public float positiveInfDefault() { int o = __offset(116); return o != 0 ? bb.getFloat(o + bb_pos) : Float.POSITIVE_INFINITY; }
+ public boolean mutatePositiveInfDefault(float positive_inf_default) { int o = __offset(116); if (o != 0) { bb.putFloat(o + bb_pos, positive_inf_default); return true; } else { return false; } }
+ public float infinityDefault() { int o = __offset(118); return o != 0 ? bb.getFloat(o + bb_pos) : Float.POSITIVE_INFINITY; }
+ public boolean mutateInfinityDefault(float infinity_default) { int o = __offset(118); if (o != 0) { bb.putFloat(o + bb_pos, infinity_default); return true; } else { return false; } }
+ public float positiveInfinityDefault() { int o = __offset(120); return o != 0 ? bb.getFloat(o + bb_pos) : Float.POSITIVE_INFINITY; }
+ public boolean mutatePositiveInfinityDefault(float positive_infinity_default) { int o = __offset(120); if (o != 0) { bb.putFloat(o + bb_pos, positive_infinity_default); return true; } else { return false; } }
+ public float negativeInfDefault() { int o = __offset(122); return o != 0 ? bb.getFloat(o + bb_pos) : Float.NEGATIVE_INFINITY; }
+ public boolean mutateNegativeInfDefault(float negative_inf_default) { int o = __offset(122); if (o != 0) { bb.putFloat(o + bb_pos, negative_inf_default); return true; } else { return false; } }
+ public float negativeInfinityDefault() { int o = __offset(124); return o != 0 ? bb.getFloat(o + bb_pos) : Float.NEGATIVE_INFINITY; }
+ public boolean mutateNegativeInfinityDefault(float negative_infinity_default) { int o = __offset(124); if (o != 0) { bb.putFloat(o + bb_pos, negative_infinity_default); return true; } else { return false; } }
+ public double doubleInfDefault() { int o = __offset(126); return o != 0 ? bb.getDouble(o + bb_pos) : Double.POSITIVE_INFINITY; }
+ public boolean mutateDoubleInfDefault(double double_inf_default) { int o = __offset(126); if (o != 0) { bb.putDouble(o + bb_pos, double_inf_default); return true; } else { return false; } }
- public static void startMonster(FlatBufferBuilder builder) { builder.startTable(54); }
+ public static void startMonster(FlatBufferBuilder builder) { builder.startTable(62); }
public static void addPos(FlatBufferBuilder builder, int posOffset) { builder.addStruct(0, posOffset, 0); }
public static void addMana(FlatBufferBuilder builder, short mana) { builder.addShort(1, mana, 150); }
public static void addHp(FlatBufferBuilder builder, short hp) { builder.addShort(2, hp, 100); }
@@ -313,6 +329,14 @@
public static void addNativeInline(FlatBufferBuilder builder, int nativeInlineOffset) { builder.addStruct(51, nativeInlineOffset, 0); }
public static void addLongEnumNonEnumDefault(FlatBufferBuilder builder, long longEnumNonEnumDefault) { builder.addLong(52, longEnumNonEnumDefault, 0L); }
public static void addLongEnumNormalDefault(FlatBufferBuilder builder, long longEnumNormalDefault) { builder.addLong(53, longEnumNormalDefault, 2L); }
+ public static void addNanDefault(FlatBufferBuilder builder, float nanDefault) { builder.addFloat(54, nanDefault, Float.NaN); }
+ public static void addInfDefault(FlatBufferBuilder builder, float infDefault) { builder.addFloat(55, infDefault, Float.POSITIVE_INFINITY); }
+ public static void addPositiveInfDefault(FlatBufferBuilder builder, float positiveInfDefault) { builder.addFloat(56, positiveInfDefault, Float.POSITIVE_INFINITY); }
+ public static void addInfinityDefault(FlatBufferBuilder builder, float infinityDefault) { builder.addFloat(57, infinityDefault, Float.POSITIVE_INFINITY); }
+ public static void addPositiveInfinityDefault(FlatBufferBuilder builder, float positiveInfinityDefault) { builder.addFloat(58, positiveInfinityDefault, Float.POSITIVE_INFINITY); }
+ public static void addNegativeInfDefault(FlatBufferBuilder builder, float negativeInfDefault) { builder.addFloat(59, negativeInfDefault, Float.NEGATIVE_INFINITY); }
+ public static void addNegativeInfinityDefault(FlatBufferBuilder builder, float negativeInfinityDefault) { builder.addFloat(60, negativeInfinityDefault, Float.NEGATIVE_INFINITY); }
+ public static void addDoubleInfDefault(FlatBufferBuilder builder, double doubleInfDefault) { builder.addDouble(61, doubleInfDefault, Double.POSITIVE_INFINITY); }
public static int endMonster(FlatBufferBuilder builder) {
int o = builder.endTable();
builder.required(o, 10); // name
@@ -533,6 +557,22 @@
_o.setLongEnumNonEnumDefault(_oLongEnumNonEnumDefault);
long _oLongEnumNormalDefault = longEnumNormalDefault();
_o.setLongEnumNormalDefault(_oLongEnumNormalDefault);
+ float _oNanDefault = nanDefault();
+ _o.setNanDefault(_oNanDefault);
+ float _oInfDefault = infDefault();
+ _o.setInfDefault(_oInfDefault);
+ float _oPositiveInfDefault = positiveInfDefault();
+ _o.setPositiveInfDefault(_oPositiveInfDefault);
+ float _oInfinityDefault = infinityDefault();
+ _o.setInfinityDefault(_oInfinityDefault);
+ float _oPositiveInfinityDefault = positiveInfinityDefault();
+ _o.setPositiveInfinityDefault(_oPositiveInfinityDefault);
+ float _oNegativeInfDefault = negativeInfDefault();
+ _o.setNegativeInfDefault(_oNegativeInfDefault);
+ float _oNegativeInfinityDefault = negativeInfinityDefault();
+ _o.setNegativeInfinityDefault(_oNegativeInfinityDefault);
+ double _oDoubleInfDefault = doubleInfDefault();
+ _o.setDoubleInfDefault(_oDoubleInfDefault);
}
public static int pack(FlatBufferBuilder builder, MonsterT _o) {
if (_o == null) return 0;
@@ -725,6 +765,14 @@
addNativeInline(builder, MyGame.Example.Test.pack(builder, _o.getNativeInline()));
addLongEnumNonEnumDefault(builder, _o.getLongEnumNonEnumDefault());
addLongEnumNormalDefault(builder, _o.getLongEnumNormalDefault());
+ addNanDefault(builder, _o.getNanDefault());
+ addInfDefault(builder, _o.getInfDefault());
+ addPositiveInfDefault(builder, _o.getPositiveInfDefault());
+ addInfinityDefault(builder, _o.getInfinityDefault());
+ addPositiveInfinityDefault(builder, _o.getPositiveInfinityDefault());
+ addNegativeInfDefault(builder, _o.getNegativeInfDefault());
+ addNegativeInfinityDefault(builder, _o.getNegativeInfinityDefault());
+ addDoubleInfDefault(builder, _o.getDoubleInfDefault());
return endMonster(builder);
}
}
diff --git a/tests/MyGame/Example/Monster.kt b/tests/MyGame/Example/Monster.kt
index fecf665..12ee70a 100644
--- a/tests/MyGame/Example/Monster.kt
+++ b/tests/MyGame/Example/Monster.kt
@@ -870,18 +870,130 @@
false
}
}
+ val nanDefault : Float
+ get() {
+ val o = __offset(112)
+ return if(o != 0) bb.getFloat(o + bb_pos) else Float.NaN
+ }
+ fun mutateNanDefault(nanDefault: Float) : Boolean {
+ val o = __offset(112)
+ return if (o != 0) {
+ bb.putFloat(o + bb_pos, nanDefault)
+ true
+ } else {
+ false
+ }
+ }
+ val infDefault : Float
+ get() {
+ val o = __offset(114)
+ return if(o != 0) bb.getFloat(o + bb_pos) else Float.POSITIVE_INFINITY
+ }
+ fun mutateInfDefault(infDefault: Float) : Boolean {
+ val o = __offset(114)
+ return if (o != 0) {
+ bb.putFloat(o + bb_pos, infDefault)
+ true
+ } else {
+ false
+ }
+ }
+ val positiveInfDefault : Float
+ get() {
+ val o = __offset(116)
+ return if(o != 0) bb.getFloat(o + bb_pos) else Float.POSITIVE_INFINITY
+ }
+ fun mutatePositiveInfDefault(positiveInfDefault: Float) : Boolean {
+ val o = __offset(116)
+ return if (o != 0) {
+ bb.putFloat(o + bb_pos, positiveInfDefault)
+ true
+ } else {
+ false
+ }
+ }
+ val infinityDefault : Float
+ get() {
+ val o = __offset(118)
+ return if(o != 0) bb.getFloat(o + bb_pos) else Float.POSITIVE_INFINITY
+ }
+ fun mutateInfinityDefault(infinityDefault: Float) : Boolean {
+ val o = __offset(118)
+ return if (o != 0) {
+ bb.putFloat(o + bb_pos, infinityDefault)
+ true
+ } else {
+ false
+ }
+ }
+ val positiveInfinityDefault : Float
+ get() {
+ val o = __offset(120)
+ return if(o != 0) bb.getFloat(o + bb_pos) else Float.POSITIVE_INFINITY
+ }
+ fun mutatePositiveInfinityDefault(positiveInfinityDefault: Float) : Boolean {
+ val o = __offset(120)
+ return if (o != 0) {
+ bb.putFloat(o + bb_pos, positiveInfinityDefault)
+ true
+ } else {
+ false
+ }
+ }
+ val negativeInfDefault : Float
+ get() {
+ val o = __offset(122)
+ return if(o != 0) bb.getFloat(o + bb_pos) else Float.NEGATIVE_INFINITY
+ }
+ fun mutateNegativeInfDefault(negativeInfDefault: Float) : Boolean {
+ val o = __offset(122)
+ return if (o != 0) {
+ bb.putFloat(o + bb_pos, negativeInfDefault)
+ true
+ } else {
+ false
+ }
+ }
+ val negativeInfinityDefault : Float
+ get() {
+ val o = __offset(124)
+ return if(o != 0) bb.getFloat(o + bb_pos) else Float.NEGATIVE_INFINITY
+ }
+ fun mutateNegativeInfinityDefault(negativeInfinityDefault: Float) : Boolean {
+ val o = __offset(124)
+ return if (o != 0) {
+ bb.putFloat(o + bb_pos, negativeInfinityDefault)
+ true
+ } else {
+ false
+ }
+ }
+ val doubleInfDefault : Double
+ get() {
+ val o = __offset(126)
+ return if(o != 0) bb.getDouble(o + bb_pos) else Double.POSITIVE_INFINITY
+ }
+ fun mutateDoubleInfDefault(doubleInfDefault: Double) : Boolean {
+ val o = __offset(126)
+ return if (o != 0) {
+ bb.putDouble(o + bb_pos, doubleInfDefault)
+ true
+ } else {
+ false
+ }
+ }
override fun keysCompare(o1: Int, o2: Int, _bb: ByteBuffer) : Int {
return compareStrings(__offset(10, o1, _bb), __offset(10, o2, _bb), _bb)
}
companion object {
- fun validateVersion() = Constants.FLATBUFFERS_2_0_8()
+ fun validateVersion() = Constants.FLATBUFFERS_22_10_26()
fun getRootAsMonster(_bb: ByteBuffer): Monster = getRootAsMonster(_bb, Monster())
fun getRootAsMonster(_bb: ByteBuffer, obj: Monster): Monster {
_bb.order(ByteOrder.LITTLE_ENDIAN)
return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb))
}
fun MonsterBufferHasIdentifier(_bb: ByteBuffer) : Boolean = __has_identifier(_bb, "MONS")
- fun startMonster(builder: FlatBufferBuilder) = builder.startTable(54)
+ fun startMonster(builder: FlatBufferBuilder) = builder.startTable(62)
fun addPos(builder: FlatBufferBuilder, pos: Int) = builder.addStruct(0, pos, 0)
fun addMana(builder: FlatBufferBuilder, mana: Short) = builder.addShort(1, mana, 150)
fun addHp(builder: FlatBufferBuilder, hp: Short) = builder.addShort(2, hp, 100)
@@ -1077,6 +1189,14 @@
fun addNativeInline(builder: FlatBufferBuilder, nativeInline: Int) = builder.addStruct(51, nativeInline, 0)
fun addLongEnumNonEnumDefault(builder: FlatBufferBuilder, longEnumNonEnumDefault: ULong) = builder.addLong(52, longEnumNonEnumDefault.toLong(), 0)
fun addLongEnumNormalDefault(builder: FlatBufferBuilder, longEnumNormalDefault: ULong) = builder.addLong(53, longEnumNormalDefault.toLong(), 2)
+ fun addNanDefault(builder: FlatBufferBuilder, nanDefault: Float) = builder.addFloat(54, nanDefault, Double.NaN)
+ fun addInfDefault(builder: FlatBufferBuilder, infDefault: Float) = builder.addFloat(55, infDefault, Double.POSITIVE_INFINITY)
+ fun addPositiveInfDefault(builder: FlatBufferBuilder, positiveInfDefault: Float) = builder.addFloat(56, positiveInfDefault, Double.POSITIVE_INFINITY)
+ fun addInfinityDefault(builder: FlatBufferBuilder, infinityDefault: Float) = builder.addFloat(57, infinityDefault, Double.POSITIVE_INFINITY)
+ fun addPositiveInfinityDefault(builder: FlatBufferBuilder, positiveInfinityDefault: Float) = builder.addFloat(58, positiveInfinityDefault, Double.POSITIVE_INFINITY)
+ fun addNegativeInfDefault(builder: FlatBufferBuilder, negativeInfDefault: Float) = builder.addFloat(59, negativeInfDefault, Double.NEGATIVE_INFINITY)
+ fun addNegativeInfinityDefault(builder: FlatBufferBuilder, negativeInfinityDefault: Float) = builder.addFloat(60, negativeInfinityDefault, Double.NEGATIVE_INFINITY)
+ fun addDoubleInfDefault(builder: FlatBufferBuilder, doubleInfDefault: Double) = builder.addDouble(61, doubleInfDefault, Double.POSITIVE_INFINITY)
fun endMonster(builder: FlatBufferBuilder) : Int {
val o = builder.endTable()
builder.required(o, 10)
diff --git a/tests/MyGame/Example/Monster.lua b/tests/MyGame/Example/Monster.lua
index 6697c9b..3407362 100644
--- a/tests/MyGame/Example/Monster.lua
+++ b/tests/MyGame/Example/Monster.lua
@@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.
- flatc version: 2.0.8
+ flatc version: 22.10.26
Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
@@ -359,7 +359,7 @@
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
@@ -703,8 +703,72 @@
return 2
end
+function mt:NanDefault()
+ local o = self.view:Offset(112)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Float32, self.view.pos + o)
+ end
+ return nan
+end
+
+function mt:InfDefault()
+ local o = self.view:Offset(114)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Float32, self.view.pos + o)
+ end
+ return inf
+end
+
+function mt:PositiveInfDefault()
+ local o = self.view:Offset(116)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Float32, self.view.pos + o)
+ end
+ return inf
+end
+
+function mt:InfinityDefault()
+ local o = self.view:Offset(118)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Float32, self.view.pos + o)
+ end
+ return inf
+end
+
+function mt:PositiveInfinityDefault()
+ local o = self.view:Offset(120)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Float32, self.view.pos + o)
+ end
+ return inf
+end
+
+function mt:NegativeInfDefault()
+ local o = self.view:Offset(122)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Float32, self.view.pos + o)
+ end
+ return -inf
+end
+
+function mt:NegativeInfinityDefault()
+ local o = self.view:Offset(124)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Float32, self.view.pos + o)
+ end
+ return -inf
+end
+
+function mt:DoubleInfDefault()
+ local o = self.view:Offset(126)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Float64, self.view.pos + o)
+ end
+ return inf
+end
+
function Monster.Start(builder)
- builder:StartObject(54)
+ builder:StartObject(62)
end
function Monster.AddPos(builder, pos)
@@ -852,7 +916,7 @@
end
function Monster.StartTestarrayofsortedstructVector(builder, numElems)
- return builder:StartVector(4, numElems, 4)
+ return builder:StartVector(8, numElems, 4)
end
function Monster.AddFlex(builder, flex)
@@ -999,6 +1063,38 @@
builder:PrependUint64Slot(53, longEnumNormalDefault, 2)
end
+function Monster.AddNanDefault(builder, nanDefault)
+ builder:PrependFloat32Slot(54, nanDefault, nan)
+end
+
+function Monster.AddInfDefault(builder, infDefault)
+ builder:PrependFloat32Slot(55, infDefault, inf)
+end
+
+function Monster.AddPositiveInfDefault(builder, positiveInfDefault)
+ builder:PrependFloat32Slot(56, positiveInfDefault, inf)
+end
+
+function Monster.AddInfinityDefault(builder, infinityDefault)
+ builder:PrependFloat32Slot(57, infinityDefault, inf)
+end
+
+function Monster.AddPositiveInfinityDefault(builder, positiveInfinityDefault)
+ builder:PrependFloat32Slot(58, positiveInfinityDefault, inf)
+end
+
+function Monster.AddNegativeInfDefault(builder, negativeInfDefault)
+ builder:PrependFloat32Slot(59, negativeInfDefault, -inf)
+end
+
+function Monster.AddNegativeInfinityDefault(builder, negativeInfinityDefault)
+ builder:PrependFloat32Slot(60, negativeInfinityDefault, -inf)
+end
+
+function Monster.AddDoubleInfDefault(builder, doubleInfDefault)
+ builder:PrependFloat64Slot(61, doubleInfDefault, inf)
+end
+
function Monster.End(builder)
return builder:EndObject()
end
diff --git a/tests/MyGame/Example/Monster.nim b/tests/MyGame/Example/Monster.nim
new file mode 100644
index 0000000..283e01a
--- /dev/null
+++ b/tests/MyGame/Example/Monster.nim
@@ -0,0 +1,734 @@
+#[ MyGame.Example.Monster
+ Automatically generated by the FlatBuffers compiler, do not modify.
+ Or modify. I'm a message, not a cop.
+
+ flatc version: 22.10.26
+
+ 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)
+func nanDefault*(self: Monster): float32 =
+ let o = self.tab.Offset(112)
+ if o != 0:
+ return Get[float32](self.tab, self.tab.Pos + o)
+ return NaN
+func `nanDefault=`*(self: var Monster, n: float32): bool =
+ return self.tab.MutateSlot(112, n)
+func infDefault*(self: Monster): float32 =
+ let o = self.tab.Offset(114)
+ if o != 0:
+ return Get[float32](self.tab, self.tab.Pos + o)
+ return Inf
+func `infDefault=`*(self: var Monster, n: float32): bool =
+ return self.tab.MutateSlot(114, n)
+func positiveInfDefault*(self: Monster): float32 =
+ let o = self.tab.Offset(116)
+ if o != 0:
+ return Get[float32](self.tab, self.tab.Pos + o)
+ return Inf
+func `positiveInfDefault=`*(self: var Monster, n: float32): bool =
+ return self.tab.MutateSlot(116, n)
+func infinityDefault*(self: Monster): float32 =
+ let o = self.tab.Offset(118)
+ if o != 0:
+ return Get[float32](self.tab, self.tab.Pos + o)
+ return Inf
+func `infinityDefault=`*(self: var Monster, n: float32): bool =
+ return self.tab.MutateSlot(118, n)
+func positiveInfinityDefault*(self: Monster): float32 =
+ let o = self.tab.Offset(120)
+ if o != 0:
+ return Get[float32](self.tab, self.tab.Pos + o)
+ return Inf
+func `positiveInfinityDefault=`*(self: var Monster, n: float32): bool =
+ return self.tab.MutateSlot(120, n)
+func negativeInfDefault*(self: Monster): float32 =
+ let o = self.tab.Offset(122)
+ if o != 0:
+ return Get[float32](self.tab, self.tab.Pos + o)
+ return -Inf
+func `negativeInfDefault=`*(self: var Monster, n: float32): bool =
+ return self.tab.MutateSlot(122, n)
+func negativeInfinityDefault*(self: Monster): float32 =
+ let o = self.tab.Offset(124)
+ if o != 0:
+ return Get[float32](self.tab, self.tab.Pos + o)
+ return -Inf
+func `negativeInfinityDefault=`*(self: var Monster, n: float32): bool =
+ return self.tab.MutateSlot(124, n)
+func doubleInfDefault*(self: Monster): float64 =
+ let o = self.tab.Offset(126)
+ if o != 0:
+ return Get[float64](self.tab, self.tab.Pos + o)
+ return Inf
+func `doubleInfDefault=`*(self: var Monster, n: float64): bool =
+ return self.tab.MutateSlot(126, n)
+proc MonsterStart*(builder: var Builder) =
+ builder.StartObject(62)
+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 MonsterAddnanDefault*(builder: var Builder, nanDefault: float32) =
+ builder.PrependSlot(54, nanDefault, default(float32))
+proc MonsterAddinfDefault*(builder: var Builder, infDefault: float32) =
+ builder.PrependSlot(55, infDefault, default(float32))
+proc MonsterAddpositiveInfDefault*(builder: var Builder, positiveInfDefault: float32) =
+ builder.PrependSlot(56, positiveInfDefault, default(float32))
+proc MonsterAddinfinityDefault*(builder: var Builder, infinityDefault: float32) =
+ builder.PrependSlot(57, infinityDefault, default(float32))
+proc MonsterAddpositiveInfinityDefault*(builder: var Builder, positiveInfinityDefault: float32) =
+ builder.PrependSlot(58, positiveInfinityDefault, default(float32))
+proc MonsterAddnegativeInfDefault*(builder: var Builder, negativeInfDefault: float32) =
+ builder.PrependSlot(59, negativeInfDefault, default(float32))
+proc MonsterAddnegativeInfinityDefault*(builder: var Builder, negativeInfinityDefault: float32) =
+ builder.PrependSlot(60, negativeInfinityDefault, default(float32))
+proc MonsterAdddoubleInfDefault*(builder: var Builder, doubleInfDefault: float64) =
+ builder.PrependSlot(61, doubleInfDefault, default(float64))
+proc MonsterEnd*(builder: var Builder): uoffset =
+ return builder.EndObject()
diff --git a/tests/MyGame/Example/Monster.php b/tests/MyGame/Example/Monster.php
index 5f8ad5a..29976e4 100644
--- a/tests/MyGame/Example/Monster.php
+++ b/tests/MyGame/Example/Monster.php
@@ -755,21 +755,93 @@
}
/**
+ * @return float
+ */
+ public function getNanDefault()
+ {
+ $o = $this->__offset(112);
+ return $o != 0 ? $this->bb->getFloat($o + $this->bb_pos) : nan;
+ }
+
+ /**
+ * @return float
+ */
+ public function getInfDefault()
+ {
+ $o = $this->__offset(114);
+ return $o != 0 ? $this->bb->getFloat($o + $this->bb_pos) : inf;
+ }
+
+ /**
+ * @return float
+ */
+ public function getPositiveInfDefault()
+ {
+ $o = $this->__offset(116);
+ return $o != 0 ? $this->bb->getFloat($o + $this->bb_pos) : +inf;
+ }
+
+ /**
+ * @return float
+ */
+ public function getInfinityDefault()
+ {
+ $o = $this->__offset(118);
+ return $o != 0 ? $this->bb->getFloat($o + $this->bb_pos) : infinity;
+ }
+
+ /**
+ * @return float
+ */
+ public function getPositiveInfinityDefault()
+ {
+ $o = $this->__offset(120);
+ return $o != 0 ? $this->bb->getFloat($o + $this->bb_pos) : +infinity;
+ }
+
+ /**
+ * @return float
+ */
+ public function getNegativeInfDefault()
+ {
+ $o = $this->__offset(122);
+ return $o != 0 ? $this->bb->getFloat($o + $this->bb_pos) : -inf;
+ }
+
+ /**
+ * @return float
+ */
+ public function getNegativeInfinityDefault()
+ {
+ $o = $this->__offset(124);
+ return $o != 0 ? $this->bb->getFloat($o + $this->bb_pos) : -infinity;
+ }
+
+ /**
+ * @return double
+ */
+ public function getDoubleInfDefault()
+ {
+ $o = $this->__offset(126);
+ return $o != 0 ? $this->bb->getDouble($o + $this->bb_pos) : inf;
+ }
+
+ /**
* @param FlatBufferBuilder $builder
* @return void
*/
public static function startMonster(FlatBufferBuilder $builder)
{
- $builder->StartObject(54);
+ $builder->StartObject(62);
}
/**
* @param FlatBufferBuilder $builder
* @return Monster
*/
- public static function createMonster(FlatBufferBuilder $builder, $pos, $mana, $hp, $name, $inventory, $color, $test_type, $test, $test4, $testarrayofstring, $testarrayoftables, $enemy, $testnestedflatbuffer, $testempty, $testbool, $testhashs32_fnv1, $testhashu32_fnv1, $testhashs64_fnv1, $testhashu64_fnv1, $testhashs32_fnv1a, $testhashu32_fnv1a, $testhashs64_fnv1a, $testhashu64_fnv1a, $testarrayofbools, $testf, $testf2, $testf3, $testarrayofstring2, $testarrayofsortedstruct, $flex, $test5, $vector_of_longs, $vector_of_doubles, $parent_namespace_test, $vector_of_referrables, $single_weak_reference, $vector_of_weak_references, $vector_of_strong_referrables, $co_owning_reference, $vector_of_co_owning_references, $non_owning_reference, $vector_of_non_owning_references, $any_unique_type, $any_unique, $any_ambiguous_type, $any_ambiguous, $vector_of_enums, $signed_enum, $testrequirednestedflatbuffer, $scalar_key_sorted_tables, $native_inline, $long_enum_non_enum_default, $long_enum_normal_default)
+ public static function createMonster(FlatBufferBuilder $builder, $pos, $mana, $hp, $name, $inventory, $color, $test_type, $test, $test4, $testarrayofstring, $testarrayoftables, $enemy, $testnestedflatbuffer, $testempty, $testbool, $testhashs32_fnv1, $testhashu32_fnv1, $testhashs64_fnv1, $testhashu64_fnv1, $testhashs32_fnv1a, $testhashu32_fnv1a, $testhashs64_fnv1a, $testhashu64_fnv1a, $testarrayofbools, $testf, $testf2, $testf3, $testarrayofstring2, $testarrayofsortedstruct, $flex, $test5, $vector_of_longs, $vector_of_doubles, $parent_namespace_test, $vector_of_referrables, $single_weak_reference, $vector_of_weak_references, $vector_of_strong_referrables, $co_owning_reference, $vector_of_co_owning_references, $non_owning_reference, $vector_of_non_owning_references, $any_unique_type, $any_unique, $any_ambiguous_type, $any_ambiguous, $vector_of_enums, $signed_enum, $testrequirednestedflatbuffer, $scalar_key_sorted_tables, $native_inline, $long_enum_non_enum_default, $long_enum_normal_default, $nan_default, $inf_default, $positive_inf_default, $infinity_default, $positive_infinity_default, $negative_inf_default, $negative_infinity_default, $double_inf_default)
{
- $builder->startObject(54);
+ $builder->startObject(62);
self::addPos($builder, $pos);
self::addMana($builder, $mana);
self::addHp($builder, $hp);
@@ -823,6 +895,14 @@
self::addNativeInline($builder, $native_inline);
self::addLongEnumNonEnumDefault($builder, $long_enum_non_enum_default);
self::addLongEnumNormalDefault($builder, $long_enum_normal_default);
+ self::addNanDefault($builder, $nan_default);
+ self::addInfDefault($builder, $inf_default);
+ self::addPositiveInfDefault($builder, $positive_inf_default);
+ self::addInfinityDefault($builder, $infinity_default);
+ self::addPositiveInfinityDefault($builder, $positive_infinity_default);
+ self::addNegativeInfDefault($builder, $negative_inf_default);
+ self::addNegativeInfinityDefault($builder, $negative_infinity_default);
+ self::addDoubleInfDefault($builder, $double_inf_default);
$o = $builder->endObject();
$builder->required($o, 10); // name
return $o;
@@ -1825,6 +1905,86 @@
/**
* @param FlatBufferBuilder $builder
+ * @param float
+ * @return void
+ */
+ public static function addNanDefault(FlatBufferBuilder $builder, $nanDefault)
+ {
+ $builder->addFloatX(54, $nanDefault, nan);
+ }
+
+ /**
+ * @param FlatBufferBuilder $builder
+ * @param float
+ * @return void
+ */
+ public static function addInfDefault(FlatBufferBuilder $builder, $infDefault)
+ {
+ $builder->addFloatX(55, $infDefault, inf);
+ }
+
+ /**
+ * @param FlatBufferBuilder $builder
+ * @param float
+ * @return void
+ */
+ public static function addPositiveInfDefault(FlatBufferBuilder $builder, $positiveInfDefault)
+ {
+ $builder->addFloatX(56, $positiveInfDefault, +inf);
+ }
+
+ /**
+ * @param FlatBufferBuilder $builder
+ * @param float
+ * @return void
+ */
+ public static function addInfinityDefault(FlatBufferBuilder $builder, $infinityDefault)
+ {
+ $builder->addFloatX(57, $infinityDefault, infinity);
+ }
+
+ /**
+ * @param FlatBufferBuilder $builder
+ * @param float
+ * @return void
+ */
+ public static function addPositiveInfinityDefault(FlatBufferBuilder $builder, $positiveInfinityDefault)
+ {
+ $builder->addFloatX(58, $positiveInfinityDefault, +infinity);
+ }
+
+ /**
+ * @param FlatBufferBuilder $builder
+ * @param float
+ * @return void
+ */
+ public static function addNegativeInfDefault(FlatBufferBuilder $builder, $negativeInfDefault)
+ {
+ $builder->addFloatX(59, $negativeInfDefault, -inf);
+ }
+
+ /**
+ * @param FlatBufferBuilder $builder
+ * @param float
+ * @return void
+ */
+ public static function addNegativeInfinityDefault(FlatBufferBuilder $builder, $negativeInfinityDefault)
+ {
+ $builder->addFloatX(60, $negativeInfinityDefault, -infinity);
+ }
+
+ /**
+ * @param FlatBufferBuilder $builder
+ * @param double
+ * @return void
+ */
+ public static function addDoubleInfDefault(FlatBufferBuilder $builder, $doubleInfDefault)
+ {
+ $builder->addDoubleX(61, $doubleInfDefault, inf);
+ }
+
+ /**
+ * @param FlatBufferBuilder $builder
* @return int table offset
*/
public static function endMonster(FlatBufferBuilder $builder)
diff --git a/tests/MyGame/Example/Monster.py b/tests/MyGame/Example/Monster.py
index 0044f8d..03dda3b 100644
--- a/tests/MyGame/Example/Monster.py
+++ b/tests/MyGame/Example/Monster.py
@@ -816,7 +816,63 @@
return self._tab.Get(flatbuffers.number_types.Uint64Flags, o + self._tab.Pos)
return 2
-def MonsterStart(builder): builder.StartObject(54)
+ # Monster
+ def NanDefault(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(112))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos)
+ return float('nan')
+
+ # Monster
+ def InfDefault(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(114))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos)
+ return float('inf')
+
+ # Monster
+ def PositiveInfDefault(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(116))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos)
+ return float('inf')
+
+ # Monster
+ def InfinityDefault(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(118))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos)
+ return float('inf')
+
+ # Monster
+ def PositiveInfinityDefault(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(120))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos)
+ return float('inf')
+
+ # Monster
+ def NegativeInfDefault(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(122))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos)
+ return float('-inf')
+
+ # Monster
+ def NegativeInfinityDefault(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(124))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos)
+ return float('-inf')
+
+ # Monster
+ def DoubleInfDefault(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(126))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
+ return float('inf')
+
+def MonsterStart(builder): builder.StartObject(62)
def Start(builder):
return MonsterStart(builder)
def MonsterAddPos(builder, pos): builder.PrependStructSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(pos), 0)
@@ -1052,6 +1108,30 @@
def MonsterAddLongEnumNormalDefault(builder, longEnumNormalDefault): builder.PrependUint64Slot(53, longEnumNormalDefault, 2)
def AddLongEnumNormalDefault(builder, longEnumNormalDefault):
return MonsterAddLongEnumNormalDefault(builder, longEnumNormalDefault)
+def MonsterAddNanDefault(builder, nanDefault): builder.PrependFloat32Slot(54, nanDefault, float('nan'))
+def AddNanDefault(builder, nanDefault):
+ return MonsterAddNanDefault(builder, nanDefault)
+def MonsterAddInfDefault(builder, infDefault): builder.PrependFloat32Slot(55, infDefault, float('inf'))
+def AddInfDefault(builder, infDefault):
+ return MonsterAddInfDefault(builder, infDefault)
+def MonsterAddPositiveInfDefault(builder, positiveInfDefault): builder.PrependFloat32Slot(56, positiveInfDefault, float('inf'))
+def AddPositiveInfDefault(builder, positiveInfDefault):
+ return MonsterAddPositiveInfDefault(builder, positiveInfDefault)
+def MonsterAddInfinityDefault(builder, infinityDefault): builder.PrependFloat32Slot(57, infinityDefault, float('inf'))
+def AddInfinityDefault(builder, infinityDefault):
+ return MonsterAddInfinityDefault(builder, infinityDefault)
+def MonsterAddPositiveInfinityDefault(builder, positiveInfinityDefault): builder.PrependFloat32Slot(58, positiveInfinityDefault, float('inf'))
+def AddPositiveInfinityDefault(builder, positiveInfinityDefault):
+ return MonsterAddPositiveInfinityDefault(builder, positiveInfinityDefault)
+def MonsterAddNegativeInfDefault(builder, negativeInfDefault): builder.PrependFloat32Slot(59, negativeInfDefault, float('-inf'))
+def AddNegativeInfDefault(builder, negativeInfDefault):
+ return MonsterAddNegativeInfDefault(builder, negativeInfDefault)
+def MonsterAddNegativeInfinityDefault(builder, negativeInfinityDefault): builder.PrependFloat32Slot(60, negativeInfinityDefault, float('-inf'))
+def AddNegativeInfinityDefault(builder, negativeInfinityDefault):
+ return MonsterAddNegativeInfinityDefault(builder, negativeInfinityDefault)
+def MonsterAddDoubleInfDefault(builder, doubleInfDefault): builder.PrependFloat64Slot(61, doubleInfDefault, float('inf'))
+def AddDoubleInfDefault(builder, doubleInfDefault):
+ return MonsterAddDoubleInfDefault(builder, doubleInfDefault)
def MonsterEnd(builder): return builder.EndObject()
def End(builder):
return MonsterEnd(builder)
@@ -1128,6 +1208,14 @@
self.nativeInline = None # type: Optional[MyGame.Example.Test.TestT]
self.longEnumNonEnumDefault = 0 # type: int
self.longEnumNormalDefault = 2 # type: int
+ self.nanDefault = float('nan') # type: float
+ self.infDefault = float('inf') # type: float
+ self.positiveInfDefault = float('inf') # type: float
+ self.infinityDefault = float('inf') # type: float
+ self.positiveInfinityDefault = float('inf') # type: float
+ self.negativeInfDefault = float('-inf') # type: float
+ self.negativeInfinityDefault = float('-inf') # type: float
+ self.doubleInfDefault = float('inf') # type: float
@classmethod
def InitFromBuf(cls, buf, pos):
@@ -1136,6 +1224,11 @@
return cls.InitFromObj(monster)
@classmethod
+ def InitFromPackedBuf(cls, buf, pos=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
+ return cls.InitFromBuf(buf, pos+n)
+
+ @classmethod
def InitFromObj(cls, monster):
x = MonsterT()
x._UnPack(monster)
@@ -1324,6 +1417,14 @@
self.nativeInline = MyGame.Example.Test.TestT.InitFromObj(monster.NativeInline())
self.longEnumNonEnumDefault = monster.LongEnumNonEnumDefault()
self.longEnumNormalDefault = monster.LongEnumNormalDefault()
+ self.nanDefault = monster.NanDefault()
+ self.infDefault = monster.InfDefault()
+ self.positiveInfDefault = monster.PositiveInfDefault()
+ self.infinityDefault = monster.InfinityDefault()
+ self.positiveInfinityDefault = monster.PositiveInfinityDefault()
+ self.negativeInfDefault = monster.NegativeInfDefault()
+ self.negativeInfinityDefault = monster.NegativeInfinityDefault()
+ self.doubleInfDefault = monster.DoubleInfDefault()
# MonsterT
def Pack(self, builder):
@@ -1577,5 +1678,13 @@
MonsterAddNativeInline(builder, nativeInline)
MonsterAddLongEnumNonEnumDefault(builder, self.longEnumNonEnumDefault)
MonsterAddLongEnumNormalDefault(builder, self.longEnumNormalDefault)
+ MonsterAddNanDefault(builder, self.nanDefault)
+ MonsterAddInfDefault(builder, self.infDefault)
+ MonsterAddPositiveInfDefault(builder, self.positiveInfDefault)
+ MonsterAddInfinityDefault(builder, self.infinityDefault)
+ MonsterAddPositiveInfinityDefault(builder, self.positiveInfinityDefault)
+ MonsterAddNegativeInfDefault(builder, self.negativeInfDefault)
+ MonsterAddNegativeInfinityDefault(builder, self.negativeInfinityDefault)
+ MonsterAddDoubleInfDefault(builder, self.doubleInfDefault)
monster = MonsterEnd(builder)
return monster
diff --git a/tests/MyGame/Example/MonsterT.java b/tests/MyGame/Example/MonsterT.java
index 06804c7..d4a6525 100644
--- a/tests/MyGame/Example/MonsterT.java
+++ b/tests/MyGame/Example/MonsterT.java
@@ -58,6 +58,14 @@
private MyGame.Example.TestT nativeInline;
private long longEnumNonEnumDefault;
private long longEnumNormalDefault;
+ private float nanDefault;
+ private float infDefault;
+ private float positiveInfDefault;
+ private float infinityDefault;
+ private float positiveInfinityDefault;
+ private float negativeInfDefault;
+ private float negativeInfinityDefault;
+ private double doubleInfDefault;
public MyGame.Example.Vec3T getPos() { return pos; }
@@ -259,6 +267,38 @@
public void setLongEnumNormalDefault(long longEnumNormalDefault) { this.longEnumNormalDefault = longEnumNormalDefault; }
+ public float getNanDefault() { return nanDefault; }
+
+ public void setNanDefault(float nanDefault) { this.nanDefault = nanDefault; }
+
+ public float getInfDefault() { return infDefault; }
+
+ public void setInfDefault(float infDefault) { this.infDefault = infDefault; }
+
+ public float getPositiveInfDefault() { return positiveInfDefault; }
+
+ public void setPositiveInfDefault(float positiveInfDefault) { this.positiveInfDefault = positiveInfDefault; }
+
+ public float getInfinityDefault() { return infinityDefault; }
+
+ public void setInfinityDefault(float infinityDefault) { this.infinityDefault = infinityDefault; }
+
+ public float getPositiveInfinityDefault() { return positiveInfinityDefault; }
+
+ public void setPositiveInfinityDefault(float positiveInfinityDefault) { this.positiveInfinityDefault = positiveInfinityDefault; }
+
+ public float getNegativeInfDefault() { return negativeInfDefault; }
+
+ public void setNegativeInfDefault(float negativeInfDefault) { this.negativeInfDefault = negativeInfDefault; }
+
+ public float getNegativeInfinityDefault() { return negativeInfinityDefault; }
+
+ public void setNegativeInfinityDefault(float negativeInfinityDefault) { this.negativeInfinityDefault = negativeInfinityDefault; }
+
+ public double getDoubleInfDefault() { return doubleInfDefault; }
+
+ public void setDoubleInfDefault(double doubleInfDefault) { this.doubleInfDefault = doubleInfDefault; }
+
public MonsterT() {
this.pos = new MyGame.Example.Vec3T();
@@ -311,6 +351,14 @@
this.nativeInline = new MyGame.Example.TestT();
this.longEnumNonEnumDefault = 0L;
this.longEnumNormalDefault = 2L;
+ this.nanDefault = Float.NaN;
+ this.infDefault = Float.POSITIVE_INFINITY;
+ this.positiveInfDefault = Float.POSITIVE_INFINITY;
+ this.infinityDefault = Float.POSITIVE_INFINITY;
+ this.positiveInfinityDefault = Float.POSITIVE_INFINITY;
+ this.negativeInfDefault = Float.NEGATIVE_INFINITY;
+ this.negativeInfinityDefault = Float.NEGATIVE_INFINITY;
+ this.doubleInfDefault = Double.POSITIVE_INFINITY;
}
public static MonsterT deserializeFromBinary(byte[] fbBuffer) {
return Monster.getRootAsMonster(ByteBuffer.wrap(fbBuffer)).unpack();
diff --git a/tests/MyGame/Example/NestedStruct.py b/tests/MyGame/Example/NestedStruct.py
index a9db014..7f8d18e 100644
--- a/tests/MyGame/Example/NestedStruct.py
+++ b/tests/MyGame/Example/NestedStruct.py
@@ -18,48 +18,69 @@
self._tab = flatbuffers.table.Table(buf, pos)
# NestedStruct
- def A(self): return [self._tab.Get(flatbuffers.number_types.Int32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(0 + i * 4)) for i in range(2)]
+ def A(self, j = None):
+ if j is None:
+ return [self._tab.Get(flatbuffers.number_types.Int32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(0 + i * 4)) for i in range(self.ALength())]
+ elif j >= 0 and j < self.ALength():
+ return self._tab.Get(flatbuffers.number_types.Int32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(0 + j * 4))
+ else:
+ return None
+
+ # NestedStruct
+ def AAsNumpy(self):
+ return self._tab.GetArrayAsNumpy(flatbuffers.number_types.Int32Flags, self._tab.Pos + 0, self.ALength())
+
# NestedStruct
def ALength(self):
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(0))
- if o != 0:
- return self._tab.VectorLen(o)
- return 0
+ return 2
# NestedStruct
def AIsNone(self):
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(0))
- return o == 0
+ return False
# NestedStruct
def B(self): return self._tab.Get(flatbuffers.number_types.Int8Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(8))
# NestedStruct
- def C(self): return [self._tab.Get(flatbuffers.number_types.Int8Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(9 + i * 1)) for i in range(2)]
+ def C(self, j = None):
+ if j is None:
+ return [self._tab.Get(flatbuffers.number_types.Int8Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(9 + i * 1)) for i in range(self.CLength())]
+ elif j >= 0 and j < self.CLength():
+ return self._tab.Get(flatbuffers.number_types.Int8Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(9 + j * 1))
+ else:
+ return None
+
+ # NestedStruct
+ def CAsNumpy(self):
+ return self._tab.GetArrayAsNumpy(flatbuffers.number_types.Int8Flags, self._tab.Pos + 9, self.CLength())
+
# NestedStruct
def CLength(self):
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(9))
- if o != 0:
- return self._tab.VectorLen(o)
- return 0
+ return 2
# NestedStruct
def CIsNone(self):
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(9))
- return o == 0
+ return False
# NestedStruct
- def D(self): return [self._tab.Get(flatbuffers.number_types.Int64Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(16 + i * 8)) for i in range(2)]
+ def D(self, j = None):
+ if j is None:
+ return [self._tab.Get(flatbuffers.number_types.Int64Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(16 + i * 8)) for i in range(self.DLength())]
+ elif j >= 0 and j < self.DLength():
+ return self._tab.Get(flatbuffers.number_types.Int64Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(16 + j * 8))
+ else:
+ return None
+
+ # NestedStruct
+ def DAsNumpy(self):
+ return self._tab.GetArrayAsNumpy(flatbuffers.number_types.Int64Flags, self._tab.Pos + 16, self.DLength())
+
# NestedStruct
def DLength(self):
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(16))
- if o != 0:
- return self._tab.VectorLen(o)
- return 0
+ return 2
# NestedStruct
def DIsNone(self):
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(16))
- return o == 0
+ return False
def CreateNestedStruct(builder, a, b, c, d):
@@ -95,6 +116,11 @@
return cls.InitFromObj(nestedStruct)
@classmethod
+ def InitFromPackedBuf(cls, buf, pos=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
+ return cls.InitFromBuf(buf, pos+n)
+
+ @classmethod
def InitFromObj(cls, nestedStruct):
x = NestedStructT()
x._UnPack(nestedStruct)
diff --git a/tests/MyGame/Example/NestedUnion/Any.py b/tests/MyGame/Example/NestedUnion/Any.py
new file mode 100644
index 0000000..e0b8594
--- /dev/null
+++ b/tests/MyGame/Example/NestedUnion/Any.py
@@ -0,0 +1,20 @@
+# automatically generated by the FlatBuffers compiler, do not modify
+
+# namespace: NestedUnion
+
+class Any(object):
+ NONE = 0
+ Vec3 = 1
+ TestSimpleTableWithEnum = 2
+
+def AnyCreator(unionType, table):
+ from flatbuffers.table import Table
+ if not isinstance(table, Table):
+ return None
+ if unionType == Any().Vec3:
+ import MyGame.Example.NestedUnion.Vec3
+ return MyGame.Example.NestedUnion.Vec3.Vec3T.InitFromBuf(table.Bytes, table.Pos)
+ if unionType == Any().TestSimpleTableWithEnum:
+ import MyGame.Example.NestedUnion.TestSimpleTableWithEnum
+ return MyGame.Example.NestedUnion.TestSimpleTableWithEnum.TestSimpleTableWithEnumT.InitFromBuf(table.Bytes, table.Pos)
+ return None
diff --git a/tests/MyGame/Example/NestedUnion/Color.py b/tests/MyGame/Example/NestedUnion/Color.py
new file mode 100644
index 0000000..6ba9ca1
--- /dev/null
+++ b/tests/MyGame/Example/NestedUnion/Color.py
@@ -0,0 +1,12 @@
+# automatically generated by the FlatBuffers compiler, do not modify
+
+# namespace: NestedUnion
+
+# Composite components of Monster color.
+class Color(object):
+ Red = 1
+ # \brief color Green
+ # Green is bit_flag with value (1u << 1)
+ Green = 2
+ # \brief color Blue (1u << 3)
+ Blue = 8
diff --git a/tests/MyGame/Example/NestedUnion/NestedUnionTest.py b/tests/MyGame/Example/NestedUnion/NestedUnionTest.py
new file mode 100644
index 0000000..9a3cbee
--- /dev/null
+++ b/tests/MyGame/Example/NestedUnion/NestedUnionTest.py
@@ -0,0 +1,133 @@
+# automatically generated by the FlatBuffers compiler, do not modify
+
+# namespace: NestedUnion
+
+import flatbuffers
+from flatbuffers.compat import import_numpy
+np = import_numpy()
+
+class NestedUnionTest(object):
+ __slots__ = ['_tab']
+
+ @classmethod
+ def GetRootAs(cls, buf, offset=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
+ x = NestedUnionTest()
+ x.Init(buf, n + offset)
+ return x
+
+ @classmethod
+ def GetRootAsNestedUnionTest(cls, buf, offset=0):
+ """This method is deprecated. Please switch to GetRootAs."""
+ return cls.GetRootAs(buf, offset)
+ # NestedUnionTest
+ def Init(self, buf, pos):
+ self._tab = flatbuffers.table.Table(buf, pos)
+
+ # NestedUnionTest
+ def Name(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
+ if o != 0:
+ return self._tab.String(o + self._tab.Pos)
+ return None
+
+ # NestedUnionTest
+ def DataType(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Uint8Flags, o + self._tab.Pos)
+ return 0
+
+ # NestedUnionTest
+ def Data(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
+ if o != 0:
+ from flatbuffers.table import Table
+ obj = Table(bytearray(), 0)
+ self._tab.Union(obj, o)
+ return obj
+ return None
+
+ # NestedUnionTest
+ def Id(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Int16Flags, o + self._tab.Pos)
+ return 0
+
+def NestedUnionTestStart(builder): builder.StartObject(4)
+def Start(builder):
+ return NestedUnionTestStart(builder)
+def NestedUnionTestAddName(builder, name): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(name), 0)
+def AddName(builder, name):
+ return NestedUnionTestAddName(builder, name)
+def NestedUnionTestAddDataType(builder, dataType): builder.PrependUint8Slot(1, dataType, 0)
+def AddDataType(builder, dataType):
+ return NestedUnionTestAddDataType(builder, dataType)
+def NestedUnionTestAddData(builder, data): builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(data), 0)
+def AddData(builder, data):
+ return NestedUnionTestAddData(builder, data)
+def NestedUnionTestAddId(builder, id): builder.PrependInt16Slot(3, id, 0)
+def AddId(builder, id):
+ return NestedUnionTestAddId(builder, id)
+def NestedUnionTestEnd(builder): return builder.EndObject()
+def End(builder):
+ return NestedUnionTestEnd(builder)
+import MyGame.Example.NestedUnion.Any
+import MyGame.Example.NestedUnion.TestSimpleTableWithEnum
+import MyGame.Example.NestedUnion.Vec3
+try:
+ from typing import Union
+except:
+ pass
+
+class NestedUnionTestT(object):
+
+ # NestedUnionTestT
+ def __init__(self):
+ self.name = None # type: str
+ self.dataType = 0 # type: int
+ self.data = None # type: Union[None, MyGame.Example.NestedUnion.Vec3.Vec3T, MyGame.Example.NestedUnion.TestSimpleTableWithEnum.TestSimpleTableWithEnumT]
+ self.id = 0 # type: int
+
+ @classmethod
+ def InitFromBuf(cls, buf, pos):
+ nestedUnionTest = NestedUnionTest()
+ nestedUnionTest.Init(buf, pos)
+ return cls.InitFromObj(nestedUnionTest)
+
+ @classmethod
+ def InitFromPackedBuf(cls, buf, pos=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
+ return cls.InitFromBuf(buf, pos+n)
+
+ @classmethod
+ def InitFromObj(cls, nestedUnionTest):
+ x = NestedUnionTestT()
+ x._UnPack(nestedUnionTest)
+ return x
+
+ # NestedUnionTestT
+ def _UnPack(self, nestedUnionTest):
+ if nestedUnionTest is None:
+ return
+ self.name = nestedUnionTest.Name()
+ self.dataType = nestedUnionTest.DataType()
+ self.data = MyGame.Example.NestedUnion.Any.AnyCreator(self.dataType, nestedUnionTest.Data())
+ self.id = nestedUnionTest.Id()
+
+ # NestedUnionTestT
+ def Pack(self, builder):
+ if self.name is not None:
+ name = builder.CreateString(self.name)
+ if self.data is not None:
+ data = self.data.Pack(builder)
+ NestedUnionTestStart(builder)
+ if self.name is not None:
+ NestedUnionTestAddName(builder, name)
+ NestedUnionTestAddDataType(builder, self.dataType)
+ if self.data is not None:
+ NestedUnionTestAddData(builder, data)
+ NestedUnionTestAddId(builder, self.id)
+ nestedUnionTest = NestedUnionTestEnd(builder)
+ return nestedUnionTest
diff --git a/tests/MyGame/Example/NestedUnion/Test.py b/tests/MyGame/Example/NestedUnion/Test.py
new file mode 100644
index 0000000..143d1df
--- /dev/null
+++ b/tests/MyGame/Example/NestedUnion/Test.py
@@ -0,0 +1,66 @@
+# automatically generated by the FlatBuffers compiler, do not modify
+
+# namespace: NestedUnion
+
+import flatbuffers
+from flatbuffers.compat import import_numpy
+np = import_numpy()
+
+class Test(object):
+ __slots__ = ['_tab']
+
+ @classmethod
+ def SizeOf(cls):
+ return 4
+
+ # Test
+ def Init(self, buf, pos):
+ self._tab = flatbuffers.table.Table(buf, pos)
+
+ # Test
+ def A(self): return self._tab.Get(flatbuffers.number_types.Int16Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(0))
+ # Test
+ def B(self): return self._tab.Get(flatbuffers.number_types.Int8Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(2))
+
+def CreateTest(builder, a, b):
+ builder.Prep(2, 4)
+ builder.Pad(1)
+ builder.PrependInt8(b)
+ builder.PrependInt16(a)
+ return builder.Offset()
+
+
+class TestT(object):
+
+ # TestT
+ def __init__(self):
+ self.a = 0 # type: int
+ self.b = 0 # type: int
+
+ @classmethod
+ def InitFromBuf(cls, buf, pos):
+ test = Test()
+ test.Init(buf, pos)
+ return cls.InitFromObj(test)
+
+ @classmethod
+ def InitFromPackedBuf(cls, buf, pos=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
+ return cls.InitFromBuf(buf, pos+n)
+
+ @classmethod
+ def InitFromObj(cls, test):
+ x = TestT()
+ x._UnPack(test)
+ return x
+
+ # TestT
+ def _UnPack(self, test):
+ if test is None:
+ return
+ self.a = test.A()
+ self.b = test.B()
+
+ # TestT
+ def Pack(self, builder):
+ return CreateTest(builder, self.a, self.b)
diff --git a/tests/MyGame/Example/NestedUnion/TestSimpleTableWithEnum.py b/tests/MyGame/Example/NestedUnion/TestSimpleTableWithEnum.py
new file mode 100644
index 0000000..46ebc26
--- /dev/null
+++ b/tests/MyGame/Example/NestedUnion/TestSimpleTableWithEnum.py
@@ -0,0 +1,78 @@
+# automatically generated by the FlatBuffers compiler, do not modify
+
+# namespace: NestedUnion
+
+import flatbuffers
+from flatbuffers.compat import import_numpy
+np = import_numpy()
+
+class TestSimpleTableWithEnum(object):
+ __slots__ = ['_tab']
+
+ @classmethod
+ def GetRootAs(cls, buf, offset=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
+ x = TestSimpleTableWithEnum()
+ x.Init(buf, n + offset)
+ return x
+
+ @classmethod
+ def GetRootAsTestSimpleTableWithEnum(cls, buf, offset=0):
+ """This method is deprecated. Please switch to GetRootAs."""
+ return cls.GetRootAs(buf, offset)
+ # TestSimpleTableWithEnum
+ def Init(self, buf, pos):
+ self._tab = flatbuffers.table.Table(buf, pos)
+
+ # TestSimpleTableWithEnum
+ def Color(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Uint8Flags, o + self._tab.Pos)
+ return 2
+
+def TestSimpleTableWithEnumStart(builder): builder.StartObject(1)
+def Start(builder):
+ return TestSimpleTableWithEnumStart(builder)
+def TestSimpleTableWithEnumAddColor(builder, color): builder.PrependUint8Slot(0, color, 2)
+def AddColor(builder, color):
+ return TestSimpleTableWithEnumAddColor(builder, color)
+def TestSimpleTableWithEnumEnd(builder): return builder.EndObject()
+def End(builder):
+ return TestSimpleTableWithEnumEnd(builder)
+
+class TestSimpleTableWithEnumT(object):
+
+ # TestSimpleTableWithEnumT
+ def __init__(self):
+ self.color = 2 # type: int
+
+ @classmethod
+ def InitFromBuf(cls, buf, pos):
+ testSimpleTableWithEnum = TestSimpleTableWithEnum()
+ testSimpleTableWithEnum.Init(buf, pos)
+ return cls.InitFromObj(testSimpleTableWithEnum)
+
+ @classmethod
+ def InitFromPackedBuf(cls, buf, pos=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
+ return cls.InitFromBuf(buf, pos+n)
+
+ @classmethod
+ def InitFromObj(cls, testSimpleTableWithEnum):
+ x = TestSimpleTableWithEnumT()
+ x._UnPack(testSimpleTableWithEnum)
+ return x
+
+ # TestSimpleTableWithEnumT
+ def _UnPack(self, testSimpleTableWithEnum):
+ if testSimpleTableWithEnum is None:
+ return
+ self.color = testSimpleTableWithEnum.Color()
+
+ # TestSimpleTableWithEnumT
+ def Pack(self, builder):
+ TestSimpleTableWithEnumStart(builder)
+ TestSimpleTableWithEnumAddColor(builder, self.color)
+ testSimpleTableWithEnum = TestSimpleTableWithEnumEnd(builder)
+ return testSimpleTableWithEnum
diff --git a/tests/MyGame/Example/NestedUnion/Vec3.py b/tests/MyGame/Example/NestedUnion/Vec3.py
new file mode 100644
index 0000000..f3bb75f
--- /dev/null
+++ b/tests/MyGame/Example/NestedUnion/Vec3.py
@@ -0,0 +1,155 @@
+# automatically generated by the FlatBuffers compiler, do not modify
+
+# namespace: NestedUnion
+
+import flatbuffers
+from flatbuffers.compat import import_numpy
+np = import_numpy()
+
+class Vec3(object):
+ __slots__ = ['_tab']
+
+ @classmethod
+ def GetRootAs(cls, buf, offset=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
+ x = Vec3()
+ x.Init(buf, n + offset)
+ return x
+
+ @classmethod
+ def GetRootAsVec3(cls, buf, offset=0):
+ """This method is deprecated. Please switch to GetRootAs."""
+ return cls.GetRootAs(buf, offset)
+ # Vec3
+ def Init(self, buf, pos):
+ self._tab = flatbuffers.table.Table(buf, pos)
+
+ # Vec3
+ def X(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
+ return 0.0
+
+ # Vec3
+ def Y(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
+ return 0.0
+
+ # Vec3
+ def Z(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
+ return 0.0
+
+ # Vec3
+ def Test1(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Float64Flags, o + self._tab.Pos)
+ return 0.0
+
+ # Vec3
+ def Test2(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Uint8Flags, o + self._tab.Pos)
+ return 0
+
+ # Vec3
+ def Test3(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(14))
+ if o != 0:
+ x = o + self._tab.Pos
+ from MyGame.Example.NestedUnion.Test import Test
+ obj = Test()
+ obj.Init(self._tab.Bytes, x)
+ return obj
+ return None
+
+def Vec3Start(builder): builder.StartObject(6)
+def Start(builder):
+ return Vec3Start(builder)
+def Vec3AddX(builder, x): builder.PrependFloat64Slot(0, x, 0.0)
+def AddX(builder, x):
+ return Vec3AddX(builder, x)
+def Vec3AddY(builder, y): builder.PrependFloat64Slot(1, y, 0.0)
+def AddY(builder, y):
+ return Vec3AddY(builder, y)
+def Vec3AddZ(builder, z): builder.PrependFloat64Slot(2, z, 0.0)
+def AddZ(builder, z):
+ return Vec3AddZ(builder, z)
+def Vec3AddTest1(builder, test1): builder.PrependFloat64Slot(3, test1, 0.0)
+def AddTest1(builder, test1):
+ return Vec3AddTest1(builder, test1)
+def Vec3AddTest2(builder, test2): builder.PrependUint8Slot(4, test2, 0)
+def AddTest2(builder, test2):
+ return Vec3AddTest2(builder, test2)
+def Vec3AddTest3(builder, test3): builder.PrependStructSlot(5, flatbuffers.number_types.UOffsetTFlags.py_type(test3), 0)
+def AddTest3(builder, test3):
+ return Vec3AddTest3(builder, test3)
+def Vec3End(builder): return builder.EndObject()
+def End(builder):
+ return Vec3End(builder)
+import MyGame.Example.NestedUnion.Test
+try:
+ from typing import Optional
+except:
+ pass
+
+class Vec3T(object):
+
+ # Vec3T
+ def __init__(self):
+ self.x = 0.0 # type: float
+ self.y = 0.0 # type: float
+ self.z = 0.0 # type: float
+ self.test1 = 0.0 # type: float
+ self.test2 = 0 # type: int
+ self.test3 = None # type: Optional[MyGame.Example.NestedUnion.Test.TestT]
+
+ @classmethod
+ def InitFromBuf(cls, buf, pos):
+ vec3 = Vec3()
+ vec3.Init(buf, pos)
+ return cls.InitFromObj(vec3)
+
+ @classmethod
+ def InitFromPackedBuf(cls, buf, pos=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
+ return cls.InitFromBuf(buf, pos+n)
+
+ @classmethod
+ def InitFromObj(cls, vec3):
+ x = Vec3T()
+ x._UnPack(vec3)
+ return x
+
+ # Vec3T
+ def _UnPack(self, vec3):
+ if vec3 is None:
+ return
+ self.x = vec3.X()
+ self.y = vec3.Y()
+ self.z = vec3.Z()
+ self.test1 = vec3.Test1()
+ self.test2 = vec3.Test2()
+ if vec3.Test3() is not None:
+ self.test3 = MyGame.Example.NestedUnion.Test.TestT.InitFromObj(vec3.Test3())
+
+ # Vec3T
+ def Pack(self, builder):
+ Vec3Start(builder)
+ Vec3AddX(builder, self.x)
+ Vec3AddY(builder, self.y)
+ Vec3AddZ(builder, self.z)
+ Vec3AddTest1(builder, self.test1)
+ Vec3AddTest2(builder, self.test2)
+ if self.test3 is not None:
+ test3 = self.test3.Pack(builder)
+ Vec3AddTest3(builder, test3)
+ vec3 = Vec3End(builder)
+ return vec3
diff --git a/tests/MyGame/Example/NestedUnion/__init__.py b/tests/MyGame/Example/NestedUnion/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/MyGame/Example/NestedUnion/__init__.py
diff --git a/tests/MyGame/Example/Race.lua b/tests/MyGame/Example/Race.lua
index 7aa37e5..b4f27d6 100644
--- a/tests/MyGame/Example/Race.lua
+++ b/tests/MyGame/Example/Race.lua
@@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.
- flatc version: 2.0.8
+ flatc version: 22.10.26
Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
diff --git a/tests/MyGame/Example/Race.nim b/tests/MyGame/Example/Race.nim
new file mode 100644
index 0000000..de77e1c
--- /dev/null
+++ b/tests/MyGame/Example/Race.nim
@@ -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.10.26
+
+ Declared by :
+ Rooting type : MyGame.Example.Monster ()
+]#
+
+type Race*{.pure.} = enum
+ None = -1.int8,
+ Human = 0.int8,
+ Dwarf = 1.int8,
+ Elf = 2.int8,
diff --git a/tests/MyGame/Example/Referrable.cs b/tests/MyGame/Example/Referrable.cs
index a9b59c4..3d6f8a6 100644
--- a/tests/MyGame/Example/Referrable.cs
+++ b/tests/MyGame/Example/Referrable.cs
@@ -13,7 +13,7 @@
{
private Table __p;
public ByteBuffer ByteBuffer { get { return __p.bb; } }
- public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_8(); }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_22_10_26(); }
public static Referrable GetRootAsReferrable(ByteBuffer _bb) { return GetRootAsReferrable(_bb, new Referrable()); }
public static Referrable GetRootAsReferrable(ByteBuffer _bb, Referrable obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
diff --git a/tests/MyGame/Example/Referrable.java b/tests/MyGame/Example/Referrable.java
index f28d6cb..552aa96 100644
--- a/tests/MyGame/Example/Referrable.java
+++ b/tests/MyGame/Example/Referrable.java
@@ -9,7 +9,7 @@
@SuppressWarnings("unused")
public final class Referrable extends Table {
- public static void ValidateVersion() { Constants.FLATBUFFERS_2_0_8(); }
+ public static void ValidateVersion() { Constants.FLATBUFFERS_22_10_26(); }
public static Referrable getRootAsReferrable(ByteBuffer _bb) { return getRootAsReferrable(_bb, new Referrable()); }
public static Referrable getRootAsReferrable(ByteBuffer _bb, Referrable obj) { _bb.order(ByteOrder.LITTLE_ENDIAN); return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb)); }
public void __init(int _i, ByteBuffer _bb) { __reset(_i, _bb); }
diff --git a/tests/MyGame/Example/Referrable.kt b/tests/MyGame/Example/Referrable.kt
index 6d4b63e..92078ac 100644
--- a/tests/MyGame/Example/Referrable.kt
+++ b/tests/MyGame/Example/Referrable.kt
@@ -36,7 +36,7 @@
return (val_1 - val_2).sign
}
companion object {
- fun validateVersion() = Constants.FLATBUFFERS_2_0_8()
+ fun validateVersion() = Constants.FLATBUFFERS_22_10_26()
fun getRootAsReferrable(_bb: ByteBuffer): Referrable = getRootAsReferrable(_bb, Referrable())
fun getRootAsReferrable(_bb: ByteBuffer, obj: Referrable): Referrable {
_bb.order(ByteOrder.LITTLE_ENDIAN)
diff --git a/tests/MyGame/Example/Referrable.lua b/tests/MyGame/Example/Referrable.lua
index 1911906..f3f8396 100644
--- a/tests/MyGame/Example/Referrable.lua
+++ b/tests/MyGame/Example/Referrable.lua
@@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.
- flatc version: 2.0.8
+ flatc version: 22.10.26
Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
diff --git a/tests/MyGame/Example/Referrable.nim b/tests/MyGame/Example/Referrable.nim
new file mode 100644
index 0000000..0abc494
--- /dev/null
+++ b/tests/MyGame/Example/Referrable.nim
@@ -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.10.26
+
+ 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()
diff --git a/tests/MyGame/Example/Referrable.py b/tests/MyGame/Example/Referrable.py
index 4b1da6a..5fd1e24 100644
--- a/tests/MyGame/Example/Referrable.py
+++ b/tests/MyGame/Example/Referrable.py
@@ -58,6 +58,11 @@
return cls.InitFromObj(referrable)
@classmethod
+ def InitFromPackedBuf(cls, buf, pos=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
+ return cls.InitFromBuf(buf, pos+n)
+
+ @classmethod
def InitFromObj(cls, referrable):
x = ReferrableT()
x._UnPack(referrable)
diff --git a/tests/MyGame/Example/Stat.cs b/tests/MyGame/Example/Stat.cs
index 32c05dc..9ad234f 100644
--- a/tests/MyGame/Example/Stat.cs
+++ b/tests/MyGame/Example/Stat.cs
@@ -13,7 +13,7 @@
{
private Table __p;
public ByteBuffer ByteBuffer { get { return __p.bb; } }
- public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_8(); }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_22_10_26(); }
public static Stat GetRootAsStat(ByteBuffer _bb) { return GetRootAsStat(_bb, new Stat()); }
public static Stat GetRootAsStat(ByteBuffer _bb, Stat obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
diff --git a/tests/MyGame/Example/Stat.java b/tests/MyGame/Example/Stat.java
index 3044421..b4cd217 100644
--- a/tests/MyGame/Example/Stat.java
+++ b/tests/MyGame/Example/Stat.java
@@ -9,7 +9,7 @@
@SuppressWarnings("unused")
public final class Stat extends Table {
- public static void ValidateVersion() { Constants.FLATBUFFERS_2_0_8(); }
+ public static void ValidateVersion() { Constants.FLATBUFFERS_22_10_26(); }
public static Stat getRootAsStat(ByteBuffer _bb) { return getRootAsStat(_bb, new Stat()); }
public static Stat getRootAsStat(ByteBuffer _bb, Stat obj) { _bb.order(ByteOrder.LITTLE_ENDIAN); return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb)); }
public void __init(int _i, ByteBuffer _bb) { __reset(_i, _bb); }
diff --git a/tests/MyGame/Example/Stat.kt b/tests/MyGame/Example/Stat.kt
index ef6f31f..fe0a1d7 100644
--- a/tests/MyGame/Example/Stat.kt
+++ b/tests/MyGame/Example/Stat.kt
@@ -57,7 +57,7 @@
return (val_1 - val_2).sign
}
companion object {
- fun validateVersion() = Constants.FLATBUFFERS_2_0_8()
+ fun validateVersion() = Constants.FLATBUFFERS_22_10_26()
fun getRootAsStat(_bb: ByteBuffer): Stat = getRootAsStat(_bb, Stat())
fun getRootAsStat(_bb: ByteBuffer, obj: Stat): Stat {
_bb.order(ByteOrder.LITTLE_ENDIAN)
diff --git a/tests/MyGame/Example/Stat.lua b/tests/MyGame/Example/Stat.lua
index bf5704b..a9848aa 100644
--- a/tests/MyGame/Example/Stat.lua
+++ b/tests/MyGame/Example/Stat.lua
@@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.
- flatc version: 2.0.8
+ flatc version: 22.10.26
Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
diff --git a/tests/MyGame/Example/Stat.nim b/tests/MyGame/Example/Stat.nim
new file mode 100644
index 0000000..09cda13
--- /dev/null
+++ b/tests/MyGame/Example/Stat.nim
@@ -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.10.26
+
+ 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()
diff --git a/tests/MyGame/Example/Stat.py b/tests/MyGame/Example/Stat.py
index 3b19a3b..471bc36 100644
--- a/tests/MyGame/Example/Stat.py
+++ b/tests/MyGame/Example/Stat.py
@@ -80,6 +80,11 @@
return cls.InitFromObj(stat)
@classmethod
+ def InitFromPackedBuf(cls, buf, pos=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
+ return cls.InitFromBuf(buf, pos+n)
+
+ @classmethod
def InitFromObj(cls, stat):
x = StatT()
x._UnPack(stat)
diff --git a/tests/MyGame/Example/StructOfStructs.java b/tests/MyGame/Example/StructOfStructs.java
index 424a8a2..32c6e1f 100644
--- a/tests/MyGame/Example/StructOfStructs.java
+++ b/tests/MyGame/Example/StructOfStructs.java
@@ -52,12 +52,12 @@
}
public static int pack(FlatBufferBuilder builder, StructOfStructsT _o) {
if (_o == null) return 0;
- int _a_id = _o.getA().getId();
- int _a_distance = _o.getA().getDistance();
+ int _a_id = (int) _o.getA().getId();
+ int _a_distance = (int) _o.getA().getDistance();
short _b_a = _o.getB().getA();
byte _b_b = _o.getB().getB();
- int _c_id = _o.getC().getId();
- int _c_distance = _o.getC().getDistance();
+ int _c_id = (int) _o.getC().getId();
+ int _c_distance = (int) _o.getC().getDistance();
return createStructOfStructs(
builder,
_a_id,
diff --git a/tests/MyGame/Example/StructOfStructs.lua b/tests/MyGame/Example/StructOfStructs.lua
index be0148b..1f3b1db 100644
--- a/tests/MyGame/Example/StructOfStructs.lua
+++ b/tests/MyGame/Example/StructOfStructs.lua
@@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.
- flatc version: 2.0.8
+ flatc version: 22.10.26
Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
diff --git a/tests/MyGame/Example/StructOfStructs.nim b/tests/MyGame/Example/StructOfStructs.nim
new file mode 100644
index 0000000..6cd979e
--- /dev/null
+++ b/tests/MyGame/Example/StructOfStructs.nim
@@ -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.10.26
+
+ 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()
diff --git a/tests/MyGame/Example/StructOfStructs.py b/tests/MyGame/Example/StructOfStructs.py
index 0dcf3d5..88c469e 100644
--- a/tests/MyGame/Example/StructOfStructs.py
+++ b/tests/MyGame/Example/StructOfStructs.py
@@ -69,6 +69,11 @@
return cls.InitFromObj(structOfStructs)
@classmethod
+ def InitFromPackedBuf(cls, buf, pos=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
+ return cls.InitFromBuf(buf, pos+n)
+
+ @classmethod
def InitFromObj(cls, structOfStructs):
x = StructOfStructsT()
x._UnPack(structOfStructs)
diff --git a/tests/MyGame/Example/StructOfStructsOfStructs.java b/tests/MyGame/Example/StructOfStructsOfStructs.java
index 5d5f00f..ae1f50d 100644
--- a/tests/MyGame/Example/StructOfStructsOfStructs.java
+++ b/tests/MyGame/Example/StructOfStructsOfStructs.java
@@ -47,12 +47,12 @@
}
public static int pack(FlatBufferBuilder builder, StructOfStructsOfStructsT _o) {
if (_o == null) return 0;
- int _a_a_id = _o.getA().getA().getId();
- int _a_a_distance = _o.getA().getA().getDistance();
+ int _a_a_id = (int) _o.getA().getA().getId();
+ int _a_a_distance = (int) _o.getA().getA().getDistance();
short _a_b_a = _o.getA().getB().getA();
byte _a_b_b = _o.getA().getB().getB();
- int _a_c_id = _o.getA().getC().getId();
- int _a_c_distance = _o.getA().getC().getDistance();
+ int _a_c_id = (int) _o.getA().getC().getId();
+ int _a_c_distance = (int) _o.getA().getC().getDistance();
return createStructOfStructsOfStructs(
builder,
_a_a_id,
diff --git a/tests/MyGame/Example/StructOfStructsOfStructs.lua b/tests/MyGame/Example/StructOfStructsOfStructs.lua
index f8587c1..87a23a5 100644
--- a/tests/MyGame/Example/StructOfStructsOfStructs.lua
+++ b/tests/MyGame/Example/StructOfStructsOfStructs.lua
@@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.
- flatc version: 2.0.8
+ flatc version: 22.10.26
Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
diff --git a/tests/MyGame/Example/StructOfStructsOfStructs.nim b/tests/MyGame/Example/StructOfStructsOfStructs.nim
new file mode 100644
index 0000000..de039e9
--- /dev/null
+++ b/tests/MyGame/Example/StructOfStructsOfStructs.nim
@@ -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.10.26
+
+ 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()
diff --git a/tests/MyGame/Example/StructOfStructsOfStructs.py b/tests/MyGame/Example/StructOfStructsOfStructs.py
index edba982..0243f71 100644
--- a/tests/MyGame/Example/StructOfStructsOfStructs.py
+++ b/tests/MyGame/Example/StructOfStructsOfStructs.py
@@ -57,6 +57,11 @@
return cls.InitFromObj(structOfStructsOfStructs)
@classmethod
+ def InitFromPackedBuf(cls, buf, pos=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
+ return cls.InitFromBuf(buf, pos+n)
+
+ @classmethod
def InitFromObj(cls, structOfStructsOfStructs):
x = StructOfStructsOfStructsT()
x._UnPack(structOfStructsOfStructs)
diff --git a/tests/MyGame/Example/Test.lua b/tests/MyGame/Example/Test.lua
index 74217cc..b912df0 100644
--- a/tests/MyGame/Example/Test.lua
+++ b/tests/MyGame/Example/Test.lua
@@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.
- flatc version: 2.0.8
+ flatc version: 22.10.26
Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
diff --git a/tests/MyGame/Example/Test.nim b/tests/MyGame/Example/Test.nim
new file mode 100644
index 0000000..c7ea8cc
--- /dev/null
+++ b/tests/MyGame/Example/Test.nim
@@ -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.10.26
+
+ 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()
diff --git a/tests/MyGame/Example/Test.py b/tests/MyGame/Example/Test.py
index 8357ec2..f095d33 100644
--- a/tests/MyGame/Example/Test.py
+++ b/tests/MyGame/Example/Test.py
@@ -44,6 +44,11 @@
return cls.InitFromObj(test)
@classmethod
+ def InitFromPackedBuf(cls, buf, pos=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
+ return cls.InitFromBuf(buf, pos+n)
+
+ @classmethod
def InitFromObj(cls, test):
x = TestT()
x._UnPack(test)
diff --git a/tests/MyGame/Example/TestSimpleTableWithEnum.cs b/tests/MyGame/Example/TestSimpleTableWithEnum.cs
index 837ad19..cf8c555 100644
--- a/tests/MyGame/Example/TestSimpleTableWithEnum.cs
+++ b/tests/MyGame/Example/TestSimpleTableWithEnum.cs
@@ -13,7 +13,7 @@
{
private Table __p;
public ByteBuffer ByteBuffer { get { return __p.bb; } }
- public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_8(); }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_22_10_26(); }
public static TestSimpleTableWithEnum GetRootAsTestSimpleTableWithEnum(ByteBuffer _bb) { return GetRootAsTestSimpleTableWithEnum(_bb, new TestSimpleTableWithEnum()); }
public static TestSimpleTableWithEnum GetRootAsTestSimpleTableWithEnum(ByteBuffer _bb, TestSimpleTableWithEnum obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
diff --git a/tests/MyGame/Example/TestSimpleTableWithEnum.java b/tests/MyGame/Example/TestSimpleTableWithEnum.java
index 39f9421..067d37a 100644
--- a/tests/MyGame/Example/TestSimpleTableWithEnum.java
+++ b/tests/MyGame/Example/TestSimpleTableWithEnum.java
@@ -9,7 +9,7 @@
@SuppressWarnings("unused")
final class TestSimpleTableWithEnum extends Table {
- public static void ValidateVersion() { Constants.FLATBUFFERS_2_0_8(); }
+ public static void ValidateVersion() { Constants.FLATBUFFERS_22_10_26(); }
public static TestSimpleTableWithEnum getRootAsTestSimpleTableWithEnum(ByteBuffer _bb) { return getRootAsTestSimpleTableWithEnum(_bb, new TestSimpleTableWithEnum()); }
public static TestSimpleTableWithEnum getRootAsTestSimpleTableWithEnum(ByteBuffer _bb, TestSimpleTableWithEnum obj) { _bb.order(ByteOrder.LITTLE_ENDIAN); return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb)); }
public void __init(int _i, ByteBuffer _bb) { __reset(_i, _bb); }
diff --git a/tests/MyGame/Example/TestSimpleTableWithEnum.kt b/tests/MyGame/Example/TestSimpleTableWithEnum.kt
index cb081fc..8268c8c 100644
--- a/tests/MyGame/Example/TestSimpleTableWithEnum.kt
+++ b/tests/MyGame/Example/TestSimpleTableWithEnum.kt
@@ -31,7 +31,7 @@
}
}
companion object {
- fun validateVersion() = Constants.FLATBUFFERS_2_0_8()
+ fun validateVersion() = Constants.FLATBUFFERS_22_10_26()
fun getRootAsTestSimpleTableWithEnum(_bb: ByteBuffer): TestSimpleTableWithEnum = getRootAsTestSimpleTableWithEnum(_bb, TestSimpleTableWithEnum())
fun getRootAsTestSimpleTableWithEnum(_bb: ByteBuffer, obj: TestSimpleTableWithEnum): TestSimpleTableWithEnum {
_bb.order(ByteOrder.LITTLE_ENDIAN)
diff --git a/tests/MyGame/Example/TestSimpleTableWithEnum.lua b/tests/MyGame/Example/TestSimpleTableWithEnum.lua
index 90dcf79..ee80960 100644
--- a/tests/MyGame/Example/TestSimpleTableWithEnum.lua
+++ b/tests/MyGame/Example/TestSimpleTableWithEnum.lua
@@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.
- flatc version: 2.0.8
+ flatc version: 22.10.26
Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
diff --git a/tests/MyGame/Example/TestSimpleTableWithEnum.nim b/tests/MyGame/Example/TestSimpleTableWithEnum.nim
new file mode 100644
index 0000000..873527b
--- /dev/null
+++ b/tests/MyGame/Example/TestSimpleTableWithEnum.nim
@@ -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.10.26
+
+ 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()
diff --git a/tests/MyGame/Example/TestSimpleTableWithEnum.py b/tests/MyGame/Example/TestSimpleTableWithEnum.py
index 7f18ed2..9e58cc4 100644
--- a/tests/MyGame/Example/TestSimpleTableWithEnum.py
+++ b/tests/MyGame/Example/TestSimpleTableWithEnum.py
@@ -58,6 +58,11 @@
return cls.InitFromObj(testSimpleTableWithEnum)
@classmethod
+ def InitFromPackedBuf(cls, buf, pos=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
+ return cls.InitFromBuf(buf, pos+n)
+
+ @classmethod
def InitFromObj(cls, testSimpleTableWithEnum):
x = TestSimpleTableWithEnumT()
x._UnPack(testSimpleTableWithEnum)
diff --git a/tests/MyGame/Example/TypeAliases.cs b/tests/MyGame/Example/TypeAliases.cs
index f936ad6..00b8c70 100644
--- a/tests/MyGame/Example/TypeAliases.cs
+++ b/tests/MyGame/Example/TypeAliases.cs
@@ -13,7 +13,7 @@
{
private Table __p;
public ByteBuffer ByteBuffer { get { return __p.bb; } }
- public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_8(); }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_22_10_26(); }
public static TypeAliases GetRootAsTypeAliases(ByteBuffer _bb) { return GetRootAsTypeAliases(_bb, new TypeAliases()); }
public static TypeAliases GetRootAsTypeAliases(ByteBuffer _bb, TypeAliases obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
diff --git a/tests/MyGame/Example/TypeAliases.java b/tests/MyGame/Example/TypeAliases.java
index d91ca65..c8e183a 100644
--- a/tests/MyGame/Example/TypeAliases.java
+++ b/tests/MyGame/Example/TypeAliases.java
@@ -9,7 +9,7 @@
@SuppressWarnings("unused")
public final class TypeAliases extends Table {
- public static void ValidateVersion() { Constants.FLATBUFFERS_2_0_8(); }
+ public static void ValidateVersion() { Constants.FLATBUFFERS_22_10_26(); }
public static TypeAliases getRootAsTypeAliases(ByteBuffer _bb) { return getRootAsTypeAliases(_bb, new TypeAliases()); }
public static TypeAliases getRootAsTypeAliases(ByteBuffer _bb, TypeAliases obj) { _bb.order(ByteOrder.LITTLE_ENDIAN); return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb)); }
public void __init(int _i, ByteBuffer _bb) { __reset(_i, _bb); }
diff --git a/tests/MyGame/Example/TypeAliases.kt b/tests/MyGame/Example/TypeAliases.kt
index 8a2d80e..c5ca774 100644
--- a/tests/MyGame/Example/TypeAliases.kt
+++ b/tests/MyGame/Example/TypeAliases.kt
@@ -203,7 +203,7 @@
}
}
companion object {
- fun validateVersion() = Constants.FLATBUFFERS_2_0_8()
+ fun validateVersion() = Constants.FLATBUFFERS_22_10_26()
fun getRootAsTypeAliases(_bb: ByteBuffer): TypeAliases = getRootAsTypeAliases(_bb, TypeAliases())
fun getRootAsTypeAliases(_bb: ByteBuffer, obj: TypeAliases): TypeAliases {
_bb.order(ByteOrder.LITTLE_ENDIAN)
diff --git a/tests/MyGame/Example/TypeAliases.lua b/tests/MyGame/Example/TypeAliases.lua
index cd406c3..e6d926c 100644
--- a/tests/MyGame/Example/TypeAliases.lua
+++ b/tests/MyGame/Example/TypeAliases.lua
@@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.
- flatc version: 2.0.8
+ flatc version: 22.10.26
Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
diff --git a/tests/MyGame/Example/TypeAliases.nim b/tests/MyGame/Example/TypeAliases.nim
new file mode 100644
index 0000000..d675949
--- /dev/null
+++ b/tests/MyGame/Example/TypeAliases.nim
@@ -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.10.26
+
+ 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()
diff --git a/tests/MyGame/Example/TypeAliases.py b/tests/MyGame/Example/TypeAliases.py
index 8b0ea19..b302049 100644
--- a/tests/MyGame/Example/TypeAliases.py
+++ b/tests/MyGame/Example/TypeAliases.py
@@ -229,6 +229,11 @@
return cls.InitFromObj(typeAliases)
@classmethod
+ def InitFromPackedBuf(cls, buf, pos=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
+ return cls.InitFromBuf(buf, pos+n)
+
+ @classmethod
def InitFromObj(cls, typeAliases):
x = TypeAliasesT()
x._UnPack(typeAliases)
diff --git a/tests/MyGame/Example/Vec3.lua b/tests/MyGame/Example/Vec3.lua
index 796ac7a..89b2bfb 100644
--- a/tests/MyGame/Example/Vec3.lua
+++ b/tests/MyGame/Example/Vec3.lua
@@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.
- flatc version: 2.0.8
+ flatc version: 22.10.26
Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
diff --git a/tests/MyGame/Example/Vec3.nim b/tests/MyGame/Example/Vec3.nim
new file mode 100644
index 0000000..9131fe8
--- /dev/null
+++ b/tests/MyGame/Example/Vec3.nim
@@ -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.10.26
+
+ 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()
diff --git a/tests/MyGame/Example/Vec3.py b/tests/MyGame/Example/Vec3.py
index 69cd511..3a394a2 100644
--- a/tests/MyGame/Example/Vec3.py
+++ b/tests/MyGame/Example/Vec3.py
@@ -73,6 +73,11 @@
return cls.InitFromObj(vec3)
@classmethod
+ def InitFromPackedBuf(cls, buf, pos=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
+ return cls.InitFromBuf(buf, pos+n)
+
+ @classmethod
def InitFromObj(cls, vec3):
x = Vec3T()
x._UnPack(vec3)
diff --git a/tests/MyGame/Example2/Monster.cs b/tests/MyGame/Example2/Monster.cs
index af736e7..575d77e 100644
--- a/tests/MyGame/Example2/Monster.cs
+++ b/tests/MyGame/Example2/Monster.cs
@@ -13,7 +13,7 @@
{
private Table __p;
public ByteBuffer ByteBuffer { get { return __p.bb; } }
- public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_8(); }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_22_10_26(); }
public static Monster GetRootAsMonster(ByteBuffer _bb) { return GetRootAsMonster(_bb, new Monster()); }
public static Monster GetRootAsMonster(ByteBuffer _bb, Monster obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
diff --git a/tests/MyGame/Example2/Monster.java b/tests/MyGame/Example2/Monster.java
index 8065218..4697f4d 100644
--- a/tests/MyGame/Example2/Monster.java
+++ b/tests/MyGame/Example2/Monster.java
@@ -9,7 +9,7 @@
@SuppressWarnings("unused")
public final class Monster extends Table {
- public static void ValidateVersion() { Constants.FLATBUFFERS_2_0_8(); }
+ public static void ValidateVersion() { Constants.FLATBUFFERS_22_10_26(); }
public static Monster getRootAsMonster(ByteBuffer _bb) { return getRootAsMonster(_bb, new Monster()); }
public static Monster getRootAsMonster(ByteBuffer _bb, Monster obj) { _bb.order(ByteOrder.LITTLE_ENDIAN); return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb)); }
public void __init(int _i, ByteBuffer _bb) { __reset(_i, _bb); }
diff --git a/tests/MyGame/Example2/Monster.kt b/tests/MyGame/Example2/Monster.kt
index b5a148f..01f60a6 100644
--- a/tests/MyGame/Example2/Monster.kt
+++ b/tests/MyGame/Example2/Monster.kt
@@ -17,7 +17,7 @@
return this
}
companion object {
- fun validateVersion() = Constants.FLATBUFFERS_2_0_8()
+ fun validateVersion() = Constants.FLATBUFFERS_22_10_26()
fun getRootAsMonster(_bb: ByteBuffer): Monster = getRootAsMonster(_bb, Monster())
fun getRootAsMonster(_bb: ByteBuffer, obj: Monster): Monster {
_bb.order(ByteOrder.LITTLE_ENDIAN)
diff --git a/tests/MyGame/Example2/Monster.lua b/tests/MyGame/Example2/Monster.lua
index ddf4738..db43d8e 100644
--- a/tests/MyGame/Example2/Monster.lua
+++ b/tests/MyGame/Example2/Monster.lua
@@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.
- flatc version: 2.0.8
+ flatc version: 22.10.26
Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
diff --git a/tests/MyGame/Example2/Monster.nim b/tests/MyGame/Example2/Monster.nim
new file mode 100644
index 0000000..1a1a7e3
--- /dev/null
+++ b/tests/MyGame/Example2/Monster.nim
@@ -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.10.26
+
+ 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()
diff --git a/tests/MyGame/Example2/Monster.py b/tests/MyGame/Example2/Monster.py
index 893ea9b..020efef 100644
--- a/tests/MyGame/Example2/Monster.py
+++ b/tests/MyGame/Example2/Monster.py
@@ -48,6 +48,11 @@
return cls.InitFromObj(monster)
@classmethod
+ def InitFromPackedBuf(cls, buf, pos=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
+ return cls.InitFromBuf(buf, pos+n)
+
+ @classmethod
def InitFromObj(cls, monster):
x = MonsterT()
x._UnPack(monster)
diff --git a/tests/MyGame/InParentNamespace.cs b/tests/MyGame/InParentNamespace.cs
index 6237e7c..43fb074 100644
--- a/tests/MyGame/InParentNamespace.cs
+++ b/tests/MyGame/InParentNamespace.cs
@@ -13,7 +13,7 @@
{
private Table __p;
public ByteBuffer ByteBuffer { get { return __p.bb; } }
- public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_8(); }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_22_10_26(); }
public static InParentNamespace GetRootAsInParentNamespace(ByteBuffer _bb) { return GetRootAsInParentNamespace(_bb, new InParentNamespace()); }
public static InParentNamespace GetRootAsInParentNamespace(ByteBuffer _bb, InParentNamespace obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); }
diff --git a/tests/MyGame/InParentNamespace.java b/tests/MyGame/InParentNamespace.java
index c525ed5..26e5aa1 100644
--- a/tests/MyGame/InParentNamespace.java
+++ b/tests/MyGame/InParentNamespace.java
@@ -9,7 +9,7 @@
@SuppressWarnings("unused")
public final class InParentNamespace extends Table {
- public static void ValidateVersion() { Constants.FLATBUFFERS_2_0_8(); }
+ public static void ValidateVersion() { Constants.FLATBUFFERS_22_10_26(); }
public static InParentNamespace getRootAsInParentNamespace(ByteBuffer _bb) { return getRootAsInParentNamespace(_bb, new InParentNamespace()); }
public static InParentNamespace getRootAsInParentNamespace(ByteBuffer _bb, InParentNamespace obj) { _bb.order(ByteOrder.LITTLE_ENDIAN); return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb)); }
public void __init(int _i, ByteBuffer _bb) { __reset(_i, _bb); }
diff --git a/tests/MyGame/InParentNamespace.kt b/tests/MyGame/InParentNamespace.kt
index 7bed058..5be2ca4 100644
--- a/tests/MyGame/InParentNamespace.kt
+++ b/tests/MyGame/InParentNamespace.kt
@@ -17,7 +17,7 @@
return this
}
companion object {
- fun validateVersion() = Constants.FLATBUFFERS_2_0_8()
+ fun validateVersion() = Constants.FLATBUFFERS_22_10_26()
fun getRootAsInParentNamespace(_bb: ByteBuffer): InParentNamespace = getRootAsInParentNamespace(_bb, InParentNamespace())
fun getRootAsInParentNamespace(_bb: ByteBuffer, obj: InParentNamespace): InParentNamespace {
_bb.order(ByteOrder.LITTLE_ENDIAN)
diff --git a/tests/MyGame/InParentNamespace.lua b/tests/MyGame/InParentNamespace.lua
index 9115666..9d7f498 100644
--- a/tests/MyGame/InParentNamespace.lua
+++ b/tests/MyGame/InParentNamespace.lua
@@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.
- flatc version: 2.0.8
+ flatc version: 22.10.26
Declared by : //monster_test.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
diff --git a/tests/MyGame/InParentNamespace.nim b/tests/MyGame/InParentNamespace.nim
new file mode 100644
index 0000000..cd1397f
--- /dev/null
+++ b/tests/MyGame/InParentNamespace.nim
@@ -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.10.26
+
+ 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()
diff --git a/tests/MyGame/InParentNamespace.py b/tests/MyGame/InParentNamespace.py
index 197072b..0914aa4 100644
--- a/tests/MyGame/InParentNamespace.py
+++ b/tests/MyGame/InParentNamespace.py
@@ -48,6 +48,11 @@
return cls.InitFromObj(inParentNamespace)
@classmethod
+ def InitFromPackedBuf(cls, buf, pos=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
+ return cls.InitFromBuf(buf, pos+n)
+
+ @classmethod
def InitFromObj(cls, inParentNamespace):
x = InParentNamespaceT()
x._UnPack(inParentNamespace)
diff --git a/tests/MyGame/MonsterExtra.cs b/tests/MyGame/MonsterExtra.cs
index 0236856..c964dd7 100644
--- a/tests/MyGame/MonsterExtra.cs
+++ b/tests/MyGame/MonsterExtra.cs
@@ -13,7 +13,7 @@
{
private Table __p;
public ByteBuffer ByteBuffer { get { return __p.bb; } }
- public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_8(); }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_22_10_26(); }
public static MonsterExtra GetRootAsMonsterExtra(ByteBuffer _bb) { return GetRootAsMonsterExtra(_bb, new MonsterExtra()); }
public static MonsterExtra GetRootAsMonsterExtra(ByteBuffer _bb, MonsterExtra obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
public static bool MonsterExtraBufferHasIdentifier(ByteBuffer _bb) { return Table.__has_identifier(_bb, "MONE"); }
diff --git a/tests/MyGame/MonsterExtra.java b/tests/MyGame/MonsterExtra.java
index fdaf40b..3e5fbcd 100644
--- a/tests/MyGame/MonsterExtra.java
+++ b/tests/MyGame/MonsterExtra.java
@@ -9,7 +9,7 @@
@SuppressWarnings("unused")
public final class MonsterExtra extends Table {
- public static void ValidateVersion() { Constants.FLATBUFFERS_2_0_8(); }
+ public static void ValidateVersion() { Constants.FLATBUFFERS_22_10_26(); }
public static MonsterExtra getRootAsMonsterExtra(ByteBuffer _bb) { return getRootAsMonsterExtra(_bb, new MonsterExtra()); }
public static MonsterExtra getRootAsMonsterExtra(ByteBuffer _bb, MonsterExtra obj) { _bb.order(ByteOrder.LITTLE_ENDIAN); return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb)); }
public static boolean MonsterExtraBufferHasIdentifier(ByteBuffer _bb) { return __has_identifier(_bb, "MONE"); }
diff --git a/tests/MyGame/MonsterExtra.kt b/tests/MyGame/MonsterExtra.kt
index 3c8760c..d999e46 100644
--- a/tests/MyGame/MonsterExtra.kt
+++ b/tests/MyGame/MonsterExtra.kt
@@ -175,7 +175,7 @@
}
}
companion object {
- fun validateVersion() = Constants.FLATBUFFERS_2_0_8()
+ fun validateVersion() = Constants.FLATBUFFERS_22_10_26()
fun getRootAsMonsterExtra(_bb: ByteBuffer): MonsterExtra = getRootAsMonsterExtra(_bb, MonsterExtra())
fun getRootAsMonsterExtra(_bb: ByteBuffer, obj: MonsterExtra): MonsterExtra {
_bb.order(ByteOrder.LITTLE_ENDIAN)
diff --git a/tests/MyGame/MonsterExtra.py b/tests/MyGame/MonsterExtra.py
index f7288b6..b30ee6e 100644
--- a/tests/MyGame/MonsterExtra.py
+++ b/tests/MyGame/MonsterExtra.py
@@ -207,6 +207,11 @@
return cls.InitFromObj(monsterExtra)
@classmethod
+ def InitFromPackedBuf(cls, buf, pos=0):
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
+ return cls.InitFromBuf(buf, pos+n)
+
+ @classmethod
def InitFromObj(cls, monsterExtra):
x = MonsterExtraT()
x._UnPack(monsterExtra)
diff --git a/tests/MyGame/OtherNameSpace/FromInclude.lua b/tests/MyGame/OtherNameSpace/FromInclude.lua
index 64d894e..a98cec9 100644
--- a/tests/MyGame/OtherNameSpace/FromInclude.lua
+++ b/tests/MyGame/OtherNameSpace/FromInclude.lua
@@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.
- flatc version: 2.0.8
+ flatc version: 22.10.26
Declared by : //include_test/sub/include_test2.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
diff --git a/tests/MyGame/OtherNameSpace/FromInclude.nim b/tests/MyGame/OtherNameSpace/FromInclude.nim
new file mode 100644
index 0000000..36efea6
--- /dev/null
+++ b/tests/MyGame/OtherNameSpace/FromInclude.nim
@@ -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.10.26
+
+ Declared by :
+ Rooting type : MyGame.Example.Monster ()
+]#
+
+type FromInclude*{.pure.} = enum
+ IncludeVal = 0.int64,
diff --git a/tests/MyGame/OtherNameSpace/TableB.lua b/tests/MyGame/OtherNameSpace/TableB.lua
index 1f76c88..6e24cdf 100644
--- a/tests/MyGame/OtherNameSpace/TableB.lua
+++ b/tests/MyGame/OtherNameSpace/TableB.lua
@@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.
- flatc version: 2.0.8
+ flatc version: 22.10.26
Declared by : //include_test/sub/include_test2.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
diff --git a/tests/MyGame/OtherNameSpace/TableB.nim b/tests/MyGame/OtherNameSpace/TableB.nim
new file mode 100644
index 0000000..8026fb0
--- /dev/null
+++ b/tests/MyGame/OtherNameSpace/TableB.nim
@@ -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.10.26
+
+ 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()
diff --git a/tests/MyGame/OtherNameSpace/Unused.lua b/tests/MyGame/OtherNameSpace/Unused.lua
index 155a04e..9745a24 100644
--- a/tests/MyGame/OtherNameSpace/Unused.lua
+++ b/tests/MyGame/OtherNameSpace/Unused.lua
@@ -3,7 +3,7 @@
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.
- flatc version: 2.0.8
+ flatc version: 22.10.26
Declared by : //include_test/sub/include_test2.fbs
Rooting type : MyGame.Example.Monster (//monster_test.fbs)
diff --git a/tests/MyGame/OtherNameSpace/Unused.nim b/tests/MyGame/OtherNameSpace/Unused.nim
new file mode 100644
index 0000000..fd3b624
--- /dev/null
+++ b/tests/MyGame/OtherNameSpace/Unused.nim
@@ -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.10.26
+
+ 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()