diff --git a/samples/monster_generated.h b/samples/monster_generated.h index 0560d46ab..4d49171b9 100644 --- a/samples/monster_generated.h +++ b/samples/monster_generated.h @@ -605,13 +605,13 @@ inline void EquipmentUnion::Reset() { type = Equipment_NONE; } -flatbuffers::TypeTable *Vec3TypeTable(); +inline flatbuffers::TypeTable *Vec3TypeTable(); -flatbuffers::TypeTable *MonsterTypeTable(); +inline flatbuffers::TypeTable *MonsterTypeTable(); -flatbuffers::TypeTable *WeaponTypeTable(); +inline flatbuffers::TypeTable *WeaponTypeTable(); -flatbuffers::TypeTable *ColorTypeTable() { +inline flatbuffers::TypeTable *ColorTypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 }, @@ -631,7 +631,7 @@ flatbuffers::TypeTable *ColorTypeTable() { return &tt; } -flatbuffers::TypeTable *EquipmentTypeTable() { +inline flatbuffers::TypeTable *EquipmentTypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_SEQUENCE, 0, -1 }, { flatbuffers::ET_SEQUENCE, 0, 0 } @@ -649,7 +649,7 @@ flatbuffers::TypeTable *EquipmentTypeTable() { return &tt; } -flatbuffers::TypeTable *Vec3TypeTable() { +inline flatbuffers::TypeTable *Vec3TypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_FLOAT, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 }, @@ -667,7 +667,7 @@ flatbuffers::TypeTable *Vec3TypeTable() { return &tt; } -flatbuffers::TypeTable *MonsterTypeTable() { +inline flatbuffers::TypeTable *MonsterTypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_SEQUENCE, 0, 0 }, { flatbuffers::ET_SHORT, 0, -1 }, @@ -704,7 +704,7 @@ flatbuffers::TypeTable *MonsterTypeTable() { return &tt; } -flatbuffers::TypeTable *WeaponTypeTable() { +inline flatbuffers::TypeTable *WeaponTypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_STRING, 0, -1 }, { flatbuffers::ET_SHORT, 0, -1 } diff --git a/src/idl_gen_cpp.cpp b/src/idl_gen_cpp.cpp index 729580a31..bf185646e 100644 --- a/src/idl_gen_cpp.cpp +++ b/src/idl_gen_cpp.cpp @@ -592,7 +592,7 @@ class CppGenerator : public BaseGenerator { void GenMiniReflectPre(const StructDef *struct_def) { code_.SetValue("NAME", struct_def->name); - code_ += "flatbuffers::TypeTable *{{NAME}}TypeTable();"; + code_ += "inline flatbuffers::TypeTable *{{NAME}}TypeTable();"; code_ += ""; } @@ -691,7 +691,7 @@ class CppGenerator : public BaseGenerator { code_.SetValue("REFS", rs); code_.SetValue("NAMES", ns); code_.SetValue("VALUES", vs); - code_ += "flatbuffers::TypeTable *{{NAME}}TypeTable() {"; + code_ += "inline flatbuffers::TypeTable *{{NAME}}TypeTable() {"; if (num_fields) { code_ += " static flatbuffers::TypeCode type_codes[] = {"; code_ += " {{TYPES}}"; diff --git a/tests/monster_test.bfbs b/tests/monster_test.bfbs index 843e308c5..4cb46a7ca 100644 Binary files a/tests/monster_test.bfbs and b/tests/monster_test.bfbs differ diff --git a/tests/monster_test_generated.h b/tests/monster_test_generated.h index f02a4dbd2..1478ea67d 100644 --- a/tests/monster_test_generated.h +++ b/tests/monster_test_generated.h @@ -1901,31 +1901,31 @@ inline void AnyUnion::Reset() { } // namespace Example -flatbuffers::TypeTable *InParentNamespaceTypeTable(); +inline flatbuffers::TypeTable *InParentNamespaceTypeTable(); namespace Example2 { -flatbuffers::TypeTable *MonsterTypeTable(); +inline flatbuffers::TypeTable *MonsterTypeTable(); } // namespace Example2 namespace Example { -flatbuffers::TypeTable *TestTypeTable(); +inline flatbuffers::TypeTable *TestTypeTable(); -flatbuffers::TypeTable *TestSimpleTableWithEnumTypeTable(); +inline flatbuffers::TypeTable *TestSimpleTableWithEnumTypeTable(); -flatbuffers::TypeTable *Vec3TypeTable(); +inline flatbuffers::TypeTable *Vec3TypeTable(); -flatbuffers::TypeTable *AbilityTypeTable(); +inline flatbuffers::TypeTable *AbilityTypeTable(); -flatbuffers::TypeTable *StatTypeTable(); +inline flatbuffers::TypeTable *StatTypeTable(); -flatbuffers::TypeTable *MonsterTypeTable(); +inline flatbuffers::TypeTable *MonsterTypeTable(); -flatbuffers::TypeTable *TypeAliasesTypeTable(); +inline flatbuffers::TypeTable *TypeAliasesTypeTable(); -flatbuffers::TypeTable *ColorTypeTable() { +inline flatbuffers::TypeTable *ColorTypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 }, @@ -1946,7 +1946,7 @@ flatbuffers::TypeTable *ColorTypeTable() { return &tt; } -flatbuffers::TypeTable *AnyTypeTable() { +inline flatbuffers::TypeTable *AnyTypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_SEQUENCE, 0, -1 }, { flatbuffers::ET_SEQUENCE, 0, 0 }, @@ -1972,7 +1972,7 @@ flatbuffers::TypeTable *AnyTypeTable() { } // namespace Example -flatbuffers::TypeTable *InParentNamespaceTypeTable() { +inline flatbuffers::TypeTable *InParentNamespaceTypeTable() { static flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr }; @@ -1981,7 +1981,7 @@ flatbuffers::TypeTable *InParentNamespaceTypeTable() { namespace Example2 { -flatbuffers::TypeTable *MonsterTypeTable() { +inline flatbuffers::TypeTable *MonsterTypeTable() { static flatbuffers::TypeTable tt = { flatbuffers::ST_TABLE, 0, nullptr, nullptr, nullptr, nullptr }; @@ -1992,7 +1992,7 @@ flatbuffers::TypeTable *MonsterTypeTable() { namespace Example { -flatbuffers::TypeTable *TestTypeTable() { +inline flatbuffers::TypeTable *TestTypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_SHORT, 0, -1 }, { flatbuffers::ET_CHAR, 0, -1 } @@ -2008,7 +2008,7 @@ flatbuffers::TypeTable *TestTypeTable() { return &tt; } -flatbuffers::TypeTable *TestSimpleTableWithEnumTypeTable() { +inline flatbuffers::TypeTable *TestSimpleTableWithEnumTypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_CHAR, 0, 0 } }; @@ -2024,7 +2024,7 @@ flatbuffers::TypeTable *TestSimpleTableWithEnumTypeTable() { return &tt; } -flatbuffers::TypeTable *Vec3TypeTable() { +inline flatbuffers::TypeTable *Vec3TypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_FLOAT, 0, -1 }, { flatbuffers::ET_FLOAT, 0, -1 }, @@ -2052,7 +2052,7 @@ flatbuffers::TypeTable *Vec3TypeTable() { return &tt; } -flatbuffers::TypeTable *AbilityTypeTable() { +inline flatbuffers::TypeTable *AbilityTypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_UINT, 0, -1 }, { flatbuffers::ET_UINT, 0, -1 } @@ -2068,7 +2068,7 @@ flatbuffers::TypeTable *AbilityTypeTable() { return &tt; } -flatbuffers::TypeTable *StatTypeTable() { +inline flatbuffers::TypeTable *StatTypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_STRING, 0, -1 }, { flatbuffers::ET_LONG, 0, -1 }, @@ -2085,7 +2085,7 @@ flatbuffers::TypeTable *StatTypeTable() { return &tt; } -flatbuffers::TypeTable *MonsterTypeTable() { +inline flatbuffers::TypeTable *MonsterTypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_SEQUENCE, 0, 0 }, { flatbuffers::ET_SHORT, 0, -1 }, @@ -2176,7 +2176,7 @@ flatbuffers::TypeTable *MonsterTypeTable() { return &tt; } -flatbuffers::TypeTable *TypeAliasesTypeTable() { +inline flatbuffers::TypeTable *TypeAliasesTypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_CHAR, 0, -1 }, { flatbuffers::ET_UCHAR, 0, -1 }, diff --git a/tests/namespace_test/namespace_test1_generated.h b/tests/namespace_test/namespace_test1_generated.h index 0beea4cc3..a3d7bac37 100644 --- a/tests/namespace_test/namespace_test1_generated.h +++ b/tests/namespace_test/namespace_test1_generated.h @@ -119,11 +119,11 @@ inline flatbuffers::Offset CreateTableInNestedNS( return builder_.Finish(); } -flatbuffers::TypeTable *TableInNestedNSTypeTable(); +inline flatbuffers::TypeTable *TableInNestedNSTypeTable(); -flatbuffers::TypeTable *StructInNestedNSTypeTable(); +inline flatbuffers::TypeTable *StructInNestedNSTypeTable(); -flatbuffers::TypeTable *EnumInNestedNSTypeTable() { +inline flatbuffers::TypeTable *EnumInNestedNSTypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_CHAR, 0, 0 }, { flatbuffers::ET_CHAR, 0, 0 }, @@ -143,7 +143,7 @@ flatbuffers::TypeTable *EnumInNestedNSTypeTable() { return &tt; } -flatbuffers::TypeTable *TableInNestedNSTypeTable() { +inline flatbuffers::TypeTable *TableInNestedNSTypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 0, -1 } }; @@ -156,7 +156,7 @@ flatbuffers::TypeTable *TableInNestedNSTypeTable() { return &tt; } -flatbuffers::TypeTable *StructInNestedNSTypeTable() { +inline flatbuffers::TypeTable *StructInNestedNSTypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 0, -1 }, { flatbuffers::ET_INT, 0, -1 } diff --git a/tests/namespace_test/namespace_test2_generated.h b/tests/namespace_test/namespace_test2_generated.h index a88d40eab..e3603a4df 100644 --- a/tests/namespace_test/namespace_test2_generated.h +++ b/tests/namespace_test/namespace_test2_generated.h @@ -212,21 +212,21 @@ namespace NamespaceC { namespace NamespaceA { -flatbuffers::TypeTable *TableInFirstNSTypeTable(); +inline flatbuffers::TypeTable *TableInFirstNSTypeTable(); } // namespace NamespaceA namespace NamespaceC { -flatbuffers::TypeTable *TableInCTypeTable(); +inline flatbuffers::TypeTable *TableInCTypeTable(); } // namespace NamespaceC namespace NamespaceA { -flatbuffers::TypeTable *SecondTableInATypeTable(); +inline flatbuffers::TypeTable *SecondTableInATypeTable(); -flatbuffers::TypeTable *TableInFirstNSTypeTable() { +inline flatbuffers::TypeTable *TableInFirstNSTypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_SEQUENCE, 0, 0 }, { flatbuffers::ET_CHAR, 0, 1 }, @@ -252,7 +252,7 @@ flatbuffers::TypeTable *TableInFirstNSTypeTable() { namespace NamespaceC { -flatbuffers::TypeTable *TableInCTypeTable() { +inline flatbuffers::TypeTable *TableInCTypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_SEQUENCE, 0, 0 }, { flatbuffers::ET_SEQUENCE, 0, 1 } @@ -275,7 +275,7 @@ flatbuffers::TypeTable *TableInCTypeTable() { namespace NamespaceA { -flatbuffers::TypeTable *SecondTableInATypeTable() { +inline flatbuffers::TypeTable *SecondTableInATypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_SEQUENCE, 0, 0 } }; diff --git a/tests/namespace_test/namespace_test2_generated.ts b/tests/namespace_test/namespace_test2_generated.ts index 8deae09c4..daaaab3cf 100644 --- a/tests/namespace_test/namespace_test2_generated.ts +++ b/tests/namespace_test/namespace_test2_generated.ts @@ -1,6 +1,6 @@ // automatically generated by the FlatBuffers compiler, do not modify -import * as NS9459827973991502386 from "./namespace_test1_generated"; +import * as NS4989953370203581498 from "./namespace_test1_generated"; /** * @constructor */ @@ -39,24 +39,24 @@ static getRootAsTableInFirstNS(bb:flatbuffers.ByteBuffer, obj?:TableInFirstNS):T * @param {NamespaceA.NamespaceB.TableInNestedNS=} obj * @returns {NamespaceA.NamespaceB.TableInNestedNS|null} */ -fooTable(obj?:NS9459827973991502386.NamespaceA.NamespaceB.TableInNestedNS):NS9459827973991502386.NamespaceA.NamespaceB.TableInNestedNS|null { +fooTable(obj?:NS4989953370203581498.NamespaceA.NamespaceB.TableInNestedNS):NS4989953370203581498.NamespaceA.NamespaceB.TableInNestedNS|null { var offset = this.bb.__offset(this.bb_pos, 4); - return offset ? (obj || new NS9459827973991502386.NamespaceA.NamespaceB.TableInNestedNS).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null; + return offset ? (obj || new NS4989953370203581498.NamespaceA.NamespaceB.TableInNestedNS).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null; }; /** * @returns {NamespaceA.NamespaceB.EnumInNestedNS} */ -fooEnum():NS9459827973991502386.NamespaceA.NamespaceB.EnumInNestedNS { +fooEnum():NS4989953370203581498.NamespaceA.NamespaceB.EnumInNestedNS { var offset = this.bb.__offset(this.bb_pos, 6); - return offset ? /** @type {NamespaceA.NamespaceB.EnumInNestedNS} */ (this.bb.readInt8(this.bb_pos + offset)) : NS9459827973991502386.NamespaceA.NamespaceB.EnumInNestedNS.A; + return offset ? /** @type {NamespaceA.NamespaceB.EnumInNestedNS} */ (this.bb.readInt8(this.bb_pos + offset)) : NS4989953370203581498.NamespaceA.NamespaceB.EnumInNestedNS.A; }; /** * @param {NamespaceA.NamespaceB.EnumInNestedNS} value * @returns {boolean} */ -mutate_foo_enum(value:NS9459827973991502386.NamespaceA.NamespaceB.EnumInNestedNS):boolean { +mutate_foo_enum(value:NS4989953370203581498.NamespaceA.NamespaceB.EnumInNestedNS):boolean { var offset = this.bb.__offset(this.bb_pos, 6); if (offset === 0) { @@ -71,9 +71,9 @@ mutate_foo_enum(value:NS9459827973991502386.NamespaceA.NamespaceB.EnumInNestedNS * @param {NamespaceA.NamespaceB.StructInNestedNS=} obj * @returns {NamespaceA.NamespaceB.StructInNestedNS|null} */ -fooStruct(obj?:NS9459827973991502386.NamespaceA.NamespaceB.StructInNestedNS):NS9459827973991502386.NamespaceA.NamespaceB.StructInNestedNS|null { +fooStruct(obj?:NS4989953370203581498.NamespaceA.NamespaceB.StructInNestedNS):NS4989953370203581498.NamespaceA.NamespaceB.StructInNestedNS|null { var offset = this.bb.__offset(this.bb_pos, 8); - return offset ? (obj || new NS9459827973991502386.NamespaceA.NamespaceB.StructInNestedNS).__init(this.bb_pos + offset, this.bb) : null; + return offset ? (obj || new NS4989953370203581498.NamespaceA.NamespaceB.StructInNestedNS).__init(this.bb_pos + offset, this.bb) : null; }; /** @@ -95,8 +95,8 @@ static addFooTable(builder:flatbuffers.Builder, fooTableOffset:flatbuffers.Offse * @param {flatbuffers.Builder} builder * @param {NamespaceA.NamespaceB.EnumInNestedNS} fooEnum */ -static addFooEnum(builder:flatbuffers.Builder, fooEnum:NS9459827973991502386.NamespaceA.NamespaceB.EnumInNestedNS) { - builder.addFieldInt8(1, fooEnum, NS9459827973991502386.NamespaceA.NamespaceB.EnumInNestedNS.A); +static addFooEnum(builder:flatbuffers.Builder, fooEnum:NS4989953370203581498.NamespaceA.NamespaceB.EnumInNestedNS) { + builder.addFieldInt8(1, fooEnum, NS4989953370203581498.NamespaceA.NamespaceB.EnumInNestedNS.A); }; /** diff --git a/tests/union_vector/union_vector_generated.h b/tests/union_vector/union_vector_generated.h index 3975ec8e9..3ebf411ce 100644 --- a/tests/union_vector/union_vector_generated.h +++ b/tests/union_vector/union_vector_generated.h @@ -600,15 +600,15 @@ inline void CharacterUnion::Reset() { type = Character_NONE; } -flatbuffers::TypeTable *AttackerTypeTable(); +inline flatbuffers::TypeTable *AttackerTypeTable(); -flatbuffers::TypeTable *RapunzelTypeTable(); +inline flatbuffers::TypeTable *RapunzelTypeTable(); -flatbuffers::TypeTable *BookReaderTypeTable(); +inline flatbuffers::TypeTable *BookReaderTypeTable(); -flatbuffers::TypeTable *MovieTypeTable(); +inline flatbuffers::TypeTable *MovieTypeTable(); -flatbuffers::TypeTable *CharacterTypeTable() { +inline flatbuffers::TypeTable *CharacterTypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_SEQUENCE, 0, -1 }, { flatbuffers::ET_SEQUENCE, 0, 0 }, @@ -638,7 +638,7 @@ flatbuffers::TypeTable *CharacterTypeTable() { return &tt; } -flatbuffers::TypeTable *AttackerTypeTable() { +inline flatbuffers::TypeTable *AttackerTypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 0, -1 } }; @@ -651,7 +651,7 @@ flatbuffers::TypeTable *AttackerTypeTable() { return &tt; } -flatbuffers::TypeTable *RapunzelTypeTable() { +inline flatbuffers::TypeTable *RapunzelTypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 0, -1 } }; @@ -665,7 +665,7 @@ flatbuffers::TypeTable *RapunzelTypeTable() { return &tt; } -flatbuffers::TypeTable *BookReaderTypeTable() { +inline flatbuffers::TypeTable *BookReaderTypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_INT, 0, -1 } }; @@ -679,7 +679,7 @@ flatbuffers::TypeTable *BookReaderTypeTable() { return &tt; } -flatbuffers::TypeTable *MovieTypeTable() { +inline flatbuffers::TypeTable *MovieTypeTable() { static flatbuffers::TypeCode type_codes[] = { { flatbuffers::ET_UTYPE, 0, 0 }, { flatbuffers::ET_SEQUENCE, 0, 0 },