Squashed 'third_party/flatbuffers/' changes from 338393f85..e5f331db9
e5f331db9 [TS] Add single-file ts codegen & bazel rule for typescript (#7161)
2f84c6038 Apply Namer to Go code gen (#7150)
d64839651 [Lobster] file_identifier support
777e78d8d [Lobster] support unsigned integer reads
4016c549d Apply Namer to Python code gen (#7146)
40827b21b Fix missing 'break' (#7151)
65a10b6e3 Implement a config based name manager and use it in Rust codegen (#7144)
8db2fef3f [TS] Escape keywords in typescript object names (#7137)
9ed132304 Fix 64-bit numeric enum values in typescript (#7135)
1a4c40566 updated npm to 2.0.6
318594e4b prevent name clash (#7133)
3d903302c [Rust] Add length checks to arrays and vectors. (#7130)
c9571d989 Replaced ToDasherCase with ConvertCase (#7131)
3694b830a Use ConvertCase instead of Make{Upper,Lower,Snake} implementations (#7127)
0471fa807 remove stall reference to version
914344ea9 some minor help edits
b40266c56 Use target_compile_features to target C++11 (#7122)
8a9303d46 update proto tests with alaised enum (#7121)
30c4bf47f Trigger fuzzing CI only on relevant changes (#7120)
46ce45601 remove auto generate code from cmakelists (#7119)
433312c55 add the missing checkNullConditionnal code in the "GenObjApi" function when the field is scalar optional (#7114)
9c52ec374 Add deps attribute to flatbuffer_cc_library (#7107)
70e2f49bf fixed string-json -> strict-json typo
5ac0367ed [TS] Fix generation of reserved words in object api (#7106) (#7115)
5d101afb5 Fix minor typo in WhitePaper.md (#7108)
06f4af11b Go optional scalars (#7104)
57e338f81 explicitly use windows-2019 to unblock ci (#7105)
615616cb5 Change Rust generated file defaults (#7101)
3413c3300 Fixed FlexBuffers verifier fuzzer timing out
69f5660a4 Fixed Parser not checking size of union types vector
d5add9fca Fixed FlexBuffers ToString unquoted non-ident keys
15df50eb7 Remove @ExperimentalUnsignedTypes annotation from kotlin code generator. (#7092)
a94132a45 Swift FlatBufferBuilder.sizedByteArray to ByteBuffer.toArray() (#7093)
48befb6be [TS] Refactor away circular ref (#7099)
b30069133 Add reflection support for python (#7026)
faadbc10e Add CreateVector overload to accept array like (#7095)
ed6ae8d32 explicitly defined std::allocator (#7094)
e910bddbc [JS] Add ".js" suffix to all import statements to generate a browser compatible mjs version. (#7086)
c85fb690f Add Parsing Completed function for Rust (#7084)
c1daa6ba0 rust: Bump thiserror version and remove git dependency (#7080)
4c71c7b02 replace framework include of flatbuffers (#7079)
f5664d33f fix go_test implement error (#7012)
39c8a19ce fixed comparator for native_inline (#7076)
826193ff6 skip generating reflection.fbs in generate_scripts (#7077)
fd0d1ed92 update C++ generator to emit scoped enums in vector of unions (#7075)
424988f30 replaced removed xml tag
b2550dbaa removed BSD-3-Clause license and Zlib licenses (#7073)
a2b238960 Fixed default value of bool in struct for Swift (#7072)
619b78437 one last dart omit local (#7070)
68a766154 more omit type annotations for dart local variables (#7069)
7dac9961f omit type annotations for dart local variables (#7067)
c65c389c6 add xmlns to .Net (#7066)
6446dcf3d Updates swift gen licence for grpc code (#7063)
e090d8da1 Fixed long cast to int in flexbufferbuilder.java (#7059)
bc901436d clang format on codebase (#7058)
240be9b5a attempt to remove appveyor (#7056)
bc366a7f9 Provide a short help text and default in error case (#6992)
14b19d446 Use FindPython3 (#7055)
9e6f17b94 remove BIICODE
c3801ad37 Update readme.md
4f3b24db0 Fixes a bug where bools arent being nil when marked optional (#7051)
1d294a31b Implement Serialize on generated rust types (#7022)
dd8fccfb1 Cmake 3.16 de-facto minimum version (#7049)
7089c9ecd Convert flatbuffers_version_string to inline function (#7046)
43203984f [C++] Support C++ object copies and moves (#5988)
5993338ee [ts] Builder incorrectly serializing empty strings (#7047)
19920db39 Include a SizePrefixed..HasIdentifier for c++. (#6871)
dbbaeac85 Use `${PYTHON_EXECUTABLE}` instead of `py` in cmake (#7042)
028f0fde6 'flattest': Add --test_path option (#7041)
87343631b Added support for clang-cl on windows (CMake) (#7038)
1fbfaf5c5 Fix/cmake build grpc (#7028)
4421375bb Add FlatBuffers::FlatBuffers interface, needed for FetchContent_Declare (#7023)
162ad7a37 Fix comment with line orders - Rust should be last. (#7037)
a0a6c3f8c Use actions/checkout@v2, which fixes security vulnerability. (#7036)
a2d38fbb9 Add --warnings-as-errors to flatc compiler. (#7034)
9ef1524d3 Emit include for bfbs-gen-embed (#7031)
0c9de0352 Upgraded GRPC version to 1.42.0 (#7033)
a783bc926 chore: dart 2.0.5 release changes (#6983)
aff818ceb rust: Allow for usage in no_std environment (#6989)
d7b75417f Make flatbuffer builder deterministic (#6993)
a42e89897 Added verifier alignment checking to table fields (#7018)
96cc2f3ee BuildFlatBuffers.cmake: fix arguments not passed properly to flatc (#7013)
3250a1f8d Add initial C# vector of unions support to the documentation. (#6880)
ace4a37f2 [TS/JS] BigInt implementation (#6998)
f28c2b293 Avoid implicit conversion from float to double. (#7003)
96f3cf690 Rearrange #include directives to pass to compilation with a particular DSP toolchain (#7000)
b3edfdbfb Reverting grpc generated file suffix (#6995)
b8aaccee8 Disable parsing of nested_flatbuffers as bytes by default
2dc8ae774 Enable OSS-Fuzz on CI
5b0d49112 Updated FlexBuffers fuzzer
d8b7041d7 Added alignment checking to FlexBuffers verifier
5a0c3366c FlexBuffers verifier additionally checks for nesting
f8148b8da Made FlexBuffers reuse tracker track types
a22b1b626 Prevent shadow with _{{FIELD_NAME}} (#6991)
4264daadd FlexBuffers fuzzer fixes
3cbc120a0 Refractor Flatc Options (#6987)
8dcd2682c [CMake] Add option for disable universal on OSX (#6990)
b78002ff3 Validate C# json/object-api options (#6985)
c555ee8fa Add .NET test to github workflows (#6982)
b92bb0584 [CMake]: Fix version in pkgconfig file (#6986)
956d11569 re-enabled FlexBuffer JSON in fuzzer
e367ca32a Verifier for FlexBuffers (#6977)
705f27f6e [CMake]: Fix python command for mingw environment (#6984)
5fc87f4c4 Enable --gen-onefile in Python (#6953)
11749095a Make idl_parser deterministic (#6976)
d0cede9c9 Bumping to Version 2.0.5 (#6967)
fcc2bee0b Fix typo in variable name (#6973)
e08da4dea remove Appveyor's Vs2010 and 13 builds (#6969)
18538c401 [TS] Fix reserved words as arguments (#6955) (#6956)
e57f4ab2d Update stale bot version and provide away to exempt issues with the not-stale label (#6968)
deed68db5 missing generated files (#6966)
061d61f3f Lua Generator using IR. (#6940)
cffe0c454 FixedTypedVector: add const to ElementType() and size() (#6965)
fadd40e40 Have grpc include file with correct filename-suffix given to flatc (#6954)
e47dc0e46 Removed test/generate_code.{sh|bat} (#6873)
5c5475479 switched to windows-lastest, removed deadcode (#6948)
4f7f6dc30 Restore FlatBufferBuilder::kFileIdentifierLength. (#6960)
0fadaf391 Enable verifier on nested_flatbuffers
4d0e9a870 Turn off nested FlatBuffers/FlexBuffers for the fuzzer
c05f6783a invalid conditional running genrate_code.py (#6952)
a14f4052c rust: remove needless borrow (#6922)
9e4ca857b Vector Downward GetSize optimization (#6925)
a2b99084b Fix flexbuffers clang-analyzer warning (#6947)
85b4effac test: fix undefined order of functio parameters. (#6946)
790f41154 [cmake] Fix getting version info from tags during the build (#6936)
e89de4411 clang-all (#6941)
256ab3798 WIP: Dart release 2.0 (#6927)
a59288a01 Add benchmarks to Linux CI (#6928)
587bbd49a [C++] Fix compile failure on Object API union construction for struct member (#6923)
a9c341545 Fix integer overflow warnings
8aa18b629 fixed cmp0048 error (#6932)
d727579b6 fuzzers: fix typo in file path (#6931)
97a30171c Added Raw C++ benchmarks (#6924)
0989fc5e5 Added Google benchmarks (and gtests) (#6920)
927175ea2 [Java] lookup by byteArray is giving back wrong entry (#6915)
6748c373b Removal of support for FLATBUFFERS_CPP98_STL (#6918)
3fab0c6ee move [[ ]] to calling sites (#6914)
6c8c29155 [C++] Split flatbuffers.h into separate files (#6868)
fd4ff23da Keep methods with struct name and switch them to default (#6879)
f8b69e330 [Python] Verify EnumDef is not generated in GenUnionCreator (#6903)
c0394bb09 Support `--conform` for vector of unions (#6883)
8433eb108 Typo fixes in comments of flatbuffers.h and flexbuffers.h (#6901)
f2f9380c8 [Java] Prevent generation of enum names when underlying type is long (#6781) (#6895)
e672dabfe [C++] Fix memory leak when using grpc (#6896) (#6897)
9a4ca2764 Output errors / warnings on stderr instead of stdout (#6881)
4c7a9c10d Adds JSON encoding to swift (#6874)
38295a187 [Kotlin] Fix missing escape for struct construction statements (#6877)
31bb0b972 add working directory (#6878)
45e5642e9 Default Arguments for Mutators C++ [Updated] (#6872)
a592f4c89 [Cmake] Add a post build command after flatc to run the new generate_code.py script. (#6866)
b9d43a557 dart - add Packable interface (#6846)
2ece9e25b Bumped package.json to 2.0.4
2dd212637 Fix linker errors on (Free|Open)BSD. (#6860)
f63c130c2 Improves documentation, and adding DocC (#6784)
e2b26ee19 Make and generate_code.sh generate same outputs (#6855)
9d686bf43 Include subdirectories in published npm package (#6850)
1d26daff3 Use ArrayBuffer type for JS flexbuffer's toObject (#6851)
e72e18d9f feat(build): compile "universal" libraries and executables for Mac (#6852)
354d97f6d fixed errant itemgroup element in C# test project (#6854)
6f7a57eaa [C#] Using 'global::' as qualifying_start_ within BaseGenerator (#6767)
90baa1444 Dart: binary lists (typed_data) (#6839)
0a3b017f0 Delete IDLOptions::lang (#6841)
47d35f105 BugFix: Optional enum when it is null (#6835)
8fb8c2ce1 [C#] Use @ for keyword escaping (#6834)
1d063d87c [C++] Let builder accept custom-alloc std::vector (#6814)
338331b55 Changes to support binary schema file loading and parsing (flatc) (#6823)
156a30c75 Move Apple-specific build flags to Clang section (#6802)
550d2f904 Issue error if jsonschema has no root type defined #6821 (#6831)
c3a38242e Fix typos in docs (#6829)
74c3d7eba [C++] Add mutable version of LookupByKey and test (#6826)
db6eae5c4 Add html and latex to gitignore (#6819)
0e9d79c35 [Java] Avoid casting ByteBuffer to Buffer (#6785)
b20c4d3aa [C++] Add GetMutableSizePrefixedRoot and generate GetMutableSizePrefixedXxx functions (#6815)
ae145293c flattests_cpp17 doesn't compile with Visual Studio 2017: warning C4100: 'indent': unreferenced formal parameter (#6811)
e3c76a5cd Dart lints (#6808)
4b9123baf fix parser string=null (#6810)
f89e0b1a6 Refactor idl_gen_rust and Rust generated code to use consistent whitespace (#6809)
273f6084e Fix Rust keyword inconsistency (#6794)
4a0879458 [C#] Remove superfluous semicolon in C# structs (#6791)
d6f51ea16 fix ptr in flatbuffers cpp tutorial (#6787)
067dce6e7 [C#] Handle keywords (#6775)
2ca5f0e72 [C#] Respect command line parameter for file name extension and suffix (#6779)
f20d2253a update Java version to 2.0.3
390d438e2 [Kotlin] Fix CI by changing compiler to Java 11 (#6783)
6fb2c90d9 avoiding even more NoSuchMethod exceptions (#6729)
a7b527d94 java: Use maven profile to target Java 8 bytecode (#6764)
5d77820b3 [C++] Using calculated fields_number for field_names size (#6769)
909ce970a [C++] Use UnPackTo instead of UnPack if pointer exists (#6725)
35e2cac6e Store vtables sorted in Rust builder (#6765)
c39fc9dd9 [C++] Use nullptr instead of 0 in generated headers (#6762)
775c6567d [C++] Fix compiler warning -Wredundant-parens in clang (#6761)
97d9527f6 Dart 2.0 release prep (#6759)
e01205466 [C++] Use proper gRPC C++ API when using MemoryBuffer Slice (#6756)
5235133f3 Dart - make ascii optimization optional in StringReader, same as in writeString() (#6758)
c871df770 Dart - change table building to assert() instead of exceptions (#6754)
a6eeeb3b9 Dart - inline small functions to increase performance (#6755)
3dd02144d [C#] Fix field name struct name collision (#6744) (#6757)
e77926f0e [C#] Add Union Constructor Utility for ObjectAPI. (#6105)
ac2348202 Dart - fixup writeString() return type after previous merges (#6753)
8be8a0a71 [C++] Fix union type handling on object api in C++17 (#6745)
12e341e4f Rework how Rust generated files are laid out (#6731)
c36672d80 Dart - optimize writeString for ASCII (#6736)
2bfc8e9f0 Dart - make writeString() argument non-nullable (#6737)
674a9f2aa fix lints in rust tests (#6743)
016e6aa13 Add a split on ':' to build_defs.bzl (#6742)
65700441d Dart - make vTable fixed size (expect the number of fields when creating) (#6735)
dd5bb55ca Dart - make vTable deduplication optional (#6734)
e8423da1b Dart - regenerate example after recent flatc changes (#6733)
0980e39c9 flexbuffers: Add variant of Blob() that takes a key (#6730)
e73fab27d Dart - store empty vectors instead of NULL (#6728)
92ae532e4 Dart - finish/lowFinish/buffer changes (#6712)
7482b25f8 Remove ubuntu1604 from presubmit.yml (#6715)
3f77dc9a0 Dart - unpack() must use eager list reader (#6723)
838c93b84 Dart - fix flex-builder compilation error (#6722)
089f48a4a Dart - make sure added padding is zeroed, same as in C++ (#6716)
bf3470c16 Fix UB in CreateVectorOfStructs in case of an empty vector: avoid calling memcpy in this case (#6726)
8f8196e13 Fix 6348 (#6717)
8ab35b2a5 Dart - add custom allocator support (#6711)
c0ba2870c Fix typo in docu (#6714)
22498cf3a [C++] add make_span for Array<T,N> (#6663)
bd37e67ac [C++] Fix a -Wdeprecated-copy warning. (#6708)
a6ee33557 Dart null safety (#6696)
71d43f3be Make --bfbs-filenames default to location of first schema file. (#6705)
c8db1ca5d Jsonschema add prop comments (#6617)
962751a6e Improve generated comparisons for tables (#6486)
06fd6d640 Replace filenames in reflection with filenames+includes. (#6703)
acce4ac3f Fix incorrect assertion usage. (#6702)
8fd7861b7 Fix warning about deprecated module: imp (#6362)
c58ae9422 Add the file a symbol is declared in to Reflection (#6613)
2cf7bb796 Intermediate Representation docs (#6685)
4e3a66c14 Dart object API (#6682)
d959e2320 dart - change Builder.reset() to reuse an existing buffer (#6661)
a9fb54088 use improved versioning (#6691)
337eb8b8f update docs - structs can't be roots (#6690)
6415ef05d [Python] [Codegen] Fixes nested structs with underscore names (#6686)
f069396d1 [C++] flatc --cpp-field-case-style option to permit camel-case field names in C++ (#6669)
021177af0 Fix snap version formatting (#6683)
e1e9f9373 [C++/grpc] added hiding of unused variables in the generated code (#6677)
15110094e Fix GitHub Actions CI gcc/clang versions
093badb0a Use unoptimized path for ReadUInt64 for win32 build as the optimized path crashes. (#6681)
752c7b576 avoiding more NoSuchMethod exceptions (#6671)
7c3e267e1 [Java] ObjectAPI implementation (#6521) (#6582)
baaffbaed npm update to 2.0.3 and script fix
4cb3f222b [TS] Fix module reference in package.json (#6676)
eabdbda75 [TS] Generate entry point module (#6674)
bec23700f Prepare for Java 2.0.1 release
12f2eedad Update CI to GCC/Clang 11
221eeb231 Fix typo in C++ doc (#6664)
813d3632e avoiding NoSuchMethod exception (#6658)
d84bccb0c Removed most heap allocations in builder (#6662)
b4e67f9bf Dart test fix (#6660)
54c11932f [Java] Flexbuffers - Negative signed object length (#6651)
fbcb3c423 [TS/JS] Updates the grpc (#6654)
8937dcfd7 Updates go lang support to allow other languages to communicate with it (#6653)
512d5a689 Update readme.md to point to security policy
a92cb5dd7 Create Security.md
d151dcbb9 Revert "[C++] Removed most heap allocations in builder (#6620)" (#6659)
f1884c66f Fix gRPC test to use EndVector without specifying the length. (#6646)
72730ecd8 [C++] Removed most heap allocations in builder (#6620)
fe2bc2b0a Added README for Rust Flatbuffers (before publishing v=2.0) (#6652)
4867c9456 Fixed generation of c++ code with flags (#6637)
ef0eb3701 Ran clang-format-all.sh. Removed default --style=file parameter (#6639)
f83ee1af5 [idl_parser] Check structs and enums do not clash in a namespace (#6562)
a5175c513 Implements verifier and code gen for swift (#6373)
04b10f5a3 Deprecate EnumVal.object (#6612)
c121c0345 Fixed Java gRPC version number dependency
8fd10606c Implement Serialize for flexbuffer::Reader (#6635)
a1730fcea [Swift] Updated cocoapods to 2.0.0 (#6634)
a9a295fec More missing version changes
5c01ad387 Dart generated code update
42ca1b914 Swift/Kotlin generated code version updates
6ed780dbd C++/Rust version changes
3412fab8e C#/Java generated code version updates
8a7d013f8 Updated main version numbers to 2.0
170af5978 [Go] Add missing namespace when using Object API (#6633)
c8c16de16 Fix reverse iterators for Vector and Array (#6626)
4525cd9c5 [Lua] manipulate byte array as string (#6624)
47361baf6 [C++] Fix union copy constructor to work with nested structs (#6552) (#6607)
8a582883a Updates swift generated monster sample file (#6616)
a4bb8f0c2 [Lua] Avoid infinite loop when creating empty string (#6614)
82aed82b8 Added support for Lua 5.1, 5.2 and 5.4 (#6606)
60ff76630 [TS] Remove wrong and obsolete NS prefix use (#6604)
a27c7d809 Fixed LuaJIT when not compiled with COMPAT mode (#6605)
363220823 removed unneeded type prefixing (#6601)
6b44c605b Bump Rust to 0.9.0 (#6610)
d3cd78a87 [Lua] Add LuaJIT support (#6584)
8fa3dfdb5 Introduce new_from_vec in Rust (also fix formatting) (#6599)
29379e8e4 fix typo in CppUsage.md (#6595)
14725d6c3 [Lua] GetRootAs can accept strings. Made Luatest Benchmarks optional (#6593)
16836ff95 Add advance feature indicators to reflection (#6546)
c87179e73 Rust Remove SafeSliceAccess for Arrays, and fix miri. (#6592)
c24031c36 Mark endian_scalar as unsafe. (#6588)
4ccc52c7a [swift] Implements union strings (#6589)
b82fe0738 [Rust] Fix small mistyping (#6585)
1e7f6c8c7 [TS] Commit the generated tests code (#6579)
84714b109 chore: ensure bash is used to generate code (#6577)
1045d7dd4 [Lua] Fix EnforceNumberAndPack for bool type (#6576)
0c7777596 [TS] Remove duplicated build-ts ci (#6575)
c43ba1752 [Rust] Specify Minimum Supported Rust Version (#6573)
da3bb64ef [Rust] Add support for fixed size arrays (#6548)
151900ba9 [Kotlin][FlexBuffers] Add support for Kotlin-iOS (#6564)
c012f29f9 silenced clippy warning (#6565)
df2df21ec [Kotlin] Bump kotlinx.benchmark dependency to 0.3.0 (#6560)
408e4db4a [TS] Add Build TS to CI jobs (#6524)
4d2364f34 [Kotlin][FlexBuffers] Add support for Kotlin-JS (#6554)
261cf3b20 Default-empty vectors of enums (#6505)
cd67261bb [CI] fixes buildkite (#6544)
1aa0c2f6a Limit formatter to pull requests only (#6540)
4133a39df Rust structz (#6539)
1c26d2a1a [Kotlin][FlexBuffers] JSON support for Flexbuffers (#6417)
276b1bc34 [grpc] Support latest version of grpc PoC (#6338)
124654ffc fixed packing structs (#6530)
3b7d1e86b [GO] Tries to add go format to the CI (#6518)
78f0c0d1d [C++] #6501 - Problem when mapping a native type multiple times (#6514)
c992eafb5 [fuzzer] Add `monster_debug` target (#6513)
ef8dd7792 [Swift] Removes allman rule (#6519)
69b329fc8 [flexbuffers, json] Parse `nan` and `inf` (#6512)
6543ba529 fixed packing structs in nested buffers (#6509)
0e453ac35 [idl_parser] Add kTokenNumericConstant token (#6432)
e9b4ae69d Remove `flatbuffers.pc` from the repository (#6508)
fc4fffea4 Bump grpc to 1.0.0 (#6507)
b240ab704 Move Traits struct and Create method out of --cpp-static-reflection. (#6503)
9a4f1f434 Disable x64-specific optimizations for ARM64EC ReadInt64 (#6506)
fac64918d Add --cpp-static-reflection to generate_code.bat. (#6502)
a69815f72 [C++17] Add compile-time reflection for fields. (#6324)
4033ff589 fixed invalid TS call and added test files (#6495)
a08357251 disable clippy (#6494)
5319dedb1 [idl_parser, JSON] Disable parsing of JSON for incomplete schemes (#6493)
bd4e0b30a [idl_parser] Track included files by hash (#6434)
bf9061200 fix for noUncheckedIndexedAccess in ts (#6474)
8142fedd1 Working on a python example plus fixing python grpc code (#6456)
c0be1cb7a [rust] Remove debug code (#6475)
8cccdfba5 Revert "[C#] Fix truncated ArraySegment<byte> if elementSize != 1 (#6462)" (#6488)
cbbbaa61b [C#] Fix truncated ArraySegment<byte> if elementSize != 1 (#6462)
ffc2ef77c [CI] Adds Code Generation tests on Github Actions (#6482)
1da6f4f18 [CMake] generate pkg-config flatbuffers.pc file (#6455)
b5da526e6 [Swift] Moves grpc example to grpc/examples (#6479)
3b5365762 [TS] Moves grpc code to examples folder (#6476)
e2f5438ac Fixes grammer (#6477)
5e3613f73 Fix sample_binary.py to use latest EndVector without a size. (#6478)
e6b911d40 updated JS docs to reflect current status (#6436)
0c7ae5816 [Go] Working on a go example plus fixing go grpc code (#6448)
ae603b977 [Swift] adds support for default vectors and strings (#6461)
7f47718b6 Update Building.md (#6473)
54dc09e8a GetUOffsetT must get value by GetUint32 not GetInt32 (#6072)
334c6be49 Fix a typo in Swift codegen (#6470)
4174c10e7 [rust] Genericize flexbuffer reader (#6450)
a20f606c2 [Swift] Renaming protocols (#6469)
a72a20827 Update swift docs (#6460)
86401e078 Default strings and vectors: Parser + Rust support (#6421)
6af37e672 [CMake] Renames BUILD files (#6457)
1b88655b0 [Build, cmake] Add -Werror override option (#6429)
0b15916e5 [C++]Fix extra char generation for byte type during json schema generation (#6276)
60eed0ca6 Updating working code (#6441)
0f83367f5 JSON schema - tailing double quotes for maximum (#6452)
fee095410 [idl_parser] Validate `force_align` on all possible paths (#6430)
6f3e45eca Implement Rust object API defaults (#6444)
815d3e820 Upgrade swift grpc to alpha 24 (#6439)
76e7a0ff5 [fuzzer] Limit parser_fuzzer execution time (#6431)
6d91096a2 This commit contains the initial implementation of Flexbuffers in Kotlin. The code was ported based (#6387)
13d9e3585 Better python generated code naming (#6336)
6effe431b Rust: remove inner attributes (#6410)
efcbdc769 [Rust] Ensure unions are referenced with the correct path (#6422)
e581013e3 Refactor FieldDef to model presense as an enum rather than 2 bools. (#6420)
0984d4328 [c++] Apply NativeName before WrapInNameSpace in idl_gen_cpp.cpp (#6419)
786f69b24 Formats cpp code (#6349)
1da0a2dfa Rust Object API (#6070)
796ed68fa Clarify that (Flat|Flex)Buffers do not deduplicate vector elements (#6415)
7b1ee31d8 Clarify that FlatBuffers unions do not support scalars (#6416)
4aff1198d Explain how FlatBuffers encodes unions (#6414)
ad3a729f9 dart Builder - expose finished buffer size (#6403)
52e217706 Remove invalid claim that Protocol Buffers does not support unions (#6413)
760c65755 [TS/JS] New gen TS code gen (#6302)
75c859e98 [idl_parser] Improve symbols lookup thru parent namespaces (#6407)
91b0958c4 Search for includes in the directory containg the current file (#6371)
8008dde11 Upgrade Rust dependencies (#6406)
c81cf8249 [TS/JS] New gen TS code gen prequel to preserve history (#6404)
8573108bb Unset FieldDef.optional if its key (#6402)
7abe612b5 [fuzzer] Fix the binary schema loading in the monster_fuzzer (#6396)
408cf5802 Fix Rust UB problems (#6393)
39e115fdb Define Vector::value_type for STL compatibility (#6394)
85719669c [fuzzer] Debug the monster_tets.bfbs on clusterfuzz server (#6392)
809fe49c7 Fix up scripts, fix generated enum value for strong mode, regenerate files (#6389)
41253e574 [go] tests/GoTest.sh: Fix flags.Parse location to work on new go SDKs. (#6388)
08d2ce844 fix Dart Builder._writeString() - always write trailing zero byte (#6390)
a15a8d930 fix Dart Builder.reset() - clear vTables (#6386)
83ce29cc2 [C++, JSON] Fix nullptr access when reading a key with a default value. (#6375)
4363c1d2c Fix generated EndVector. (#6385)
1bf1ec027 Implements type promotion for Java enum (#6382)
080097653 Delete label_notify.yml
795408115 Disabled PHP CI (#6381)
46545e627 fixed warnings (#6355)
0168178a1 Fix multiple fbs code generation failure (#6365)
82836a62b [idl_parser] Improve stack overflow protection (#6364)
e7430bbeb [idl_parser] Check the range of explicitly set field's id value (#6363)
24dd85fd2 Generate code to encode and decode nested flatbuffers in Python. (#6354)
57f68e289 [Rust] Shared String (#6367)
44cf2bde1 Updates license date to 2021 (#6378)
be37d4da1 include_prefix support for rust (#6330)
4e79d129c [Swift] Rebuild the way swift handles structs from scratch (#6326)
05192553f Fix typos in usage/comments; Make rust generator respect to --filenam… (#6342)
f2511d7d4 Renaming infinity variables in test.cpp (#6340)
f8b203c9c Add vectorNumElements attribute to Builder for simpler vector creation. (#6328)
8ab7c7e2c [CI] Adds formatter to CI (#6272)
7e0039028 Fix Max CI build path (#6333)
65c415911 Generate nullable properties in C# object-based API for optional scalars. (without -gen-mutable) (#6273)
a9e91116d [Python] Commit some orphan python genfile diffs. (#6325)
80a745d9b Fixed missing ending quotes in labeller (#6327)
9fca5e4f4 Add flatc option to inhibit all warnings #6005 (#6301)
92a806b4e [fuzzer] Rename fuzzing dictionaries for `oss-fuzz` (#6318)
9c9baf6d5 bumprust (#6322)
aafc5dc95 Set default initialSize for Builder to 0 (#6310)
442949bc1 Rust Flatbuffers Verifier (#6269)
9064072e8 Version message should be a "STATUS" to avoid going to stderr. (#6316)
fd4c1b5ff Replace std::string and const char* CreateSharedString with string_view (#6315)
bc7eb8ade [fuzzer] Fix mistakes in the `parser` and `scalar` fuzzers. (#6314)
fc960f367 Add default to offset param of Python generated GetRootAs (#6312)
f437f0f7e [fuzzer] Fix loading of schema in monster_fuzzer (#6308)
7f33cf682 [C++] Switch `flatc` to `--cpp-std c++11` C++ code generator (#6306)
8d9eae9ac [idl_parser] Unify parsing of NaN values read from .fbs and .json files (#6296)
2046bffa4 Moved various language tests from AppVeyor to GitHub Actions (#6300)
git-subtree-dir: third_party/flatbuffers
git-subtree-split: e5f331db998a808f78cf5a4880e6f5d0a321c4d0
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
Change-Id: I37f8aaf007fc86226cfa250169a87807afa64a78
diff --git a/tests/MyGame/Example/Ability.cs b/tests/MyGame/Example/Ability.cs
index bd49ccd..ae6a5b4 100644
--- a/tests/MyGame/Example/Ability.cs
+++ b/tests/MyGame/Example/Ability.cs
@@ -43,7 +43,7 @@
_o.Id,
_o.Distance);
}
-};
+}
public class AbilityT
{
diff --git a/tests/MyGame/Example/Ability.java b/tests/MyGame/Example/Ability.java
index df5fe71..4eb5ac4 100644
--- a/tests/MyGame/Example/Ability.java
+++ b/tests/MyGame/Example/Ability.java
@@ -13,14 +13,14 @@
public Ability __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
public long id() { return (long)bb.getInt(bb_pos + 0) & 0xFFFFFFFFL; }
- public void mutateId(long id) { bb.putInt(bb_pos + 0, (int)id); }
+ public void mutateId(long id) { bb.putInt(bb_pos + 0, (int) id); }
public long distance() { return (long)bb.getInt(bb_pos + 4) & 0xFFFFFFFFL; }
- public void mutateDistance(long distance) { bb.putInt(bb_pos + 4, (int)distance); }
+ public void mutateDistance(long distance) { bb.putInt(bb_pos + 4, (int) distance); }
public static int createAbility(FlatBufferBuilder builder, long id, long distance) {
builder.prep(4, 8);
- builder.putInt((int)distance);
- builder.putInt((int)id);
+ builder.putInt((int) distance);
+ builder.putInt((int) id);
return builder.offset();
}
@@ -30,5 +30,23 @@
public Ability get(int j) { return get(new Ability(), j); }
public Ability get(Ability obj, int j) { return obj.__assign(__element(j), bb); }
}
+ public AbilityT unpack() {
+ AbilityT _o = new AbilityT();
+ unpackTo(_o);
+ return _o;
+ }
+ public void unpackTo(AbilityT _o) {
+ long _oId = id();
+ _o.setId(_oId);
+ long _oDistance = distance();
+ _o.setDistance(_oDistance);
+ }
+ public static int pack(FlatBufferBuilder builder, AbilityT _o) {
+ if (_o == null) return 0;
+ return createAbility(
+ builder,
+ _o.getId(),
+ _o.getDistance());
+ }
}
diff --git a/tests/MyGame/Example/Ability.kt b/tests/MyGame/Example/Ability.kt
index 1b644d6..19a2f56 100644
--- a/tests/MyGame/Example/Ability.kt
+++ b/tests/MyGame/Example/Ability.kt
@@ -7,7 +7,6 @@
import com.google.flatbuffers.*
@Suppress("unused")
-@ExperimentalUnsignedTypes
class Ability : Struct() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/MyGame/Example/Ability.lua b/tests/MyGame/Example/Ability.lua
index 7fb664a..870ff81 100644
--- a/tests/MyGame/Example/Ability.lua
+++ b/tests/MyGame/Example/Ability.lua
@@ -1,31 +1,43 @@
--- automatically generated by the FlatBuffers compiler, do not modify
+--[[ MyGame.Example.Ability
--- namespace: Example
+ Automatically generated by the FlatBuffers compiler, do not modify.
+ Or modify. I'm a message, not a cop.
+
+ flatc version: 2.0.6
+
+ Declared by : //monster_test.fbs
+ Rooting type : MyGame.Example.Monster (//monster_test.fbs)
+
+--]]
local flatbuffers = require('flatbuffers')
-local Ability = {} -- the module
-local Ability_mt = {} -- the class metatable
+local Ability = {}
+local mt = {}
function Ability.New()
- local o = {}
- setmetatable(o, {__index = Ability_mt})
- return o
-end
-function Ability_mt:Init(buf, pos)
- self.view = flatbuffers.view.New(buf, pos)
-end
-function Ability_mt:Id()
- return self.view:Get(flatbuffers.N.Uint32, self.view.pos + 0)
-end
-function Ability_mt:Distance()
- return self.view:Get(flatbuffers.N.Uint32, self.view.pos + 4)
-end
-function Ability.CreateAbility(builder, id, distance)
- builder:Prep(4, 8)
- builder:PrependUint32(distance)
- builder:PrependUint32(id)
- return builder:Offset()
+ local o = {}
+ setmetatable(o, {__index = mt})
+ return o
end
-return Ability -- return the module
\ No newline at end of file
+function mt:Init(buf, pos)
+ self.view = flatbuffers.view.New(buf, pos)
+end
+
+function mt:Id()
+ return self.view:Get(flatbuffers.N.Uint32, self.view.pos + 0)
+end
+
+function mt:Distance()
+ return self.view:Get(flatbuffers.N.Uint32, self.view.pos + 4)
+end
+
+function Ability.CreateAbility(builder, id, distance)
+ builder:Prep(4, 8)
+ builder:PrependUint32(distance)
+ builder:PrependUint32(id)
+ return builder:Offset()
+end
+
+return Ability
\ No newline at end of file
diff --git a/tests/MyGame/Example/AbilityT.java b/tests/MyGame/Example/AbilityT.java
new file mode 100644
index 0000000..211b7bb
--- /dev/null
+++ b/tests/MyGame/Example/AbilityT.java
@@ -0,0 +1,28 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.Example;
+
+import java.nio.*;
+import java.lang.*;
+import java.util.*;
+import com.google.flatbuffers.*;
+
+public class AbilityT {
+ private long id;
+ private long distance;
+
+ public long getId() { return id; }
+
+ public void setId(long id) { this.id = id; }
+
+ public long getDistance() { return distance; }
+
+ public void setDistance(long distance) { this.distance = distance; }
+
+
+ public AbilityT() {
+ this.id = 0L;
+ this.distance = 0L;
+ }
+}
+
diff --git a/tests/MyGame/Example/Any.cs b/tests/MyGame/Example/Any.cs
index edf98ef..2e1717b 100644
--- a/tests/MyGame/Example/Any.cs
+++ b/tests/MyGame/Example/Any.cs
@@ -25,8 +25,11 @@
public T As<T>() where T : class { return this.Value as T; }
public MyGame.Example.MonsterT AsMonster() { return this.As<MyGame.Example.MonsterT>(); }
+ public static AnyUnion FromMonster(MyGame.Example.MonsterT _monster) { return new AnyUnion{ Type = Any.Monster, Value = _monster }; }
internal MyGame.Example.TestSimpleTableWithEnumT AsTestSimpleTableWithEnum() { return this.As<MyGame.Example.TestSimpleTableWithEnumT>(); }
+ internal static AnyUnion FromTestSimpleTableWithEnum(MyGame.Example.TestSimpleTableWithEnumT _testsimpletablewithenum) { return new AnyUnion{ Type = Any.TestSimpleTableWithEnum, Value = _testsimpletablewithenum }; }
public MyGame.Example2.MonsterT AsMyGame_Example2_Monster() { return this.As<MyGame.Example2.MonsterT>(); }
+ public static AnyUnion FromMyGame_Example2_Monster(MyGame.Example2.MonsterT _mygame_example2_monster) { return new AnyUnion{ Type = Any.MyGame_Example2_Monster, Value = _mygame_example2_monster }; }
public static int Pack(FlatBuffers.FlatBufferBuilder builder, AnyUnion _o) {
switch (_o.Type) {
diff --git a/tests/MyGame/Example/Any.java b/tests/MyGame/Example/Any.java
index 6e4fb76..a42a15a 100644
--- a/tests/MyGame/Example/Any.java
+++ b/tests/MyGame/Example/Any.java
@@ -2,6 +2,7 @@
package MyGame.Example;
+@SuppressWarnings("unused")
public final class Any {
private Any() { }
public static final byte NONE = 0;
diff --git a/tests/MyGame/Example/Any.kt b/tests/MyGame/Example/Any.kt
index f1a4dfe..5a7ecf7 100644
--- a/tests/MyGame/Example/Any.kt
+++ b/tests/MyGame/Example/Any.kt
@@ -3,7 +3,6 @@
package MyGame.Example
@Suppress("unused")
-@ExperimentalUnsignedTypes
class Any_ private constructor() {
companion object {
const val NONE: UByte = 0u
diff --git a/tests/MyGame/Example/Any.lua b/tests/MyGame/Example/Any.lua
index 03225ba..769a224 100644
--- a/tests/MyGame/Example/Any.lua
+++ b/tests/MyGame/Example/Any.lua
@@ -1,12 +1,20 @@
--- automatically generated by the FlatBuffers compiler, do not modify
+--[[ MyGame.Example.Any
--- namespace: Example
+ Automatically generated by the FlatBuffers compiler, do not modify.
+ Or modify. I'm a message, not a cop.
+
+ flatc version: 2.0.6
+
+ Declared by : //monster_test.fbs
+ Rooting type : MyGame.Example.Monster (//monster_test.fbs)
+
+--]]
local Any = {
- NONE = 0,
- Monster = 1,
- TestSimpleTableWithEnum = 2,
- MyGame_Example2_Monster = 3,
+ NONE = 0,
+ Monster = 1,
+ TestSimpleTableWithEnum = 2,
+ MyGame_Example2_Monster = 3,
}
-return Any -- return the module
\ No newline at end of file
+return Any
\ No newline at end of file
diff --git a/tests/MyGame/Example/Any.py b/tests/MyGame/Example/Any.py
index b10d35d..9983689 100644
--- a/tests/MyGame/Example/Any.py
+++ b/tests/MyGame/Example/Any.py
@@ -8,7 +8,6 @@
TestSimpleTableWithEnum = 2
MyGame_Example2_Monster = 3
-
def AnyCreator(unionType, table):
from flatbuffers.table import Table
if not isinstance(table, Table):
diff --git a/tests/MyGame/Example/AnyAmbiguousAliases.cs b/tests/MyGame/Example/AnyAmbiguousAliases.cs
index 07deadc..9253cc9 100644
--- a/tests/MyGame/Example/AnyAmbiguousAliases.cs
+++ b/tests/MyGame/Example/AnyAmbiguousAliases.cs
@@ -25,8 +25,11 @@
public T As<T>() where T : class { return this.Value as T; }
public MyGame.Example.MonsterT AsM1() { return this.As<MyGame.Example.MonsterT>(); }
+ public static AnyAmbiguousAliasesUnion FromM1(MyGame.Example.MonsterT _m1) { return new AnyAmbiguousAliasesUnion{ Type = AnyAmbiguousAliases.M1, Value = _m1 }; }
public MyGame.Example.MonsterT AsM2() { return this.As<MyGame.Example.MonsterT>(); }
+ public static AnyAmbiguousAliasesUnion FromM2(MyGame.Example.MonsterT _m2) { return new AnyAmbiguousAliasesUnion{ Type = AnyAmbiguousAliases.M2, Value = _m2 }; }
public MyGame.Example.MonsterT AsM3() { return this.As<MyGame.Example.MonsterT>(); }
+ public static AnyAmbiguousAliasesUnion FromM3(MyGame.Example.MonsterT _m3) { return new AnyAmbiguousAliasesUnion{ Type = AnyAmbiguousAliases.M3, Value = _m3 }; }
public static int Pack(FlatBuffers.FlatBufferBuilder builder, AnyAmbiguousAliasesUnion _o) {
switch (_o.Type) {
diff --git a/tests/MyGame/Example/AnyAmbiguousAliases.java b/tests/MyGame/Example/AnyAmbiguousAliases.java
index b8a6870..1b97b2c 100644
--- a/tests/MyGame/Example/AnyAmbiguousAliases.java
+++ b/tests/MyGame/Example/AnyAmbiguousAliases.java
@@ -2,6 +2,7 @@
package MyGame.Example;
+@SuppressWarnings("unused")
public final class AnyAmbiguousAliases {
private AnyAmbiguousAliases() { }
public static final byte NONE = 0;
diff --git a/tests/MyGame/Example/AnyAmbiguousAliases.kt b/tests/MyGame/Example/AnyAmbiguousAliases.kt
index cee13c5..c38923b 100644
--- a/tests/MyGame/Example/AnyAmbiguousAliases.kt
+++ b/tests/MyGame/Example/AnyAmbiguousAliases.kt
@@ -3,7 +3,6 @@
package MyGame.Example
@Suppress("unused")
-@ExperimentalUnsignedTypes
class AnyAmbiguousAliases private constructor() {
companion object {
const val NONE: UByte = 0u
diff --git a/tests/MyGame/Example/AnyAmbiguousAliases.lua b/tests/MyGame/Example/AnyAmbiguousAliases.lua
index dbe474b..c0d3407 100644
--- a/tests/MyGame/Example/AnyAmbiguousAliases.lua
+++ b/tests/MyGame/Example/AnyAmbiguousAliases.lua
@@ -1,12 +1,20 @@
--- automatically generated by the FlatBuffers compiler, do not modify
+--[[ MyGame.Example.AnyAmbiguousAliases
--- namespace: Example
+ Automatically generated by the FlatBuffers compiler, do not modify.
+ Or modify. I'm a message, not a cop.
+
+ flatc version: 2.0.6
+
+ Declared by : //monster_test.fbs
+ Rooting type : MyGame.Example.Monster (//monster_test.fbs)
+
+--]]
local AnyAmbiguousAliases = {
- NONE = 0,
- M1 = 1,
- M2 = 2,
- M3 = 3,
+ NONE = 0,
+ M1 = 1,
+ M2 = 2,
+ M3 = 3,
}
-return AnyAmbiguousAliases -- return the module
\ No newline at end of file
+return AnyAmbiguousAliases
\ No newline at end of file
diff --git a/tests/MyGame/Example/AnyAmbiguousAliases.py b/tests/MyGame/Example/AnyAmbiguousAliases.py
index 3fb4830..2225a03 100644
--- a/tests/MyGame/Example/AnyAmbiguousAliases.py
+++ b/tests/MyGame/Example/AnyAmbiguousAliases.py
@@ -8,7 +8,6 @@
M2 = 2
M3 = 3
-
def AnyAmbiguousAliasesCreator(unionType, table):
from flatbuffers.table import Table
if not isinstance(table, Table):
diff --git a/tests/MyGame/Example/AnyAmbiguousAliasesUnion.java b/tests/MyGame/Example/AnyAmbiguousAliasesUnion.java
new file mode 100644
index 0000000..879d581
--- /dev/null
+++ b/tests/MyGame/Example/AnyAmbiguousAliasesUnion.java
@@ -0,0 +1,37 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.Example;
+
+import com.google.flatbuffers.FlatBufferBuilder;
+
+public class AnyAmbiguousAliasesUnion {
+ private byte type;
+ private Object value;
+
+ public byte getType() { return type; }
+
+ public void setType(byte type) { this.type = type; }
+
+ public Object getValue() { return value; }
+
+ public void setValue(Object value) { this.value = value; }
+
+ public AnyAmbiguousAliasesUnion() {
+ this.type = AnyAmbiguousAliases.NONE;
+ this.value = null;
+ }
+
+ public MyGame.Example.MonsterT asM1() { return (MyGame.Example.MonsterT) value; }
+ public MyGame.Example.MonsterT asM2() { return (MyGame.Example.MonsterT) value; }
+ public MyGame.Example.MonsterT asM3() { return (MyGame.Example.MonsterT) value; }
+
+ public static int pack(FlatBufferBuilder builder, AnyAmbiguousAliasesUnion _o) {
+ switch (_o.type) {
+ case AnyAmbiguousAliases.M1: return MyGame.Example.Monster.pack(builder, _o.asM1());
+ case AnyAmbiguousAliases.M2: return MyGame.Example.Monster.pack(builder, _o.asM2());
+ case AnyAmbiguousAliases.M3: return MyGame.Example.Monster.pack(builder, _o.asM3());
+ default: return 0;
+ }
+ }
+}
+
diff --git a/tests/MyGame/Example/AnyUnion.java b/tests/MyGame/Example/AnyUnion.java
new file mode 100644
index 0000000..b012515
--- /dev/null
+++ b/tests/MyGame/Example/AnyUnion.java
@@ -0,0 +1,37 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.Example;
+
+import com.google.flatbuffers.FlatBufferBuilder;
+
+public class AnyUnion {
+ private byte type;
+ private Object value;
+
+ public byte getType() { return type; }
+
+ public void setType(byte type) { this.type = type; }
+
+ public Object getValue() { return value; }
+
+ public void setValue(Object value) { this.value = value; }
+
+ public AnyUnion() {
+ this.type = Any.NONE;
+ this.value = null;
+ }
+
+ public MyGame.Example.MonsterT asMonster() { return (MyGame.Example.MonsterT) value; }
+ MyGame.Example.TestSimpleTableWithEnumT asTestSimpleTableWithEnum() { return (MyGame.Example.TestSimpleTableWithEnumT) value; }
+ public MyGame.Example2.MonsterT asMyGame_Example2_Monster() { return (MyGame.Example2.MonsterT) value; }
+
+ public static int pack(FlatBufferBuilder builder, AnyUnion _o) {
+ switch (_o.type) {
+ case Any.Monster: return MyGame.Example.Monster.pack(builder, _o.asMonster());
+ case Any.TestSimpleTableWithEnum: return MyGame.Example.TestSimpleTableWithEnum.pack(builder, _o.asTestSimpleTableWithEnum());
+ case Any.MyGame_Example2_Monster: return MyGame.Example2.Monster.pack(builder, _o.asMyGame_Example2_Monster());
+ default: return 0;
+ }
+ }
+}
+
diff --git a/tests/MyGame/Example/AnyUniqueAliases.cs b/tests/MyGame/Example/AnyUniqueAliases.cs
index 3594952..ab33276 100644
--- a/tests/MyGame/Example/AnyUniqueAliases.cs
+++ b/tests/MyGame/Example/AnyUniqueAliases.cs
@@ -25,8 +25,11 @@
public T As<T>() where T : class { return this.Value as T; }
public MyGame.Example.MonsterT AsM() { return this.As<MyGame.Example.MonsterT>(); }
+ public static AnyUniqueAliasesUnion FromM(MyGame.Example.MonsterT _m) { return new AnyUniqueAliasesUnion{ Type = AnyUniqueAliases.M, Value = _m }; }
internal MyGame.Example.TestSimpleTableWithEnumT AsTS() { return this.As<MyGame.Example.TestSimpleTableWithEnumT>(); }
+ internal static AnyUniqueAliasesUnion FromTS(MyGame.Example.TestSimpleTableWithEnumT _ts) { return new AnyUniqueAliasesUnion{ Type = AnyUniqueAliases.TS, Value = _ts }; }
public MyGame.Example2.MonsterT AsM2() { return this.As<MyGame.Example2.MonsterT>(); }
+ public static AnyUniqueAliasesUnion FromM2(MyGame.Example2.MonsterT _m2) { return new AnyUniqueAliasesUnion{ Type = AnyUniqueAliases.M2, Value = _m2 }; }
public static int Pack(FlatBuffers.FlatBufferBuilder builder, AnyUniqueAliasesUnion _o) {
switch (_o.Type) {
diff --git a/tests/MyGame/Example/AnyUniqueAliases.java b/tests/MyGame/Example/AnyUniqueAliases.java
index 1f32945..a06423a 100644
--- a/tests/MyGame/Example/AnyUniqueAliases.java
+++ b/tests/MyGame/Example/AnyUniqueAliases.java
@@ -2,6 +2,7 @@
package MyGame.Example;
+@SuppressWarnings("unused")
public final class AnyUniqueAliases {
private AnyUniqueAliases() { }
public static final byte NONE = 0;
diff --git a/tests/MyGame/Example/AnyUniqueAliases.kt b/tests/MyGame/Example/AnyUniqueAliases.kt
index 1902d5d..2db45a6 100644
--- a/tests/MyGame/Example/AnyUniqueAliases.kt
+++ b/tests/MyGame/Example/AnyUniqueAliases.kt
@@ -3,7 +3,6 @@
package MyGame.Example
@Suppress("unused")
-@ExperimentalUnsignedTypes
class AnyUniqueAliases private constructor() {
companion object {
const val NONE: UByte = 0u
diff --git a/tests/MyGame/Example/AnyUniqueAliases.lua b/tests/MyGame/Example/AnyUniqueAliases.lua
index 9bfeb80..0042b93 100644
--- a/tests/MyGame/Example/AnyUniqueAliases.lua
+++ b/tests/MyGame/Example/AnyUniqueAliases.lua
@@ -1,12 +1,20 @@
--- automatically generated by the FlatBuffers compiler, do not modify
+--[[ MyGame.Example.AnyUniqueAliases
--- namespace: Example
+ Automatically generated by the FlatBuffers compiler, do not modify.
+ Or modify. I'm a message, not a cop.
+
+ flatc version: 2.0.6
+
+ Declared by : //monster_test.fbs
+ Rooting type : MyGame.Example.Monster (//monster_test.fbs)
+
+--]]
local AnyUniqueAliases = {
- NONE = 0,
- M = 1,
- TS = 2,
- M2 = 3,
+ NONE = 0,
+ M = 1,
+ TS = 2,
+ M2 = 3,
}
-return AnyUniqueAliases -- return the module
\ No newline at end of file
+return AnyUniqueAliases
\ No newline at end of file
diff --git a/tests/MyGame/Example/AnyUniqueAliases.py b/tests/MyGame/Example/AnyUniqueAliases.py
index cf89fc2..a3ba37e 100644
--- a/tests/MyGame/Example/AnyUniqueAliases.py
+++ b/tests/MyGame/Example/AnyUniqueAliases.py
@@ -8,7 +8,6 @@
TS = 2
M2 = 3
-
def AnyUniqueAliasesCreator(unionType, table):
from flatbuffers.table import Table
if not isinstance(table, Table):
diff --git a/tests/MyGame/Example/AnyUniqueAliasesUnion.java b/tests/MyGame/Example/AnyUniqueAliasesUnion.java
new file mode 100644
index 0000000..71bf491
--- /dev/null
+++ b/tests/MyGame/Example/AnyUniqueAliasesUnion.java
@@ -0,0 +1,37 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.Example;
+
+import com.google.flatbuffers.FlatBufferBuilder;
+
+public class AnyUniqueAliasesUnion {
+ private byte type;
+ private Object value;
+
+ public byte getType() { return type; }
+
+ public void setType(byte type) { this.type = type; }
+
+ public Object getValue() { return value; }
+
+ public void setValue(Object value) { this.value = value; }
+
+ public AnyUniqueAliasesUnion() {
+ this.type = AnyUniqueAliases.NONE;
+ this.value = null;
+ }
+
+ public MyGame.Example.MonsterT asM() { return (MyGame.Example.MonsterT) value; }
+ MyGame.Example.TestSimpleTableWithEnumT asTS() { return (MyGame.Example.TestSimpleTableWithEnumT) value; }
+ public MyGame.Example2.MonsterT asM2() { return (MyGame.Example2.MonsterT) value; }
+
+ public static int pack(FlatBufferBuilder builder, AnyUniqueAliasesUnion _o) {
+ switch (_o.type) {
+ case AnyUniqueAliases.M: return MyGame.Example.Monster.pack(builder, _o.asM());
+ case AnyUniqueAliases.TS: return MyGame.Example.TestSimpleTableWithEnum.pack(builder, _o.asTS());
+ case AnyUniqueAliases.M2: return MyGame.Example2.Monster.pack(builder, _o.asM2());
+ default: return 0;
+ }
+ }
+}
+
diff --git a/tests/MyGame/Example/ArrayStruct.cs b/tests/MyGame/Example/ArrayStruct.cs
index 41c088d..df0e2ac 100644
--- a/tests/MyGame/Example/ArrayStruct.cs
+++ b/tests/MyGame/Example/ArrayStruct.cs
@@ -97,7 +97,7 @@
_o.E,
_f);
}
-};
+}
public class ArrayStructT
{
diff --git a/tests/MyGame/Example/ArrayStruct.java b/tests/MyGame/Example/ArrayStruct.java
index 5c5b3f6..00535b0 100644
--- a/tests/MyGame/Example/ArrayStruct.java
+++ b/tests/MyGame/Example/ArrayStruct.java
@@ -18,6 +18,7 @@
public void mutateB(int j, int b) { bb.putInt(bb_pos + 4 + j * 4, b); }
public byte c() { return bb.get(bb_pos + 64); }
public void mutateC(byte c) { bb.put(bb_pos + 64, c); }
+ public MyGame.Example.NestedStruct d(int j) { return d(new MyGame.Example.NestedStruct(), j); }
public MyGame.Example.NestedStruct d(MyGame.Example.NestedStruct obj, int j) { return obj.__assign(bb_pos + 72 + j * 32, bb); }
public int e() { return bb.getInt(bb_pos + 136); }
public void mutateE(int e) { bb.putInt(bb_pos + 136, e); }
@@ -60,5 +61,48 @@
public ArrayStruct get(int j) { return get(new ArrayStruct(), j); }
public ArrayStruct get(ArrayStruct obj, int j) { return obj.__assign(__element(j), bb); }
}
+ public ArrayStructT unpack() {
+ ArrayStructT _o = new ArrayStructT();
+ unpackTo(_o);
+ return _o;
+ }
+ public void unpackTo(ArrayStructT _o) {
+ float _oA = a();
+ _o.setA(_oA);
+ int[] _oB = _o.getB();
+ for (int _j = 0; _j < 15; ++_j) { _oB[_j] = b(_j); }
+ byte _oC = c();
+ _o.setC(_oC);
+ MyGame.Example.NestedStructT[] _oD = _o.getD();
+ for (int _j = 0; _j < 2; ++_j) { _oD[_j] = d(_j).unpack(); }
+ int _oE = e();
+ _o.setE(_oE);
+ long[] _oF = _o.getF();
+ for (int _j = 0; _j < 2; ++_j) { _oF[_j] = f(_j); }
+ }
+ public static int pack(FlatBufferBuilder builder, ArrayStructT _o) {
+ if (_o == null) return 0;
+ int[] _b = _o.getB();
+ int[][] _d_a = new int[2][2];
+ for (int idx0 = 0; idx0 < 2; ++idx0) {for (int idx1 = 0; idx1 < 2; ++idx1) {_d_a[idx0][idx1] = _o.getD()[idx0].getA()[idx1];}}
+ byte[] _d_b = new byte[2];
+ for (int idx0 = 0; idx0 < 2; ++idx0) {_d_b[idx0] = _o.getD()[idx0].getB();}
+ byte[][] _d_c = new byte[2][2];
+ for (int idx0 = 0; idx0 < 2; ++idx0) {for (int idx1 = 0; idx1 < 2; ++idx1) {_d_c[idx0][idx1] = _o.getD()[idx0].getC()[idx1];}}
+ long[][] _d_d = new long[2][2];
+ for (int idx0 = 0; idx0 < 2; ++idx0) {for (int idx1 = 0; idx1 < 2; ++idx1) {_d_d[idx0][idx1] = _o.getD()[idx0].getD()[idx1];}}
+ long[] _f = _o.getF();
+ return createArrayStruct(
+ builder,
+ _o.getA(),
+ _b,
+ _o.getC(),
+ _d_a,
+ _d_b,
+ _d_c,
+ _d_d,
+ _o.getE(),
+ _f);
+ }
}
diff --git a/tests/MyGame/Example/ArrayStructT.java b/tests/MyGame/Example/ArrayStructT.java
new file mode 100644
index 0000000..bec1394
--- /dev/null
+++ b/tests/MyGame/Example/ArrayStructT.java
@@ -0,0 +1,52 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.Example;
+
+import java.nio.*;
+import java.lang.*;
+import java.util.*;
+import com.google.flatbuffers.*;
+
+public class ArrayStructT {
+ private float a;
+ private int[] b;
+ private byte c;
+ private MyGame.Example.NestedStructT[] d;
+ private int e;
+ private long[] f;
+
+ public float getA() { return a; }
+
+ public void setA(float a) { this.a = a; }
+
+ public int[] getB() { return b; }
+
+ public void setB(int[] b) { if (b != null && b.length == 15) this.b = b; }
+
+ public byte getC() { return c; }
+
+ public void setC(byte c) { this.c = c; }
+
+ public MyGame.Example.NestedStructT[] getD() { return d; }
+
+ public void setD(MyGame.Example.NestedStructT[] d) { if (d != null && d.length == 2) this.d = d; }
+
+ public int getE() { return e; }
+
+ public void setE(int e) { this.e = e; }
+
+ public long[] getF() { return f; }
+
+ public void setF(long[] f) { if (f != null && f.length == 2) this.f = f; }
+
+
+ public ArrayStructT() {
+ this.a = 0.0f;
+ this.b = new int[15];
+ this.c = 0;
+ this.d = new MyGame.Example.NestedStructT[2];
+ this.e = 0;
+ this.f = new long[2];
+ }
+}
+
diff --git a/tests/MyGame/Example/ArrayTable.cs b/tests/MyGame/Example/ArrayTable.cs
index b5b599f..9dc3d45 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_1_12_0(); }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_0(); }
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"); }
@@ -44,7 +44,7 @@
AddA(builder, MyGame.Example.ArrayStruct.Pack(builder, _o.A));
return EndArrayTable(builder);
}
-};
+}
public class ArrayTableT
{
diff --git a/tests/MyGame/Example/ArrayTable.java b/tests/MyGame/Example/ArrayTable.java
index 41730d3..8e3782b 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_1_12_0(); }
+ public static void ValidateVersion() { Constants.FLATBUFFERS_2_0_0(); }
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"); }
@@ -34,5 +34,20 @@
public ArrayTable get(int j) { return get(new ArrayTable(), j); }
public ArrayTable get(ArrayTable obj, int j) { return obj.__assign(__indirect(__element(j), bb), bb); }
}
+ public ArrayTableT unpack() {
+ ArrayTableT _o = new ArrayTableT();
+ unpackTo(_o);
+ return _o;
+ }
+ public void unpackTo(ArrayTableT _o) {
+ if (a() != null) a().unpackTo(_o.getA());
+ else _o.setA(null);
+ }
+ public static int pack(FlatBufferBuilder builder, ArrayTableT _o) {
+ if (_o == null) return 0;
+ startArrayTable(builder);
+ addA(builder, MyGame.Example.ArrayStruct.pack(builder, _o.getA()));
+ return endArrayTable(builder);
+ }
}
diff --git a/tests/MyGame/Example/ArrayTable.py b/tests/MyGame/Example/ArrayTable.py
index 83905e6..62d71af 100644
--- a/tests/MyGame/Example/ArrayTable.py
+++ b/tests/MyGame/Example/ArrayTable.py
@@ -10,13 +10,17 @@
__slots__ = ['_tab']
@classmethod
- def GetRootAsArrayTable(cls, buf, offset):
+ def GetRootAs(cls, buf, offset=0):
n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
x = ArrayTable()
x.Init(buf, n + offset)
return x
@classmethod
+ def GetRootAsArrayTable(cls, buf, offset=0):
+ """This method is deprecated. Please switch to GetRootAs."""
+ return cls.GetRootAs(buf, offset)
+ @classmethod
def ArrayTableBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x41\x52\x52\x54", size_prefixed=size_prefixed)
@@ -36,9 +40,14 @@
return None
def ArrayTableStart(builder): builder.StartObject(1)
+def Start(builder):
+ return ArrayTableStart(builder)
def ArrayTableAddA(builder, a): builder.PrependStructSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(a), 0)
+def AddA(builder, a):
+ return ArrayTableAddA(builder, a)
def ArrayTableEnd(builder): return builder.EndObject()
-
+def End(builder):
+ return ArrayTableEnd(builder)
import MyGame.Example.ArrayStruct
try:
from typing import Optional
diff --git a/tests/MyGame/Example/ArrayTableT.java b/tests/MyGame/Example/ArrayTableT.java
new file mode 100644
index 0000000..3840b35
--- /dev/null
+++ b/tests/MyGame/Example/ArrayTableT.java
@@ -0,0 +1,30 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.Example;
+
+import java.nio.*;
+import java.lang.*;
+import java.util.*;
+import com.google.flatbuffers.*;
+
+public class ArrayTableT {
+ private MyGame.Example.ArrayStructT a;
+
+ public MyGame.Example.ArrayStructT getA() { return a; }
+
+ public void setA(MyGame.Example.ArrayStructT a) { this.a = a; }
+
+
+ public ArrayTableT() {
+ this.a = new MyGame.Example.ArrayStructT();
+ }
+ public static ArrayTableT deserializeFromBinary(byte[] fbBuffer) {
+ return ArrayTable.getRootAsArrayTable(ByteBuffer.wrap(fbBuffer)).unpack();
+ }
+ public byte[] serializeToBinary() {
+ FlatBufferBuilder fbb = new FlatBufferBuilder();
+ ArrayTable.finishArrayTableBuffer(fbb, ArrayTable.pack(fbb, this));
+ return fbb.sizedByteArray();
+ }
+}
+
diff --git a/tests/MyGame/Example/Color.java b/tests/MyGame/Example/Color.java
index 0563c0a..d86d382 100644
--- a/tests/MyGame/Example/Color.java
+++ b/tests/MyGame/Example/Color.java
@@ -5,18 +5,19 @@
/**
* Composite components of Monster color.
*/
+@SuppressWarnings("unused")
public final class Color {
private Color() { }
- public static final byte Red = 1;
+ public static final int Red = 1;
/**
* \brief color Green
* Green is bit_flag with value (1u << 1)
*/
- public static final byte Green = 2;
+ public static final int Green = 2;
/**
* \brief color Blue (1u << 3)
*/
- public static final byte Blue = 8;
+ public static final int Blue = 8;
public static final String[] names = { "Red", "Green", "", "", "", "", "", "Blue", };
diff --git a/tests/MyGame/Example/Color.kt b/tests/MyGame/Example/Color.kt
index 4c27ba3..0af56e1 100644
--- a/tests/MyGame/Example/Color.kt
+++ b/tests/MyGame/Example/Color.kt
@@ -6,7 +6,6 @@
* Composite components of Monster color.
*/
@Suppress("unused")
-@ExperimentalUnsignedTypes
class Color private constructor() {
companion object {
const val Red: UByte = 1u
diff --git a/tests/MyGame/Example/Color.lua b/tests/MyGame/Example/Color.lua
index d4d2cbc..1909a1b 100644
--- a/tests/MyGame/Example/Color.lua
+++ b/tests/MyGame/Example/Color.lua
@@ -1,15 +1,23 @@
--- automatically generated by the FlatBuffers compiler, do not modify
+--[[ MyGame.Example.Color
--- namespace: Example
+ Automatically generated by the FlatBuffers compiler, do not modify.
+ Or modify. I'm a message, not a cop.
+
+ flatc version: 2.0.6
+
+ Declared by : //monster_test.fbs
+ Rooting type : MyGame.Example.Monster (//monster_test.fbs)
+
+--]]
-- Composite components of Monster color.
local Color = {
- Red = 1,
- -- \brief color Green
- -- Green is bit_flag with value (1u << 1)
- Green = 2,
- -- \brief color Blue (1u << 3)
- Blue = 8,
+ Red = 1,
+ -- \brief color Green
+ -- Green is bit_flag with value (1u << 1)
+ Green = 2,
+ -- \brief color Blue (1u << 3)
+ Blue = 8,
}
-return Color -- return the module
\ No newline at end of file
+return Color
\ No newline at end of file
diff --git a/tests/MyGame/Example/Color.py b/tests/MyGame/Example/Color.py
index 55aa821..4ab9cc9 100644
--- a/tests/MyGame/Example/Color.py
+++ b/tests/MyGame/Example/Color.py
@@ -10,4 +10,3 @@
Green = 2
# \brief color Blue (1u << 3)
Blue = 8
-
diff --git a/tests/MyGame/Example/LongEnum.cs b/tests/MyGame/Example/LongEnum.cs
new file mode 100644
index 0000000..555109c
--- /dev/null
+++ b/tests/MyGame/Example/LongEnum.cs
@@ -0,0 +1,18 @@
+// <auto-generated>
+// automatically generated by the FlatBuffers compiler, do not modify
+// </auto-generated>
+
+namespace MyGame.Example
+{
+
+[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
+[System.FlagsAttribute]
+public enum LongEnum : ulong
+{
+ LongOne = 2,
+ LongTwo = 4,
+ LongBig = 1099511627776,
+};
+
+
+}
diff --git a/tests/MyGame/Example/LongEnum.go b/tests/MyGame/Example/LongEnum.go
new file mode 100644
index 0000000..c7c6432
--- /dev/null
+++ b/tests/MyGame/Example/LongEnum.go
@@ -0,0 +1,32 @@
+// Code generated by the FlatBuffers compiler. DO NOT EDIT.
+
+package Example
+
+import "strconv"
+
+type LongEnum uint64
+
+const (
+ LongEnumLongOne LongEnum = 2
+ LongEnumLongTwo LongEnum = 4
+ LongEnumLongBig LongEnum = 1099511627776
+)
+
+var EnumNamesLongEnum = map[LongEnum]string{
+ LongEnumLongOne: "LongOne",
+ LongEnumLongTwo: "LongTwo",
+ LongEnumLongBig: "LongBig",
+}
+
+var EnumValuesLongEnum = map[string]LongEnum{
+ "LongOne": LongEnumLongOne,
+ "LongTwo": LongEnumLongTwo,
+ "LongBig": LongEnumLongBig,
+}
+
+func (v LongEnum) String() string {
+ if s, ok := EnumNamesLongEnum[v]; ok {
+ return s
+ }
+ return "LongEnum(" + strconv.FormatInt(int64(v), 10) + ")"
+}
diff --git a/tests/MyGame/Example/LongEnum.java b/tests/MyGame/Example/LongEnum.java
new file mode 100644
index 0000000..4640f08
--- /dev/null
+++ b/tests/MyGame/Example/LongEnum.java
@@ -0,0 +1,12 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.Example;
+
+@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;
+}
+
diff --git a/tests/MyGame/Example/LongEnum.kt b/tests/MyGame/Example/LongEnum.kt
new file mode 100644
index 0000000..ecb5aab
--- /dev/null
+++ b/tests/MyGame/Example/LongEnum.kt
@@ -0,0 +1,12 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.Example
+
+@Suppress("unused")
+class LongEnum private constructor() {
+ companion object {
+ const val LongOne: ULong = 2UL
+ const val LongTwo: ULong = 4UL
+ const val LongBig: ULong = 1099511627776UL
+ }
+}
diff --git a/tests/MyGame/Example/LongEnum.lua b/tests/MyGame/Example/LongEnum.lua
new file mode 100644
index 0000000..00fb679
--- /dev/null
+++ b/tests/MyGame/Example/LongEnum.lua
@@ -0,0 +1,19 @@
+--[[ MyGame.Example.LongEnum
+
+ Automatically generated by the FlatBuffers compiler, do not modify.
+ Or modify. I'm a message, not a cop.
+
+ flatc version: 2.0.6
+
+ Declared by : //monster_test.fbs
+ Rooting type : MyGame.Example.Monster (//monster_test.fbs)
+
+--]]
+
+local LongEnum = {
+ LongOne = 2,
+ LongTwo = 4,
+ LongBig = 1099511627776,
+}
+
+return LongEnum
\ No newline at end of file
diff --git a/tests/MyGame/Example/LongEnum.php b/tests/MyGame/Example/LongEnum.php
new file mode 100644
index 0000000..900f0d3
--- /dev/null
+++ b/tests/MyGame/Example/LongEnum.php
@@ -0,0 +1,25 @@
+<?php
+// automatically generated by the FlatBuffers compiler, do not modify
+
+namespace MyGame\Example;
+
+class LongEnum
+{
+ const LongOne = 2;
+ const LongTwo = 4;
+ const LongBig = 1099511627776;
+
+ private static $names = array(
+ LongEnum::LongOne=>"LongOne",
+ LongEnum::LongTwo=>"LongTwo",
+ LongEnum::LongBig=>"LongBig",
+ );
+
+ public static function Name($e)
+ {
+ if (!isset(self::$names[$e])) {
+ throw new \Exception();
+ }
+ return self::$names[$e];
+ }
+}
diff --git a/tests/MyGame/Example/LongEnum.py b/tests/MyGame/Example/LongEnum.py
new file mode 100644
index 0000000..f45726a
--- /dev/null
+++ b/tests/MyGame/Example/LongEnum.py
@@ -0,0 +1,8 @@
+# automatically generated by the FlatBuffers compiler, do not modify
+
+# namespace: Example
+
+class LongEnum(object):
+ LongOne = 2
+ LongTwo = 4
+ LongBig = 1099511627776
diff --git a/tests/MyGame/Example/Monster.cs b/tests/MyGame/Example/Monster.cs
index acfb394..4a11389 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_1_12_0(); }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_0(); }
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"); }
@@ -207,6 +207,14 @@
public byte[] GetTestrequirednestedflatbufferArray() { return __p.__vector_as_array<byte>(102); }
public MyGame.Example.Monster? GetTestrequirednestedflatbufferAsMonster() { int o = __p.__offset(102); return o != 0 ? (MyGame.Example.Monster?)(new MyGame.Example.Monster()).__assign(__p.__indirect(__p.__vector(o)), __p.bb) : null; }
public bool MutateTestrequirednestedflatbuffer(int j, byte testrequirednestedflatbuffer) { int o = __p.__offset(102); if (o != 0) { __p.bb.Put(__p.__vector(o) + j * 1, testrequirednestedflatbuffer); return true; } else { return false; } }
+ public MyGame.Example.Stat? ScalarKeySortedTables(int j) { int o = __p.__offset(104); return o != 0 ? (MyGame.Example.Stat?)(new MyGame.Example.Stat()).__assign(__p.__indirect(__p.__vector(o) + j * 4), __p.bb) : null; }
+ public int ScalarKeySortedTablesLength { get { int o = __p.__offset(104); return o != 0 ? __p.__vector_len(o) : 0; } }
+ public MyGame.Example.Stat? ScalarKeySortedTablesByKey(ushort key) { int o = __p.__offset(104); return o != 0 ? MyGame.Example.Stat.__lookup_by_key(__p.__vector(o), key, __p.bb) : null; }
+ public MyGame.Example.Test? NativeInline { get { int o = __p.__offset(106); return o != 0 ? (MyGame.Example.Test?)(new MyGame.Example.Test()).__assign(o + __p.bb_pos, __p.bb) : null; } }
+ public MyGame.Example.LongEnum LongEnumNonEnumDefault { get { int o = __p.__offset(108); return o != 0 ? (MyGame.Example.LongEnum)__p.bb.GetUlong(o + __p.bb_pos) : 0; } }
+ 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 static Offset<MyGame.Example.Monster> CreateMonster(FlatBufferBuilder builder,
MyGame.Example.Vec3T pos = null,
@@ -257,8 +265,14 @@
int any_ambiguousOffset = 0,
VectorOffset vector_of_enumsOffset = default(VectorOffset),
MyGame.Example.Race signed_enum = MyGame.Example.Race.None,
- VectorOffset testrequirednestedflatbufferOffset = default(VectorOffset)) {
- builder.StartTable(50);
+ VectorOffset testrequirednestedflatbufferOffset = default(VectorOffset),
+ 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);
+ Monster.AddLongEnumNormalDefault(builder, long_enum_normal_default);
+ Monster.AddLongEnumNonEnumDefault(builder, long_enum_non_enum_default);
Monster.AddNonOwningReference(builder, non_owning_reference);
Monster.AddCoOwningReference(builder, co_owning_reference);
Monster.AddSingleWeakReference(builder, single_weak_reference);
@@ -266,6 +280,8 @@
Monster.AddTesthashs64Fnv1a(builder, testhashs64_fnv1a);
Monster.AddTesthashu64Fnv1(builder, testhashu64_fnv1);
Monster.AddTesthashs64Fnv1(builder, testhashs64_fnv1);
+ Monster.AddNativeInline(builder, MyGame.Example.Test.Pack(builder, native_inline));
+ Monster.AddScalarKeySortedTables(builder, scalar_key_sorted_tablesOffset);
Monster.AddTestrequirednestedflatbuffer(builder, testrequirednestedflatbufferOffset);
Monster.AddVectorOfEnums(builder, vector_of_enumsOffset);
Monster.AddAnyAmbiguous(builder, any_ambiguousOffset);
@@ -311,7 +327,7 @@
return Monster.EndMonster(builder);
}
- public static void StartMonster(FlatBufferBuilder builder) { builder.StartTable(50); }
+ public static void StartMonster(FlatBufferBuilder builder) { builder.StartTable(54); }
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); }
@@ -412,6 +428,13 @@
public static VectorOffset CreateTestrequirednestedflatbufferVector(FlatBufferBuilder builder, byte[] data) { builder.StartVector(1, data.Length, 1); for (int i = data.Length - 1; i >= 0; i--) builder.AddByte(data[i]); return builder.EndVector(); }
public static VectorOffset CreateTestrequirednestedflatbufferVectorBlock(FlatBufferBuilder builder, byte[] data) { builder.StartVector(1, data.Length, 1); builder.Add(data); return builder.EndVector(); }
public static void StartTestrequirednestedflatbufferVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(1, numElems, 1); }
+ public static void AddScalarKeySortedTables(FlatBufferBuilder builder, VectorOffset scalarKeySortedTablesOffset) { builder.AddOffset(50, scalarKeySortedTablesOffset.Value, 0); }
+ public static VectorOffset CreateScalarKeySortedTablesVector(FlatBufferBuilder builder, Offset<MyGame.Example.Stat>[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddOffset(data[i].Value); return builder.EndVector(); }
+ public static VectorOffset CreateScalarKeySortedTablesVectorBlock(FlatBufferBuilder builder, Offset<MyGame.Example.Stat>[] data) { builder.StartVector(4, data.Length, 4); builder.Add(data); return builder.EndVector(); }
+ public static void StartScalarKeySortedTablesVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); }
+ 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 Offset<MyGame.Example.Monster> EndMonster(FlatBufferBuilder builder) {
int o = builder.EndTable();
builder.Required(o, 10); // name
@@ -555,6 +578,11 @@
_o.SignedEnum = this.SignedEnum;
_o.Testrequirednestedflatbuffer = new List<byte>();
for (var _j = 0; _j < this.TestrequirednestedflatbufferLength; ++_j) {_o.Testrequirednestedflatbuffer.Add(this.Testrequirednestedflatbuffer(_j));}
+ _o.ScalarKeySortedTables = new List<MyGame.Example.StatT>();
+ for (var _j = 0; _j < this.ScalarKeySortedTablesLength; ++_j) {_o.ScalarKeySortedTables.Add(this.ScalarKeySortedTables(_j).HasValue ? this.ScalarKeySortedTables(_j).Value.UnPack() : null);}
+ _o.NativeInline = this.NativeInline.HasValue ? this.NativeInline.Value.UnPack() : null;
+ _o.LongEnumNonEnumDefault = this.LongEnumNonEnumDefault;
+ _o.LongEnumNormalDefault = this.LongEnumNormalDefault;
}
public static Offset<MyGame.Example.Monster> Pack(FlatBufferBuilder builder, MonsterT _o) {
if (_o == null) return default(Offset<MyGame.Example.Monster>);
@@ -671,6 +699,12 @@
var __testrequirednestedflatbuffer = _o.Testrequirednestedflatbuffer.ToArray();
_testrequirednestedflatbuffer = CreateTestrequirednestedflatbufferVector(builder, __testrequirednestedflatbuffer);
}
+ var _scalar_key_sorted_tables = default(VectorOffset);
+ if (_o.ScalarKeySortedTables != null) {
+ var __scalar_key_sorted_tables = new Offset<MyGame.Example.Stat>[_o.ScalarKeySortedTables.Count];
+ for (var _j = 0; _j < __scalar_key_sorted_tables.Length; ++_j) { __scalar_key_sorted_tables[_j] = MyGame.Example.Stat.Pack(builder, _o.ScalarKeySortedTables[_j]); }
+ _scalar_key_sorted_tables = CreateScalarKeySortedTablesVector(builder, __scalar_key_sorted_tables);
+ }
return CreateMonster(
builder,
_o.Pos,
@@ -721,9 +755,13 @@
_any_ambiguous,
_vector_of_enums,
_o.SignedEnum,
- _testrequirednestedflatbuffer);
+ _testrequirednestedflatbuffer,
+ _scalar_key_sorted_tables,
+ _o.NativeInline,
+ _o.LongEnumNonEnumDefault,
+ _o.LongEnumNormalDefault);
}
-};
+}
public class MonsterT
{
@@ -866,6 +904,14 @@
public MyGame.Example.Race SignedEnum { get; set; }
[Newtonsoft.Json.JsonProperty("testrequirednestedflatbuffer")]
public List<byte> Testrequirednestedflatbuffer { get; set; }
+ [Newtonsoft.Json.JsonProperty("scalar_key_sorted_tables")]
+ public List<MyGame.Example.StatT> ScalarKeySortedTables { get; set; }
+ [Newtonsoft.Json.JsonProperty("native_inline")]
+ public MyGame.Example.TestT NativeInline { get; set; }
+ [Newtonsoft.Json.JsonProperty("long_enum_non_enum_default")]
+ public MyGame.Example.LongEnum LongEnumNonEnumDefault { get; set; }
+ [Newtonsoft.Json.JsonProperty("long_enum_normal_default")]
+ public MyGame.Example.LongEnum LongEnumNormalDefault { get; set; }
public MonsterT() {
this.Pos = new MyGame.Example.Vec3T();
@@ -914,6 +960,10 @@
this.VectorOfEnums = null;
this.SignedEnum = MyGame.Example.Race.None;
this.Testrequirednestedflatbuffer = null;
+ this.ScalarKeySortedTables = null;
+ this.NativeInline = new MyGame.Example.TestT();
+ this.LongEnumNonEnumDefault = 0;
+ this.LongEnumNormalDefault = MyGame.Example.LongEnum.LongOne;
}
public static MonsterT DeserializeFromJson(string jsonText) {
diff --git a/tests/MyGame/Example/Monster.go b/tests/MyGame/Example/Monster.go
index 2ffe926..067be0d 100644
--- a/tests/MyGame/Example/Monster.go
+++ b/tests/MyGame/Example/Monster.go
@@ -56,6 +56,10 @@
VectorOfEnums []Color
SignedEnum Race
Testrequirednestedflatbuffer []byte
+ ScalarKeySortedTables []*StatT
+ NativeInline *TestT
+ LongEnumNonEnumDefault LongEnum
+ LongEnumNormalDefault LongEnum
}
func (t *MonsterT) Pack(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
@@ -241,6 +245,19 @@
if t.Testrequirednestedflatbuffer != nil {
testrequirednestedflatbufferOffset = builder.CreateByteString(t.Testrequirednestedflatbuffer)
}
+ scalarKeySortedTablesOffset := flatbuffers.UOffsetT(0)
+ if t.ScalarKeySortedTables != nil {
+ scalarKeySortedTablesLength := len(t.ScalarKeySortedTables)
+ scalarKeySortedTablesOffsets := make([]flatbuffers.UOffsetT, scalarKeySortedTablesLength)
+ for j := 0; j < scalarKeySortedTablesLength; j++ {
+ scalarKeySortedTablesOffsets[j] = t.ScalarKeySortedTables[j].Pack(builder)
+ }
+ MonsterStartScalarKeySortedTablesVector(builder, scalarKeySortedTablesLength)
+ for j := scalarKeySortedTablesLength - 1; j >= 0; j-- {
+ builder.PrependUOffsetT(scalarKeySortedTablesOffsets[j])
+ }
+ scalarKeySortedTablesOffset = builder.EndVector(scalarKeySortedTablesLength)
+ }
MonsterStart(builder)
posOffset := t.Pos.Pack(builder)
MonsterAddPos(builder, posOffset)
@@ -298,6 +315,11 @@
MonsterAddVectorOfEnums(builder, vectorOfEnumsOffset)
MonsterAddSignedEnum(builder, t.SignedEnum)
MonsterAddTestrequirednestedflatbuffer(builder, testrequirednestedflatbufferOffset)
+ MonsterAddScalarKeySortedTables(builder, scalarKeySortedTablesOffset)
+ nativeInlineOffset := t.NativeInline.Pack(builder)
+ MonsterAddNativeInline(builder, nativeInlineOffset)
+ MonsterAddLongEnumNonEnumDefault(builder, t.LongEnumNonEnumDefault)
+ MonsterAddLongEnumNormalDefault(builder, t.LongEnumNormalDefault)
return MonsterEnd(builder)
}
@@ -429,6 +451,16 @@
}
t.SignedEnum = rcv.SignedEnum()
t.Testrequirednestedflatbuffer = rcv.TestrequirednestedflatbufferBytes()
+ scalarKeySortedTablesLength := rcv.ScalarKeySortedTablesLength()
+ t.ScalarKeySortedTables = make([]*StatT, scalarKeySortedTablesLength)
+ for j := 0; j < scalarKeySortedTablesLength; j++ {
+ x := Stat{}
+ rcv.ScalarKeySortedTables(&x, j)
+ t.ScalarKeySortedTables[j] = x.UnPack()
+ }
+ t.NativeInline = rcv.NativeInline(nil).UnPack()
+ t.LongEnumNonEnumDefault = rcv.LongEnumNonEnumDefault()
+ t.LongEnumNormalDefault = rcv.LongEnumNormalDefault()
}
func (rcv *Monster) UnPack() *MonsterT {
@@ -1297,8 +1329,65 @@
return false
}
+func (rcv *Monster) ScalarKeySortedTables(obj *Stat, j int) bool {
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(104))
+ if o != 0 {
+ x := rcv._tab.Vector(o)
+ x += flatbuffers.UOffsetT(j) * 4
+ x = rcv._tab.Indirect(x)
+ obj.Init(rcv._tab.Bytes, x)
+ return true
+ }
+ return false
+}
+
+func (rcv *Monster) ScalarKeySortedTablesLength() int {
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(104))
+ if o != 0 {
+ return rcv._tab.VectorLen(o)
+ }
+ return 0
+}
+
+func (rcv *Monster) NativeInline(obj *Test) *Test {
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(106))
+ if o != 0 {
+ x := o + rcv._tab.Pos
+ if obj == nil {
+ obj = new(Test)
+ }
+ obj.Init(rcv._tab.Bytes, x)
+ return obj
+ }
+ return nil
+}
+
+func (rcv *Monster) LongEnumNonEnumDefault() LongEnum {
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(108))
+ if o != 0 {
+ return LongEnum(rcv._tab.GetUint64(o + rcv._tab.Pos))
+ }
+ return 0
+}
+
+func (rcv *Monster) MutateLongEnumNonEnumDefault(n LongEnum) bool {
+ return rcv._tab.MutateUint64Slot(108, uint64(n))
+}
+
+func (rcv *Monster) LongEnumNormalDefault() LongEnum {
+ o := flatbuffers.UOffsetT(rcv._tab.Offset(110))
+ if o != 0 {
+ return LongEnum(rcv._tab.GetUint64(o + rcv._tab.Pos))
+ }
+ return 2
+}
+
+func (rcv *Monster) MutateLongEnumNormalDefault(n LongEnum) bool {
+ return rcv._tab.MutateUint64Slot(110, uint64(n))
+}
+
func MonsterStart(builder *flatbuffers.Builder) {
- builder.StartObject(50)
+ builder.StartObject(54)
}
func MonsterAddPos(builder *flatbuffers.Builder, pos flatbuffers.UOffsetT) {
builder.PrependStructSlot(0, flatbuffers.UOffsetT(pos), 0)
@@ -1504,6 +1593,21 @@
func MonsterStartTestrequirednestedflatbufferVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(1, numElems, 1)
}
+func MonsterAddScalarKeySortedTables(builder *flatbuffers.Builder, scalarKeySortedTables flatbuffers.UOffsetT) {
+ builder.PrependUOffsetTSlot(50, flatbuffers.UOffsetT(scalarKeySortedTables), 0)
+}
+func MonsterStartScalarKeySortedTablesVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
+ return builder.StartVector(4, numElems, 4)
+}
+func MonsterAddNativeInline(builder *flatbuffers.Builder, nativeInline flatbuffers.UOffsetT) {
+ builder.PrependStructSlot(51, flatbuffers.UOffsetT(nativeInline), 0)
+}
+func MonsterAddLongEnumNonEnumDefault(builder *flatbuffers.Builder, longEnumNonEnumDefault LongEnum) {
+ builder.PrependUint64Slot(52, uint64(longEnumNonEnumDefault), 0)
+}
+func MonsterAddLongEnumNormalDefault(builder *flatbuffers.Builder, longEnumNormalDefault LongEnum) {
+ builder.PrependUint64Slot(53, uint64(longEnumNormalDefault), 2)
+}
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 c3cd1ca..aeae257 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_1_12_0(); }
+ public static void ValidateVersion() { Constants.FLATBUFFERS_2_0_0(); }
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"); }
@@ -34,9 +34,9 @@
public ByteVector inventoryVector(ByteVector obj) { int o = __offset(14); return o != 0 ? obj.__assign(__vector(o), bb) : null; }
public ByteBuffer inventoryAsByteBuffer() { return __vector_as_bytebuffer(14, 1); }
public ByteBuffer inventoryInByteBuffer(ByteBuffer _bb) { return __vector_in_bytebuffer(_bb, 14, 1); }
- public boolean mutateInventory(int j, int inventory) { int o = __offset(14); if (o != 0) { bb.put(__vector(o) + j * 1, (byte)inventory); return true; } else { return false; } }
+ public boolean mutateInventory(int j, int inventory) { int o = __offset(14); if (o != 0) { bb.put(__vector(o) + j * 1, (byte) inventory); return true; } else { return false; } }
public int color() { int o = __offset(16); return o != 0 ? bb.get(o + bb_pos) & 0xFF : 8; }
- public boolean mutateColor(int color) { int o = __offset(16); if (o != 0) { bb.put(o + bb_pos, (byte)color); return true; } else { return false; } }
+ public boolean mutateColor(int color) { int o = __offset(16); if (o != 0) { bb.put(o + bb_pos, (byte) color); return true; } else { return false; } }
public byte testType() { int o = __offset(18); return o != 0 ? bb.get(o + bb_pos) : 0; }
public Table test(Table obj) { int o = __offset(20); return o != 0 ? __union(obj, o + bb_pos) : null; }
public MyGame.Example.Test test4(int j) { return test4(new MyGame.Example.Test(), j); }
@@ -69,7 +69,7 @@
public ByteBuffer testnestedflatbufferInByteBuffer(ByteBuffer _bb) { return __vector_in_bytebuffer(_bb, 30, 1); }
public MyGame.Example.Monster testnestedflatbufferAsMonster() { return testnestedflatbufferAsMonster(new MyGame.Example.Monster()); }
public MyGame.Example.Monster testnestedflatbufferAsMonster(MyGame.Example.Monster obj) { int o = __offset(30); return o != 0 ? obj.__assign(__indirect(__vector(o)), bb) : null; }
- public boolean mutateTestnestedflatbuffer(int j, int testnestedflatbuffer) { int o = __offset(30); if (o != 0) { bb.put(__vector(o) + j * 1, (byte)testnestedflatbuffer); return true; } else { return false; } }
+ public boolean mutateTestnestedflatbuffer(int j, int testnestedflatbuffer) { int o = __offset(30); if (o != 0) { bb.put(__vector(o) + j * 1, (byte) testnestedflatbuffer); return true; } else { return false; } }
public MyGame.Example.Stat testempty() { return testempty(new MyGame.Example.Stat()); }
public MyGame.Example.Stat testempty(MyGame.Example.Stat obj) { int o = __offset(32); return o != 0 ? obj.__assign(__indirect(o + bb_pos), bb) : null; }
public boolean testbool() { int o = __offset(34); return o != 0 ? 0!=bb.get(o + bb_pos) : false; }
@@ -77,7 +77,7 @@
public int testhashs32Fnv1() { int o = __offset(36); return o != 0 ? bb.getInt(o + bb_pos) : 0; }
public boolean mutateTesthashs32Fnv1(int testhashs32_fnv1) { int o = __offset(36); if (o != 0) { bb.putInt(o + bb_pos, testhashs32_fnv1); return true; } else { return false; } }
public long testhashu32Fnv1() { int o = __offset(38); return o != 0 ? (long)bb.getInt(o + bb_pos) & 0xFFFFFFFFL : 0L; }
- public boolean mutateTesthashu32Fnv1(long testhashu32_fnv1) { int o = __offset(38); if (o != 0) { bb.putInt(o + bb_pos, (int)testhashu32_fnv1); return true; } else { return false; } }
+ public boolean mutateTesthashu32Fnv1(long testhashu32_fnv1) { int o = __offset(38); if (o != 0) { bb.putInt(o + bb_pos, (int) testhashu32_fnv1); return true; } else { return false; } }
public long testhashs64Fnv1() { int o = __offset(40); return o != 0 ? bb.getLong(o + bb_pos) : 0L; }
public boolean mutateTesthashs64Fnv1(long testhashs64_fnv1) { int o = __offset(40); if (o != 0) { bb.putLong(o + bb_pos, testhashs64_fnv1); return true; } else { return false; } }
public long testhashu64Fnv1() { int o = __offset(42); return o != 0 ? bb.getLong(o + bb_pos) : 0L; }
@@ -85,7 +85,7 @@
public int testhashs32Fnv1a() { int o = __offset(44); return o != 0 ? bb.getInt(o + bb_pos) : 0; }
public boolean mutateTesthashs32Fnv1a(int testhashs32_fnv1a) { int o = __offset(44); if (o != 0) { bb.putInt(o + bb_pos, testhashs32_fnv1a); return true; } else { return false; } }
public long testhashu32Fnv1a() { int o = __offset(46); return o != 0 ? (long)bb.getInt(o + bb_pos) & 0xFFFFFFFFL : 0L; }
- public boolean mutateTesthashu32Fnv1a(long testhashu32_fnv1a) { int o = __offset(46); if (o != 0) { bb.putInt(o + bb_pos, (int)testhashu32_fnv1a); return true; } else { return false; } }
+ public boolean mutateTesthashu32Fnv1a(long testhashu32_fnv1a) { int o = __offset(46); if (o != 0) { bb.putInt(o + bb_pos, (int) testhashu32_fnv1a); return true; } else { return false; } }
public long testhashs64Fnv1a() { int o = __offset(48); return o != 0 ? bb.getLong(o + bb_pos) : 0L; }
public boolean mutateTesthashs64Fnv1a(long testhashs64_fnv1a) { int o = __offset(48); if (o != 0) { bb.putLong(o + bb_pos, testhashs64_fnv1a); return true; } else { return false; } }
public long testhashu64Fnv1a() { int o = __offset(50); return o != 0 ? bb.getLong(o + bb_pos) : 0L; }
@@ -118,7 +118,7 @@
public ByteVector flexVector(ByteVector obj) { int o = __offset(64); return o != 0 ? obj.__assign(__vector(o), bb) : null; }
public ByteBuffer flexAsByteBuffer() { return __vector_as_bytebuffer(64, 1); }
public ByteBuffer flexInByteBuffer(ByteBuffer _bb) { return __vector_in_bytebuffer(_bb, 64, 1); }
- public boolean mutateFlex(int j, int flex) { int o = __offset(64); if (o != 0) { bb.put(__vector(o) + j * 1, (byte)flex); return true; } else { return false; } }
+ public boolean mutateFlex(int j, int flex) { int o = __offset(64); if (o != 0) { bb.put(__vector(o) + j * 1, (byte) flex); return true; } else { return false; } }
public MyGame.Example.Test test5(int j) { return test5(new MyGame.Example.Test(), j); }
public MyGame.Example.Test test5(MyGame.Example.Test obj, int j) { int o = __offset(66); return o != 0 ? obj.__assign(__vector(o) + j * 4, bb) : null; }
public int test5Length() { int o = __offset(66); return o != 0 ? __vector_len(o) : 0; }
@@ -191,7 +191,7 @@
public ByteVector vectorOfEnumsVector(ByteVector obj) { int o = __offset(98); return o != 0 ? obj.__assign(__vector(o), bb) : null; }
public ByteBuffer vectorOfEnumsAsByteBuffer() { return __vector_as_bytebuffer(98, 1); }
public ByteBuffer vectorOfEnumsInByteBuffer(ByteBuffer _bb) { return __vector_in_bytebuffer(_bb, 98, 1); }
- public boolean mutateVectorOfEnums(int j, int vector_of_enums) { int o = __offset(98); if (o != 0) { bb.put(__vector(o) + j * 1, (byte)vector_of_enums); return true; } else { return false; } }
+ public boolean mutateVectorOfEnums(int j, int vector_of_enums) { int o = __offset(98); if (o != 0) { bb.put(__vector(o) + j * 1, (byte) vector_of_enums); return true; } else { return false; } }
public byte signedEnum() { int o = __offset(100); return o != 0 ? bb.get(o + bb_pos) : -1; }
public boolean mutateSignedEnum(byte signed_enum) { int o = __offset(100); if (o != 0) { bb.put(o + bb_pos, signed_enum); return true; } else { return false; } }
public int testrequirednestedflatbuffer(int j) { int o = __offset(102); return o != 0 ? bb.get(__vector(o) + j * 1) & 0xFF : 0; }
@@ -202,9 +202,22 @@
public ByteBuffer testrequirednestedflatbufferInByteBuffer(ByteBuffer _bb) { return __vector_in_bytebuffer(_bb, 102, 1); }
public MyGame.Example.Monster testrequirednestedflatbufferAsMonster() { return testrequirednestedflatbufferAsMonster(new MyGame.Example.Monster()); }
public MyGame.Example.Monster testrequirednestedflatbufferAsMonster(MyGame.Example.Monster obj) { int o = __offset(102); return o != 0 ? obj.__assign(__indirect(__vector(o)), bb) : null; }
- public boolean mutateTestrequirednestedflatbuffer(int j, int testrequirednestedflatbuffer) { int o = __offset(102); if (o != 0) { bb.put(__vector(o) + j * 1, (byte)testrequirednestedflatbuffer); return true; } else { return false; } }
+ public boolean mutateTestrequirednestedflatbuffer(int j, int testrequirednestedflatbuffer) { int o = __offset(102); if (o != 0) { bb.put(__vector(o) + j * 1, (byte) testrequirednestedflatbuffer); return true; } else { return false; } }
+ public MyGame.Example.Stat scalarKeySortedTables(int j) { return scalarKeySortedTables(new MyGame.Example.Stat(), j); }
+ public MyGame.Example.Stat scalarKeySortedTables(MyGame.Example.Stat obj, int j) { int o = __offset(104); return o != 0 ? obj.__assign(__indirect(__vector(o) + j * 4), bb) : null; }
+ public int scalarKeySortedTablesLength() { int o = __offset(104); return o != 0 ? __vector_len(o) : 0; }
+ public MyGame.Example.Stat scalarKeySortedTablesByKey(int key) { int o = __offset(104); return o != 0 ? MyGame.Example.Stat.__lookup_by_key(null, __vector(o), key, bb) : null; }
+ public MyGame.Example.Stat scalarKeySortedTablesByKey(MyGame.Example.Stat obj, int key) { int o = __offset(104); return o != 0 ? MyGame.Example.Stat.__lookup_by_key(obj, __vector(o), key, bb) : null; }
+ public MyGame.Example.Stat.Vector scalarKeySortedTablesVector() { return scalarKeySortedTablesVector(new MyGame.Example.Stat.Vector()); }
+ public MyGame.Example.Stat.Vector scalarKeySortedTablesVector(MyGame.Example.Stat.Vector obj) { int o = __offset(104); return o != 0 ? obj.__assign(__vector(o), 4, bb) : null; }
+ public MyGame.Example.Test nativeInline() { return nativeInline(new MyGame.Example.Test()); }
+ public MyGame.Example.Test nativeInline(MyGame.Example.Test obj) { int o = __offset(106); return o != 0 ? obj.__assign(o + bb_pos, bb) : null; }
+ public long longEnumNonEnumDefault() { int o = __offset(108); return o != 0 ? bb.getLong(o + bb_pos) : 0L; }
+ 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 static void startMonster(FlatBufferBuilder builder) { builder.startTable(50); }
+ public static void startMonster(FlatBufferBuilder builder) { builder.startTable(54); }
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); }
@@ -213,7 +226,7 @@
public static int createInventoryVector(FlatBufferBuilder builder, byte[] data) { return builder.createByteVector(data); }
public static int createInventoryVector(FlatBufferBuilder builder, ByteBuffer data) { return builder.createByteVector(data); }
public static void startInventoryVector(FlatBufferBuilder builder, int numElems) { builder.startVector(1, numElems, 1); }
- public static void addColor(FlatBufferBuilder builder, int color) { builder.addByte(6, (byte)color, (byte)8); }
+ public static void addColor(FlatBufferBuilder builder, int color) { builder.addByte(6, (byte) color, (byte) 8); }
public static void addTestType(FlatBufferBuilder builder, byte testType) { builder.addByte(7, testType, 0); }
public static void addTest(FlatBufferBuilder builder, int testOffset) { builder.addOffset(8, testOffset, 0); }
public static void addTest4(FlatBufferBuilder builder, int test4Offset) { builder.addOffset(9, test4Offset, 0); }
@@ -232,11 +245,11 @@
public static void addTestempty(FlatBufferBuilder builder, int testemptyOffset) { builder.addOffset(14, testemptyOffset, 0); }
public static void addTestbool(FlatBufferBuilder builder, boolean testbool) { builder.addBoolean(15, testbool, false); }
public static void addTesthashs32Fnv1(FlatBufferBuilder builder, int testhashs32Fnv1) { builder.addInt(16, testhashs32Fnv1, 0); }
- public static void addTesthashu32Fnv1(FlatBufferBuilder builder, long testhashu32Fnv1) { builder.addInt(17, (int)testhashu32Fnv1, (int)0L); }
+ public static void addTesthashu32Fnv1(FlatBufferBuilder builder, long testhashu32Fnv1) { builder.addInt(17, (int) testhashu32Fnv1, (int) 0L); }
public static void addTesthashs64Fnv1(FlatBufferBuilder builder, long testhashs64Fnv1) { builder.addLong(18, testhashs64Fnv1, 0L); }
public static void addTesthashu64Fnv1(FlatBufferBuilder builder, long testhashu64Fnv1) { builder.addLong(19, testhashu64Fnv1, 0L); }
public static void addTesthashs32Fnv1a(FlatBufferBuilder builder, int testhashs32Fnv1a) { builder.addInt(20, testhashs32Fnv1a, 0); }
- public static void addTesthashu32Fnv1a(FlatBufferBuilder builder, long testhashu32Fnv1a) { builder.addInt(21, (int)testhashu32Fnv1a, (int)0L); }
+ public static void addTesthashu32Fnv1a(FlatBufferBuilder builder, long testhashu32Fnv1a) { builder.addInt(21, (int) testhashu32Fnv1a, (int) 0L); }
public static void addTesthashs64Fnv1a(FlatBufferBuilder builder, long testhashs64Fnv1a) { builder.addLong(22, testhashs64Fnv1a, 0L); }
public static void addTesthashu64Fnv1a(FlatBufferBuilder builder, long testhashu64Fnv1a) { builder.addLong(23, testhashu64Fnv1a, 0L); }
public static void addTestarrayofbools(FlatBufferBuilder builder, int testarrayofboolsOffset) { builder.addOffset(24, testarrayofboolsOffset, 0); }
@@ -294,6 +307,12 @@
public static int createTestrequirednestedflatbufferVector(FlatBufferBuilder builder, byte[] data) { return builder.createByteVector(data); }
public static int createTestrequirednestedflatbufferVector(FlatBufferBuilder builder, ByteBuffer data) { return builder.createByteVector(data); }
public static void startTestrequirednestedflatbufferVector(FlatBufferBuilder builder, int numElems) { builder.startVector(1, numElems, 1); }
+ public static void addScalarKeySortedTables(FlatBufferBuilder builder, int scalarKeySortedTablesOffset) { builder.addOffset(50, scalarKeySortedTablesOffset, 0); }
+ public static int createScalarKeySortedTablesVector(FlatBufferBuilder builder, int[] data) { builder.startVector(4, data.length, 4); for (int i = data.length - 1; i >= 0; i--) builder.addOffset(data[i]); return builder.endVector(); }
+ public static void startScalarKeySortedTablesVector(FlatBufferBuilder builder, int numElems) { builder.startVector(4, numElems, 4); }
+ 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 int endMonster(FlatBufferBuilder builder) {
int o = builder.endTable();
builder.required(o, 10); // name
@@ -334,5 +353,376 @@
public Monster getByKey(String key) { return __lookup_by_key(null, __vector(), key, bb); }
public Monster getByKey(Monster obj, String key) { return __lookup_by_key(obj, __vector(), key, bb); }
}
+ public MonsterT unpack() {
+ MonsterT _o = new MonsterT();
+ unpackTo(_o);
+ return _o;
+ }
+ public void unpackTo(MonsterT _o) {
+ if (pos() != null) pos().unpackTo(_o.getPos());
+ else _o.setPos(null);
+ short _oMana = mana();
+ _o.setMana(_oMana);
+ short _oHp = hp();
+ _o.setHp(_oHp);
+ String _oName = name();
+ _o.setName(_oName);
+ int[] _oInventory = new int[inventoryLength()];
+ for (int _j = 0; _j < inventoryLength(); ++_j) {_oInventory[_j] = inventory(_j);}
+ _o.setInventory(_oInventory);
+ int _oColor = color();
+ _o.setColor(_oColor);
+ MyGame.Example.AnyUnion _oTest = new MyGame.Example.AnyUnion();
+ byte _oTestType = testType();
+ _oTest.setType(_oTestType);
+ Table _oTestValue;
+ switch (_oTestType) {
+ case MyGame.Example.Any.Monster:
+ _oTestValue = test(new MyGame.Example.Monster());
+ _oTest.setValue(_oTestValue != null ? ((MyGame.Example.Monster) _oTestValue).unpack() : null);
+ break;
+ case MyGame.Example.Any.TestSimpleTableWithEnum:
+ _oTestValue = test(new MyGame.Example.TestSimpleTableWithEnum());
+ _oTest.setValue(_oTestValue != null ? ((MyGame.Example.TestSimpleTableWithEnum) _oTestValue).unpack() : null);
+ break;
+ case MyGame.Example.Any.MyGame_Example2_Monster:
+ _oTestValue = test(new MyGame.Example2.Monster());
+ _oTest.setValue(_oTestValue != null ? ((MyGame.Example2.Monster) _oTestValue).unpack() : null);
+ break;
+ default: break;
+ }
+ _o.setTest(_oTest);
+ MyGame.Example.TestT[] _oTest4 = new MyGame.Example.TestT[test4Length()];
+ for (int _j = 0; _j < test4Length(); ++_j) {_oTest4[_j] = (test4(_j) != null ? test4(_j).unpack() : null);}
+ _o.setTest4(_oTest4);
+ String[] _oTestarrayofstring = new String[testarrayofstringLength()];
+ for (int _j = 0; _j < testarrayofstringLength(); ++_j) {_oTestarrayofstring[_j] = testarrayofstring(_j);}
+ _o.setTestarrayofstring(_oTestarrayofstring);
+ MyGame.Example.MonsterT[] _oTestarrayoftables = new MyGame.Example.MonsterT[testarrayoftablesLength()];
+ for (int _j = 0; _j < testarrayoftablesLength(); ++_j) {_oTestarrayoftables[_j] = (testarrayoftables(_j) != null ? testarrayoftables(_j).unpack() : null);}
+ _o.setTestarrayoftables(_oTestarrayoftables);
+ if (enemy() != null) _o.setEnemy(enemy().unpack());
+ else _o.setEnemy(null);
+ int[] _oTestnestedflatbuffer = new int[testnestedflatbufferLength()];
+ for (int _j = 0; _j < testnestedflatbufferLength(); ++_j) {_oTestnestedflatbuffer[_j] = testnestedflatbuffer(_j);}
+ _o.setTestnestedflatbuffer(_oTestnestedflatbuffer);
+ if (testempty() != null) _o.setTestempty(testempty().unpack());
+ else _o.setTestempty(null);
+ boolean _oTestbool = testbool();
+ _o.setTestbool(_oTestbool);
+ int _oTesthashs32Fnv1 = testhashs32Fnv1();
+ _o.setTesthashs32Fnv1(_oTesthashs32Fnv1);
+ long _oTesthashu32Fnv1 = testhashu32Fnv1();
+ _o.setTesthashu32Fnv1(_oTesthashu32Fnv1);
+ long _oTesthashs64Fnv1 = testhashs64Fnv1();
+ _o.setTesthashs64Fnv1(_oTesthashs64Fnv1);
+ long _oTesthashu64Fnv1 = testhashu64Fnv1();
+ _o.setTesthashu64Fnv1(_oTesthashu64Fnv1);
+ int _oTesthashs32Fnv1a = testhashs32Fnv1a();
+ _o.setTesthashs32Fnv1a(_oTesthashs32Fnv1a);
+ long _oTesthashu32Fnv1a = testhashu32Fnv1a();
+ _o.setTesthashu32Fnv1a(_oTesthashu32Fnv1a);
+ long _oTesthashs64Fnv1a = testhashs64Fnv1a();
+ _o.setTesthashs64Fnv1a(_oTesthashs64Fnv1a);
+ long _oTesthashu64Fnv1a = testhashu64Fnv1a();
+ _o.setTesthashu64Fnv1a(_oTesthashu64Fnv1a);
+ boolean[] _oTestarrayofbools = new boolean[testarrayofboolsLength()];
+ for (int _j = 0; _j < testarrayofboolsLength(); ++_j) {_oTestarrayofbools[_j] = testarrayofbools(_j);}
+ _o.setTestarrayofbools(_oTestarrayofbools);
+ float _oTestf = testf();
+ _o.setTestf(_oTestf);
+ float _oTestf2 = testf2();
+ _o.setTestf2(_oTestf2);
+ float _oTestf3 = testf3();
+ _o.setTestf3(_oTestf3);
+ String[] _oTestarrayofstring2 = new String[testarrayofstring2Length()];
+ for (int _j = 0; _j < testarrayofstring2Length(); ++_j) {_oTestarrayofstring2[_j] = testarrayofstring2(_j);}
+ _o.setTestarrayofstring2(_oTestarrayofstring2);
+ MyGame.Example.AbilityT[] _oTestarrayofsortedstruct = new MyGame.Example.AbilityT[testarrayofsortedstructLength()];
+ for (int _j = 0; _j < testarrayofsortedstructLength(); ++_j) {_oTestarrayofsortedstruct[_j] = (testarrayofsortedstruct(_j) != null ? testarrayofsortedstruct(_j).unpack() : null);}
+ _o.setTestarrayofsortedstruct(_oTestarrayofsortedstruct);
+ int[] _oFlex = new int[flexLength()];
+ for (int _j = 0; _j < flexLength(); ++_j) {_oFlex[_j] = flex(_j);}
+ _o.setFlex(_oFlex);
+ MyGame.Example.TestT[] _oTest5 = new MyGame.Example.TestT[test5Length()];
+ for (int _j = 0; _j < test5Length(); ++_j) {_oTest5[_j] = (test5(_j) != null ? test5(_j).unpack() : null);}
+ _o.setTest5(_oTest5);
+ long[] _oVectorOfLongs = new long[vectorOfLongsLength()];
+ for (int _j = 0; _j < vectorOfLongsLength(); ++_j) {_oVectorOfLongs[_j] = vectorOfLongs(_j);}
+ _o.setVectorOfLongs(_oVectorOfLongs);
+ double[] _oVectorOfDoubles = new double[vectorOfDoublesLength()];
+ for (int _j = 0; _j < vectorOfDoublesLength(); ++_j) {_oVectorOfDoubles[_j] = vectorOfDoubles(_j);}
+ _o.setVectorOfDoubles(_oVectorOfDoubles);
+ if (parentNamespaceTest() != null) _o.setParentNamespaceTest(parentNamespaceTest().unpack());
+ else _o.setParentNamespaceTest(null);
+ MyGame.Example.ReferrableT[] _oVectorOfReferrables = new MyGame.Example.ReferrableT[vectorOfReferrablesLength()];
+ for (int _j = 0; _j < vectorOfReferrablesLength(); ++_j) {_oVectorOfReferrables[_j] = (vectorOfReferrables(_j) != null ? vectorOfReferrables(_j).unpack() : null);}
+ _o.setVectorOfReferrables(_oVectorOfReferrables);
+ long _oSingleWeakReference = singleWeakReference();
+ _o.setSingleWeakReference(_oSingleWeakReference);
+ long[] _oVectorOfWeakReferences = new long[vectorOfWeakReferencesLength()];
+ for (int _j = 0; _j < vectorOfWeakReferencesLength(); ++_j) {_oVectorOfWeakReferences[_j] = vectorOfWeakReferences(_j);}
+ _o.setVectorOfWeakReferences(_oVectorOfWeakReferences);
+ MyGame.Example.ReferrableT[] _oVectorOfStrongReferrables = new MyGame.Example.ReferrableT[vectorOfStrongReferrablesLength()];
+ for (int _j = 0; _j < vectorOfStrongReferrablesLength(); ++_j) {_oVectorOfStrongReferrables[_j] = (vectorOfStrongReferrables(_j) != null ? vectorOfStrongReferrables(_j).unpack() : null);}
+ _o.setVectorOfStrongReferrables(_oVectorOfStrongReferrables);
+ long _oCoOwningReference = coOwningReference();
+ _o.setCoOwningReference(_oCoOwningReference);
+ long[] _oVectorOfCoOwningReferences = new long[vectorOfCoOwningReferencesLength()];
+ for (int _j = 0; _j < vectorOfCoOwningReferencesLength(); ++_j) {_oVectorOfCoOwningReferences[_j] = vectorOfCoOwningReferences(_j);}
+ _o.setVectorOfCoOwningReferences(_oVectorOfCoOwningReferences);
+ long _oNonOwningReference = nonOwningReference();
+ _o.setNonOwningReference(_oNonOwningReference);
+ long[] _oVectorOfNonOwningReferences = new long[vectorOfNonOwningReferencesLength()];
+ for (int _j = 0; _j < vectorOfNonOwningReferencesLength(); ++_j) {_oVectorOfNonOwningReferences[_j] = vectorOfNonOwningReferences(_j);}
+ _o.setVectorOfNonOwningReferences(_oVectorOfNonOwningReferences);
+ MyGame.Example.AnyUniqueAliasesUnion _oAnyUnique = new MyGame.Example.AnyUniqueAliasesUnion();
+ byte _oAnyUniqueType = anyUniqueType();
+ _oAnyUnique.setType(_oAnyUniqueType);
+ Table _oAnyUniqueValue;
+ switch (_oAnyUniqueType) {
+ case MyGame.Example.AnyUniqueAliases.M:
+ _oAnyUniqueValue = anyUnique(new MyGame.Example.Monster());
+ _oAnyUnique.setValue(_oAnyUniqueValue != null ? ((MyGame.Example.Monster) _oAnyUniqueValue).unpack() : null);
+ break;
+ case MyGame.Example.AnyUniqueAliases.TS:
+ _oAnyUniqueValue = anyUnique(new MyGame.Example.TestSimpleTableWithEnum());
+ _oAnyUnique.setValue(_oAnyUniqueValue != null ? ((MyGame.Example.TestSimpleTableWithEnum) _oAnyUniqueValue).unpack() : null);
+ break;
+ case MyGame.Example.AnyUniqueAliases.M2:
+ _oAnyUniqueValue = anyUnique(new MyGame.Example2.Monster());
+ _oAnyUnique.setValue(_oAnyUniqueValue != null ? ((MyGame.Example2.Monster) _oAnyUniqueValue).unpack() : null);
+ break;
+ default: break;
+ }
+ _o.setAnyUnique(_oAnyUnique);
+ MyGame.Example.AnyAmbiguousAliasesUnion _oAnyAmbiguous = new MyGame.Example.AnyAmbiguousAliasesUnion();
+ byte _oAnyAmbiguousType = anyAmbiguousType();
+ _oAnyAmbiguous.setType(_oAnyAmbiguousType);
+ Table _oAnyAmbiguousValue;
+ switch (_oAnyAmbiguousType) {
+ case MyGame.Example.AnyAmbiguousAliases.M1:
+ _oAnyAmbiguousValue = anyAmbiguous(new MyGame.Example.Monster());
+ _oAnyAmbiguous.setValue(_oAnyAmbiguousValue != null ? ((MyGame.Example.Monster) _oAnyAmbiguousValue).unpack() : null);
+ break;
+ case MyGame.Example.AnyAmbiguousAliases.M2:
+ _oAnyAmbiguousValue = anyAmbiguous(new MyGame.Example.Monster());
+ _oAnyAmbiguous.setValue(_oAnyAmbiguousValue != null ? ((MyGame.Example.Monster) _oAnyAmbiguousValue).unpack() : null);
+ break;
+ case MyGame.Example.AnyAmbiguousAliases.M3:
+ _oAnyAmbiguousValue = anyAmbiguous(new MyGame.Example.Monster());
+ _oAnyAmbiguous.setValue(_oAnyAmbiguousValue != null ? ((MyGame.Example.Monster) _oAnyAmbiguousValue).unpack() : null);
+ break;
+ default: break;
+ }
+ _o.setAnyAmbiguous(_oAnyAmbiguous);
+ int[] _oVectorOfEnums = new int[vectorOfEnumsLength()];
+ for (int _j = 0; _j < vectorOfEnumsLength(); ++_j) {_oVectorOfEnums[_j] = vectorOfEnums(_j);}
+ _o.setVectorOfEnums(_oVectorOfEnums);
+ byte _oSignedEnum = signedEnum();
+ _o.setSignedEnum(_oSignedEnum);
+ int[] _oTestrequirednestedflatbuffer = new int[testrequirednestedflatbufferLength()];
+ for (int _j = 0; _j < testrequirednestedflatbufferLength(); ++_j) {_oTestrequirednestedflatbuffer[_j] = testrequirednestedflatbuffer(_j);}
+ _o.setTestrequirednestedflatbuffer(_oTestrequirednestedflatbuffer);
+ MyGame.Example.StatT[] _oScalarKeySortedTables = new MyGame.Example.StatT[scalarKeySortedTablesLength()];
+ for (int _j = 0; _j < scalarKeySortedTablesLength(); ++_j) {_oScalarKeySortedTables[_j] = (scalarKeySortedTables(_j) != null ? scalarKeySortedTables(_j).unpack() : null);}
+ _o.setScalarKeySortedTables(_oScalarKeySortedTables);
+ if (nativeInline() != null) nativeInline().unpackTo(_o.getNativeInline());
+ else _o.setNativeInline(null);
+ long _oLongEnumNonEnumDefault = longEnumNonEnumDefault();
+ _o.setLongEnumNonEnumDefault(_oLongEnumNonEnumDefault);
+ long _oLongEnumNormalDefault = longEnumNormalDefault();
+ _o.setLongEnumNormalDefault(_oLongEnumNormalDefault);
+ }
+ public static int pack(FlatBufferBuilder builder, MonsterT _o) {
+ if (_o == null) return 0;
+ int _name = _o.getName() == null ? 0 : builder.createString(_o.getName());
+ int _inventory = 0;
+ if (_o.getInventory() != null) {
+ byte[] __inventory = new byte[_o.getInventory().length];
+ int _j = 0;
+ for (int _e : _o.getInventory()) { __inventory[_j] = (byte) _e; _j++;}
+ _inventory = createInventoryVector(builder, __inventory);
+ }
+ byte _testType = _o.getTest() == null ? MyGame.Example.Any.NONE : _o.getTest().getType();
+ int _test = _o.getTest() == null ? 0 : MyGame.Example.AnyUnion.pack(builder, _o.getTest());
+ int _test4 = 0;
+ MyGame.Example.TestT[] _oTest4 = _o.getTest4();
+ if (_oTest4 != null) {
+ startTest4Vector(builder, _oTest4.length);
+ for (int _j = _oTest4.length - 1; _j >=0; _j--) { MyGame.Example.Test.pack(builder, _oTest4[_j]);}
+ _test4 = builder.endVector();
+ }
+ int _testarrayofstring = 0;
+ if (_o.getTestarrayofstring() != null) {
+ int[] __testarrayofstring = new int[_o.getTestarrayofstring().length];
+ int _j = 0;
+ for (String _e : _o.getTestarrayofstring()) { __testarrayofstring[_j] = builder.createString(_e); _j++;}
+ _testarrayofstring = createTestarrayofstringVector(builder, __testarrayofstring);
+ }
+ int _testarrayoftables = 0;
+ if (_o.getTestarrayoftables() != null) {
+ int[] __testarrayoftables = new int[_o.getTestarrayoftables().length];
+ int _j = 0;
+ for (MyGame.Example.MonsterT _e : _o.getTestarrayoftables()) { __testarrayoftables[_j] = MyGame.Example.Monster.pack(builder, _e); _j++;}
+ _testarrayoftables = createTestarrayoftablesVector(builder, __testarrayoftables);
+ }
+ int _enemy = _o.getEnemy() == null ? 0 : MyGame.Example.Monster.pack(builder, _o.getEnemy());
+ int _testnestedflatbuffer = 0;
+ if (_o.getTestnestedflatbuffer() != null) {
+ byte[] __testnestedflatbuffer = new byte[_o.getTestnestedflatbuffer().length];
+ int _j = 0;
+ for (int _e : _o.getTestnestedflatbuffer()) { __testnestedflatbuffer[_j] = (byte) _e; _j++;}
+ _testnestedflatbuffer = createTestnestedflatbufferVector(builder, __testnestedflatbuffer);
+ }
+ int _testempty = _o.getTestempty() == null ? 0 : MyGame.Example.Stat.pack(builder, _o.getTestempty());
+ int _testarrayofbools = 0;
+ if (_o.getTestarrayofbools() != null) {
+ _testarrayofbools = createTestarrayofboolsVector(builder, _o.getTestarrayofbools());
+ }
+ int _testarrayofstring2 = 0;
+ if (_o.getTestarrayofstring2() != null) {
+ int[] __testarrayofstring2 = new int[_o.getTestarrayofstring2().length];
+ int _j = 0;
+ for (String _e : _o.getTestarrayofstring2()) { __testarrayofstring2[_j] = builder.createString(_e); _j++;}
+ _testarrayofstring2 = createTestarrayofstring2Vector(builder, __testarrayofstring2);
+ }
+ int _testarrayofsortedstruct = 0;
+ MyGame.Example.AbilityT[] _oTestarrayofsortedstruct = _o.getTestarrayofsortedstruct();
+ if (_oTestarrayofsortedstruct != null) {
+ startTestarrayofsortedstructVector(builder, _oTestarrayofsortedstruct.length);
+ for (int _j = _oTestarrayofsortedstruct.length - 1; _j >=0; _j--) { MyGame.Example.Ability.pack(builder, _oTestarrayofsortedstruct[_j]);}
+ _testarrayofsortedstruct = builder.endVector();
+ }
+ int _flex = 0;
+ if (_o.getFlex() != null) {
+ byte[] __flex = new byte[_o.getFlex().length];
+ int _j = 0;
+ for (int _e : _o.getFlex()) { __flex[_j] = (byte) _e; _j++;}
+ _flex = createFlexVector(builder, __flex);
+ }
+ int _test5 = 0;
+ MyGame.Example.TestT[] _oTest5 = _o.getTest5();
+ if (_oTest5 != null) {
+ startTest5Vector(builder, _oTest5.length);
+ for (int _j = _oTest5.length - 1; _j >=0; _j--) { MyGame.Example.Test.pack(builder, _oTest5[_j]);}
+ _test5 = builder.endVector();
+ }
+ int _vectorOfLongs = 0;
+ if (_o.getVectorOfLongs() != null) {
+ _vectorOfLongs = createVectorOfLongsVector(builder, _o.getVectorOfLongs());
+ }
+ int _vectorOfDoubles = 0;
+ if (_o.getVectorOfDoubles() != null) {
+ _vectorOfDoubles = createVectorOfDoublesVector(builder, _o.getVectorOfDoubles());
+ }
+ int _parent_namespace_test = _o.getParentNamespaceTest() == null ? 0 : MyGame.InParentNamespace.pack(builder, _o.getParentNamespaceTest());
+ int _vectorOfReferrables = 0;
+ if (_o.getVectorOfReferrables() != null) {
+ int[] __vectorOfReferrables = new int[_o.getVectorOfReferrables().length];
+ int _j = 0;
+ for (MyGame.Example.ReferrableT _e : _o.getVectorOfReferrables()) { __vectorOfReferrables[_j] = MyGame.Example.Referrable.pack(builder, _e); _j++;}
+ _vectorOfReferrables = createVectorOfReferrablesVector(builder, __vectorOfReferrables);
+ }
+ int _vectorOfWeakReferences = 0;
+ if (_o.getVectorOfWeakReferences() != null) {
+ _vectorOfWeakReferences = createVectorOfWeakReferencesVector(builder, _o.getVectorOfWeakReferences());
+ }
+ int _vectorOfStrongReferrables = 0;
+ if (_o.getVectorOfStrongReferrables() != null) {
+ int[] __vectorOfStrongReferrables = new int[_o.getVectorOfStrongReferrables().length];
+ int _j = 0;
+ for (MyGame.Example.ReferrableT _e : _o.getVectorOfStrongReferrables()) { __vectorOfStrongReferrables[_j] = MyGame.Example.Referrable.pack(builder, _e); _j++;}
+ _vectorOfStrongReferrables = createVectorOfStrongReferrablesVector(builder, __vectorOfStrongReferrables);
+ }
+ int _vectorOfCoOwningReferences = 0;
+ if (_o.getVectorOfCoOwningReferences() != null) {
+ _vectorOfCoOwningReferences = createVectorOfCoOwningReferencesVector(builder, _o.getVectorOfCoOwningReferences());
+ }
+ int _vectorOfNonOwningReferences = 0;
+ if (_o.getVectorOfNonOwningReferences() != null) {
+ _vectorOfNonOwningReferences = createVectorOfNonOwningReferencesVector(builder, _o.getVectorOfNonOwningReferences());
+ }
+ byte _anyUniqueType = _o.getAnyUnique() == null ? MyGame.Example.AnyUniqueAliases.NONE : _o.getAnyUnique().getType();
+ int _anyUnique = _o.getAnyUnique() == null ? 0 : MyGame.Example.AnyUniqueAliasesUnion.pack(builder, _o.getAnyUnique());
+ byte _anyAmbiguousType = _o.getAnyAmbiguous() == null ? MyGame.Example.AnyAmbiguousAliases.NONE : _o.getAnyAmbiguous().getType();
+ int _anyAmbiguous = _o.getAnyAmbiguous() == null ? 0 : MyGame.Example.AnyAmbiguousAliasesUnion.pack(builder, _o.getAnyAmbiguous());
+ int _vectorOfEnums = 0;
+ if (_o.getVectorOfEnums() != null) {
+ byte[] __vectorOfEnums = new byte[_o.getVectorOfEnums().length];
+ int _j = 0;
+ for (int _e : _o.getVectorOfEnums()) { __vectorOfEnums[_j] = (byte) _e; _j++;}
+ _vectorOfEnums = createVectorOfEnumsVector(builder, __vectorOfEnums);
+ }
+ int _testrequirednestedflatbuffer = 0;
+ if (_o.getTestrequirednestedflatbuffer() != null) {
+ byte[] __testrequirednestedflatbuffer = new byte[_o.getTestrequirednestedflatbuffer().length];
+ int _j = 0;
+ for (int _e : _o.getTestrequirednestedflatbuffer()) { __testrequirednestedflatbuffer[_j] = (byte) _e; _j++;}
+ _testrequirednestedflatbuffer = createTestrequirednestedflatbufferVector(builder, __testrequirednestedflatbuffer);
+ }
+ int _scalarKeySortedTables = 0;
+ if (_o.getScalarKeySortedTables() != null) {
+ int[] __scalarKeySortedTables = new int[_o.getScalarKeySortedTables().length];
+ int _j = 0;
+ for (MyGame.Example.StatT _e : _o.getScalarKeySortedTables()) { __scalarKeySortedTables[_j] = MyGame.Example.Stat.pack(builder, _e); _j++;}
+ _scalarKeySortedTables = createScalarKeySortedTablesVector(builder, __scalarKeySortedTables);
+ }
+ startMonster(builder);
+ addPos(builder, MyGame.Example.Vec3.pack(builder, _o.getPos()));
+ addMana(builder, _o.getMana());
+ addHp(builder, _o.getHp());
+ addName(builder, _name);
+ addInventory(builder, _inventory);
+ addColor(builder, _o.getColor());
+ addTestType(builder, _testType);
+ addTest(builder, _test);
+ addTest4(builder, _test4);
+ addTestarrayofstring(builder, _testarrayofstring);
+ addTestarrayoftables(builder, _testarrayoftables);
+ addEnemy(builder, _enemy);
+ addTestnestedflatbuffer(builder, _testnestedflatbuffer);
+ addTestempty(builder, _testempty);
+ addTestbool(builder, _o.getTestbool());
+ addTesthashs32Fnv1(builder, _o.getTesthashs32Fnv1());
+ addTesthashu32Fnv1(builder, _o.getTesthashu32Fnv1());
+ addTesthashs64Fnv1(builder, _o.getTesthashs64Fnv1());
+ addTesthashu64Fnv1(builder, _o.getTesthashu64Fnv1());
+ addTesthashs32Fnv1a(builder, _o.getTesthashs32Fnv1a());
+ addTesthashu32Fnv1a(builder, _o.getTesthashu32Fnv1a());
+ addTesthashs64Fnv1a(builder, _o.getTesthashs64Fnv1a());
+ addTesthashu64Fnv1a(builder, _o.getTesthashu64Fnv1a());
+ addTestarrayofbools(builder, _testarrayofbools);
+ addTestf(builder, _o.getTestf());
+ addTestf2(builder, _o.getTestf2());
+ addTestf3(builder, _o.getTestf3());
+ addTestarrayofstring2(builder, _testarrayofstring2);
+ addTestarrayofsortedstruct(builder, _testarrayofsortedstruct);
+ addFlex(builder, _flex);
+ addTest5(builder, _test5);
+ addVectorOfLongs(builder, _vectorOfLongs);
+ addVectorOfDoubles(builder, _vectorOfDoubles);
+ addParentNamespaceTest(builder, _parent_namespace_test);
+ addVectorOfReferrables(builder, _vectorOfReferrables);
+ addSingleWeakReference(builder, _o.getSingleWeakReference());
+ addVectorOfWeakReferences(builder, _vectorOfWeakReferences);
+ addVectorOfStrongReferrables(builder, _vectorOfStrongReferrables);
+ addCoOwningReference(builder, _o.getCoOwningReference());
+ addVectorOfCoOwningReferences(builder, _vectorOfCoOwningReferences);
+ addNonOwningReference(builder, _o.getNonOwningReference());
+ addVectorOfNonOwningReferences(builder, _vectorOfNonOwningReferences);
+ addAnyUniqueType(builder, _anyUniqueType);
+ addAnyUnique(builder, _anyUnique);
+ addAnyAmbiguousType(builder, _anyAmbiguousType);
+ addAnyAmbiguous(builder, _anyAmbiguous);
+ addVectorOfEnums(builder, _vectorOfEnums);
+ addSignedEnum(builder, _o.getSignedEnum());
+ addTestrequirednestedflatbuffer(builder, _testrequirednestedflatbuffer);
+ addScalarKeySortedTables(builder, _scalarKeySortedTables);
+ addNativeInline(builder, MyGame.Example.Test.pack(builder, _o.getNativeInline()));
+ addLongEnumNonEnumDefault(builder, _o.getLongEnumNonEnumDefault());
+ addLongEnumNormalDefault(builder, _o.getLongEnumNormalDefault());
+ return endMonster(builder);
+ }
}
diff --git a/tests/MyGame/Example/Monster.kt b/tests/MyGame/Example/Monster.kt
index 7b15138..1abe05c 100644
--- a/tests/MyGame/Example/Monster.kt
+++ b/tests/MyGame/Example/Monster.kt
@@ -10,7 +10,6 @@
* an example documentation comment: "monster object"
*/
@Suppress("unused")
-@ExperimentalUnsignedTypes
class Monster : Table() {
fun __init(_i: Int, _bb: ByteBuffer) {
@@ -805,18 +804,84 @@
false
}
}
+ fun scalarKeySortedTables(j: Int) : MyGame.Example.Stat? = scalarKeySortedTables(MyGame.Example.Stat(), j)
+ fun scalarKeySortedTables(obj: MyGame.Example.Stat, j: Int) : MyGame.Example.Stat? {
+ val o = __offset(104)
+ return if (o != 0) {
+ obj.__assign(__indirect(__vector(o) + j * 4), bb)
+ } else {
+ null
+ }
+ }
+ val scalarKeySortedTablesLength : Int
+ get() {
+ val o = __offset(104); return if (o != 0) __vector_len(o) else 0
+ }
+ fun scalarKeySortedTablesByKey(key: UShort) : MyGame.Example.Stat? {
+ val o = __offset(104)
+ return if (o != 0) {
+ MyGame.Example.Stat.__lookup_by_key(null, __vector(o), key, bb)
+ } else {
+ null
+ }
+ }
+ fun scalarKeySortedTablesByKey(obj: MyGame.Example.Stat, key: UShort) : MyGame.Example.Stat? {
+ val o = __offset(104)
+ return if (o != 0) {
+ MyGame.Example.Stat.__lookup_by_key(obj, __vector(o), key, bb)
+ } else {
+ null
+ }
+ }
+ val nativeInline : MyGame.Example.Test? get() = nativeInline(MyGame.Example.Test())
+ fun nativeInline(obj: MyGame.Example.Test) : MyGame.Example.Test? {
+ val o = __offset(106)
+ return if (o != 0) {
+ obj.__assign(o + bb_pos, bb)
+ } else {
+ null
+ }
+ }
+ val longEnumNonEnumDefault : ULong
+ get() {
+ val o = __offset(108)
+ return if(o != 0) bb.getLong(o + bb_pos).toULong() else 0UL
+ }
+ fun mutateLongEnumNonEnumDefault(longEnumNonEnumDefault: ULong) : Boolean {
+ val o = __offset(108)
+ return if (o != 0) {
+ bb.putLong(o + bb_pos, longEnumNonEnumDefault.toLong())
+ true
+ } else {
+ false
+ }
+ }
+ val longEnumNormalDefault : ULong
+ get() {
+ val o = __offset(110)
+ return if(o != 0) bb.getLong(o + bb_pos).toULong() else 2UL
+ }
+ fun mutateLongEnumNormalDefault(longEnumNormalDefault: ULong) : Boolean {
+ val o = __offset(110)
+ return if (o != 0) {
+ bb.putLong(o + bb_pos, longEnumNormalDefault.toLong())
+ 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_1_12_0()
+ fun validateVersion() = Constants.FLATBUFFERS_2_0_0()
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(50)
+ fun startMonster(builder: FlatBufferBuilder) = builder.startTable(54)
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)
@@ -997,6 +1062,18 @@
return builder.endVector()
}
fun startTestrequirednestedflatbufferVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(1, numElems, 1)
+ fun addScalarKeySortedTables(builder: FlatBufferBuilder, scalarKeySortedTables: Int) = builder.addOffset(50, scalarKeySortedTables, 0)
+ fun createScalarKeySortedTablesVector(builder: FlatBufferBuilder, data: IntArray) : Int {
+ builder.startVector(4, data.size, 4)
+ for (i in data.size - 1 downTo 0) {
+ builder.addOffset(data[i])
+ }
+ return builder.endVector()
+ }
+ fun startScalarKeySortedTablesVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(4, numElems, 4)
+ 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 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 78ae4a5..75108e5 100644
--- a/tests/MyGame/Example/Monster.lua
+++ b/tests/MyGame/Example/Monster.lua
@@ -1,618 +1,1006 @@
--- automatically generated by the FlatBuffers compiler, do not modify
+--[[ MyGame.Example.Monster
--- namespace: Example
+ Automatically generated by the FlatBuffers compiler, do not modify.
+ Or modify. I'm a message, not a cop.
+ flatc version: 2.0.6
+
+ Declared by : //monster_test.fbs
+ Rooting type : MyGame.Example.Monster (//monster_test.fbs)
+
+--]]
+
+local __MyGame_Example_Ability = require('MyGame.Example.Ability')
+local __MyGame_Example_Referrable = require('MyGame.Example.Referrable')
+local __MyGame_Example_Stat = require('MyGame.Example.Stat')
+local __MyGame_Example_Test = require('MyGame.Example.Test')
+local __MyGame_Example_Vec3 = require('MyGame.Example.Vec3')
+local __MyGame_InParentNamespace = require('MyGame.InParentNamespace')
local flatbuffers = require('flatbuffers')
-- an example documentation comment: "monster object"
-local Monster = {} -- the module
-local Monster_mt = {} -- the class metatable
+local Monster = {}
+local mt = {}
function Monster.New()
- local o = {}
- setmetatable(o, {__index = Monster_mt})
- return o
+ local o = {}
+ setmetatable(o, {__index = mt})
+ return o
end
+
function Monster.GetRootAsMonster(buf, offset)
- local n = flatbuffers.N.UOffsetT:Unpack(buf, offset)
- local o = Monster.New()
- o:Init(buf, n + offset)
- return o
+ if type(buf) == "string" then
+ buf = flatbuffers.binaryArray.New(buf)
+ end
+
+ local n = flatbuffers.N.UOffsetT:Unpack(buf, offset)
+ local o = Monster.New()
+ o:Init(buf, n + offset)
+ return o
end
-function Monster_mt:Init(buf, pos)
- self.view = flatbuffers.view.New(buf, pos)
+
+function mt:Init(buf, pos)
+ self.view = flatbuffers.view.New(buf, pos)
end
-function Monster_mt:Pos()
- local o = self.view:Offset(4)
- if o ~= 0 then
- local x = o + self.view.pos
- local obj = require('MyGame.Example.Vec3').New()
- obj:Init(self.view.bytes, x)
- return obj
- end
+
+function mt:Pos()
+ local o = self.view:Offset(4)
+ if o ~= 0 then
+ local x = self.view.pos + o
+ local obj = __MyGame_Example_Vec3.New()
+ obj:Init(self.view.bytes, x)
+ return obj
+ end
end
-function Monster_mt:Mana()
- local o = self.view:Offset(6)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Int16, o + self.view.pos)
- end
- return 150
+
+function mt:Mana()
+ local o = self.view:Offset(6)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Int16, self.view.pos + o)
+ end
+ return 150
end
-function Monster_mt:Hp()
- local o = self.view:Offset(8)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Int16, o + self.view.pos)
- end
- return 100
+
+function mt:Hp()
+ local o = self.view:Offset(8)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Int16, self.view.pos + o)
+ end
+ return 100
end
-function Monster_mt:Name()
- local o = self.view:Offset(10)
- if o ~= 0 then
- return self.view:String(o + self.view.pos)
- end
+
+function mt:Name()
+ local o = self.view:Offset(10)
+ if o ~= 0 then
+ return self.view:String(self.view.pos + o)
+ end
end
-function Monster_mt:Inventory(j)
- local o = self.view:Offset(14)
- if o ~= 0 then
- local a = self.view:Vector(o)
- return self.view:Get(flatbuffers.N.Uint8, a + ((j-1) * 1))
- end
- return 0
+
+function mt:Inventory(j)
+ local o = self.view:Offset(14)
+ if o ~= 0 then
+ local a = self.view:Vector(o)
+ return self.view:Get(flatbuffers.N.Uint8, a + ((j-1) * 1))
+ end
+ return 0
end
-function Monster_mt:InventoryLength()
- local o = self.view:Offset(14)
- if o ~= 0 then
- return self.view:VectorLen(o)
- end
- return 0
+
+function mt:InventoryAsString(start, stop)
+ return self.view:VectorAsString(14, start, stop)
end
-function Monster_mt:Color()
- local o = self.view:Offset(16)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Uint8, o + self.view.pos)
- end
- return 8
+
+function mt:InventoryLength()
+ local o = self.view:Offset(14)
+ if o ~= 0 then
+ return self.view:VectorLen(o)
+ end
+ return 0
end
-function Monster_mt:TestType()
- local o = self.view:Offset(18)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Uint8, o + self.view.pos)
- end
- return 0
+
+function mt:Color()
+ local o = self.view:Offset(16)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Uint8, self.view.pos + o)
+ end
+ return 8
end
-function Monster_mt:Test()
- local o = self.view:Offset(20)
- if o ~= 0 then
- local obj = flatbuffers.view.New(require('flatbuffers.binaryarray').New(0), 0)
- self.view:Union(obj, o)
- return obj
- end
+
+function mt:TestType()
+ local o = self.view:Offset(18)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Uint8, self.view.pos + o)
+ end
+ return 0
end
-function Monster_mt:Test4(j)
- local o = self.view:Offset(22)
- if o ~= 0 then
- local x = self.view:Vector(o)
- x = x + ((j-1) * 4)
- local obj = require('MyGame.Example.Test').New()
- obj:Init(self.view.bytes, x)
- return obj
- end
+
+function mt:Test()
+ local o = self.view:Offset(20)
+ if o ~= 0 then
+ local obj = flatbuffers.view.New(flatbuffers.binaryArray.New(0), 0)
+ self.view:Union(obj, o)
+ return obj
+ end
end
-function Monster_mt:Test4Length()
- local o = self.view:Offset(22)
- if o ~= 0 then
- return self.view:VectorLen(o)
- end
- return 0
+
+function mt:Test4(j)
+ local o = self.view:Offset(22)
+ if o ~= 0 then
+ local x = self.view:Vector(o)
+ x = x + ((j-1) * 4)
+ local obj = __MyGame_Example_Test.New()
+ obj:Init(self.view.bytes, x)
+ return obj
+ end
end
-function Monster_mt:Testarrayofstring(j)
- local o = self.view:Offset(24)
- if o ~= 0 then
- local a = self.view:Vector(o)
- return self.view:String(a + ((j-1) * 4))
- end
- return ''
+
+function mt:Test4Length()
+ local o = self.view:Offset(22)
+ if o ~= 0 then
+ return self.view:VectorLen(o)
+ end
+ return 0
end
-function Monster_mt:TestarrayofstringLength()
- local o = self.view:Offset(24)
- if o ~= 0 then
- return self.view:VectorLen(o)
- end
- return 0
+
+function mt:Testarrayofstring(j)
+ local o = self.view:Offset(24)
+ if o ~= 0 then
+ local a = self.view:Vector(o)
+ return self.view:String(a + ((j-1) * 4))
+ end
+ return ''
end
+
+function mt:TestarrayofstringLength()
+ local o = self.view:Offset(24)
+ if o ~= 0 then
+ return self.view:VectorLen(o)
+ end
+ return 0
+end
+
-- an example documentation comment: this will end up in the generated code
-- multiline too
-function Monster_mt:Testarrayoftables(j)
- local o = self.view:Offset(26)
- if o ~= 0 then
- local x = self.view:Vector(o)
- x = x + ((j-1) * 4)
- x = self.view:Indirect(x)
- local obj = require('MyGame.Example.Monster').New()
- obj:Init(self.view.bytes, x)
- return obj
- end
+function mt:Testarrayoftables(j)
+ local o = self.view:Offset(26)
+ if o ~= 0 then
+ local x = self.view:Vector(o)
+ x = x + ((j-1) * 4)
+ x = self.view:Indirect(x)
+ local obj = Monster.New()
+ obj:Init(self.view.bytes, x)
+ return obj
+ end
end
-function Monster_mt:TestarrayoftablesLength()
- local o = self.view:Offset(26)
- if o ~= 0 then
- return self.view:VectorLen(o)
- end
- return 0
-end
-function Monster_mt:Enemy()
- local o = self.view:Offset(28)
- if o ~= 0 then
- local x = self.view:Indirect(o + self.view.pos)
- local obj = require('MyGame.Example.Monster').New()
- obj:Init(self.view.bytes, x)
- return obj
- end
-end
-function Monster_mt:Testnestedflatbuffer(j)
- local o = self.view:Offset(30)
- if o ~= 0 then
- local a = self.view:Vector(o)
- return self.view:Get(flatbuffers.N.Uint8, a + ((j-1) * 1))
- end
- return 0
-end
-function Monster_mt:TestnestedflatbufferLength()
- local o = self.view:Offset(30)
- if o ~= 0 then
- return self.view:VectorLen(o)
- end
- return 0
-end
-function Monster_mt:Testempty()
- local o = self.view:Offset(32)
- if o ~= 0 then
- local x = self.view:Indirect(o + self.view.pos)
- local obj = require('MyGame.Example.Stat').New()
- obj:Init(self.view.bytes, x)
- return obj
- end
-end
-function Monster_mt:Testbool()
- local o = self.view:Offset(34)
- if o ~= 0 then
- return (self.view:Get(flatbuffers.N.Bool, o + self.view.pos) ~= 0)
- end
- return false
-end
-function Monster_mt:Testhashs32Fnv1()
- local o = self.view:Offset(36)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Int32, o + self.view.pos)
- end
- return 0
-end
-function Monster_mt:Testhashu32Fnv1()
- local o = self.view:Offset(38)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Uint32, o + self.view.pos)
- end
- return 0
-end
-function Monster_mt:Testhashs64Fnv1()
- local o = self.view:Offset(40)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Int64, o + self.view.pos)
- end
- return 0
-end
-function Monster_mt:Testhashu64Fnv1()
- local o = self.view:Offset(42)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Uint64, o + self.view.pos)
- end
- return 0
-end
-function Monster_mt:Testhashs32Fnv1a()
- local o = self.view:Offset(44)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Int32, o + self.view.pos)
- end
- return 0
-end
-function Monster_mt:Testhashu32Fnv1a()
- local o = self.view:Offset(46)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Uint32, o + self.view.pos)
- end
- return 0
-end
-function Monster_mt:Testhashs64Fnv1a()
- local o = self.view:Offset(48)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Int64, o + self.view.pos)
- end
- return 0
-end
-function Monster_mt:Testhashu64Fnv1a()
- local o = self.view:Offset(50)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Uint64, o + self.view.pos)
- end
- return 0
-end
-function Monster_mt:Testarrayofbools(j)
- local o = self.view:Offset(52)
- if o ~= 0 then
- local a = self.view:Vector(o)
- return self.view:Get(flatbuffers.N.Bool, a + ((j-1) * 1))
- end
- return 0
-end
-function Monster_mt:TestarrayofboolsLength()
- local o = self.view:Offset(52)
- if o ~= 0 then
- return self.view:VectorLen(o)
- end
- return 0
-end
-function Monster_mt:Testf()
- local o = self.view:Offset(54)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Float32, o + self.view.pos)
- end
- return 3.14159
-end
-function Monster_mt:Testf2()
- local o = self.view:Offset(56)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Float32, o + self.view.pos)
- end
- return 3.0
-end
-function Monster_mt:Testf3()
- local o = self.view:Offset(58)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Float32, o + self.view.pos)
- end
- return 0.0
-end
-function Monster_mt:Testarrayofstring2(j)
- local o = self.view:Offset(60)
- if o ~= 0 then
- local a = self.view:Vector(o)
- return self.view:String(a + ((j-1) * 4))
- end
- return ''
-end
-function Monster_mt:Testarrayofstring2Length()
- local o = self.view:Offset(60)
- if o ~= 0 then
- return self.view:VectorLen(o)
- end
- return 0
-end
-function Monster_mt:Testarrayofsortedstruct(j)
- local o = self.view:Offset(62)
- if o ~= 0 then
- local x = self.view:Vector(o)
- x = x + ((j-1) * 8)
- local obj = require('MyGame.Example.Ability').New()
- obj:Init(self.view.bytes, x)
- return obj
- end
-end
-function Monster_mt:TestarrayofsortedstructLength()
- local o = self.view:Offset(62)
- if o ~= 0 then
- return self.view:VectorLen(o)
- end
- return 0
-end
-function Monster_mt:Flex(j)
- local o = self.view:Offset(64)
- if o ~= 0 then
- local a = self.view:Vector(o)
- return self.view:Get(flatbuffers.N.Uint8, a + ((j-1) * 1))
- end
- return 0
-end
-function Monster_mt:FlexLength()
- local o = self.view:Offset(64)
- if o ~= 0 then
- return self.view:VectorLen(o)
- end
- return 0
-end
-function Monster_mt:Test5(j)
- local o = self.view:Offset(66)
- if o ~= 0 then
- local x = self.view:Vector(o)
- x = x + ((j-1) * 4)
- local obj = require('MyGame.Example.Test').New()
- obj:Init(self.view.bytes, x)
- return obj
- end
-end
-function Monster_mt:Test5Length()
- local o = self.view:Offset(66)
- if o ~= 0 then
- return self.view:VectorLen(o)
- end
- return 0
-end
-function Monster_mt:VectorOfLongs(j)
- local o = self.view:Offset(68)
- if o ~= 0 then
- local a = self.view:Vector(o)
- return self.view:Get(flatbuffers.N.Int64, a + ((j-1) * 8))
- end
- return 0
-end
-function Monster_mt:VectorOfLongsLength()
- local o = self.view:Offset(68)
- if o ~= 0 then
- return self.view:VectorLen(o)
- end
- return 0
-end
-function Monster_mt:VectorOfDoubles(j)
- local o = self.view:Offset(70)
- if o ~= 0 then
- local a = self.view:Vector(o)
- return self.view:Get(flatbuffers.N.Float64, a + ((j-1) * 8))
- end
- return 0
-end
-function Monster_mt:VectorOfDoublesLength()
- local o = self.view:Offset(70)
- if o ~= 0 then
- return self.view:VectorLen(o)
- end
- return 0
-end
-function Monster_mt:ParentNamespaceTest()
- local o = self.view:Offset(72)
- if o ~= 0 then
- local x = self.view:Indirect(o + self.view.pos)
- local obj = require('MyGame.InParentNamespace').New()
- obj:Init(self.view.bytes, x)
- return obj
- end
-end
-function Monster_mt:VectorOfReferrables(j)
- local o = self.view:Offset(74)
- if o ~= 0 then
- local x = self.view:Vector(o)
- x = x + ((j-1) * 4)
- x = self.view:Indirect(x)
- local obj = require('MyGame.Example.Referrable').New()
- obj:Init(self.view.bytes, x)
- return obj
- end
-end
-function Monster_mt:VectorOfReferrablesLength()
- local o = self.view:Offset(74)
- if o ~= 0 then
- return self.view:VectorLen(o)
- end
- return 0
-end
-function Monster_mt:SingleWeakReference()
- local o = self.view:Offset(76)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Uint64, o + self.view.pos)
- end
- return 0
-end
-function Monster_mt:VectorOfWeakReferences(j)
- local o = self.view:Offset(78)
- if o ~= 0 then
- local a = self.view:Vector(o)
- return self.view:Get(flatbuffers.N.Uint64, a + ((j-1) * 8))
- end
- return 0
-end
-function Monster_mt:VectorOfWeakReferencesLength()
- local o = self.view:Offset(78)
- if o ~= 0 then
- return self.view:VectorLen(o)
- end
- return 0
-end
-function Monster_mt:VectorOfStrongReferrables(j)
- local o = self.view:Offset(80)
- if o ~= 0 then
- local x = self.view:Vector(o)
- x = x + ((j-1) * 4)
- x = self.view:Indirect(x)
- local obj = require('MyGame.Example.Referrable').New()
- obj:Init(self.view.bytes, x)
- return obj
- end
-end
-function Monster_mt:VectorOfStrongReferrablesLength()
- local o = self.view:Offset(80)
- if o ~= 0 then
- return self.view:VectorLen(o)
- end
- return 0
-end
-function Monster_mt:CoOwningReference()
- local o = self.view:Offset(82)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Uint64, o + self.view.pos)
- end
- return 0
-end
-function Monster_mt:VectorOfCoOwningReferences(j)
- local o = self.view:Offset(84)
- if o ~= 0 then
- local a = self.view:Vector(o)
- return self.view:Get(flatbuffers.N.Uint64, a + ((j-1) * 8))
- end
- return 0
-end
-function Monster_mt:VectorOfCoOwningReferencesLength()
- local o = self.view:Offset(84)
- if o ~= 0 then
- return self.view:VectorLen(o)
- end
- return 0
-end
-function Monster_mt:NonOwningReference()
- local o = self.view:Offset(86)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Uint64, o + self.view.pos)
- end
- return 0
-end
-function Monster_mt:VectorOfNonOwningReferences(j)
- local o = self.view:Offset(88)
- if o ~= 0 then
- local a = self.view:Vector(o)
- return self.view:Get(flatbuffers.N.Uint64, a + ((j-1) * 8))
- end
- return 0
-end
-function Monster_mt:VectorOfNonOwningReferencesLength()
- local o = self.view:Offset(88)
- if o ~= 0 then
- return self.view:VectorLen(o)
- end
- return 0
-end
-function Monster_mt:AnyUniqueType()
- local o = self.view:Offset(90)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Uint8, o + self.view.pos)
- end
- return 0
-end
-function Monster_mt:AnyUnique()
- local o = self.view:Offset(92)
- if o ~= 0 then
- local obj = flatbuffers.view.New(require('flatbuffers.binaryarray').New(0), 0)
- self.view:Union(obj, o)
- return obj
- end
-end
-function Monster_mt:AnyAmbiguousType()
- local o = self.view:Offset(94)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Uint8, o + self.view.pos)
- end
- return 0
-end
-function Monster_mt:AnyAmbiguous()
- local o = self.view:Offset(96)
- if o ~= 0 then
- local obj = flatbuffers.view.New(require('flatbuffers.binaryarray').New(0), 0)
- self.view:Union(obj, o)
- return obj
- end
-end
-function Monster_mt:VectorOfEnums(j)
- local o = self.view:Offset(98)
- if o ~= 0 then
- local a = self.view:Vector(o)
- return self.view:Get(flatbuffers.N.Uint8, a + ((j-1) * 1))
- end
- return 0
-end
-function Monster_mt:VectorOfEnumsLength()
- local o = self.view:Offset(98)
- if o ~= 0 then
- return self.view:VectorLen(o)
- end
- return 0
-end
-function Monster_mt:SignedEnum()
- local o = self.view:Offset(100)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Int8, o + self.view.pos)
- end
- return -1
-end
-function Monster_mt:Testrequirednestedflatbuffer(j)
- local o = self.view:Offset(102)
- if o ~= 0 then
- local a = self.view:Vector(o)
- return self.view:Get(flatbuffers.N.Uint8, a + ((j-1) * 1))
- end
- return 0
-end
-function Monster_mt:TestrequirednestedflatbufferLength()
- local o = self.view:Offset(102)
- if o ~= 0 then
- return self.view:VectorLen(o)
- end
- return 0
-end
-function Monster.Start(builder) builder:StartObject(50) end
-function Monster.AddPos(builder, pos) builder:PrependStructSlot(0, pos, 0) end
-function Monster.AddMana(builder, mana) builder:PrependInt16Slot(1, mana, 150) end
-function Monster.AddHp(builder, hp) builder:PrependInt16Slot(2, hp, 100) end
-function Monster.AddName(builder, name) builder:PrependUOffsetTRelativeSlot(3, name, 0) end
-function Monster.AddInventory(builder, inventory) builder:PrependUOffsetTRelativeSlot(5, inventory, 0) end
-function Monster.StartInventoryVector(builder, numElems) return builder:StartVector(1, numElems, 1) end
-function Monster.AddColor(builder, color) builder:PrependUint8Slot(6, color, 8) end
-function Monster.AddTestType(builder, testType) builder:PrependUint8Slot(7, testType, 0) end
-function Monster.AddTest(builder, test) builder:PrependUOffsetTRelativeSlot(8, test, 0) end
-function Monster.AddTest4(builder, test4) builder:PrependUOffsetTRelativeSlot(9, test4, 0) end
-function Monster.StartTest4Vector(builder, numElems) return builder:StartVector(4, numElems, 2) end
-function Monster.AddTestarrayofstring(builder, testarrayofstring) builder:PrependUOffsetTRelativeSlot(10, testarrayofstring, 0) end
-function Monster.StartTestarrayofstringVector(builder, numElems) return builder:StartVector(4, numElems, 4) end
-function Monster.AddTestarrayoftables(builder, testarrayoftables) builder:PrependUOffsetTRelativeSlot(11, testarrayoftables, 0) end
-function Monster.StartTestarrayoftablesVector(builder, numElems) return builder:StartVector(4, numElems, 4) end
-function Monster.AddEnemy(builder, enemy) builder:PrependUOffsetTRelativeSlot(12, enemy, 0) end
-function Monster.AddTestnestedflatbuffer(builder, testnestedflatbuffer) builder:PrependUOffsetTRelativeSlot(13, testnestedflatbuffer, 0) end
-function Monster.StartTestnestedflatbufferVector(builder, numElems) return builder:StartVector(1, numElems, 1) end
-function Monster.AddTestempty(builder, testempty) builder:PrependUOffsetTRelativeSlot(14, testempty, 0) end
-function Monster.AddTestbool(builder, testbool) builder:PrependBoolSlot(15, testbool, 0) end
-function Monster.AddTesthashs32Fnv1(builder, testhashs32Fnv1) builder:PrependInt32Slot(16, testhashs32Fnv1, 0) end
-function Monster.AddTesthashu32Fnv1(builder, testhashu32Fnv1) builder:PrependUint32Slot(17, testhashu32Fnv1, 0) end
-function Monster.AddTesthashs64Fnv1(builder, testhashs64Fnv1) builder:PrependInt64Slot(18, testhashs64Fnv1, 0) end
-function Monster.AddTesthashu64Fnv1(builder, testhashu64Fnv1) builder:PrependUint64Slot(19, testhashu64Fnv1, 0) end
-function Monster.AddTesthashs32Fnv1a(builder, testhashs32Fnv1a) builder:PrependInt32Slot(20, testhashs32Fnv1a, 0) end
-function Monster.AddTesthashu32Fnv1a(builder, testhashu32Fnv1a) builder:PrependUint32Slot(21, testhashu32Fnv1a, 0) end
-function Monster.AddTesthashs64Fnv1a(builder, testhashs64Fnv1a) builder:PrependInt64Slot(22, testhashs64Fnv1a, 0) end
-function Monster.AddTesthashu64Fnv1a(builder, testhashu64Fnv1a) builder:PrependUint64Slot(23, testhashu64Fnv1a, 0) end
-function Monster.AddTestarrayofbools(builder, testarrayofbools) builder:PrependUOffsetTRelativeSlot(24, testarrayofbools, 0) end
-function Monster.StartTestarrayofboolsVector(builder, numElems) return builder:StartVector(1, numElems, 1) end
-function Monster.AddTestf(builder, testf) builder:PrependFloat32Slot(25, testf, 3.14159) end
-function Monster.AddTestf2(builder, testf2) builder:PrependFloat32Slot(26, testf2, 3.0) end
-function Monster.AddTestf3(builder, testf3) builder:PrependFloat32Slot(27, testf3, 0.0) end
-function Monster.AddTestarrayofstring2(builder, testarrayofstring2) builder:PrependUOffsetTRelativeSlot(28, testarrayofstring2, 0) end
-function Monster.StartTestarrayofstring2Vector(builder, numElems) return builder:StartVector(4, numElems, 4) end
-function Monster.AddTestarrayofsortedstruct(builder, testarrayofsortedstruct) builder:PrependUOffsetTRelativeSlot(29, testarrayofsortedstruct, 0) end
-function Monster.StartTestarrayofsortedstructVector(builder, numElems) return builder:StartVector(8, numElems, 4) end
-function Monster.AddFlex(builder, flex) builder:PrependUOffsetTRelativeSlot(30, flex, 0) end
-function Monster.StartFlexVector(builder, numElems) return builder:StartVector(1, numElems, 1) end
-function Monster.AddTest5(builder, test5) builder:PrependUOffsetTRelativeSlot(31, test5, 0) end
-function Monster.StartTest5Vector(builder, numElems) return builder:StartVector(4, numElems, 2) end
-function Monster.AddVectorOfLongs(builder, vectorOfLongs) builder:PrependUOffsetTRelativeSlot(32, vectorOfLongs, 0) end
-function Monster.StartVectorOfLongsVector(builder, numElems) return builder:StartVector(8, numElems, 8) end
-function Monster.AddVectorOfDoubles(builder, vectorOfDoubles) builder:PrependUOffsetTRelativeSlot(33, vectorOfDoubles, 0) end
-function Monster.StartVectorOfDoublesVector(builder, numElems) return builder:StartVector(8, numElems, 8) end
-function Monster.AddParentNamespaceTest(builder, parentNamespaceTest) builder:PrependUOffsetTRelativeSlot(34, parentNamespaceTest, 0) end
-function Monster.AddVectorOfReferrables(builder, vectorOfReferrables) builder:PrependUOffsetTRelativeSlot(35, vectorOfReferrables, 0) end
-function Monster.StartVectorOfReferrablesVector(builder, numElems) return builder:StartVector(4, numElems, 4) end
-function Monster.AddSingleWeakReference(builder, singleWeakReference) builder:PrependUint64Slot(36, singleWeakReference, 0) end
-function Monster.AddVectorOfWeakReferences(builder, vectorOfWeakReferences) builder:PrependUOffsetTRelativeSlot(37, vectorOfWeakReferences, 0) end
-function Monster.StartVectorOfWeakReferencesVector(builder, numElems) return builder:StartVector(8, numElems, 8) end
-function Monster.AddVectorOfStrongReferrables(builder, vectorOfStrongReferrables) builder:PrependUOffsetTRelativeSlot(38, vectorOfStrongReferrables, 0) end
-function Monster.StartVectorOfStrongReferrablesVector(builder, numElems) return builder:StartVector(4, numElems, 4) end
-function Monster.AddCoOwningReference(builder, coOwningReference) builder:PrependUint64Slot(39, coOwningReference, 0) end
-function Monster.AddVectorOfCoOwningReferences(builder, vectorOfCoOwningReferences) builder:PrependUOffsetTRelativeSlot(40, vectorOfCoOwningReferences, 0) end
-function Monster.StartVectorOfCoOwningReferencesVector(builder, numElems) return builder:StartVector(8, numElems, 8) end
-function Monster.AddNonOwningReference(builder, nonOwningReference) builder:PrependUint64Slot(41, nonOwningReference, 0) end
-function Monster.AddVectorOfNonOwningReferences(builder, vectorOfNonOwningReferences) builder:PrependUOffsetTRelativeSlot(42, vectorOfNonOwningReferences, 0) end
-function Monster.StartVectorOfNonOwningReferencesVector(builder, numElems) return builder:StartVector(8, numElems, 8) end
-function Monster.AddAnyUniqueType(builder, anyUniqueType) builder:PrependUint8Slot(43, anyUniqueType, 0) end
-function Monster.AddAnyUnique(builder, anyUnique) builder:PrependUOffsetTRelativeSlot(44, anyUnique, 0) end
-function Monster.AddAnyAmbiguousType(builder, anyAmbiguousType) builder:PrependUint8Slot(45, anyAmbiguousType, 0) end
-function Monster.AddAnyAmbiguous(builder, anyAmbiguous) builder:PrependUOffsetTRelativeSlot(46, anyAmbiguous, 0) end
-function Monster.AddVectorOfEnums(builder, vectorOfEnums) builder:PrependUOffsetTRelativeSlot(47, vectorOfEnums, 0) end
-function Monster.StartVectorOfEnumsVector(builder, numElems) return builder:StartVector(1, numElems, 1) end
-function Monster.AddSignedEnum(builder, signedEnum) builder:PrependInt8Slot(48, signedEnum, -1) end
-function Monster.AddTestrequirednestedflatbuffer(builder, testrequirednestedflatbuffer) builder:PrependUOffsetTRelativeSlot(49, testrequirednestedflatbuffer, 0) end
-function Monster.StartTestrequirednestedflatbufferVector(builder, numElems) return builder:StartVector(1, numElems, 1) end
-function Monster.End(builder) return builder:EndObject() end
-return Monster -- return the module
\ No newline at end of file
+function mt:TestarrayoftablesLength()
+ local o = self.view:Offset(26)
+ if o ~= 0 then
+ return self.view:VectorLen(o)
+ end
+ return 0
+end
+
+function mt:Enemy()
+ local o = self.view:Offset(28)
+ if o ~= 0 then
+ local x = self.view:Indirect(self.view.pos + o)
+ local obj = Monster.New()
+ obj:Init(self.view.bytes, x)
+ return obj
+ end
+end
+
+function mt:Testnestedflatbuffer(j)
+ local o = self.view:Offset(30)
+ if o ~= 0 then
+ local a = self.view:Vector(o)
+ return self.view:Get(flatbuffers.N.Uint8, a + ((j-1) * 1))
+ end
+ return 0
+end
+
+function mt:TestnestedflatbufferAsString(start, stop)
+ return self.view:VectorAsString(30, start, stop)
+end
+
+function mt:TestnestedflatbufferLength()
+ local o = self.view:Offset(30)
+ if o ~= 0 then
+ return self.view:VectorLen(o)
+ end
+ return 0
+end
+
+function mt:Testempty()
+ local o = self.view:Offset(32)
+ if o ~= 0 then
+ local x = self.view:Indirect(self.view.pos + o)
+ local obj = __MyGame_Example_Stat.New()
+ obj:Init(self.view.bytes, x)
+ return obj
+ end
+end
+
+function mt:Testbool()
+ local o = self.view:Offset(34)
+ if o ~= 0 then
+ return (self.view:Get(flatbuffers.N.Bool, self.view.pos + o) ~=0)
+ end
+ return false
+end
+
+function mt:Testhashs32Fnv1()
+ local o = self.view:Offset(36)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Int32, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:Testhashu32Fnv1()
+ local o = self.view:Offset(38)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Uint32, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:Testhashs64Fnv1()
+ local o = self.view:Offset(40)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Int64, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:Testhashu64Fnv1()
+ local o = self.view:Offset(42)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Uint64, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:Testhashs32Fnv1a()
+ local o = self.view:Offset(44)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Int32, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:Testhashu32Fnv1a()
+ local o = self.view:Offset(46)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Uint32, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:Testhashs64Fnv1a()
+ local o = self.view:Offset(48)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Int64, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:Testhashu64Fnv1a()
+ local o = self.view:Offset(50)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Uint64, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:Testarrayofbools(j)
+ local o = self.view:Offset(52)
+ if o ~= 0 then
+ local a = self.view:Vector(o)
+ return self.view:Get(flatbuffers.N.Bool, a + ((j-1) * 1))
+ end
+ return 0
+end
+
+function mt:TestarrayofboolsAsString(start, stop)
+ return self.view:VectorAsString(52, start, stop)
+end
+
+function mt:TestarrayofboolsLength()
+ local o = self.view:Offset(52)
+ if o ~= 0 then
+ return self.view:VectorLen(o)
+ end
+ return 0
+end
+
+function mt:Testf()
+ local o = self.view:Offset(54)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Float32, self.view.pos + o)
+ end
+ return 3.14159
+end
+
+function mt:Testf2()
+ local o = self.view:Offset(56)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Float32, self.view.pos + o)
+ end
+ return 3.0
+end
+
+function mt:Testf3()
+ local o = self.view:Offset(58)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Float32, self.view.pos + o)
+ end
+ return 0.0
+end
+
+function mt:Testarrayofstring2(j)
+ local o = self.view:Offset(60)
+ if o ~= 0 then
+ local a = self.view:Vector(o)
+ return self.view:String(a + ((j-1) * 4))
+ end
+ return ''
+end
+
+function mt:Testarrayofstring2Length()
+ local o = self.view:Offset(60)
+ if o ~= 0 then
+ return self.view:VectorLen(o)
+ end
+ return 0
+end
+
+function mt:Testarrayofsortedstruct(j)
+ local o = self.view:Offset(62)
+ if o ~= 0 then
+ local x = self.view:Vector(o)
+ x = x + ((j-1) * 4)
+ local obj = __MyGame_Example_Ability.New()
+ obj:Init(self.view.bytes, x)
+ return obj
+ end
+end
+
+function mt:TestarrayofsortedstructLength()
+ local o = self.view:Offset(62)
+ if o ~= 0 then
+ return self.view:VectorLen(o)
+ end
+ return 0
+end
+
+function mt:Flex(j)
+ local o = self.view:Offset(64)
+ if o ~= 0 then
+ local a = self.view:Vector(o)
+ return self.view:Get(flatbuffers.N.Uint8, a + ((j-1) * 1))
+ end
+ return 0
+end
+
+function mt:FlexAsString(start, stop)
+ return self.view:VectorAsString(64, start, stop)
+end
+
+function mt:FlexLength()
+ local o = self.view:Offset(64)
+ if o ~= 0 then
+ return self.view:VectorLen(o)
+ end
+ return 0
+end
+
+function mt:Test5(j)
+ local o = self.view:Offset(66)
+ if o ~= 0 then
+ local x = self.view:Vector(o)
+ x = x + ((j-1) * 4)
+ local obj = __MyGame_Example_Test.New()
+ obj:Init(self.view.bytes, x)
+ return obj
+ end
+end
+
+function mt:Test5Length()
+ local o = self.view:Offset(66)
+ if o ~= 0 then
+ return self.view:VectorLen(o)
+ end
+ return 0
+end
+
+function mt:VectorOfLongs(j)
+ local o = self.view:Offset(68)
+ if o ~= 0 then
+ local a = self.view:Vector(o)
+ return self.view:Get(flatbuffers.N.Int64, a + ((j-1) * 8))
+ end
+ return 0
+end
+
+function mt:VectorOfLongsLength()
+ local o = self.view:Offset(68)
+ if o ~= 0 then
+ return self.view:VectorLen(o)
+ end
+ return 0
+end
+
+function mt:VectorOfDoubles(j)
+ local o = self.view:Offset(70)
+ if o ~= 0 then
+ local a = self.view:Vector(o)
+ return self.view:Get(flatbuffers.N.Float64, a + ((j-1) * 8))
+ end
+ return 0
+end
+
+function mt:VectorOfDoublesLength()
+ local o = self.view:Offset(70)
+ if o ~= 0 then
+ return self.view:VectorLen(o)
+ end
+ return 0
+end
+
+function mt:ParentNamespaceTest()
+ local o = self.view:Offset(72)
+ if o ~= 0 then
+ local x = self.view:Indirect(self.view.pos + o)
+ local obj = __MyGame_InParentNamespace.New()
+ obj:Init(self.view.bytes, x)
+ return obj
+ end
+end
+
+function mt:VectorOfReferrables(j)
+ local o = self.view:Offset(74)
+ if o ~= 0 then
+ local x = self.view:Vector(o)
+ x = x + ((j-1) * 4)
+ x = self.view:Indirect(x)
+ local obj = __MyGame_Example_Referrable.New()
+ obj:Init(self.view.bytes, x)
+ return obj
+ end
+end
+
+function mt:VectorOfReferrablesLength()
+ local o = self.view:Offset(74)
+ if o ~= 0 then
+ return self.view:VectorLen(o)
+ end
+ return 0
+end
+
+function mt:SingleWeakReference()
+ local o = self.view:Offset(76)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Uint64, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:VectorOfWeakReferences(j)
+ local o = self.view:Offset(78)
+ if o ~= 0 then
+ local a = self.view:Vector(o)
+ return self.view:Get(flatbuffers.N.Uint64, a + ((j-1) * 8))
+ end
+ return 0
+end
+
+function mt:VectorOfWeakReferencesLength()
+ local o = self.view:Offset(78)
+ if o ~= 0 then
+ return self.view:VectorLen(o)
+ end
+ return 0
+end
+
+function mt:VectorOfStrongReferrables(j)
+ local o = self.view:Offset(80)
+ if o ~= 0 then
+ local x = self.view:Vector(o)
+ x = x + ((j-1) * 4)
+ x = self.view:Indirect(x)
+ local obj = __MyGame_Example_Referrable.New()
+ obj:Init(self.view.bytes, x)
+ return obj
+ end
+end
+
+function mt:VectorOfStrongReferrablesLength()
+ local o = self.view:Offset(80)
+ if o ~= 0 then
+ return self.view:VectorLen(o)
+ end
+ return 0
+end
+
+function mt:CoOwningReference()
+ local o = self.view:Offset(82)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Uint64, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:VectorOfCoOwningReferences(j)
+ local o = self.view:Offset(84)
+ if o ~= 0 then
+ local a = self.view:Vector(o)
+ return self.view:Get(flatbuffers.N.Uint64, a + ((j-1) * 8))
+ end
+ return 0
+end
+
+function mt:VectorOfCoOwningReferencesLength()
+ local o = self.view:Offset(84)
+ if o ~= 0 then
+ return self.view:VectorLen(o)
+ end
+ return 0
+end
+
+function mt:NonOwningReference()
+ local o = self.view:Offset(86)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Uint64, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:VectorOfNonOwningReferences(j)
+ local o = self.view:Offset(88)
+ if o ~= 0 then
+ local a = self.view:Vector(o)
+ return self.view:Get(flatbuffers.N.Uint64, a + ((j-1) * 8))
+ end
+ return 0
+end
+
+function mt:VectorOfNonOwningReferencesLength()
+ local o = self.view:Offset(88)
+ if o ~= 0 then
+ return self.view:VectorLen(o)
+ end
+ return 0
+end
+
+function mt:AnyUniqueType()
+ local o = self.view:Offset(90)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Uint8, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:AnyUnique()
+ local o = self.view:Offset(92)
+ if o ~= 0 then
+ local obj = flatbuffers.view.New(flatbuffers.binaryArray.New(0), 0)
+ self.view:Union(obj, o)
+ return obj
+ end
+end
+
+function mt:AnyAmbiguousType()
+ local o = self.view:Offset(94)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Uint8, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:AnyAmbiguous()
+ local o = self.view:Offset(96)
+ if o ~= 0 then
+ local obj = flatbuffers.view.New(flatbuffers.binaryArray.New(0), 0)
+ self.view:Union(obj, o)
+ return obj
+ end
+end
+
+function mt:VectorOfEnums(j)
+ local o = self.view:Offset(98)
+ if o ~= 0 then
+ local a = self.view:Vector(o)
+ return self.view:Get(flatbuffers.N.Uint8, a + ((j-1) * 1))
+ end
+ return 0
+end
+
+function mt:VectorOfEnumsAsString(start, stop)
+ return self.view:VectorAsString(98, start, stop)
+end
+
+function mt:VectorOfEnumsLength()
+ local o = self.view:Offset(98)
+ if o ~= 0 then
+ return self.view:VectorLen(o)
+ end
+ return 0
+end
+
+function mt:SignedEnum()
+ local o = self.view:Offset(100)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Int8, self.view.pos + o)
+ end
+ return -1
+end
+
+function mt:Testrequirednestedflatbuffer(j)
+ local o = self.view:Offset(102)
+ if o ~= 0 then
+ local a = self.view:Vector(o)
+ return self.view:Get(flatbuffers.N.Uint8, a + ((j-1) * 1))
+ end
+ return 0
+end
+
+function mt:TestrequirednestedflatbufferAsString(start, stop)
+ return self.view:VectorAsString(102, start, stop)
+end
+
+function mt:TestrequirednestedflatbufferLength()
+ local o = self.view:Offset(102)
+ if o ~= 0 then
+ return self.view:VectorLen(o)
+ end
+ return 0
+end
+
+function mt:ScalarKeySortedTables(j)
+ local o = self.view:Offset(104)
+ if o ~= 0 then
+ local x = self.view:Vector(o)
+ x = x + ((j-1) * 4)
+ x = self.view:Indirect(x)
+ local obj = __MyGame_Example_Stat.New()
+ obj:Init(self.view.bytes, x)
+ return obj
+ end
+end
+
+function mt:ScalarKeySortedTablesLength()
+ local o = self.view:Offset(104)
+ if o ~= 0 then
+ return self.view:VectorLen(o)
+ end
+ return 0
+end
+
+function mt:NativeInline()
+ local o = self.view:Offset(106)
+ if o ~= 0 then
+ local x = self.view.pos + o
+ local obj = __MyGame_Example_Test.New()
+ obj:Init(self.view.bytes, x)
+ return obj
+ end
+end
+
+function mt:LongEnumNonEnumDefault()
+ local o = self.view:Offset(108)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Uint64, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:LongEnumNormalDefault()
+ local o = self.view:Offset(110)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Uint64, self.view.pos + o)
+ end
+ return 2
+end
+
+function Monster.Start(builder)
+ builder:StartObject(54)
+end
+
+function Monster.AddPos(builder, pos)
+ builder:PrependStructSlot(0, pos, 0)
+end
+
+function Monster.AddMana(builder, mana)
+ builder:PrependInt16Slot(1, mana, 150)
+end
+
+function Monster.AddHp(builder, hp)
+ builder:PrependInt16Slot(2, hp, 100)
+end
+
+function Monster.AddName(builder, name)
+ builder:PrependUOffsetTRelativeSlot(3, name, 0)
+end
+
+function Monster.AddInventory(builder, inventory)
+ builder:PrependUOffsetTRelativeSlot(5, inventory, 0)
+end
+
+function Monster.StartInventoryVector(builder, numElems)
+ return builder:StartVector(1, numElems, 1)
+end
+
+function Monster.AddColor(builder, color)
+ builder:PrependUint8Slot(6, color, 8)
+end
+
+function Monster.AddTestType(builder, testType)
+ builder:PrependUint8Slot(7, testType, 0)
+end
+
+function Monster.AddTest(builder, test)
+ builder:PrependUOffsetTRelativeSlot(8, test, 0)
+end
+
+function Monster.AddTest4(builder, test4)
+ builder:PrependUOffsetTRelativeSlot(9, test4, 0)
+end
+
+function Monster.StartTest4Vector(builder, numElems)
+ return builder:StartVector(4, numElems, 2)
+end
+
+function Monster.AddTestarrayofstring(builder, testarrayofstring)
+ builder:PrependUOffsetTRelativeSlot(10, testarrayofstring, 0)
+end
+
+function Monster.StartTestarrayofstringVector(builder, numElems)
+ return builder:StartVector(4, numElems, 4)
+end
+
+function Monster.AddTestarrayoftables(builder, testarrayoftables)
+ builder:PrependUOffsetTRelativeSlot(11, testarrayoftables, 0)
+end
+
+function Monster.StartTestarrayoftablesVector(builder, numElems)
+ return builder:StartVector(4, numElems, 4)
+end
+
+function Monster.AddEnemy(builder, enemy)
+ builder:PrependStructSlot(12, enemy, 0)
+end
+
+function Monster.AddTestnestedflatbuffer(builder, testnestedflatbuffer)
+ builder:PrependUOffsetTRelativeSlot(13, testnestedflatbuffer, 0)
+end
+
+function Monster.StartTestnestedflatbufferVector(builder, numElems)
+ return builder:StartVector(1, numElems, 1)
+end
+
+function Monster.AddTestempty(builder, testempty)
+ builder:PrependStructSlot(14, testempty, 0)
+end
+
+function Monster.AddTestbool(builder, testbool)
+ builder:PrependBoolSlot(15, testbool, false)
+end
+
+function Monster.AddTesthashs32Fnv1(builder, testhashs32Fnv1)
+ builder:PrependInt32Slot(16, testhashs32Fnv1, 0)
+end
+
+function Monster.AddTesthashu32Fnv1(builder, testhashu32Fnv1)
+ builder:PrependUint32Slot(17, testhashu32Fnv1, 0)
+end
+
+function Monster.AddTesthashs64Fnv1(builder, testhashs64Fnv1)
+ builder:PrependInt64Slot(18, testhashs64Fnv1, 0)
+end
+
+function Monster.AddTesthashu64Fnv1(builder, testhashu64Fnv1)
+ builder:PrependUint64Slot(19, testhashu64Fnv1, 0)
+end
+
+function Monster.AddTesthashs32Fnv1a(builder, testhashs32Fnv1a)
+ builder:PrependInt32Slot(20, testhashs32Fnv1a, 0)
+end
+
+function Monster.AddTesthashu32Fnv1a(builder, testhashu32Fnv1a)
+ builder:PrependUint32Slot(21, testhashu32Fnv1a, 0)
+end
+
+function Monster.AddTesthashs64Fnv1a(builder, testhashs64Fnv1a)
+ builder:PrependInt64Slot(22, testhashs64Fnv1a, 0)
+end
+
+function Monster.AddTesthashu64Fnv1a(builder, testhashu64Fnv1a)
+ builder:PrependUint64Slot(23, testhashu64Fnv1a, 0)
+end
+
+function Monster.AddTestarrayofbools(builder, testarrayofbools)
+ builder:PrependUOffsetTRelativeSlot(24, testarrayofbools, 0)
+end
+
+function Monster.StartTestarrayofboolsVector(builder, numElems)
+ return builder:StartVector(1, numElems, 1)
+end
+
+function Monster.AddTestf(builder, testf)
+ builder:PrependFloat32Slot(25, testf, 3.14159)
+end
+
+function Monster.AddTestf2(builder, testf2)
+ builder:PrependFloat32Slot(26, testf2, 3.0)
+end
+
+function Monster.AddTestf3(builder, testf3)
+ builder:PrependFloat32Slot(27, testf3, 0.0)
+end
+
+function Monster.AddTestarrayofstring2(builder, testarrayofstring2)
+ builder:PrependUOffsetTRelativeSlot(28, testarrayofstring2, 0)
+end
+
+function Monster.StartTestarrayofstring2Vector(builder, numElems)
+ return builder:StartVector(4, numElems, 4)
+end
+
+function Monster.AddTestarrayofsortedstruct(builder, testarrayofsortedstruct)
+ builder:PrependUOffsetTRelativeSlot(29, testarrayofsortedstruct, 0)
+end
+
+function Monster.StartTestarrayofsortedstructVector(builder, numElems)
+ return builder:StartVector(4, numElems, 4)
+end
+
+function Monster.AddFlex(builder, flex)
+ builder:PrependUOffsetTRelativeSlot(30, flex, 0)
+end
+
+function Monster.StartFlexVector(builder, numElems)
+ return builder:StartVector(1, numElems, 1)
+end
+
+function Monster.AddTest5(builder, test5)
+ builder:PrependUOffsetTRelativeSlot(31, test5, 0)
+end
+
+function Monster.StartTest5Vector(builder, numElems)
+ return builder:StartVector(4, numElems, 2)
+end
+
+function Monster.AddVectorOfLongs(builder, vectorOfLongs)
+ builder:PrependUOffsetTRelativeSlot(32, vectorOfLongs, 0)
+end
+
+function Monster.StartVectorOfLongsVector(builder, numElems)
+ return builder:StartVector(8, numElems, 8)
+end
+
+function Monster.AddVectorOfDoubles(builder, vectorOfDoubles)
+ builder:PrependUOffsetTRelativeSlot(33, vectorOfDoubles, 0)
+end
+
+function Monster.StartVectorOfDoublesVector(builder, numElems)
+ return builder:StartVector(8, numElems, 8)
+end
+
+function Monster.AddParentNamespaceTest(builder, parentNamespaceTest)
+ builder:PrependStructSlot(34, parentNamespaceTest, 0)
+end
+
+function Monster.AddVectorOfReferrables(builder, vectorOfReferrables)
+ builder:PrependUOffsetTRelativeSlot(35, vectorOfReferrables, 0)
+end
+
+function Monster.StartVectorOfReferrablesVector(builder, numElems)
+ return builder:StartVector(4, numElems, 4)
+end
+
+function Monster.AddSingleWeakReference(builder, singleWeakReference)
+ builder:PrependUint64Slot(36, singleWeakReference, 0)
+end
+
+function Monster.AddVectorOfWeakReferences(builder, vectorOfWeakReferences)
+ builder:PrependUOffsetTRelativeSlot(37, vectorOfWeakReferences, 0)
+end
+
+function Monster.StartVectorOfWeakReferencesVector(builder, numElems)
+ return builder:StartVector(8, numElems, 8)
+end
+
+function Monster.AddVectorOfStrongReferrables(builder, vectorOfStrongReferrables)
+ builder:PrependUOffsetTRelativeSlot(38, vectorOfStrongReferrables, 0)
+end
+
+function Monster.StartVectorOfStrongReferrablesVector(builder, numElems)
+ return builder:StartVector(4, numElems, 4)
+end
+
+function Monster.AddCoOwningReference(builder, coOwningReference)
+ builder:PrependUint64Slot(39, coOwningReference, 0)
+end
+
+function Monster.AddVectorOfCoOwningReferences(builder, vectorOfCoOwningReferences)
+ builder:PrependUOffsetTRelativeSlot(40, vectorOfCoOwningReferences, 0)
+end
+
+function Monster.StartVectorOfCoOwningReferencesVector(builder, numElems)
+ return builder:StartVector(8, numElems, 8)
+end
+
+function Monster.AddNonOwningReference(builder, nonOwningReference)
+ builder:PrependUint64Slot(41, nonOwningReference, 0)
+end
+
+function Monster.AddVectorOfNonOwningReferences(builder, vectorOfNonOwningReferences)
+ builder:PrependUOffsetTRelativeSlot(42, vectorOfNonOwningReferences, 0)
+end
+
+function Monster.StartVectorOfNonOwningReferencesVector(builder, numElems)
+ return builder:StartVector(8, numElems, 8)
+end
+
+function Monster.AddAnyUniqueType(builder, anyUniqueType)
+ builder:PrependUint8Slot(43, anyUniqueType, 0)
+end
+
+function Monster.AddAnyUnique(builder, anyUnique)
+ builder:PrependUOffsetTRelativeSlot(44, anyUnique, 0)
+end
+
+function Monster.AddAnyAmbiguousType(builder, anyAmbiguousType)
+ builder:PrependUint8Slot(45, anyAmbiguousType, 0)
+end
+
+function Monster.AddAnyAmbiguous(builder, anyAmbiguous)
+ builder:PrependUOffsetTRelativeSlot(46, anyAmbiguous, 0)
+end
+
+function Monster.AddVectorOfEnums(builder, vectorOfEnums)
+ builder:PrependUOffsetTRelativeSlot(47, vectorOfEnums, 0)
+end
+
+function Monster.StartVectorOfEnumsVector(builder, numElems)
+ return builder:StartVector(1, numElems, 1)
+end
+
+function Monster.AddSignedEnum(builder, signedEnum)
+ builder:PrependInt8Slot(48, signedEnum, -1)
+end
+
+function Monster.AddTestrequirednestedflatbuffer(builder, testrequirednestedflatbuffer)
+ builder:PrependUOffsetTRelativeSlot(49, testrequirednestedflatbuffer, 0)
+end
+
+function Monster.StartTestrequirednestedflatbufferVector(builder, numElems)
+ return builder:StartVector(1, numElems, 1)
+end
+
+function Monster.AddScalarKeySortedTables(builder, scalarKeySortedTables)
+ builder:PrependUOffsetTRelativeSlot(50, scalarKeySortedTables, 0)
+end
+
+function Monster.StartScalarKeySortedTablesVector(builder, numElems)
+ return builder:StartVector(4, numElems, 4)
+end
+
+function Monster.AddNativeInline(builder, nativeInline)
+ builder:PrependStructSlot(51, nativeInline, 0)
+end
+
+function Monster.AddLongEnumNonEnumDefault(builder, longEnumNonEnumDefault)
+ builder:PrependUint64Slot(52, longEnumNonEnumDefault, 0)
+end
+
+function Monster.AddLongEnumNormalDefault(builder, longEnumNormalDefault)
+ builder:PrependUint64Slot(53, longEnumNormalDefault, 2)
+end
+
+function Monster.End(builder)
+ return builder:EndObject()
+end
+
+return Monster
\ No newline at end of file
diff --git a/tests/MyGame/Example/Monster.php b/tests/MyGame/Example/Monster.php
index 21e27dc..5f8ad5a 100644
--- a/tests/MyGame/Example/Monster.php
+++ b/tests/MyGame/Example/Monster.php
@@ -711,21 +711,65 @@
}
/**
+ * @returnVectorOffset
+ */
+ public function getScalarKeySortedTables($j)
+ {
+ $o = $this->__offset(104);
+ $obj = new Stat();
+ return $o != 0 ? $obj->init($this->__indirect($this->__vector($o) + $j * 4), $this->bb) : null;
+ }
+
+ /**
+ * @return int
+ */
+ public function getScalarKeySortedTablesLength()
+ {
+ $o = $this->__offset(104);
+ return $o != 0 ? $this->__vector_len($o) : 0;
+ }
+
+ public function getNativeInline()
+ {
+ $obj = new Test();
+ $o = $this->__offset(106);
+ return $o != 0 ? $obj->init($o + $this->bb_pos, $this->bb) : 0;
+ }
+
+ /**
+ * @return ulong
+ */
+ public function getLongEnumNonEnumDefault()
+ {
+ $o = $this->__offset(108);
+ return $o != 0 ? $this->bb->getUlong($o + $this->bb_pos) : 0;
+ }
+
+ /**
+ * @return ulong
+ */
+ public function getLongEnumNormalDefault()
+ {
+ $o = $this->__offset(110);
+ return $o != 0 ? $this->bb->getUlong($o + $this->bb_pos) : \MyGame\Example\LongEnum::LongOne;
+ }
+
+ /**
* @param FlatBufferBuilder $builder
* @return void
*/
public static function startMonster(FlatBufferBuilder $builder)
{
- $builder->StartObject(50);
+ $builder->StartObject(54);
}
/**
* @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)
+ 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)
{
- $builder->startObject(50);
+ $builder->startObject(54);
self::addPos($builder, $pos);
self::addMana($builder, $mana);
self::addHp($builder, $hp);
@@ -775,6 +819,10 @@
self::addVectorOfEnums($builder, $vector_of_enums);
self::addSignedEnum($builder, $signed_enum);
self::addTestrequirednestedflatbuffer($builder, $testrequirednestedflatbuffer);
+ self::addScalarKeySortedTables($builder, $scalar_key_sorted_tables);
+ self::addNativeInline($builder, $native_inline);
+ self::addLongEnumNonEnumDefault($builder, $long_enum_non_enum_default);
+ self::addLongEnumNormalDefault($builder, $long_enum_normal_default);
$o = $builder->endObject();
$builder->required($o, 10); // name
return $o;
@@ -1713,6 +1761,70 @@
/**
* @param FlatBufferBuilder $builder
+ * @param VectorOffset
+ * @return void
+ */
+ public static function addScalarKeySortedTables(FlatBufferBuilder $builder, $scalarKeySortedTables)
+ {
+ $builder->addOffsetX(50, $scalarKeySortedTables, 0);
+ }
+
+ /**
+ * @param FlatBufferBuilder $builder
+ * @param array offset array
+ * @return int vector offset
+ */
+ public static function createScalarKeySortedTablesVector(FlatBufferBuilder $builder, array $data)
+ {
+ $builder->startVector(4, count($data), 4);
+ for ($i = count($data) - 1; $i >= 0; $i--) {
+ $builder->putOffset($data[$i]);
+ }
+ return $builder->endVector();
+ }
+
+ /**
+ * @param FlatBufferBuilder $builder
+ * @param int $numElems
+ * @return void
+ */
+ public static function startScalarKeySortedTablesVector(FlatBufferBuilder $builder, $numElems)
+ {
+ $builder->startVector(4, $numElems, 4);
+ }
+
+ /**
+ * @param FlatBufferBuilder $builder
+ * @param int
+ * @return void
+ */
+ public static function addNativeInline(FlatBufferBuilder $builder, $nativeInline)
+ {
+ $builder->addStructX(51, $nativeInline, 0);
+ }
+
+ /**
+ * @param FlatBufferBuilder $builder
+ * @param ulong
+ * @return void
+ */
+ public static function addLongEnumNonEnumDefault(FlatBufferBuilder $builder, $longEnumNonEnumDefault)
+ {
+ $builder->addUlongX(52, $longEnumNonEnumDefault, 0);
+ }
+
+ /**
+ * @param FlatBufferBuilder $builder
+ * @param ulong
+ * @return void
+ */
+ public static function addLongEnumNormalDefault(FlatBufferBuilder $builder, $longEnumNormalDefault)
+ {
+ $builder->addUlongX(53, $longEnumNormalDefault, 2);
+ }
+
+ /**
+ * @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 67f6e1b..0044f8d 100644
--- a/tests/MyGame/Example/Monster.py
+++ b/tests/MyGame/Example/Monster.py
@@ -11,13 +11,17 @@
__slots__ = ['_tab']
@classmethod
- def GetRootAsMonster(cls, buf, offset):
+ def GetRootAs(cls, buf, offset=0):
n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
x = Monster()
x.Init(buf, n + offset)
return x
@classmethod
+ def GetRootAsMonster(cls, buf, offset=0):
+ """This method is deprecated. Please switch to GetRootAs."""
+ return cls.GetRootAs(buf, offset)
+ @classmethod
def MonsterBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x4D\x4F\x4E\x53", size_prefixed=size_prefixed)
@@ -206,6 +210,14 @@
return 0
# Monster
+ def TestnestedflatbufferNestedRoot(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(30))
+ if o != 0:
+ from MyGame.Example.Monster import Monster
+ return Monster.GetRootAsMonster(self._tab.Bytes, self._tab.Vector(o))
+ return 0
+
+ # Monster
def TestnestedflatbufferLength(self):
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(30))
if o != 0:
@@ -735,6 +747,14 @@
return 0
# Monster
+ def TestrequirednestedflatbufferNestedRoot(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(102))
+ if o != 0:
+ from MyGame.Example.Monster import Monster
+ return Monster.GetRootAsMonster(self._tab.Bytes, self._tab.Vector(o))
+ return 0
+
+ # Monster
def TestrequirednestedflatbufferLength(self):
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(102))
if o != 0:
@@ -746,77 +766,295 @@
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(102))
return o == 0
-def MonsterStart(builder): builder.StartObject(50)
-def MonsterAddPos(builder, pos): builder.PrependStructSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(pos), 0)
-def MonsterAddMana(builder, mana): builder.PrependInt16Slot(1, mana, 150)
-def MonsterAddHp(builder, hp): builder.PrependInt16Slot(2, hp, 100)
-def MonsterAddName(builder, name): builder.PrependUOffsetTRelativeSlot(3, flatbuffers.number_types.UOffsetTFlags.py_type(name), 0)
-def MonsterAddInventory(builder, inventory): builder.PrependUOffsetTRelativeSlot(5, flatbuffers.number_types.UOffsetTFlags.py_type(inventory), 0)
-def MonsterStartInventoryVector(builder, numElems): return builder.StartVector(1, numElems, 1)
-def MonsterAddColor(builder, color): builder.PrependUint8Slot(6, color, 8)
-def MonsterAddTestType(builder, testType): builder.PrependUint8Slot(7, testType, 0)
-def MonsterAddTest(builder, test): builder.PrependUOffsetTRelativeSlot(8, flatbuffers.number_types.UOffsetTFlags.py_type(test), 0)
-def MonsterAddTest4(builder, test4): builder.PrependUOffsetTRelativeSlot(9, flatbuffers.number_types.UOffsetTFlags.py_type(test4), 0)
-def MonsterStartTest4Vector(builder, numElems): return builder.StartVector(4, numElems, 2)
-def MonsterAddTestarrayofstring(builder, testarrayofstring): builder.PrependUOffsetTRelativeSlot(10, flatbuffers.number_types.UOffsetTFlags.py_type(testarrayofstring), 0)
-def MonsterStartTestarrayofstringVector(builder, numElems): return builder.StartVector(4, numElems, 4)
-def MonsterAddTestarrayoftables(builder, testarrayoftables): builder.PrependUOffsetTRelativeSlot(11, flatbuffers.number_types.UOffsetTFlags.py_type(testarrayoftables), 0)
-def MonsterStartTestarrayoftablesVector(builder, numElems): return builder.StartVector(4, numElems, 4)
-def MonsterAddEnemy(builder, enemy): builder.PrependUOffsetTRelativeSlot(12, flatbuffers.number_types.UOffsetTFlags.py_type(enemy), 0)
-def MonsterAddTestnestedflatbuffer(builder, testnestedflatbuffer): builder.PrependUOffsetTRelativeSlot(13, flatbuffers.number_types.UOffsetTFlags.py_type(testnestedflatbuffer), 0)
-def MonsterStartTestnestedflatbufferVector(builder, numElems): return builder.StartVector(1, numElems, 1)
-def MonsterAddTestempty(builder, testempty): builder.PrependUOffsetTRelativeSlot(14, flatbuffers.number_types.UOffsetTFlags.py_type(testempty), 0)
-def MonsterAddTestbool(builder, testbool): builder.PrependBoolSlot(15, testbool, 0)
-def MonsterAddTesthashs32Fnv1(builder, testhashs32Fnv1): builder.PrependInt32Slot(16, testhashs32Fnv1, 0)
-def MonsterAddTesthashu32Fnv1(builder, testhashu32Fnv1): builder.PrependUint32Slot(17, testhashu32Fnv1, 0)
-def MonsterAddTesthashs64Fnv1(builder, testhashs64Fnv1): builder.PrependInt64Slot(18, testhashs64Fnv1, 0)
-def MonsterAddTesthashu64Fnv1(builder, testhashu64Fnv1): builder.PrependUint64Slot(19, testhashu64Fnv1, 0)
-def MonsterAddTesthashs32Fnv1a(builder, testhashs32Fnv1a): builder.PrependInt32Slot(20, testhashs32Fnv1a, 0)
-def MonsterAddTesthashu32Fnv1a(builder, testhashu32Fnv1a): builder.PrependUint32Slot(21, testhashu32Fnv1a, 0)
-def MonsterAddTesthashs64Fnv1a(builder, testhashs64Fnv1a): builder.PrependInt64Slot(22, testhashs64Fnv1a, 0)
-def MonsterAddTesthashu64Fnv1a(builder, testhashu64Fnv1a): builder.PrependUint64Slot(23, testhashu64Fnv1a, 0)
-def MonsterAddTestarrayofbools(builder, testarrayofbools): builder.PrependUOffsetTRelativeSlot(24, flatbuffers.number_types.UOffsetTFlags.py_type(testarrayofbools), 0)
-def MonsterStartTestarrayofboolsVector(builder, numElems): return builder.StartVector(1, numElems, 1)
-def MonsterAddTestf(builder, testf): builder.PrependFloat32Slot(25, testf, 3.14159)
-def MonsterAddTestf2(builder, testf2): builder.PrependFloat32Slot(26, testf2, 3.0)
-def MonsterAddTestf3(builder, testf3): builder.PrependFloat32Slot(27, testf3, 0.0)
-def MonsterAddTestarrayofstring2(builder, testarrayofstring2): builder.PrependUOffsetTRelativeSlot(28, flatbuffers.number_types.UOffsetTFlags.py_type(testarrayofstring2), 0)
-def MonsterStartTestarrayofstring2Vector(builder, numElems): return builder.StartVector(4, numElems, 4)
-def MonsterAddTestarrayofsortedstruct(builder, testarrayofsortedstruct): builder.PrependUOffsetTRelativeSlot(29, flatbuffers.number_types.UOffsetTFlags.py_type(testarrayofsortedstruct), 0)
-def MonsterStartTestarrayofsortedstructVector(builder, numElems): return builder.StartVector(8, numElems, 4)
-def MonsterAddFlex(builder, flex): builder.PrependUOffsetTRelativeSlot(30, flatbuffers.number_types.UOffsetTFlags.py_type(flex), 0)
-def MonsterStartFlexVector(builder, numElems): return builder.StartVector(1, numElems, 1)
-def MonsterAddTest5(builder, test5): builder.PrependUOffsetTRelativeSlot(31, flatbuffers.number_types.UOffsetTFlags.py_type(test5), 0)
-def MonsterStartTest5Vector(builder, numElems): return builder.StartVector(4, numElems, 2)
-def MonsterAddVectorOfLongs(builder, vectorOfLongs): builder.PrependUOffsetTRelativeSlot(32, flatbuffers.number_types.UOffsetTFlags.py_type(vectorOfLongs), 0)
-def MonsterStartVectorOfLongsVector(builder, numElems): return builder.StartVector(8, numElems, 8)
-def MonsterAddVectorOfDoubles(builder, vectorOfDoubles): builder.PrependUOffsetTRelativeSlot(33, flatbuffers.number_types.UOffsetTFlags.py_type(vectorOfDoubles), 0)
-def MonsterStartVectorOfDoublesVector(builder, numElems): return builder.StartVector(8, numElems, 8)
-def MonsterAddParentNamespaceTest(builder, parentNamespaceTest): builder.PrependUOffsetTRelativeSlot(34, flatbuffers.number_types.UOffsetTFlags.py_type(parentNamespaceTest), 0)
-def MonsterAddVectorOfReferrables(builder, vectorOfReferrables): builder.PrependUOffsetTRelativeSlot(35, flatbuffers.number_types.UOffsetTFlags.py_type(vectorOfReferrables), 0)
-def MonsterStartVectorOfReferrablesVector(builder, numElems): return builder.StartVector(4, numElems, 4)
-def MonsterAddSingleWeakReference(builder, singleWeakReference): builder.PrependUint64Slot(36, singleWeakReference, 0)
-def MonsterAddVectorOfWeakReferences(builder, vectorOfWeakReferences): builder.PrependUOffsetTRelativeSlot(37, flatbuffers.number_types.UOffsetTFlags.py_type(vectorOfWeakReferences), 0)
-def MonsterStartVectorOfWeakReferencesVector(builder, numElems): return builder.StartVector(8, numElems, 8)
-def MonsterAddVectorOfStrongReferrables(builder, vectorOfStrongReferrables): builder.PrependUOffsetTRelativeSlot(38, flatbuffers.number_types.UOffsetTFlags.py_type(vectorOfStrongReferrables), 0)
-def MonsterStartVectorOfStrongReferrablesVector(builder, numElems): return builder.StartVector(4, numElems, 4)
-def MonsterAddCoOwningReference(builder, coOwningReference): builder.PrependUint64Slot(39, coOwningReference, 0)
-def MonsterAddVectorOfCoOwningReferences(builder, vectorOfCoOwningReferences): builder.PrependUOffsetTRelativeSlot(40, flatbuffers.number_types.UOffsetTFlags.py_type(vectorOfCoOwningReferences), 0)
-def MonsterStartVectorOfCoOwningReferencesVector(builder, numElems): return builder.StartVector(8, numElems, 8)
-def MonsterAddNonOwningReference(builder, nonOwningReference): builder.PrependUint64Slot(41, nonOwningReference, 0)
-def MonsterAddVectorOfNonOwningReferences(builder, vectorOfNonOwningReferences): builder.PrependUOffsetTRelativeSlot(42, flatbuffers.number_types.UOffsetTFlags.py_type(vectorOfNonOwningReferences), 0)
-def MonsterStartVectorOfNonOwningReferencesVector(builder, numElems): return builder.StartVector(8, numElems, 8)
-def MonsterAddAnyUniqueType(builder, anyUniqueType): builder.PrependUint8Slot(43, anyUniqueType, 0)
-def MonsterAddAnyUnique(builder, anyUnique): builder.PrependUOffsetTRelativeSlot(44, flatbuffers.number_types.UOffsetTFlags.py_type(anyUnique), 0)
-def MonsterAddAnyAmbiguousType(builder, anyAmbiguousType): builder.PrependUint8Slot(45, anyAmbiguousType, 0)
-def MonsterAddAnyAmbiguous(builder, anyAmbiguous): builder.PrependUOffsetTRelativeSlot(46, flatbuffers.number_types.UOffsetTFlags.py_type(anyAmbiguous), 0)
-def MonsterAddVectorOfEnums(builder, vectorOfEnums): builder.PrependUOffsetTRelativeSlot(47, flatbuffers.number_types.UOffsetTFlags.py_type(vectorOfEnums), 0)
-def MonsterStartVectorOfEnumsVector(builder, numElems): return builder.StartVector(1, numElems, 1)
-def MonsterAddSignedEnum(builder, signedEnum): builder.PrependInt8Slot(48, signedEnum, -1)
-def MonsterAddTestrequirednestedflatbuffer(builder, testrequirednestedflatbuffer): builder.PrependUOffsetTRelativeSlot(49, flatbuffers.number_types.UOffsetTFlags.py_type(testrequirednestedflatbuffer), 0)
-def MonsterStartTestrequirednestedflatbufferVector(builder, numElems): return builder.StartVector(1, numElems, 1)
-def MonsterEnd(builder): return builder.EndObject()
+ # Monster
+ def ScalarKeySortedTables(self, j):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(104))
+ if o != 0:
+ x = self._tab.Vector(o)
+ x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4
+ x = self._tab.Indirect(x)
+ from MyGame.Example.Stat import Stat
+ obj = Stat()
+ obj.Init(self._tab.Bytes, x)
+ return obj
+ return None
+ # Monster
+ def ScalarKeySortedTablesLength(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(104))
+ if o != 0:
+ return self._tab.VectorLen(o)
+ return 0
+
+ # Monster
+ def ScalarKeySortedTablesIsNone(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(104))
+ return o == 0
+
+ # Monster
+ def NativeInline(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(106))
+ if o != 0:
+ x = o + self._tab.Pos
+ from MyGame.Example.Test import Test
+ obj = Test()
+ obj.Init(self._tab.Bytes, x)
+ return obj
+ return None
+
+ # Monster
+ def LongEnumNonEnumDefault(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(108))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Uint64Flags, o + self._tab.Pos)
+ return 0
+
+ # Monster
+ def LongEnumNormalDefault(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(110))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Uint64Flags, o + self._tab.Pos)
+ return 2
+
+def MonsterStart(builder): builder.StartObject(54)
+def Start(builder):
+ return MonsterStart(builder)
+def MonsterAddPos(builder, pos): builder.PrependStructSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(pos), 0)
+def AddPos(builder, pos):
+ return MonsterAddPos(builder, pos)
+def MonsterAddMana(builder, mana): builder.PrependInt16Slot(1, mana, 150)
+def AddMana(builder, mana):
+ return MonsterAddMana(builder, mana)
+def MonsterAddHp(builder, hp): builder.PrependInt16Slot(2, hp, 100)
+def AddHp(builder, hp):
+ return MonsterAddHp(builder, hp)
+def MonsterAddName(builder, name): builder.PrependUOffsetTRelativeSlot(3, flatbuffers.number_types.UOffsetTFlags.py_type(name), 0)
+def AddName(builder, name):
+ return MonsterAddName(builder, name)
+def MonsterAddInventory(builder, inventory): builder.PrependUOffsetTRelativeSlot(5, flatbuffers.number_types.UOffsetTFlags.py_type(inventory), 0)
+def AddInventory(builder, inventory):
+ return MonsterAddInventory(builder, inventory)
+def MonsterStartInventoryVector(builder, numElems): return builder.StartVector(1, numElems, 1)
+def StartInventoryVector(builder, numElems):
+ return MonsterStartInventoryVector(builder, numElems)
+def MonsterAddColor(builder, color): builder.PrependUint8Slot(6, color, 8)
+def AddColor(builder, color):
+ return MonsterAddColor(builder, color)
+def MonsterAddTestType(builder, testType): builder.PrependUint8Slot(7, testType, 0)
+def AddTestType(builder, testType):
+ return MonsterAddTestType(builder, testType)
+def MonsterAddTest(builder, test): builder.PrependUOffsetTRelativeSlot(8, flatbuffers.number_types.UOffsetTFlags.py_type(test), 0)
+def AddTest(builder, test):
+ return MonsterAddTest(builder, test)
+def MonsterAddTest4(builder, test4): builder.PrependUOffsetTRelativeSlot(9, flatbuffers.number_types.UOffsetTFlags.py_type(test4), 0)
+def AddTest4(builder, test4):
+ return MonsterAddTest4(builder, test4)
+def MonsterStartTest4Vector(builder, numElems): return builder.StartVector(4, numElems, 2)
+def StartTest4Vector(builder, numElems):
+ return MonsterStartTest4Vector(builder, numElems)
+def MonsterAddTestarrayofstring(builder, testarrayofstring): builder.PrependUOffsetTRelativeSlot(10, flatbuffers.number_types.UOffsetTFlags.py_type(testarrayofstring), 0)
+def AddTestarrayofstring(builder, testarrayofstring):
+ return MonsterAddTestarrayofstring(builder, testarrayofstring)
+def MonsterStartTestarrayofstringVector(builder, numElems): return builder.StartVector(4, numElems, 4)
+def StartTestarrayofstringVector(builder, numElems):
+ return MonsterStartTestarrayofstringVector(builder, numElems)
+def MonsterAddTestarrayoftables(builder, testarrayoftables): builder.PrependUOffsetTRelativeSlot(11, flatbuffers.number_types.UOffsetTFlags.py_type(testarrayoftables), 0)
+def AddTestarrayoftables(builder, testarrayoftables):
+ return MonsterAddTestarrayoftables(builder, testarrayoftables)
+def MonsterStartTestarrayoftablesVector(builder, numElems): return builder.StartVector(4, numElems, 4)
+def StartTestarrayoftablesVector(builder, numElems):
+ return MonsterStartTestarrayoftablesVector(builder, numElems)
+def MonsterAddEnemy(builder, enemy): builder.PrependUOffsetTRelativeSlot(12, flatbuffers.number_types.UOffsetTFlags.py_type(enemy), 0)
+def AddEnemy(builder, enemy):
+ return MonsterAddEnemy(builder, enemy)
+def MonsterAddTestnestedflatbuffer(builder, testnestedflatbuffer): builder.PrependUOffsetTRelativeSlot(13, flatbuffers.number_types.UOffsetTFlags.py_type(testnestedflatbuffer), 0)
+def AddTestnestedflatbuffer(builder, testnestedflatbuffer):
+ return MonsterAddTestnestedflatbuffer(builder, testnestedflatbuffer)
+def MonsterStartTestnestedflatbufferVector(builder, numElems): return builder.StartVector(1, numElems, 1)
+def StartTestnestedflatbufferVector(builder, numElems):
+ return MonsterStartTestnestedflatbufferVector(builder, numElems)
+def MonsterMakeTestnestedflatbufferVectorFromBytes(builder, bytes):
+ builder.StartVector(1, len(bytes), 1)
+ builder.head = builder.head - len(bytes)
+ builder.Bytes[builder.head : builder.head + len(bytes)] = bytes
+ return builder.EndVector()
+def MakeTestnestedflatbufferVectorFromBytes(builder, bytes):
+ return MonsterMakeTestnestedflatbufferVectorFromBytes(builder, bytes)
+def MonsterAddTestempty(builder, testempty): builder.PrependUOffsetTRelativeSlot(14, flatbuffers.number_types.UOffsetTFlags.py_type(testempty), 0)
+def AddTestempty(builder, testempty):
+ return MonsterAddTestempty(builder, testempty)
+def MonsterAddTestbool(builder, testbool): builder.PrependBoolSlot(15, testbool, 0)
+def AddTestbool(builder, testbool):
+ return MonsterAddTestbool(builder, testbool)
+def MonsterAddTesthashs32Fnv1(builder, testhashs32Fnv1): builder.PrependInt32Slot(16, testhashs32Fnv1, 0)
+def AddTesthashs32Fnv1(builder, testhashs32Fnv1):
+ return MonsterAddTesthashs32Fnv1(builder, testhashs32Fnv1)
+def MonsterAddTesthashu32Fnv1(builder, testhashu32Fnv1): builder.PrependUint32Slot(17, testhashu32Fnv1, 0)
+def AddTesthashu32Fnv1(builder, testhashu32Fnv1):
+ return MonsterAddTesthashu32Fnv1(builder, testhashu32Fnv1)
+def MonsterAddTesthashs64Fnv1(builder, testhashs64Fnv1): builder.PrependInt64Slot(18, testhashs64Fnv1, 0)
+def AddTesthashs64Fnv1(builder, testhashs64Fnv1):
+ return MonsterAddTesthashs64Fnv1(builder, testhashs64Fnv1)
+def MonsterAddTesthashu64Fnv1(builder, testhashu64Fnv1): builder.PrependUint64Slot(19, testhashu64Fnv1, 0)
+def AddTesthashu64Fnv1(builder, testhashu64Fnv1):
+ return MonsterAddTesthashu64Fnv1(builder, testhashu64Fnv1)
+def MonsterAddTesthashs32Fnv1a(builder, testhashs32Fnv1a): builder.PrependInt32Slot(20, testhashs32Fnv1a, 0)
+def AddTesthashs32Fnv1a(builder, testhashs32Fnv1a):
+ return MonsterAddTesthashs32Fnv1a(builder, testhashs32Fnv1a)
+def MonsterAddTesthashu32Fnv1a(builder, testhashu32Fnv1a): builder.PrependUint32Slot(21, testhashu32Fnv1a, 0)
+def AddTesthashu32Fnv1a(builder, testhashu32Fnv1a):
+ return MonsterAddTesthashu32Fnv1a(builder, testhashu32Fnv1a)
+def MonsterAddTesthashs64Fnv1a(builder, testhashs64Fnv1a): builder.PrependInt64Slot(22, testhashs64Fnv1a, 0)
+def AddTesthashs64Fnv1a(builder, testhashs64Fnv1a):
+ return MonsterAddTesthashs64Fnv1a(builder, testhashs64Fnv1a)
+def MonsterAddTesthashu64Fnv1a(builder, testhashu64Fnv1a): builder.PrependUint64Slot(23, testhashu64Fnv1a, 0)
+def AddTesthashu64Fnv1a(builder, testhashu64Fnv1a):
+ return MonsterAddTesthashu64Fnv1a(builder, testhashu64Fnv1a)
+def MonsterAddTestarrayofbools(builder, testarrayofbools): builder.PrependUOffsetTRelativeSlot(24, flatbuffers.number_types.UOffsetTFlags.py_type(testarrayofbools), 0)
+def AddTestarrayofbools(builder, testarrayofbools):
+ return MonsterAddTestarrayofbools(builder, testarrayofbools)
+def MonsterStartTestarrayofboolsVector(builder, numElems): return builder.StartVector(1, numElems, 1)
+def StartTestarrayofboolsVector(builder, numElems):
+ return MonsterStartTestarrayofboolsVector(builder, numElems)
+def MonsterAddTestf(builder, testf): builder.PrependFloat32Slot(25, testf, 3.14159)
+def AddTestf(builder, testf):
+ return MonsterAddTestf(builder, testf)
+def MonsterAddTestf2(builder, testf2): builder.PrependFloat32Slot(26, testf2, 3.0)
+def AddTestf2(builder, testf2):
+ return MonsterAddTestf2(builder, testf2)
+def MonsterAddTestf3(builder, testf3): builder.PrependFloat32Slot(27, testf3, 0.0)
+def AddTestf3(builder, testf3):
+ return MonsterAddTestf3(builder, testf3)
+def MonsterAddTestarrayofstring2(builder, testarrayofstring2): builder.PrependUOffsetTRelativeSlot(28, flatbuffers.number_types.UOffsetTFlags.py_type(testarrayofstring2), 0)
+def AddTestarrayofstring2(builder, testarrayofstring2):
+ return MonsterAddTestarrayofstring2(builder, testarrayofstring2)
+def MonsterStartTestarrayofstring2Vector(builder, numElems): return builder.StartVector(4, numElems, 4)
+def StartTestarrayofstring2Vector(builder, numElems):
+ return MonsterStartTestarrayofstring2Vector(builder, numElems)
+def MonsterAddTestarrayofsortedstruct(builder, testarrayofsortedstruct): builder.PrependUOffsetTRelativeSlot(29, flatbuffers.number_types.UOffsetTFlags.py_type(testarrayofsortedstruct), 0)
+def AddTestarrayofsortedstruct(builder, testarrayofsortedstruct):
+ return MonsterAddTestarrayofsortedstruct(builder, testarrayofsortedstruct)
+def MonsterStartTestarrayofsortedstructVector(builder, numElems): return builder.StartVector(8, numElems, 4)
+def StartTestarrayofsortedstructVector(builder, numElems):
+ return MonsterStartTestarrayofsortedstructVector(builder, numElems)
+def MonsterAddFlex(builder, flex): builder.PrependUOffsetTRelativeSlot(30, flatbuffers.number_types.UOffsetTFlags.py_type(flex), 0)
+def AddFlex(builder, flex):
+ return MonsterAddFlex(builder, flex)
+def MonsterStartFlexVector(builder, numElems): return builder.StartVector(1, numElems, 1)
+def StartFlexVector(builder, numElems):
+ return MonsterStartFlexVector(builder, numElems)
+def MonsterAddTest5(builder, test5): builder.PrependUOffsetTRelativeSlot(31, flatbuffers.number_types.UOffsetTFlags.py_type(test5), 0)
+def AddTest5(builder, test5):
+ return MonsterAddTest5(builder, test5)
+def MonsterStartTest5Vector(builder, numElems): return builder.StartVector(4, numElems, 2)
+def StartTest5Vector(builder, numElems):
+ return MonsterStartTest5Vector(builder, numElems)
+def MonsterAddVectorOfLongs(builder, vectorOfLongs): builder.PrependUOffsetTRelativeSlot(32, flatbuffers.number_types.UOffsetTFlags.py_type(vectorOfLongs), 0)
+def AddVectorOfLongs(builder, vectorOfLongs):
+ return MonsterAddVectorOfLongs(builder, vectorOfLongs)
+def MonsterStartVectorOfLongsVector(builder, numElems): return builder.StartVector(8, numElems, 8)
+def StartVectorOfLongsVector(builder, numElems):
+ return MonsterStartVectorOfLongsVector(builder, numElems)
+def MonsterAddVectorOfDoubles(builder, vectorOfDoubles): builder.PrependUOffsetTRelativeSlot(33, flatbuffers.number_types.UOffsetTFlags.py_type(vectorOfDoubles), 0)
+def AddVectorOfDoubles(builder, vectorOfDoubles):
+ return MonsterAddVectorOfDoubles(builder, vectorOfDoubles)
+def MonsterStartVectorOfDoublesVector(builder, numElems): return builder.StartVector(8, numElems, 8)
+def StartVectorOfDoublesVector(builder, numElems):
+ return MonsterStartVectorOfDoublesVector(builder, numElems)
+def MonsterAddParentNamespaceTest(builder, parentNamespaceTest): builder.PrependUOffsetTRelativeSlot(34, flatbuffers.number_types.UOffsetTFlags.py_type(parentNamespaceTest), 0)
+def AddParentNamespaceTest(builder, parentNamespaceTest):
+ return MonsterAddParentNamespaceTest(builder, parentNamespaceTest)
+def MonsterAddVectorOfReferrables(builder, vectorOfReferrables): builder.PrependUOffsetTRelativeSlot(35, flatbuffers.number_types.UOffsetTFlags.py_type(vectorOfReferrables), 0)
+def AddVectorOfReferrables(builder, vectorOfReferrables):
+ return MonsterAddVectorOfReferrables(builder, vectorOfReferrables)
+def MonsterStartVectorOfReferrablesVector(builder, numElems): return builder.StartVector(4, numElems, 4)
+def StartVectorOfReferrablesVector(builder, numElems):
+ return MonsterStartVectorOfReferrablesVector(builder, numElems)
+def MonsterAddSingleWeakReference(builder, singleWeakReference): builder.PrependUint64Slot(36, singleWeakReference, 0)
+def AddSingleWeakReference(builder, singleWeakReference):
+ return MonsterAddSingleWeakReference(builder, singleWeakReference)
+def MonsterAddVectorOfWeakReferences(builder, vectorOfWeakReferences): builder.PrependUOffsetTRelativeSlot(37, flatbuffers.number_types.UOffsetTFlags.py_type(vectorOfWeakReferences), 0)
+def AddVectorOfWeakReferences(builder, vectorOfWeakReferences):
+ return MonsterAddVectorOfWeakReferences(builder, vectorOfWeakReferences)
+def MonsterStartVectorOfWeakReferencesVector(builder, numElems): return builder.StartVector(8, numElems, 8)
+def StartVectorOfWeakReferencesVector(builder, numElems):
+ return MonsterStartVectorOfWeakReferencesVector(builder, numElems)
+def MonsterAddVectorOfStrongReferrables(builder, vectorOfStrongReferrables): builder.PrependUOffsetTRelativeSlot(38, flatbuffers.number_types.UOffsetTFlags.py_type(vectorOfStrongReferrables), 0)
+def AddVectorOfStrongReferrables(builder, vectorOfStrongReferrables):
+ return MonsterAddVectorOfStrongReferrables(builder, vectorOfStrongReferrables)
+def MonsterStartVectorOfStrongReferrablesVector(builder, numElems): return builder.StartVector(4, numElems, 4)
+def StartVectorOfStrongReferrablesVector(builder, numElems):
+ return MonsterStartVectorOfStrongReferrablesVector(builder, numElems)
+def MonsterAddCoOwningReference(builder, coOwningReference): builder.PrependUint64Slot(39, coOwningReference, 0)
+def AddCoOwningReference(builder, coOwningReference):
+ return MonsterAddCoOwningReference(builder, coOwningReference)
+def MonsterAddVectorOfCoOwningReferences(builder, vectorOfCoOwningReferences): builder.PrependUOffsetTRelativeSlot(40, flatbuffers.number_types.UOffsetTFlags.py_type(vectorOfCoOwningReferences), 0)
+def AddVectorOfCoOwningReferences(builder, vectorOfCoOwningReferences):
+ return MonsterAddVectorOfCoOwningReferences(builder, vectorOfCoOwningReferences)
+def MonsterStartVectorOfCoOwningReferencesVector(builder, numElems): return builder.StartVector(8, numElems, 8)
+def StartVectorOfCoOwningReferencesVector(builder, numElems):
+ return MonsterStartVectorOfCoOwningReferencesVector(builder, numElems)
+def MonsterAddNonOwningReference(builder, nonOwningReference): builder.PrependUint64Slot(41, nonOwningReference, 0)
+def AddNonOwningReference(builder, nonOwningReference):
+ return MonsterAddNonOwningReference(builder, nonOwningReference)
+def MonsterAddVectorOfNonOwningReferences(builder, vectorOfNonOwningReferences): builder.PrependUOffsetTRelativeSlot(42, flatbuffers.number_types.UOffsetTFlags.py_type(vectorOfNonOwningReferences), 0)
+def AddVectorOfNonOwningReferences(builder, vectorOfNonOwningReferences):
+ return MonsterAddVectorOfNonOwningReferences(builder, vectorOfNonOwningReferences)
+def MonsterStartVectorOfNonOwningReferencesVector(builder, numElems): return builder.StartVector(8, numElems, 8)
+def StartVectorOfNonOwningReferencesVector(builder, numElems):
+ return MonsterStartVectorOfNonOwningReferencesVector(builder, numElems)
+def MonsterAddAnyUniqueType(builder, anyUniqueType): builder.PrependUint8Slot(43, anyUniqueType, 0)
+def AddAnyUniqueType(builder, anyUniqueType):
+ return MonsterAddAnyUniqueType(builder, anyUniqueType)
+def MonsterAddAnyUnique(builder, anyUnique): builder.PrependUOffsetTRelativeSlot(44, flatbuffers.number_types.UOffsetTFlags.py_type(anyUnique), 0)
+def AddAnyUnique(builder, anyUnique):
+ return MonsterAddAnyUnique(builder, anyUnique)
+def MonsterAddAnyAmbiguousType(builder, anyAmbiguousType): builder.PrependUint8Slot(45, anyAmbiguousType, 0)
+def AddAnyAmbiguousType(builder, anyAmbiguousType):
+ return MonsterAddAnyAmbiguousType(builder, anyAmbiguousType)
+def MonsterAddAnyAmbiguous(builder, anyAmbiguous): builder.PrependUOffsetTRelativeSlot(46, flatbuffers.number_types.UOffsetTFlags.py_type(anyAmbiguous), 0)
+def AddAnyAmbiguous(builder, anyAmbiguous):
+ return MonsterAddAnyAmbiguous(builder, anyAmbiguous)
+def MonsterAddVectorOfEnums(builder, vectorOfEnums): builder.PrependUOffsetTRelativeSlot(47, flatbuffers.number_types.UOffsetTFlags.py_type(vectorOfEnums), 0)
+def AddVectorOfEnums(builder, vectorOfEnums):
+ return MonsterAddVectorOfEnums(builder, vectorOfEnums)
+def MonsterStartVectorOfEnumsVector(builder, numElems): return builder.StartVector(1, numElems, 1)
+def StartVectorOfEnumsVector(builder, numElems):
+ return MonsterStartVectorOfEnumsVector(builder, numElems)
+def MonsterAddSignedEnum(builder, signedEnum): builder.PrependInt8Slot(48, signedEnum, -1)
+def AddSignedEnum(builder, signedEnum):
+ return MonsterAddSignedEnum(builder, signedEnum)
+def MonsterAddTestrequirednestedflatbuffer(builder, testrequirednestedflatbuffer): builder.PrependUOffsetTRelativeSlot(49, flatbuffers.number_types.UOffsetTFlags.py_type(testrequirednestedflatbuffer), 0)
+def AddTestrequirednestedflatbuffer(builder, testrequirednestedflatbuffer):
+ return MonsterAddTestrequirednestedflatbuffer(builder, testrequirednestedflatbuffer)
+def MonsterStartTestrequirednestedflatbufferVector(builder, numElems): return builder.StartVector(1, numElems, 1)
+def StartTestrequirednestedflatbufferVector(builder, numElems):
+ return MonsterStartTestrequirednestedflatbufferVector(builder, numElems)
+def MonsterMakeTestrequirednestedflatbufferVectorFromBytes(builder, bytes):
+ builder.StartVector(1, len(bytes), 1)
+ builder.head = builder.head - len(bytes)
+ builder.Bytes[builder.head : builder.head + len(bytes)] = bytes
+ return builder.EndVector()
+def MakeTestrequirednestedflatbufferVectorFromBytes(builder, bytes):
+ return MonsterMakeTestrequirednestedflatbufferVectorFromBytes(builder, bytes)
+def MonsterAddScalarKeySortedTables(builder, scalarKeySortedTables): builder.PrependUOffsetTRelativeSlot(50, flatbuffers.number_types.UOffsetTFlags.py_type(scalarKeySortedTables), 0)
+def AddScalarKeySortedTables(builder, scalarKeySortedTables):
+ return MonsterAddScalarKeySortedTables(builder, scalarKeySortedTables)
+def MonsterStartScalarKeySortedTablesVector(builder, numElems): return builder.StartVector(4, numElems, 4)
+def StartScalarKeySortedTablesVector(builder, numElems):
+ return MonsterStartScalarKeySortedTablesVector(builder, numElems)
+def MonsterAddNativeInline(builder, nativeInline): builder.PrependStructSlot(51, flatbuffers.number_types.UOffsetTFlags.py_type(nativeInline), 0)
+def AddNativeInline(builder, nativeInline):
+ return MonsterAddNativeInline(builder, nativeInline)
+def MonsterAddLongEnumNonEnumDefault(builder, longEnumNonEnumDefault): builder.PrependUint64Slot(52, longEnumNonEnumDefault, 0)
+def AddLongEnumNonEnumDefault(builder, longEnumNonEnumDefault):
+ return MonsterAddLongEnumNonEnumDefault(builder, longEnumNonEnumDefault)
+def MonsterAddLongEnumNormalDefault(builder, longEnumNormalDefault): builder.PrependUint64Slot(53, longEnumNormalDefault, 2)
+def AddLongEnumNormalDefault(builder, longEnumNormalDefault):
+ return MonsterAddLongEnumNormalDefault(builder, longEnumNormalDefault)
+def MonsterEnd(builder): return builder.EndObject()
+def End(builder):
+ return MonsterEnd(builder)
import MyGame.Example.Ability
import MyGame.Example.Any
import MyGame.Example.AnyAmbiguousAliases
@@ -886,6 +1124,10 @@
self.vectorOfEnums = None # type: List[int]
self.signedEnum = -1 # type: int
self.testrequirednestedflatbuffer = None # type: List[int]
+ self.scalarKeySortedTables = None # type: List[MyGame.Example.Stat.StatT]
+ self.nativeInline = None # type: Optional[MyGame.Example.Test.TestT]
+ self.longEnumNonEnumDefault = 0 # type: int
+ self.longEnumNormalDefault = 2 # type: int
@classmethod
def InitFromBuf(cls, buf, pos):
@@ -1070,6 +1312,18 @@
self.testrequirednestedflatbuffer.append(monster.Testrequirednestedflatbuffer(i))
else:
self.testrequirednestedflatbuffer = monster.TestrequirednestedflatbufferAsNumpy()
+ if not monster.ScalarKeySortedTablesIsNone():
+ self.scalarKeySortedTables = []
+ for i in range(monster.ScalarKeySortedTablesLength()):
+ if monster.ScalarKeySortedTables(i) is None:
+ self.scalarKeySortedTables.append(None)
+ else:
+ stat_ = MyGame.Example.Stat.StatT.InitFromObj(monster.ScalarKeySortedTables(i))
+ self.scalarKeySortedTables.append(stat_)
+ if monster.NativeInline() is not None:
+ self.nativeInline = MyGame.Example.Test.TestT.InitFromObj(monster.NativeInline())
+ self.longEnumNonEnumDefault = monster.LongEnumNonEnumDefault()
+ self.longEnumNormalDefault = monster.LongEnumNormalDefault()
# MonsterT
def Pack(self, builder):
@@ -1082,14 +1336,14 @@
MonsterStartInventoryVector(builder, len(self.inventory))
for i in reversed(range(len(self.inventory))):
builder.PrependUint8(self.inventory[i])
- inventory = builder.EndVector(len(self.inventory))
+ inventory = builder.EndVector()
if self.test is not None:
test = self.test.Pack(builder)
if self.test4 is not None:
MonsterStartTest4Vector(builder, len(self.test4))
for i in reversed(range(len(self.test4))):
self.test4[i].Pack(builder)
- test4 = builder.EndVector(len(self.test4))
+ test4 = builder.EndVector()
if self.testarrayofstring is not None:
testarrayofstringlist = []
for i in range(len(self.testarrayofstring)):
@@ -1097,7 +1351,7 @@
MonsterStartTestarrayofstringVector(builder, len(self.testarrayofstring))
for i in reversed(range(len(self.testarrayofstring))):
builder.PrependUOffsetTRelative(testarrayofstringlist[i])
- testarrayofstring = builder.EndVector(len(self.testarrayofstring))
+ testarrayofstring = builder.EndVector()
if self.testarrayoftables is not None:
testarrayoftableslist = []
for i in range(len(self.testarrayoftables)):
@@ -1105,7 +1359,7 @@
MonsterStartTestarrayoftablesVector(builder, len(self.testarrayoftables))
for i in reversed(range(len(self.testarrayoftables))):
builder.PrependUOffsetTRelative(testarrayoftableslist[i])
- testarrayoftables = builder.EndVector(len(self.testarrayoftables))
+ testarrayoftables = builder.EndVector()
if self.enemy is not None:
enemy = self.enemy.Pack(builder)
if self.testnestedflatbuffer is not None:
@@ -1115,7 +1369,7 @@
MonsterStartTestnestedflatbufferVector(builder, len(self.testnestedflatbuffer))
for i in reversed(range(len(self.testnestedflatbuffer))):
builder.PrependUint8(self.testnestedflatbuffer[i])
- testnestedflatbuffer = builder.EndVector(len(self.testnestedflatbuffer))
+ testnestedflatbuffer = builder.EndVector()
if self.testempty is not None:
testempty = self.testempty.Pack(builder)
if self.testarrayofbools is not None:
@@ -1125,7 +1379,7 @@
MonsterStartTestarrayofboolsVector(builder, len(self.testarrayofbools))
for i in reversed(range(len(self.testarrayofbools))):
builder.PrependBool(self.testarrayofbools[i])
- testarrayofbools = builder.EndVector(len(self.testarrayofbools))
+ testarrayofbools = builder.EndVector()
if self.testarrayofstring2 is not None:
testarrayofstring2list = []
for i in range(len(self.testarrayofstring2)):
@@ -1133,12 +1387,12 @@
MonsterStartTestarrayofstring2Vector(builder, len(self.testarrayofstring2))
for i in reversed(range(len(self.testarrayofstring2))):
builder.PrependUOffsetTRelative(testarrayofstring2list[i])
- testarrayofstring2 = builder.EndVector(len(self.testarrayofstring2))
+ testarrayofstring2 = builder.EndVector()
if self.testarrayofsortedstruct is not None:
MonsterStartTestarrayofsortedstructVector(builder, len(self.testarrayofsortedstruct))
for i in reversed(range(len(self.testarrayofsortedstruct))):
self.testarrayofsortedstruct[i].Pack(builder)
- testarrayofsortedstruct = builder.EndVector(len(self.testarrayofsortedstruct))
+ testarrayofsortedstruct = builder.EndVector()
if self.flex is not None:
if np is not None and type(self.flex) is np.ndarray:
flex = builder.CreateNumpyVector(self.flex)
@@ -1146,12 +1400,12 @@
MonsterStartFlexVector(builder, len(self.flex))
for i in reversed(range(len(self.flex))):
builder.PrependUint8(self.flex[i])
- flex = builder.EndVector(len(self.flex))
+ flex = builder.EndVector()
if self.test5 is not None:
MonsterStartTest5Vector(builder, len(self.test5))
for i in reversed(range(len(self.test5))):
self.test5[i].Pack(builder)
- test5 = builder.EndVector(len(self.test5))
+ test5 = builder.EndVector()
if self.vectorOfLongs is not None:
if np is not None and type(self.vectorOfLongs) is np.ndarray:
vectorOfLongs = builder.CreateNumpyVector(self.vectorOfLongs)
@@ -1159,7 +1413,7 @@
MonsterStartVectorOfLongsVector(builder, len(self.vectorOfLongs))
for i in reversed(range(len(self.vectorOfLongs))):
builder.PrependInt64(self.vectorOfLongs[i])
- vectorOfLongs = builder.EndVector(len(self.vectorOfLongs))
+ vectorOfLongs = builder.EndVector()
if self.vectorOfDoubles is not None:
if np is not None and type(self.vectorOfDoubles) is np.ndarray:
vectorOfDoubles = builder.CreateNumpyVector(self.vectorOfDoubles)
@@ -1167,7 +1421,7 @@
MonsterStartVectorOfDoublesVector(builder, len(self.vectorOfDoubles))
for i in reversed(range(len(self.vectorOfDoubles))):
builder.PrependFloat64(self.vectorOfDoubles[i])
- vectorOfDoubles = builder.EndVector(len(self.vectorOfDoubles))
+ vectorOfDoubles = builder.EndVector()
if self.parentNamespaceTest is not None:
parentNamespaceTest = self.parentNamespaceTest.Pack(builder)
if self.vectorOfReferrables is not None:
@@ -1177,7 +1431,7 @@
MonsterStartVectorOfReferrablesVector(builder, len(self.vectorOfReferrables))
for i in reversed(range(len(self.vectorOfReferrables))):
builder.PrependUOffsetTRelative(vectorOfReferrableslist[i])
- vectorOfReferrables = builder.EndVector(len(self.vectorOfReferrables))
+ vectorOfReferrables = builder.EndVector()
if self.vectorOfWeakReferences is not None:
if np is not None and type(self.vectorOfWeakReferences) is np.ndarray:
vectorOfWeakReferences = builder.CreateNumpyVector(self.vectorOfWeakReferences)
@@ -1185,7 +1439,7 @@
MonsterStartVectorOfWeakReferencesVector(builder, len(self.vectorOfWeakReferences))
for i in reversed(range(len(self.vectorOfWeakReferences))):
builder.PrependUint64(self.vectorOfWeakReferences[i])
- vectorOfWeakReferences = builder.EndVector(len(self.vectorOfWeakReferences))
+ vectorOfWeakReferences = builder.EndVector()
if self.vectorOfStrongReferrables is not None:
vectorOfStrongReferrableslist = []
for i in range(len(self.vectorOfStrongReferrables)):
@@ -1193,7 +1447,7 @@
MonsterStartVectorOfStrongReferrablesVector(builder, len(self.vectorOfStrongReferrables))
for i in reversed(range(len(self.vectorOfStrongReferrables))):
builder.PrependUOffsetTRelative(vectorOfStrongReferrableslist[i])
- vectorOfStrongReferrables = builder.EndVector(len(self.vectorOfStrongReferrables))
+ vectorOfStrongReferrables = builder.EndVector()
if self.vectorOfCoOwningReferences is not None:
if np is not None and type(self.vectorOfCoOwningReferences) is np.ndarray:
vectorOfCoOwningReferences = builder.CreateNumpyVector(self.vectorOfCoOwningReferences)
@@ -1201,7 +1455,7 @@
MonsterStartVectorOfCoOwningReferencesVector(builder, len(self.vectorOfCoOwningReferences))
for i in reversed(range(len(self.vectorOfCoOwningReferences))):
builder.PrependUint64(self.vectorOfCoOwningReferences[i])
- vectorOfCoOwningReferences = builder.EndVector(len(self.vectorOfCoOwningReferences))
+ vectorOfCoOwningReferences = builder.EndVector()
if self.vectorOfNonOwningReferences is not None:
if np is not None and type(self.vectorOfNonOwningReferences) is np.ndarray:
vectorOfNonOwningReferences = builder.CreateNumpyVector(self.vectorOfNonOwningReferences)
@@ -1209,7 +1463,7 @@
MonsterStartVectorOfNonOwningReferencesVector(builder, len(self.vectorOfNonOwningReferences))
for i in reversed(range(len(self.vectorOfNonOwningReferences))):
builder.PrependUint64(self.vectorOfNonOwningReferences[i])
- vectorOfNonOwningReferences = builder.EndVector(len(self.vectorOfNonOwningReferences))
+ vectorOfNonOwningReferences = builder.EndVector()
if self.anyUnique is not None:
anyUnique = self.anyUnique.Pack(builder)
if self.anyAmbiguous is not None:
@@ -1221,7 +1475,7 @@
MonsterStartVectorOfEnumsVector(builder, len(self.vectorOfEnums))
for i in reversed(range(len(self.vectorOfEnums))):
builder.PrependUint8(self.vectorOfEnums[i])
- vectorOfEnums = builder.EndVector(len(self.vectorOfEnums))
+ vectorOfEnums = builder.EndVector()
if self.testrequirednestedflatbuffer is not None:
if np is not None and type(self.testrequirednestedflatbuffer) is np.ndarray:
testrequirednestedflatbuffer = builder.CreateNumpyVector(self.testrequirednestedflatbuffer)
@@ -1229,7 +1483,15 @@
MonsterStartTestrequirednestedflatbufferVector(builder, len(self.testrequirednestedflatbuffer))
for i in reversed(range(len(self.testrequirednestedflatbuffer))):
builder.PrependUint8(self.testrequirednestedflatbuffer[i])
- testrequirednestedflatbuffer = builder.EndVector(len(self.testrequirednestedflatbuffer))
+ testrequirednestedflatbuffer = builder.EndVector()
+ if self.scalarKeySortedTables is not None:
+ scalarKeySortedTableslist = []
+ for i in range(len(self.scalarKeySortedTables)):
+ scalarKeySortedTableslist.append(self.scalarKeySortedTables[i].Pack(builder))
+ MonsterStartScalarKeySortedTablesVector(builder, len(self.scalarKeySortedTables))
+ for i in reversed(range(len(self.scalarKeySortedTables))):
+ builder.PrependUOffsetTRelative(scalarKeySortedTableslist[i])
+ scalarKeySortedTables = builder.EndVector()
MonsterStart(builder)
if self.pos is not None:
pos = self.pos.Pack(builder)
@@ -1308,5 +1570,12 @@
MonsterAddSignedEnum(builder, self.signedEnum)
if self.testrequirednestedflatbuffer is not None:
MonsterAddTestrequirednestedflatbuffer(builder, testrequirednestedflatbuffer)
+ if self.scalarKeySortedTables is not None:
+ MonsterAddScalarKeySortedTables(builder, scalarKeySortedTables)
+ if self.nativeInline is not None:
+ nativeInline = self.nativeInline.Pack(builder)
+ MonsterAddNativeInline(builder, nativeInline)
+ MonsterAddLongEnumNonEnumDefault(builder, self.longEnumNonEnumDefault)
+ MonsterAddLongEnumNormalDefault(builder, self.longEnumNormalDefault)
monster = MonsterEnd(builder)
return monster
diff --git a/tests/MyGame/Example/MonsterStorageGrpc.java b/tests/MyGame/Example/MonsterStorageGrpc.java
index 8e468d4..40103ae 100644
--- a/tests/MyGame/Example/MonsterStorageGrpc.java
+++ b/tests/MyGame/Example/MonsterStorageGrpc.java
@@ -1,4 +1,4 @@
-//Generated by flatc compiler (version 1.12.0)
+//Generated by flatc compiler (version 2.0.0)
//If you make any local changes, they will be lost
//source: monster_test.fbs
diff --git a/tests/MyGame/Example/MonsterStorage_grpc.go b/tests/MyGame/Example/MonsterStorage_grpc.go
index deeec29..4d9f104 100644
--- a/tests/MyGame/Example/MonsterStorage_grpc.go
+++ b/tests/MyGame/Example/MonsterStorage_grpc.go
@@ -4,248 +4,299 @@
package Example
-import "github.com/google/flatbuffers/go"
-
import (
- context "context"
- grpc "google.golang.org/grpc"
+ context "context"
+ flatbuffers "github.com/google/flatbuffers/go"
+ grpc "google.golang.org/grpc"
+ "google.golang.org/grpc/codes"
+ "google.golang.org/grpc/status"
)
// Client API for MonsterStorage service
-type MonsterStorageClient interface{
- Store(ctx context.Context, in *flatbuffers.Builder,
- opts... grpc.CallOption) (* Stat, error)
- Retrieve(ctx context.Context, in *flatbuffers.Builder,
- opts... grpc.CallOption) (MonsterStorage_RetrieveClient, error)
- GetMaxHitPoint(ctx context.Context,
- opts... grpc.CallOption) (MonsterStorage_GetMaxHitPointClient, error)
- GetMinMaxHitPoints(ctx context.Context,
- opts... grpc.CallOption) (MonsterStorage_GetMinMaxHitPointsClient, error)
+type MonsterStorageClient interface {
+ Store(ctx context.Context, in *flatbuffers.Builder,
+ opts ...grpc.CallOption) (*Stat, error)
+ Retrieve(ctx context.Context, in *flatbuffers.Builder,
+ opts ...grpc.CallOption) (MonsterStorage_RetrieveClient, error)
+ GetMaxHitPoint(ctx context.Context,
+ opts ...grpc.CallOption) (MonsterStorage_GetMaxHitPointClient, error)
+ GetMinMaxHitPoints(ctx context.Context,
+ opts ...grpc.CallOption) (MonsterStorage_GetMinMaxHitPointsClient, error)
}
type monsterStorageClient struct {
- cc *grpc.ClientConn
+ cc grpc.ClientConnInterface
}
-func NewMonsterStorageClient(cc *grpc.ClientConn) MonsterStorageClient {
- return &monsterStorageClient{cc}
+func NewMonsterStorageClient(cc grpc.ClientConnInterface) MonsterStorageClient {
+ return &monsterStorageClient{cc}
}
-func (c *monsterStorageClient) Store(ctx context.Context, in *flatbuffers.Builder,
- opts... grpc.CallOption) (* Stat, error) {
- out := new(Stat)
- err := grpc.Invoke(ctx, "/MyGame.Example.MonsterStorage/Store", in, out, c.cc, opts...)
- if err != nil { return nil, err }
- return out, nil
+func (c *monsterStorageClient) Store(ctx context.Context, in *flatbuffers.Builder,
+ opts ...grpc.CallOption) (*Stat, error) {
+ out := new(Stat)
+ err := c.cc.Invoke(ctx, "/MyGame.Example.MonsterStorage/Store", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
}
-func (c *monsterStorageClient) Retrieve(ctx context.Context, in *flatbuffers.Builder,
- opts... grpc.CallOption) (MonsterStorage_RetrieveClient, error) {
- stream, err := grpc.NewClientStream(ctx, &_MonsterStorage_serviceDesc.Streams[0], c.cc, "/MyGame.Example.MonsterStorage/Retrieve", opts...)
- if err != nil { return nil, err }
- x := &monsterStorageRetrieveClient{stream}
- if err := x.ClientStream.SendMsg(in); err != nil { return nil, err }
- if err := x.ClientStream.CloseSend(); err != nil { return nil, err }
- return x,nil
+func (c *monsterStorageClient) Retrieve(ctx context.Context, in *flatbuffers.Builder,
+ opts ...grpc.CallOption) (MonsterStorage_RetrieveClient, error) {
+ stream, err := c.cc.NewStream(ctx, &_MonsterStorage_serviceDesc.Streams[0], "/MyGame.Example.MonsterStorage/Retrieve", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &monsterStorageRetrieveClient{stream}
+ if err := x.ClientStream.SendMsg(in); err != nil {
+ return nil, err
+ }
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ return x, nil
}
type MonsterStorage_RetrieveClient interface {
- Recv() (*Monster, error)
- grpc.ClientStream
+ Recv() (*Monster, error)
+ grpc.ClientStream
}
-type monsterStorageRetrieveClient struct{
- grpc.ClientStream
+type monsterStorageRetrieveClient struct {
+ grpc.ClientStream
}
func (x *monsterStorageRetrieveClient) Recv() (*Monster, error) {
- m := new(Monster)
- if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err }
- return m, nil
+ m := new(Monster)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
}
-func (c *monsterStorageClient) GetMaxHitPoint(ctx context.Context,
- opts... grpc.CallOption) (MonsterStorage_GetMaxHitPointClient, error) {
- stream, err := grpc.NewClientStream(ctx, &_MonsterStorage_serviceDesc.Streams[1], c.cc, "/MyGame.Example.MonsterStorage/GetMaxHitPoint", opts...)
- if err != nil { return nil, err }
- x := &monsterStorageGetMaxHitPointClient{stream}
- return x,nil
+func (c *monsterStorageClient) GetMaxHitPoint(ctx context.Context,
+ opts ...grpc.CallOption) (MonsterStorage_GetMaxHitPointClient, error) {
+ stream, err := c.cc.NewStream(ctx, &_MonsterStorage_serviceDesc.Streams[1], "/MyGame.Example.MonsterStorage/GetMaxHitPoint", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &monsterStorageGetMaxHitPointClient{stream}
+ return x, nil
}
type MonsterStorage_GetMaxHitPointClient interface {
- Send(*flatbuffers.Builder) error
- CloseAndRecv() (*Stat, error)
- grpc.ClientStream
+ Send(*flatbuffers.Builder) error
+ CloseAndRecv() (*Stat, error)
+ grpc.ClientStream
}
-type monsterStorageGetMaxHitPointClient struct{
- grpc.ClientStream
+type monsterStorageGetMaxHitPointClient struct {
+ grpc.ClientStream
}
func (x *monsterStorageGetMaxHitPointClient) Send(m *flatbuffers.Builder) error {
- return x.ClientStream.SendMsg(m)
+ return x.ClientStream.SendMsg(m)
}
func (x *monsterStorageGetMaxHitPointClient) CloseAndRecv() (*Stat, error) {
- if err := x.ClientStream.CloseSend(); err != nil { return nil, err }
- m := new (Stat)
- if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err }
- return m, nil
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ m := new(Stat)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
}
-func (c *monsterStorageClient) GetMinMaxHitPoints(ctx context.Context,
- opts... grpc.CallOption) (MonsterStorage_GetMinMaxHitPointsClient, error) {
- stream, err := grpc.NewClientStream(ctx, &_MonsterStorage_serviceDesc.Streams[2], c.cc, "/MyGame.Example.MonsterStorage/GetMinMaxHitPoints", opts...)
- if err != nil { return nil, err }
- x := &monsterStorageGetMinMaxHitPointsClient{stream}
- return x,nil
+func (c *monsterStorageClient) GetMinMaxHitPoints(ctx context.Context,
+ opts ...grpc.CallOption) (MonsterStorage_GetMinMaxHitPointsClient, error) {
+ stream, err := c.cc.NewStream(ctx, &_MonsterStorage_serviceDesc.Streams[2], "/MyGame.Example.MonsterStorage/GetMinMaxHitPoints", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &monsterStorageGetMinMaxHitPointsClient{stream}
+ return x, nil
}
type MonsterStorage_GetMinMaxHitPointsClient interface {
- Send(*flatbuffers.Builder) error
- Recv() (*Stat, error)
- grpc.ClientStream
+ Send(*flatbuffers.Builder) error
+ Recv() (*Stat, error)
+ grpc.ClientStream
}
-type monsterStorageGetMinMaxHitPointsClient struct{
- grpc.ClientStream
+type monsterStorageGetMinMaxHitPointsClient struct {
+ grpc.ClientStream
}
func (x *monsterStorageGetMinMaxHitPointsClient) Send(m *flatbuffers.Builder) error {
- return x.ClientStream.SendMsg(m)
+ return x.ClientStream.SendMsg(m)
}
func (x *monsterStorageGetMinMaxHitPointsClient) Recv() (*Stat, error) {
- m := new(Stat)
- if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err }
- return m, nil
+ m := new(Stat)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
}
// Server API for MonsterStorage service
type MonsterStorageServer interface {
- Store(context.Context, *Monster) (*flatbuffers.Builder, error)
- Retrieve(*Stat, MonsterStorage_RetrieveServer) error
- GetMaxHitPoint(MonsterStorage_GetMaxHitPointServer) error
- GetMinMaxHitPoints(MonsterStorage_GetMinMaxHitPointsServer) error
+ Store(context.Context, *Monster) (*flatbuffers.Builder, error)
+ Retrieve(*Stat, MonsterStorage_RetrieveServer) error
+ GetMaxHitPoint(MonsterStorage_GetMaxHitPointServer) error
+ GetMinMaxHitPoints(MonsterStorage_GetMinMaxHitPointsServer) error
+ mustEmbedUnimplementedMonsterStorageServer()
}
-func RegisterMonsterStorageServer(s *grpc.Server, srv MonsterStorageServer) {
- s.RegisterService(&_MonsterStorage_serviceDesc, srv)
+type UnimplementedMonsterStorageServer struct {
+}
+
+func (UnimplementedMonsterStorageServer) Store(context.Context, *Monster) (*flatbuffers.Builder, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method Store not implemented")
+}
+
+func (UnimplementedMonsterStorageServer) Retrieve(*Stat, MonsterStorage_RetrieveServer) error {
+ return status.Errorf(codes.Unimplemented, "method Retrieve not implemented")
+}
+
+func (UnimplementedMonsterStorageServer) GetMaxHitPoint(MonsterStorage_GetMaxHitPointServer) error {
+ return status.Errorf(codes.Unimplemented, "method GetMaxHitPoint not implemented")
+}
+
+func (UnimplementedMonsterStorageServer) GetMinMaxHitPoints(MonsterStorage_GetMinMaxHitPointsServer) error {
+ return status.Errorf(codes.Unimplemented, "method GetMinMaxHitPoints not implemented")
+}
+
+func (UnimplementedMonsterStorageServer) mustEmbedUnimplementedMonsterStorageServer() {}
+
+type UnsafeMonsterStorageServer interface {
+ mustEmbedUnimplementedMonsterStorageServer()
+}
+
+func RegisterMonsterStorageServer(s grpc.ServiceRegistrar, srv MonsterStorageServer) {
+ s.RegisterService(&_MonsterStorage_serviceDesc, srv)
}
func _MonsterStorage_Store_Handler(srv interface{}, ctx context.Context,
dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(Monster)
- if err := dec(in); err != nil { return nil, err }
- if interceptor == nil { return srv.(MonsterStorageServer).Store(ctx, in) }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/MyGame.Example.MonsterStorage/Store",
- }
-
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(MonsterStorageServer).Store(ctx, req.(* Monster))
- }
- return interceptor(ctx, in, info, handler)
+ in := new(Monster)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(MonsterStorageServer).Store(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/MyGame.Example.MonsterStorage/Store",
+ }
+
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(MonsterStorageServer).Store(ctx, req.(*Monster))
+ }
+ return interceptor(ctx, in, info, handler)
}
-
-
func _MonsterStorage_Retrieve_Handler(srv interface{}, stream grpc.ServerStream) error {
- m := new(Stat)
- if err := stream.RecvMsg(m); err != nil { return err }
- return srv.(MonsterStorageServer).Retrieve(m, &monsterStorageRetrieveServer{stream})
+ m := new(Stat)
+ if err := stream.RecvMsg(m); err != nil {
+ return err
+ }
+ return srv.(MonsterStorageServer).Retrieve(m, &monsterStorageRetrieveServer{stream})
}
-type MonsterStorage_RetrieveServer interface {
- Send(* flatbuffers.Builder) error
- grpc.ServerStream
+type MonsterStorage_RetrieveServer interface {
+ Send(*flatbuffers.Builder) error
+ grpc.ServerStream
}
type monsterStorageRetrieveServer struct {
- grpc.ServerStream
+ grpc.ServerStream
}
func (x *monsterStorageRetrieveServer) Send(m *flatbuffers.Builder) error {
- return x.ServerStream.SendMsg(m)
+ return x.ServerStream.SendMsg(m)
}
-
func _MonsterStorage_GetMaxHitPoint_Handler(srv interface{}, stream grpc.ServerStream) error {
- return srv.(MonsterStorageServer).GetMaxHitPoint(&monsterStorageGetMaxHitPointServer{stream})
+ return srv.(MonsterStorageServer).GetMaxHitPoint(&monsterStorageGetMaxHitPointServer{stream})
}
-type MonsterStorage_GetMaxHitPointServer interface {
- Recv() (* Monster, error)
- SendAndClose(* flatbuffers.Builder) error
- grpc.ServerStream
+type MonsterStorage_GetMaxHitPointServer interface {
+ Recv() (*Monster, error)
+ SendAndClose(*flatbuffers.Builder) error
+ grpc.ServerStream
}
type monsterStorageGetMaxHitPointServer struct {
- grpc.ServerStream
+ grpc.ServerStream
}
func (x *monsterStorageGetMaxHitPointServer) Recv() (*Monster, error) {
- m := new(Monster)
- if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err }
- return m, nil
+ m := new(Monster)
+ if err := x.ServerStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
}
func (x *monsterStorageGetMaxHitPointServer) SendAndClose(m *flatbuffers.Builder) error {
- return x.ServerStream.SendMsg(m)
+ return x.ServerStream.SendMsg(m)
}
-
func _MonsterStorage_GetMinMaxHitPoints_Handler(srv interface{}, stream grpc.ServerStream) error {
- return srv.(MonsterStorageServer).GetMinMaxHitPoints(&monsterStorageGetMinMaxHitPointsServer{stream})
+ return srv.(MonsterStorageServer).GetMinMaxHitPoints(&monsterStorageGetMinMaxHitPointsServer{stream})
}
-type MonsterStorage_GetMinMaxHitPointsServer interface {
- Send(* flatbuffers.Builder) error
- Recv() (* Monster, error)
- grpc.ServerStream
+type MonsterStorage_GetMinMaxHitPointsServer interface {
+ Send(*flatbuffers.Builder) error
+ Recv() (*Monster, error)
+ grpc.ServerStream
}
type monsterStorageGetMinMaxHitPointsServer struct {
- grpc.ServerStream
+ grpc.ServerStream
}
func (x *monsterStorageGetMinMaxHitPointsServer) Send(m *flatbuffers.Builder) error {
- return x.ServerStream.SendMsg(m)
+ return x.ServerStream.SendMsg(m)
}
func (x *monsterStorageGetMinMaxHitPointsServer) Recv() (*Monster, error) {
- m := new(Monster)
- if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err }
- return m, nil
+ m := new(Monster)
+ if err := x.ServerStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
}
-
var _MonsterStorage_serviceDesc = grpc.ServiceDesc{
- ServiceName: "MyGame.Example.MonsterStorage",
- HandlerType: (*MonsterStorageServer)(nil),
- Methods: []grpc.MethodDesc{
- {
- MethodName: "Store",
- Handler: _MonsterStorage_Store_Handler,
- },
- },
- Streams: []grpc.StreamDesc{
- {
- StreamName: "Retrieve",
- Handler: _MonsterStorage_Retrieve_Handler,
- ServerStreams: true,
- },
- {
- StreamName: "GetMaxHitPoint",
- Handler: _MonsterStorage_GetMaxHitPoint_Handler,
- ClientStreams: true,
- },
- {
- StreamName: "GetMinMaxHitPoints",
- Handler: _MonsterStorage_GetMinMaxHitPoints_Handler,
- ServerStreams: true,
- ClientStreams: true,
- },
- },
+ ServiceName: "MyGame.Example.MonsterStorage",
+ HandlerType: (*MonsterStorageServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "Store",
+ Handler: _MonsterStorage_Store_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{
+ {
+ StreamName: "Retrieve",
+ Handler: _MonsterStorage_Retrieve_Handler,
+ ServerStreams: true,
+ },
+ {
+ StreamName: "GetMaxHitPoint",
+ Handler: _MonsterStorage_GetMaxHitPoint_Handler,
+ ClientStreams: true,
+ },
+ {
+ StreamName: "GetMinMaxHitPoints",
+ Handler: _MonsterStorage_GetMinMaxHitPoints_Handler,
+ ServerStreams: true,
+ ClientStreams: true,
+ },
+ },
}
-
diff --git a/tests/MyGame/Example/MonsterT.java b/tests/MyGame/Example/MonsterT.java
new file mode 100644
index 0000000..06804c7
--- /dev/null
+++ b/tests/MyGame/Example/MonsterT.java
@@ -0,0 +1,324 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.Example;
+
+import java.nio.*;
+import java.lang.*;
+import java.util.*;
+import com.google.flatbuffers.*;
+
+public class MonsterT {
+ private MyGame.Example.Vec3T pos;
+ private short mana;
+ private short hp;
+ private String name;
+ private int[] inventory;
+ private int color;
+ private MyGame.Example.AnyUnion test;
+ private MyGame.Example.TestT[] test4;
+ private String[] testarrayofstring;
+ private MyGame.Example.MonsterT[] testarrayoftables;
+ private MyGame.Example.MonsterT enemy;
+ private int[] testnestedflatbuffer;
+ private MyGame.Example.StatT testempty;
+ private boolean testbool;
+ private int testhashs32Fnv1;
+ private long testhashu32Fnv1;
+ private long testhashs64Fnv1;
+ private long testhashu64Fnv1;
+ private int testhashs32Fnv1a;
+ private long testhashu32Fnv1a;
+ private long testhashs64Fnv1a;
+ private long testhashu64Fnv1a;
+ private boolean[] testarrayofbools;
+ private float testf;
+ private float testf2;
+ private float testf3;
+ private String[] testarrayofstring2;
+ private MyGame.Example.AbilityT[] testarrayofsortedstruct;
+ private int[] flex;
+ private MyGame.Example.TestT[] test5;
+ private long[] vectorOfLongs;
+ private double[] vectorOfDoubles;
+ private MyGame.InParentNamespaceT parentNamespaceTest;
+ private MyGame.Example.ReferrableT[] vectorOfReferrables;
+ private long singleWeakReference;
+ private long[] vectorOfWeakReferences;
+ private MyGame.Example.ReferrableT[] vectorOfStrongReferrables;
+ private long coOwningReference;
+ private long[] vectorOfCoOwningReferences;
+ private long nonOwningReference;
+ private long[] vectorOfNonOwningReferences;
+ private MyGame.Example.AnyUniqueAliasesUnion anyUnique;
+ private MyGame.Example.AnyAmbiguousAliasesUnion anyAmbiguous;
+ private int[] vectorOfEnums;
+ private byte signedEnum;
+ private int[] testrequirednestedflatbuffer;
+ private MyGame.Example.StatT[] scalarKeySortedTables;
+ private MyGame.Example.TestT nativeInline;
+ private long longEnumNonEnumDefault;
+ private long longEnumNormalDefault;
+
+ public MyGame.Example.Vec3T getPos() { return pos; }
+
+ public void setPos(MyGame.Example.Vec3T pos) { this.pos = pos; }
+
+ public short getMana() { return mana; }
+
+ public void setMana(short mana) { this.mana = mana; }
+
+ public short getHp() { return hp; }
+
+ public void setHp(short hp) { this.hp = hp; }
+
+ public String getName() { return name; }
+
+ public void setName(String name) { this.name = name; }
+
+ public int[] getInventory() { return inventory; }
+
+ public void setInventory(int[] inventory) { this.inventory = inventory; }
+
+ public int getColor() { return color; }
+
+ public void setColor(int color) { this.color = color; }
+
+ public MyGame.Example.AnyUnion getTest() { return test; }
+
+ public void setTest(MyGame.Example.AnyUnion test) { this.test = test; }
+
+ public MyGame.Example.TestT[] getTest4() { return test4; }
+
+ public void setTest4(MyGame.Example.TestT[] test4) { this.test4 = test4; }
+
+ public String[] getTestarrayofstring() { return testarrayofstring; }
+
+ public void setTestarrayofstring(String[] testarrayofstring) { this.testarrayofstring = testarrayofstring; }
+
+ public MyGame.Example.MonsterT[] getTestarrayoftables() { return testarrayoftables; }
+
+ public void setTestarrayoftables(MyGame.Example.MonsterT[] testarrayoftables) { this.testarrayoftables = testarrayoftables; }
+
+ public MyGame.Example.MonsterT getEnemy() { return enemy; }
+
+ public void setEnemy(MyGame.Example.MonsterT enemy) { this.enemy = enemy; }
+
+ public int[] getTestnestedflatbuffer() { return testnestedflatbuffer; }
+
+ public void setTestnestedflatbuffer(int[] testnestedflatbuffer) { this.testnestedflatbuffer = testnestedflatbuffer; }
+
+ public MyGame.Example.StatT getTestempty() { return testempty; }
+
+ public void setTestempty(MyGame.Example.StatT testempty) { this.testempty = testempty; }
+
+ public boolean getTestbool() { return testbool; }
+
+ public void setTestbool(boolean testbool) { this.testbool = testbool; }
+
+ public int getTesthashs32Fnv1() { return testhashs32Fnv1; }
+
+ public void setTesthashs32Fnv1(int testhashs32Fnv1) { this.testhashs32Fnv1 = testhashs32Fnv1; }
+
+ public long getTesthashu32Fnv1() { return testhashu32Fnv1; }
+
+ public void setTesthashu32Fnv1(long testhashu32Fnv1) { this.testhashu32Fnv1 = testhashu32Fnv1; }
+
+ public long getTesthashs64Fnv1() { return testhashs64Fnv1; }
+
+ public void setTesthashs64Fnv1(long testhashs64Fnv1) { this.testhashs64Fnv1 = testhashs64Fnv1; }
+
+ public long getTesthashu64Fnv1() { return testhashu64Fnv1; }
+
+ public void setTesthashu64Fnv1(long testhashu64Fnv1) { this.testhashu64Fnv1 = testhashu64Fnv1; }
+
+ public int getTesthashs32Fnv1a() { return testhashs32Fnv1a; }
+
+ public void setTesthashs32Fnv1a(int testhashs32Fnv1a) { this.testhashs32Fnv1a = testhashs32Fnv1a; }
+
+ public long getTesthashu32Fnv1a() { return testhashu32Fnv1a; }
+
+ public void setTesthashu32Fnv1a(long testhashu32Fnv1a) { this.testhashu32Fnv1a = testhashu32Fnv1a; }
+
+ public long getTesthashs64Fnv1a() { return testhashs64Fnv1a; }
+
+ public void setTesthashs64Fnv1a(long testhashs64Fnv1a) { this.testhashs64Fnv1a = testhashs64Fnv1a; }
+
+ public long getTesthashu64Fnv1a() { return testhashu64Fnv1a; }
+
+ public void setTesthashu64Fnv1a(long testhashu64Fnv1a) { this.testhashu64Fnv1a = testhashu64Fnv1a; }
+
+ public boolean[] getTestarrayofbools() { return testarrayofbools; }
+
+ public void setTestarrayofbools(boolean[] testarrayofbools) { this.testarrayofbools = testarrayofbools; }
+
+ public float getTestf() { return testf; }
+
+ public void setTestf(float testf) { this.testf = testf; }
+
+ public float getTestf2() { return testf2; }
+
+ public void setTestf2(float testf2) { this.testf2 = testf2; }
+
+ public float getTestf3() { return testf3; }
+
+ public void setTestf3(float testf3) { this.testf3 = testf3; }
+
+ public String[] getTestarrayofstring2() { return testarrayofstring2; }
+
+ public void setTestarrayofstring2(String[] testarrayofstring2) { this.testarrayofstring2 = testarrayofstring2; }
+
+ public MyGame.Example.AbilityT[] getTestarrayofsortedstruct() { return testarrayofsortedstruct; }
+
+ public void setTestarrayofsortedstruct(MyGame.Example.AbilityT[] testarrayofsortedstruct) { this.testarrayofsortedstruct = testarrayofsortedstruct; }
+
+ public int[] getFlex() { return flex; }
+
+ public void setFlex(int[] flex) { this.flex = flex; }
+
+ public MyGame.Example.TestT[] getTest5() { return test5; }
+
+ public void setTest5(MyGame.Example.TestT[] test5) { this.test5 = test5; }
+
+ public long[] getVectorOfLongs() { return vectorOfLongs; }
+
+ public void setVectorOfLongs(long[] vectorOfLongs) { this.vectorOfLongs = vectorOfLongs; }
+
+ public double[] getVectorOfDoubles() { return vectorOfDoubles; }
+
+ public void setVectorOfDoubles(double[] vectorOfDoubles) { this.vectorOfDoubles = vectorOfDoubles; }
+
+ public MyGame.InParentNamespaceT getParentNamespaceTest() { return parentNamespaceTest; }
+
+ public void setParentNamespaceTest(MyGame.InParentNamespaceT parentNamespaceTest) { this.parentNamespaceTest = parentNamespaceTest; }
+
+ public MyGame.Example.ReferrableT[] getVectorOfReferrables() { return vectorOfReferrables; }
+
+ public void setVectorOfReferrables(MyGame.Example.ReferrableT[] vectorOfReferrables) { this.vectorOfReferrables = vectorOfReferrables; }
+
+ public long getSingleWeakReference() { return singleWeakReference; }
+
+ public void setSingleWeakReference(long singleWeakReference) { this.singleWeakReference = singleWeakReference; }
+
+ public long[] getVectorOfWeakReferences() { return vectorOfWeakReferences; }
+
+ public void setVectorOfWeakReferences(long[] vectorOfWeakReferences) { this.vectorOfWeakReferences = vectorOfWeakReferences; }
+
+ public MyGame.Example.ReferrableT[] getVectorOfStrongReferrables() { return vectorOfStrongReferrables; }
+
+ public void setVectorOfStrongReferrables(MyGame.Example.ReferrableT[] vectorOfStrongReferrables) { this.vectorOfStrongReferrables = vectorOfStrongReferrables; }
+
+ public long getCoOwningReference() { return coOwningReference; }
+
+ public void setCoOwningReference(long coOwningReference) { this.coOwningReference = coOwningReference; }
+
+ public long[] getVectorOfCoOwningReferences() { return vectorOfCoOwningReferences; }
+
+ public void setVectorOfCoOwningReferences(long[] vectorOfCoOwningReferences) { this.vectorOfCoOwningReferences = vectorOfCoOwningReferences; }
+
+ public long getNonOwningReference() { return nonOwningReference; }
+
+ public void setNonOwningReference(long nonOwningReference) { this.nonOwningReference = nonOwningReference; }
+
+ public long[] getVectorOfNonOwningReferences() { return vectorOfNonOwningReferences; }
+
+ public void setVectorOfNonOwningReferences(long[] vectorOfNonOwningReferences) { this.vectorOfNonOwningReferences = vectorOfNonOwningReferences; }
+
+ public MyGame.Example.AnyUniqueAliasesUnion getAnyUnique() { return anyUnique; }
+
+ public void setAnyUnique(MyGame.Example.AnyUniqueAliasesUnion anyUnique) { this.anyUnique = anyUnique; }
+
+ public MyGame.Example.AnyAmbiguousAliasesUnion getAnyAmbiguous() { return anyAmbiguous; }
+
+ public void setAnyAmbiguous(MyGame.Example.AnyAmbiguousAliasesUnion anyAmbiguous) { this.anyAmbiguous = anyAmbiguous; }
+
+ public int[] getVectorOfEnums() { return vectorOfEnums; }
+
+ public void setVectorOfEnums(int[] vectorOfEnums) { this.vectorOfEnums = vectorOfEnums; }
+
+ public byte getSignedEnum() { return signedEnum; }
+
+ public void setSignedEnum(byte signedEnum) { this.signedEnum = signedEnum; }
+
+ public int[] getTestrequirednestedflatbuffer() { return testrequirednestedflatbuffer; }
+
+ public void setTestrequirednestedflatbuffer(int[] testrequirednestedflatbuffer) { this.testrequirednestedflatbuffer = testrequirednestedflatbuffer; }
+
+ public MyGame.Example.StatT[] getScalarKeySortedTables() { return scalarKeySortedTables; }
+
+ public void setScalarKeySortedTables(MyGame.Example.StatT[] scalarKeySortedTables) { this.scalarKeySortedTables = scalarKeySortedTables; }
+
+ public MyGame.Example.TestT getNativeInline() { return nativeInline; }
+
+ public void setNativeInline(MyGame.Example.TestT nativeInline) { this.nativeInline = nativeInline; }
+
+ public long getLongEnumNonEnumDefault() { return longEnumNonEnumDefault; }
+
+ public void setLongEnumNonEnumDefault(long longEnumNonEnumDefault) { this.longEnumNonEnumDefault = longEnumNonEnumDefault; }
+
+ public long getLongEnumNormalDefault() { return longEnumNormalDefault; }
+
+ public void setLongEnumNormalDefault(long longEnumNormalDefault) { this.longEnumNormalDefault = longEnumNormalDefault; }
+
+
+ public MonsterT() {
+ this.pos = new MyGame.Example.Vec3T();
+ this.mana = 150;
+ this.hp = 100;
+ this.name = null;
+ this.inventory = null;
+ this.color = 8;
+ this.test = null;
+ this.test4 = null;
+ this.testarrayofstring = null;
+ this.testarrayoftables = null;
+ this.enemy = null;
+ this.testnestedflatbuffer = null;
+ this.testempty = null;
+ this.testbool = false;
+ this.testhashs32Fnv1 = 0;
+ this.testhashu32Fnv1 = 0L;
+ this.testhashs64Fnv1 = 0L;
+ this.testhashu64Fnv1 = 0L;
+ this.testhashs32Fnv1a = 0;
+ this.testhashu32Fnv1a = 0L;
+ this.testhashs64Fnv1a = 0L;
+ this.testhashu64Fnv1a = 0L;
+ this.testarrayofbools = null;
+ this.testf = 3.14159f;
+ this.testf2 = 3.0f;
+ this.testf3 = 0.0f;
+ this.testarrayofstring2 = null;
+ this.testarrayofsortedstruct = null;
+ this.flex = null;
+ this.test5 = null;
+ this.vectorOfLongs = null;
+ this.vectorOfDoubles = null;
+ this.parentNamespaceTest = null;
+ this.vectorOfReferrables = null;
+ this.singleWeakReference = 0L;
+ this.vectorOfWeakReferences = null;
+ this.vectorOfStrongReferrables = null;
+ this.coOwningReference = 0L;
+ this.vectorOfCoOwningReferences = null;
+ this.nonOwningReference = 0L;
+ this.vectorOfNonOwningReferences = null;
+ this.anyUnique = null;
+ this.anyAmbiguous = null;
+ this.vectorOfEnums = null;
+ this.signedEnum = -1;
+ this.testrequirednestedflatbuffer = null;
+ this.scalarKeySortedTables = null;
+ this.nativeInline = new MyGame.Example.TestT();
+ this.longEnumNonEnumDefault = 0L;
+ this.longEnumNormalDefault = 2L;
+ }
+ public static MonsterT deserializeFromBinary(byte[] fbBuffer) {
+ return Monster.getRootAsMonster(ByteBuffer.wrap(fbBuffer)).unpack();
+ }
+ public byte[] serializeToBinary() {
+ FlatBufferBuilder fbb = new FlatBufferBuilder();
+ Monster.finishMonsterBuffer(fbb, Monster.pack(fbb, this));
+ return fbb.sizedByteArray();
+ }
+}
+
diff --git a/tests/MyGame/Example/NestedStruct.cs b/tests/MyGame/Example/NestedStruct.cs
index 13e3498..f323342 100644
--- a/tests/MyGame/Example/NestedStruct.cs
+++ b/tests/MyGame/Example/NestedStruct.cs
@@ -66,7 +66,7 @@
_c,
_d);
}
-};
+}
public class NestedStructT
{
diff --git a/tests/MyGame/Example/NestedStruct.java b/tests/MyGame/Example/NestedStruct.java
index fbfedd8..d3081e6 100644
--- a/tests/MyGame/Example/NestedStruct.java
+++ b/tests/MyGame/Example/NestedStruct.java
@@ -43,5 +43,32 @@
public NestedStruct get(int j) { return get(new NestedStruct(), j); }
public NestedStruct get(NestedStruct obj, int j) { return obj.__assign(__element(j), bb); }
}
+ public NestedStructT unpack() {
+ NestedStructT _o = new NestedStructT();
+ unpackTo(_o);
+ return _o;
+ }
+ public void unpackTo(NestedStructT _o) {
+ int[] _oA = _o.getA();
+ for (int _j = 0; _j < 2; ++_j) { _oA[_j] = a(_j); }
+ byte _oB = b();
+ _o.setB(_oB);
+ byte[] _oC = _o.getC();
+ for (int _j = 0; _j < 2; ++_j) { _oC[_j] = c(_j); }
+ long[] _oD = _o.getD();
+ for (int _j = 0; _j < 2; ++_j) { _oD[_j] = d(_j); }
+ }
+ public static int pack(FlatBufferBuilder builder, NestedStructT _o) {
+ if (_o == null) return 0;
+ int[] _a = _o.getA();
+ byte[] _c = _o.getC();
+ long[] _d = _o.getD();
+ return createNestedStruct(
+ builder,
+ _a,
+ _o.getB(),
+ _c,
+ _d);
+ }
}
diff --git a/tests/MyGame/Example/NestedStructT.java b/tests/MyGame/Example/NestedStructT.java
new file mode 100644
index 0000000..7892462
--- /dev/null
+++ b/tests/MyGame/Example/NestedStructT.java
@@ -0,0 +1,40 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.Example;
+
+import java.nio.*;
+import java.lang.*;
+import java.util.*;
+import com.google.flatbuffers.*;
+
+public class NestedStructT {
+ private int[] a;
+ private byte b;
+ private byte[] c;
+ private long[] d;
+
+ public int[] getA() { return a; }
+
+ public void setA(int[] a) { if (a != null && a.length == 2) this.a = a; }
+
+ public byte getB() { return b; }
+
+ public void setB(byte b) { this.b = b; }
+
+ public byte[] getC() { return c; }
+
+ public void setC(byte[] c) { if (c != null && c.length == 2) this.c = c; }
+
+ public long[] getD() { return d; }
+
+ public void setD(long[] d) { if (d != null && d.length == 2) this.d = d; }
+
+
+ public NestedStructT() {
+ this.a = new int[2];
+ this.b = 0;
+ this.c = new byte[2];
+ this.d = new long[2];
+ }
+}
+
diff --git a/tests/MyGame/Example/Race.java b/tests/MyGame/Example/Race.java
index 0dfd80b..9f20e30 100644
--- a/tests/MyGame/Example/Race.java
+++ b/tests/MyGame/Example/Race.java
@@ -2,6 +2,7 @@
package MyGame.Example;
+@SuppressWarnings("unused")
public final class Race {
private Race() { }
public static final byte None = -1;
diff --git a/tests/MyGame/Example/Race.kt b/tests/MyGame/Example/Race.kt
index 6eb9534..6f770a3 100644
--- a/tests/MyGame/Example/Race.kt
+++ b/tests/MyGame/Example/Race.kt
@@ -3,7 +3,6 @@
package MyGame.Example
@Suppress("unused")
-@ExperimentalUnsignedTypes
class Race private constructor() {
companion object {
const val None: Byte = -1
diff --git a/tests/MyGame/Example/Race.lua b/tests/MyGame/Example/Race.lua
index 646f374..f241870 100644
--- a/tests/MyGame/Example/Race.lua
+++ b/tests/MyGame/Example/Race.lua
@@ -1,12 +1,20 @@
--- automatically generated by the FlatBuffers compiler, do not modify
+--[[ MyGame.Example.Race
--- namespace: Example
+ Automatically generated by the FlatBuffers compiler, do not modify.
+ Or modify. I'm a message, not a cop.
+
+ flatc version: 2.0.6
+
+ Declared by : //monster_test.fbs
+ Rooting type : MyGame.Example.Monster (//monster_test.fbs)
+
+--]]
local Race = {
- None = -1,
- Human = 0,
- Dwarf = 1,
- Elf = 2,
+ None = -1,
+ Human = 0,
+ Dwarf = 1,
+ Elf = 2,
}
-return Race -- return the module
\ No newline at end of file
+return Race
\ No newline at end of file
diff --git a/tests/MyGame/Example/Race.py b/tests/MyGame/Example/Race.py
index a39c6ea..30f3960 100644
--- a/tests/MyGame/Example/Race.py
+++ b/tests/MyGame/Example/Race.py
@@ -7,4 +7,3 @@
Human = 0
Dwarf = 1
Elf = 2
-
diff --git a/tests/MyGame/Example/Referrable.cs b/tests/MyGame/Example/Referrable.cs
index 81394ad..e6f3146 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_1_12_0(); }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_0(); }
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); }
@@ -74,7 +74,7 @@
builder,
_o.Id);
}
-};
+}
public class ReferrableT
{
diff --git a/tests/MyGame/Example/Referrable.java b/tests/MyGame/Example/Referrable.java
index 1f92958..da8dea6 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_1_12_0(); }
+ public static void ValidateVersion() { Constants.FLATBUFFERS_2_0_0(); }
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); }
@@ -68,5 +68,20 @@
public Referrable getByKey(long key) { return __lookup_by_key(null, __vector(), key, bb); }
public Referrable getByKey(Referrable obj, long key) { return __lookup_by_key(obj, __vector(), key, bb); }
}
+ public ReferrableT unpack() {
+ ReferrableT _o = new ReferrableT();
+ unpackTo(_o);
+ return _o;
+ }
+ public void unpackTo(ReferrableT _o) {
+ long _oId = id();
+ _o.setId(_oId);
+ }
+ public static int pack(FlatBufferBuilder builder, ReferrableT _o) {
+ if (_o == null) return 0;
+ return createReferrable(
+ builder,
+ _o.getId());
+ }
}
diff --git a/tests/MyGame/Example/Referrable.kt b/tests/MyGame/Example/Referrable.kt
index 2e78c93..7f728a7 100644
--- a/tests/MyGame/Example/Referrable.kt
+++ b/tests/MyGame/Example/Referrable.kt
@@ -7,7 +7,6 @@
import com.google.flatbuffers.*
@Suppress("unused")
-@ExperimentalUnsignedTypes
class Referrable : Table() {
fun __init(_i: Int, _bb: ByteBuffer) {
@@ -37,7 +36,7 @@
return (val_1 - val_2).sign
}
companion object {
- fun validateVersion() = Constants.FLATBUFFERS_1_12_0()
+ fun validateVersion() = Constants.FLATBUFFERS_2_0_0()
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 9b0f5a1..3bd6b0a 100644
--- a/tests/MyGame/Example/Referrable.lua
+++ b/tests/MyGame/Example/Referrable.lua
@@ -1,35 +1,48 @@
--- automatically generated by the FlatBuffers compiler, do not modify
+--[[ MyGame.Example.Referrable
--- namespace: Example
+ Automatically generated by the FlatBuffers compiler, do not modify.
+ Or modify. I'm a message, not a cop.
+
+ flatc version: 2.0.6
+
+ Declared by : //monster_test.fbs
+ Rooting type : MyGame.Example.Monster (//monster_test.fbs)
+
+--]]
local flatbuffers = require('flatbuffers')
-local Referrable = {} -- the module
-local Referrable_mt = {} -- the class metatable
+local Referrable = {}
+local mt = {}
function Referrable.New()
- local o = {}
- setmetatable(o, {__index = Referrable_mt})
- return o
+ local o = {}
+ setmetatable(o, {__index = mt})
+ return o
end
-function Referrable.GetRootAsReferrable(buf, offset)
- local n = flatbuffers.N.UOffsetT:Unpack(buf, offset)
- local o = Referrable.New()
- o:Init(buf, n + offset)
- return o
-end
-function Referrable_mt:Init(buf, pos)
- self.view = flatbuffers.view.New(buf, pos)
-end
-function Referrable_mt:Id()
- local o = self.view:Offset(4)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Uint64, o + self.view.pos)
- end
- return 0
-end
-function Referrable.Start(builder) builder:StartObject(1) end
-function Referrable.AddId(builder, id) builder:PrependUint64Slot(0, id, 0) end
-function Referrable.End(builder) return builder:EndObject() end
-return Referrable -- return the module
\ No newline at end of file
+function mt:Init(buf, pos)
+ self.view = flatbuffers.view.New(buf, pos)
+end
+
+function mt:Id()
+ local o = self.view:Offset(4)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Uint64, self.view.pos + o)
+ end
+ return 0
+end
+
+function Referrable.Start(builder)
+ builder:StartObject(1)
+end
+
+function Referrable.AddId(builder, id)
+ builder:PrependUint64Slot(0, id, 0)
+end
+
+function Referrable.End(builder)
+ return builder:EndObject()
+end
+
+return Referrable
\ No newline at end of file
diff --git a/tests/MyGame/Example/Referrable.py b/tests/MyGame/Example/Referrable.py
index 44bf50f..4b1da6a 100644
--- a/tests/MyGame/Example/Referrable.py
+++ b/tests/MyGame/Example/Referrable.py
@@ -10,13 +10,17 @@
__slots__ = ['_tab']
@classmethod
- def GetRootAsReferrable(cls, buf, offset):
+ def GetRootAs(cls, buf, offset=0):
n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
x = Referrable()
x.Init(buf, n + offset)
return x
@classmethod
+ def GetRootAsReferrable(cls, buf, offset=0):
+ """This method is deprecated. Please switch to GetRootAs."""
+ return cls.GetRootAs(buf, offset)
+ @classmethod
def ReferrableBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x4D\x4F\x4E\x53", size_prefixed=size_prefixed)
@@ -32,9 +36,14 @@
return 0
def ReferrableStart(builder): builder.StartObject(1)
+def Start(builder):
+ return ReferrableStart(builder)
def ReferrableAddId(builder, id): builder.PrependUint64Slot(0, id, 0)
+def AddId(builder, id):
+ return ReferrableAddId(builder, id)
def ReferrableEnd(builder): return builder.EndObject()
-
+def End(builder):
+ return ReferrableEnd(builder)
class ReferrableT(object):
diff --git a/tests/MyGame/Example/ReferrableT.java b/tests/MyGame/Example/ReferrableT.java
new file mode 100644
index 0000000..3014f04
--- /dev/null
+++ b/tests/MyGame/Example/ReferrableT.java
@@ -0,0 +1,22 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.Example;
+
+import java.nio.*;
+import java.lang.*;
+import java.util.*;
+import com.google.flatbuffers.*;
+
+public class ReferrableT {
+ private long id;
+
+ public long getId() { return id; }
+
+ public void setId(long id) { this.id = id; }
+
+
+ public ReferrableT() {
+ this.id = 0L;
+ }
+}
+
diff --git a/tests/MyGame/Example/Stat.cs b/tests/MyGame/Example/Stat.cs
index 6f19ed4..149b136 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_1_12_0(); }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_0(); }
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); }
@@ -50,6 +50,31 @@
int o = builder.EndTable();
return new Offset<MyGame.Example.Stat>(o);
}
+
+ public static VectorOffset CreateSortedVectorOfStat(FlatBufferBuilder builder, Offset<Stat>[] offsets) {
+ Array.Sort(offsets, (Offset<Stat> o1, Offset<Stat> o2) => builder.DataBuffer.GetUshort(Table.__offset(8, o1.Value, builder.DataBuffer)).CompareTo(builder.DataBuffer.GetUshort(Table.__offset(8, o2.Value, builder.DataBuffer))));
+ return builder.CreateVectorOfTables(offsets);
+ }
+
+ public static Stat? __lookup_by_key(int vectorLocation, ushort key, ByteBuffer bb) {
+ int span = bb.GetInt(vectorLocation - 4);
+ int start = 0;
+ while (span != 0) {
+ int middle = span / 2;
+ int tableOffset = Table.__indirect(vectorLocation + 4 * (start + middle), bb);
+ int comp = bb.GetUshort(Table.__offset(8, bb.Length - tableOffset, bb)).CompareTo(key);
+ if (comp > 0) {
+ span = middle;
+ } else if (comp < 0) {
+ middle++;
+ start += middle;
+ span -= middle;
+ } else {
+ return new Stat().__assign(tableOffset, bb);
+ }
+ }
+ return null;
+ }
public StatT UnPack() {
var _o = new StatT();
this.UnPackTo(_o);
@@ -69,7 +94,7 @@
_o.Val,
_o.Count);
}
-};
+}
public class StatT
{
diff --git a/tests/MyGame/Example/Stat.java b/tests/MyGame/Example/Stat.java
index 116c211..efc2673 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_1_12_0(); }
+ public static void ValidateVersion() { Constants.FLATBUFFERS_2_0_0(); }
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); }
@@ -21,7 +21,7 @@
public long val() { int o = __offset(6); return o != 0 ? bb.getLong(o + bb_pos) : 0L; }
public boolean mutateVal(long val) { int o = __offset(6); if (o != 0) { bb.putLong(o + bb_pos, val); return true; } else { return false; } }
public int count() { int o = __offset(8); return o != 0 ? bb.getShort(o + bb_pos) & 0xFFFF : 0; }
- public boolean mutateCount(int count) { int o = __offset(8); if (o != 0) { bb.putShort(o + bb_pos, (short)count); return true; } else { return false; } }
+ public boolean mutateCount(int count) { int o = __offset(8); if (o != 0) { bb.putShort(o + bb_pos, (short) count); return true; } else { return false; } }
public static int createStat(FlatBufferBuilder builder,
int idOffset,
@@ -37,17 +37,69 @@
public static void startStat(FlatBufferBuilder builder) { builder.startTable(3); }
public static void addId(FlatBufferBuilder builder, int idOffset) { builder.addOffset(0, idOffset, 0); }
public static void addVal(FlatBufferBuilder builder, long val) { builder.addLong(1, val, 0L); }
- public static void addCount(FlatBufferBuilder builder, int count) { builder.addShort(2, (short)count, (short)0); }
+ public static void addCount(FlatBufferBuilder builder, int count) { builder.addShort(2, (short) count, (short) 0); }
public static int endStat(FlatBufferBuilder builder) {
int o = builder.endTable();
return o;
}
+ @Override
+ protected int keysCompare(Integer o1, Integer o2, ByteBuffer _bb) {
+ int val_1 = _bb.getShort(__offset(8, o1, _bb)) & 0xFFFF;
+ int val_2 = _bb.getShort(__offset(8, o2, _bb)) & 0xFFFF;
+ return val_1 > val_2 ? 1 : val_1 < val_2 ? -1 : 0;
+ }
+
+ public static Stat __lookup_by_key(Stat obj, int vectorLocation, int key, ByteBuffer bb) {
+ int span = bb.getInt(vectorLocation - 4);
+ int start = 0;
+ while (span != 0) {
+ int middle = span / 2;
+ int tableOffset = __indirect(vectorLocation + 4 * (start + middle), bb);
+ int val = bb.getShort(__offset(8, bb.capacity() - tableOffset, bb)) & 0xFFFF;
+ int comp = val > key ? 1 : val < key ? -1 : 0;
+ if (comp > 0) {
+ span = middle;
+ } else if (comp < 0) {
+ middle++;
+ start += middle;
+ span -= middle;
+ } else {
+ return (obj == null ? new Stat() : obj).__assign(tableOffset, bb);
+ }
+ }
+ return null;
+ }
+
public static final class Vector extends BaseVector {
public Vector __assign(int _vector, int _element_size, ByteBuffer _bb) { __reset(_vector, _element_size, _bb); return this; }
public Stat get(int j) { return get(new Stat(), j); }
public Stat get(Stat obj, int j) { return obj.__assign(__indirect(__element(j), bb), bb); }
+ public Stat getByKey(int key) { return __lookup_by_key(null, __vector(), key, bb); }
+ public Stat getByKey(Stat obj, int key) { return __lookup_by_key(obj, __vector(), key, bb); }
+ }
+ public StatT unpack() {
+ StatT _o = new StatT();
+ unpackTo(_o);
+ return _o;
+ }
+ public void unpackTo(StatT _o) {
+ String _oId = id();
+ _o.setId(_oId);
+ long _oVal = val();
+ _o.setVal(_oVal);
+ int _oCount = count();
+ _o.setCount(_oCount);
+ }
+ public static int pack(FlatBufferBuilder builder, StatT _o) {
+ if (_o == null) return 0;
+ int _id = _o.getId() == null ? 0 : builder.createString(_o.getId());
+ return createStat(
+ builder,
+ _id,
+ _o.getVal(),
+ _o.getCount());
}
}
diff --git a/tests/MyGame/Example/Stat.kt b/tests/MyGame/Example/Stat.kt
index e72f553..e6cc94c 100644
--- a/tests/MyGame/Example/Stat.kt
+++ b/tests/MyGame/Example/Stat.kt
@@ -7,7 +7,6 @@
import com.google.flatbuffers.*
@Suppress("unused")
-@ExperimentalUnsignedTypes
class Stat : Table() {
fun __init(_i: Int, _bb: ByteBuffer) {
@@ -52,8 +51,13 @@
false
}
}
+ override fun keysCompare(o1: Int, o2: Int, _bb: ByteBuffer) : Int {
+ val val_1 = _bb.getShort(__offset(8, o1, _bb))
+ val val_2 = _bb.getShort(__offset(8, o2, _bb))
+ return (val_1 - val_2).sign
+ }
companion object {
- fun validateVersion() = Constants.FLATBUFFERS_1_12_0()
+ fun validateVersion() = Constants.FLATBUFFERS_2_0_0()
fun getRootAsStat(_bb: ByteBuffer): Stat = getRootAsStat(_bb, Stat())
fun getRootAsStat(_bb: ByteBuffer, obj: Stat): Stat {
_bb.order(ByteOrder.LITTLE_ENDIAN)
@@ -74,5 +78,27 @@
val o = builder.endTable()
return o
}
+ fun __lookup_by_key(obj: Stat?, vectorLocation: Int, key: UShort, bb: ByteBuffer) : Stat? {
+ var span = bb.getInt(vectorLocation - 4)
+ var start = 0
+ while (span != 0) {
+ var middle = span / 2
+ val tableOffset = __indirect(vectorLocation + 4 * (start + middle), bb)
+ val value = bb.getShort(__offset(8, bb.capacity() - tableOffset, bb)).toUShort()
+ val comp = value.compareTo(key)
+ when {
+ comp > 0 -> span = middle
+ comp < 0 -> {
+ middle++
+ start += middle
+ span -= middle
+ }
+ else -> {
+ return (obj ?: Stat()).__assign(tableOffset, bb)
+ }
+ }
+ }
+ return null
+ }
}
}
diff --git a/tests/MyGame/Example/Stat.lua b/tests/MyGame/Example/Stat.lua
index 6999184..f621fd0 100644
--- a/tests/MyGame/Example/Stat.lua
+++ b/tests/MyGame/Example/Stat.lua
@@ -1,50 +1,71 @@
--- automatically generated by the FlatBuffers compiler, do not modify
+--[[ MyGame.Example.Stat
--- namespace: Example
+ Automatically generated by the FlatBuffers compiler, do not modify.
+ Or modify. I'm a message, not a cop.
+
+ flatc version: 2.0.6
+
+ Declared by : //monster_test.fbs
+ Rooting type : MyGame.Example.Monster (//monster_test.fbs)
+
+--]]
local flatbuffers = require('flatbuffers')
-local Stat = {} -- the module
-local Stat_mt = {} -- the class metatable
+local Stat = {}
+local mt = {}
function Stat.New()
- local o = {}
- setmetatable(o, {__index = Stat_mt})
- return o
+ local o = {}
+ setmetatable(o, {__index = mt})
+ return o
end
-function Stat.GetRootAsStat(buf, offset)
- local n = flatbuffers.N.UOffsetT:Unpack(buf, offset)
- local o = Stat.New()
- o:Init(buf, n + offset)
- return o
-end
-function Stat_mt:Init(buf, pos)
- self.view = flatbuffers.view.New(buf, pos)
-end
-function Stat_mt:Id()
- local o = self.view:Offset(4)
- if o ~= 0 then
- return self.view:String(o + self.view.pos)
- end
-end
-function Stat_mt:Val()
- local o = self.view:Offset(6)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Int64, o + self.view.pos)
- end
- return 0
-end
-function Stat_mt:Count()
- local o = self.view:Offset(8)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Uint16, o + self.view.pos)
- end
- return 0
-end
-function Stat.Start(builder) builder:StartObject(3) end
-function Stat.AddId(builder, id) builder:PrependUOffsetTRelativeSlot(0, id, 0) end
-function Stat.AddVal(builder, val) builder:PrependInt64Slot(1, val, 0) end
-function Stat.AddCount(builder, count) builder:PrependUint16Slot(2, count, 0) end
-function Stat.End(builder) return builder:EndObject() end
-return Stat -- return the module
\ No newline at end of file
+function mt:Init(buf, pos)
+ self.view = flatbuffers.view.New(buf, pos)
+end
+
+function mt:Id()
+ local o = self.view:Offset(4)
+ if o ~= 0 then
+ return self.view:String(self.view.pos + o)
+ end
+end
+
+function mt:Val()
+ local o = self.view:Offset(6)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Int64, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:Count()
+ local o = self.view:Offset(8)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Uint16, self.view.pos + o)
+ end
+ return 0
+end
+
+function Stat.Start(builder)
+ builder:StartObject(3)
+end
+
+function Stat.AddId(builder, id)
+ builder:PrependUOffsetTRelativeSlot(0, id, 0)
+end
+
+function Stat.AddVal(builder, val)
+ builder:PrependInt64Slot(1, val, 0)
+end
+
+function Stat.AddCount(builder, count)
+ builder:PrependUint16Slot(2, count, 0)
+end
+
+function Stat.End(builder)
+ return builder:EndObject()
+end
+
+return Stat
\ No newline at end of file
diff --git a/tests/MyGame/Example/Stat.py b/tests/MyGame/Example/Stat.py
index 7d3362f..3b19a3b 100644
--- a/tests/MyGame/Example/Stat.py
+++ b/tests/MyGame/Example/Stat.py
@@ -10,13 +10,17 @@
__slots__ = ['_tab']
@classmethod
- def GetRootAsStat(cls, buf, offset):
+ def GetRootAs(cls, buf, offset=0):
n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
x = Stat()
x.Init(buf, n + offset)
return x
@classmethod
+ def GetRootAsStat(cls, buf, offset=0):
+ """This method is deprecated. Please switch to GetRootAs."""
+ return cls.GetRootAs(buf, offset)
+ @classmethod
def StatBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x4D\x4F\x4E\x53", size_prefixed=size_prefixed)
@@ -46,11 +50,20 @@
return 0
def StatStart(builder): builder.StartObject(3)
+def Start(builder):
+ return StatStart(builder)
def StatAddId(builder, id): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(id), 0)
+def AddId(builder, id):
+ return StatAddId(builder, id)
def StatAddVal(builder, val): builder.PrependInt64Slot(1, val, 0)
+def AddVal(builder, val):
+ return StatAddVal(builder, val)
def StatAddCount(builder, count): builder.PrependUint16Slot(2, count, 0)
+def AddCount(builder, count):
+ return StatAddCount(builder, count)
def StatEnd(builder): return builder.EndObject()
-
+def End(builder):
+ return StatEnd(builder)
class StatT(object):
diff --git a/tests/MyGame/Example/StatT.java b/tests/MyGame/Example/StatT.java
new file mode 100644
index 0000000..67ad13e
--- /dev/null
+++ b/tests/MyGame/Example/StatT.java
@@ -0,0 +1,34 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.Example;
+
+import java.nio.*;
+import java.lang.*;
+import java.util.*;
+import com.google.flatbuffers.*;
+
+public class StatT {
+ private String id;
+ private long val;
+ private int count;
+
+ public String getId() { return id; }
+
+ public void setId(String id) { this.id = id; }
+
+ public long getVal() { return val; }
+
+ public void setVal(long val) { this.val = val; }
+
+ public int getCount() { return count; }
+
+ public void setCount(int count) { this.count = count; }
+
+
+ public StatT() {
+ this.id = null;
+ this.val = 0L;
+ this.count = 0;
+ }
+}
+
diff --git a/tests/MyGame/Example/StructOfStructs.cs b/tests/MyGame/Example/StructOfStructs.cs
new file mode 100644
index 0000000..3a1607d
--- /dev/null
+++ b/tests/MyGame/Example/StructOfStructs.cs
@@ -0,0 +1,83 @@
+// <auto-generated>
+// automatically generated by the FlatBuffers compiler, do not modify
+// </auto-generated>
+
+namespace MyGame.Example
+{
+
+using global::System;
+using global::System.Collections.Generic;
+using global::FlatBuffers;
+
+public struct StructOfStructs : IFlatbufferObject
+{
+ private Struct __p;
+ public ByteBuffer ByteBuffer { get { return __p.bb; } }
+ public void __init(int _i, ByteBuffer _bb) { __p = new Struct(_i, _bb); }
+ public StructOfStructs __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
+
+ public MyGame.Example.Ability A { get { return (new MyGame.Example.Ability()).__assign(__p.bb_pos + 0, __p.bb); } }
+ public MyGame.Example.Test B { get { return (new MyGame.Example.Test()).__assign(__p.bb_pos + 8, __p.bb); } }
+ public MyGame.Example.Ability C { get { return (new MyGame.Example.Ability()).__assign(__p.bb_pos + 12, __p.bb); } }
+
+ public static Offset<MyGame.Example.StructOfStructs> CreateStructOfStructs(FlatBufferBuilder builder, uint a_Id, uint a_Distance, short b_A, sbyte b_B, uint c_Id, uint c_Distance) {
+ builder.Prep(4, 20);
+ builder.Prep(4, 8);
+ builder.PutUint(c_Distance);
+ builder.PutUint(c_Id);
+ builder.Prep(2, 4);
+ builder.Pad(1);
+ builder.PutSbyte(b_B);
+ builder.PutShort(b_A);
+ builder.Prep(4, 8);
+ builder.PutUint(a_Distance);
+ builder.PutUint(a_Id);
+ return new Offset<MyGame.Example.StructOfStructs>(builder.Offset);
+ }
+ public StructOfStructsT UnPack() {
+ var _o = new StructOfStructsT();
+ this.UnPackTo(_o);
+ return _o;
+ }
+ public void UnPackTo(StructOfStructsT _o) {
+ _o.A = this.A.UnPack();
+ _o.B = this.B.UnPack();
+ _o.C = this.C.UnPack();
+ }
+ public static Offset<MyGame.Example.StructOfStructs> Pack(FlatBufferBuilder builder, StructOfStructsT _o) {
+ if (_o == null) return default(Offset<MyGame.Example.StructOfStructs>);
+ var _a_id = _o.A.Id;
+ var _a_distance = _o.A.Distance;
+ var _b_a = _o.B.A;
+ var _b_b = _o.B.B;
+ var _c_id = _o.C.Id;
+ var _c_distance = _o.C.Distance;
+ return CreateStructOfStructs(
+ builder,
+ _a_id,
+ _a_distance,
+ _b_a,
+ _b_b,
+ _c_id,
+ _c_distance);
+ }
+}
+
+public class StructOfStructsT
+{
+ [Newtonsoft.Json.JsonProperty("a")]
+ public MyGame.Example.AbilityT A { get; set; }
+ [Newtonsoft.Json.JsonProperty("b")]
+ public MyGame.Example.TestT B { get; set; }
+ [Newtonsoft.Json.JsonProperty("c")]
+ public MyGame.Example.AbilityT C { get; set; }
+
+ public StructOfStructsT() {
+ this.A = new MyGame.Example.AbilityT();
+ this.B = new MyGame.Example.TestT();
+ this.C = new MyGame.Example.AbilityT();
+ }
+}
+
+
+}
diff --git a/tests/MyGame/Example/StructOfStructs.go b/tests/MyGame/Example/StructOfStructs.go
new file mode 100644
index 0000000..35ccfcb
--- /dev/null
+++ b/tests/MyGame/Example/StructOfStructs.go
@@ -0,0 +1,80 @@
+// Code generated by the FlatBuffers compiler. DO NOT EDIT.
+
+package Example
+
+import (
+ flatbuffers "github.com/google/flatbuffers/go"
+)
+
+type StructOfStructsT struct {
+ A *AbilityT
+ B *TestT
+ C *AbilityT
+}
+
+func (t *StructOfStructsT) Pack(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
+ if t == nil { return 0 }
+ return CreateStructOfStructs(builder, t.A.Id, t.A.Distance, t.B.A, t.B.B, t.C.Id, t.C.Distance)
+}
+func (rcv *StructOfStructs) UnPackTo(t *StructOfStructsT) {
+ t.A = rcv.A(nil).UnPack()
+ t.B = rcv.B(nil).UnPack()
+ t.C = rcv.C(nil).UnPack()
+}
+
+func (rcv *StructOfStructs) UnPack() *StructOfStructsT {
+ if rcv == nil { return nil }
+ t := &StructOfStructsT{}
+ rcv.UnPackTo(t)
+ return t
+}
+
+type StructOfStructs struct {
+ _tab flatbuffers.Struct
+}
+
+func (rcv *StructOfStructs) Init(buf []byte, i flatbuffers.UOffsetT) {
+ rcv._tab.Bytes = buf
+ rcv._tab.Pos = i
+}
+
+func (rcv *StructOfStructs) Table() flatbuffers.Table {
+ return rcv._tab.Table
+}
+
+func (rcv *StructOfStructs) A(obj *Ability) *Ability {
+ if obj == nil {
+ obj = new(Ability)
+ }
+ obj.Init(rcv._tab.Bytes, rcv._tab.Pos+0)
+ return obj
+}
+func (rcv *StructOfStructs) B(obj *Test) *Test {
+ if obj == nil {
+ obj = new(Test)
+ }
+ obj.Init(rcv._tab.Bytes, rcv._tab.Pos+8)
+ return obj
+}
+func (rcv *StructOfStructs) C(obj *Ability) *Ability {
+ if obj == nil {
+ obj = new(Ability)
+ }
+ obj.Init(rcv._tab.Bytes, rcv._tab.Pos+12)
+ return obj
+}
+
+func CreateStructOfStructs(builder *flatbuffers.Builder, a_id uint32, a_distance uint32, b_a int16, b_b int8, c_id uint32, c_distance uint32) flatbuffers.UOffsetT {
+ builder.Prep(4, 20)
+ builder.Prep(4, 8)
+ builder.PrependUint32(c_distance)
+ builder.PrependUint32(c_id)
+ builder.Prep(2, 4)
+ builder.Pad(1)
+ builder.PrependInt8(b_b)
+ builder.PrependInt16(b_a)
+ builder.Prep(4, 8)
+ builder.PrependUint32(a_distance)
+ builder.PrependUint32(a_id)
+ return builder.Offset()
+}
diff --git a/tests/MyGame/Example/StructOfStructs.java b/tests/MyGame/Example/StructOfStructs.java
new file mode 100644
index 0000000..424a8a2
--- /dev/null
+++ b/tests/MyGame/Example/StructOfStructs.java
@@ -0,0 +1,71 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.Example;
+
+import java.nio.*;
+import java.lang.*;
+import java.util.*;
+import com.google.flatbuffers.*;
+
+@SuppressWarnings("unused")
+public final class StructOfStructs extends Struct {
+ public void __init(int _i, ByteBuffer _bb) { __reset(_i, _bb); }
+ public StructOfStructs __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
+
+ public MyGame.Example.Ability a() { return a(new MyGame.Example.Ability()); }
+ public MyGame.Example.Ability a(MyGame.Example.Ability obj) { return obj.__assign(bb_pos + 0, bb); }
+ public MyGame.Example.Test b() { return b(new MyGame.Example.Test()); }
+ public MyGame.Example.Test b(MyGame.Example.Test obj) { return obj.__assign(bb_pos + 8, bb); }
+ public MyGame.Example.Ability c() { return c(new MyGame.Example.Ability()); }
+ public MyGame.Example.Ability c(MyGame.Example.Ability obj) { return obj.__assign(bb_pos + 12, bb); }
+
+ public static int createStructOfStructs(FlatBufferBuilder builder, long a_id, long a_distance, short b_a, byte b_b, long c_id, long c_distance) {
+ builder.prep(4, 20);
+ builder.prep(4, 8);
+ builder.putInt((int) c_distance);
+ builder.putInt((int) c_id);
+ builder.prep(2, 4);
+ builder.pad(1);
+ builder.putByte(b_b);
+ builder.putShort(b_a);
+ builder.prep(4, 8);
+ builder.putInt((int) a_distance);
+ builder.putInt((int) a_id);
+ return builder.offset();
+ }
+
+ public static final class Vector extends BaseVector {
+ public Vector __assign(int _vector, int _element_size, ByteBuffer _bb) { __reset(_vector, _element_size, _bb); return this; }
+
+ public StructOfStructs get(int j) { return get(new StructOfStructs(), j); }
+ public StructOfStructs get(StructOfStructs obj, int j) { return obj.__assign(__element(j), bb); }
+ }
+ public StructOfStructsT unpack() {
+ StructOfStructsT _o = new StructOfStructsT();
+ unpackTo(_o);
+ return _o;
+ }
+ public void unpackTo(StructOfStructsT _o) {
+ a().unpackTo(_o.getA());
+ b().unpackTo(_o.getB());
+ c().unpackTo(_o.getC());
+ }
+ 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();
+ short _b_a = _o.getB().getA();
+ byte _b_b = _o.getB().getB();
+ int _c_id = _o.getC().getId();
+ int _c_distance = _o.getC().getDistance();
+ return createStructOfStructs(
+ builder,
+ _a_id,
+ _a_distance,
+ _b_a,
+ _b_b,
+ _c_id,
+ _c_distance);
+ }
+}
+
diff --git a/tests/MyGame/Example/StructOfStructs.kt b/tests/MyGame/Example/StructOfStructs.kt
new file mode 100644
index 0000000..56ab9af
--- /dev/null
+++ b/tests/MyGame/Example/StructOfStructs.kt
@@ -0,0 +1,41 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.Example
+
+import java.nio.*
+import kotlin.math.sign
+import com.google.flatbuffers.*
+
+@Suppress("unused")
+class StructOfStructs : Struct() {
+
+ fun __init(_i: Int, _bb: ByteBuffer) {
+ __reset(_i, _bb)
+ }
+ fun __assign(_i: Int, _bb: ByteBuffer) : StructOfStructs {
+ __init(_i, _bb)
+ return this
+ }
+ val a : MyGame.Example.Ability? get() = a(MyGame.Example.Ability())
+ fun a(obj: MyGame.Example.Ability) : MyGame.Example.Ability? = obj.__assign(bb_pos + 0, bb)
+ val b : MyGame.Example.Test? get() = b(MyGame.Example.Test())
+ fun b(obj: MyGame.Example.Test) : MyGame.Example.Test? = obj.__assign(bb_pos + 8, bb)
+ val c : MyGame.Example.Ability? get() = c(MyGame.Example.Ability())
+ fun c(obj: MyGame.Example.Ability) : MyGame.Example.Ability? = obj.__assign(bb_pos + 12, bb)
+ companion object {
+ fun createStructOfStructs(builder: FlatBufferBuilder, a_id: UInt, a_distance: UInt, b_a: Short, b_b: Byte, c_id: UInt, c_distance: UInt) : Int {
+ builder.prep(4, 20)
+ builder.prep(4, 8)
+ builder.putInt(c_distance.toInt())
+ builder.putInt(c_id.toInt())
+ builder.prep(2, 4)
+ builder.pad(1)
+ builder.putByte(b_b)
+ builder.putShort(b_a)
+ builder.prep(4, 8)
+ builder.putInt(a_distance.toInt())
+ builder.putInt(a_id.toInt())
+ return builder.offset()
+ }
+ }
+}
diff --git a/tests/MyGame/Example/StructOfStructs.lua b/tests/MyGame/Example/StructOfStructs.lua
new file mode 100644
index 0000000..7f56b34
--- /dev/null
+++ b/tests/MyGame/Example/StructOfStructs.lua
@@ -0,0 +1,58 @@
+--[[ MyGame.Example.StructOfStructs
+
+ Automatically generated by the FlatBuffers compiler, do not modify.
+ Or modify. I'm a message, not a cop.
+
+ flatc version: 2.0.6
+
+ Declared by : //monster_test.fbs
+ Rooting type : MyGame.Example.Monster (//monster_test.fbs)
+
+--]]
+
+local flatbuffers = require('flatbuffers')
+
+local StructOfStructs = {}
+local mt = {}
+
+function StructOfStructs.New()
+ local o = {}
+ setmetatable(o, {__index = mt})
+ return o
+end
+
+function mt:Init(buf, pos)
+ self.view = flatbuffers.view.New(buf, pos)
+end
+
+function mt:A(obj)
+ obj:Init(self.view.bytes, self.view.pos + 0)
+ return obj
+end
+
+function mt:B(obj)
+ obj:Init(self.view.bytes, self.view.pos + 8)
+ return obj
+end
+
+function mt:C(obj)
+ obj:Init(self.view.bytes, self.view.pos + 12)
+ return obj
+end
+
+function StructOfStructs.CreateStructOfStructs(builder, a_id, a_distance, b_a, b_b, c_id, c_distance)
+ builder:Prep(4, 20)
+ builder:Prep(4, 8)
+ builder:PrependUint32(c_distance)
+ builder:PrependUint32(c_id)
+ builder:Prep(2, 4)
+ builder:Pad(1)
+ builder:PrependInt8(b_b)
+ builder:PrependInt16(b_a)
+ builder:Prep(4, 8)
+ builder:PrependUint32(a_distance)
+ builder:PrependUint32(a_id)
+ return builder:Offset()
+end
+
+return StructOfStructs
\ No newline at end of file
diff --git a/tests/MyGame/Example/StructOfStructs.php b/tests/MyGame/Example/StructOfStructs.php
new file mode 100644
index 0000000..fe5fac3
--- /dev/null
+++ b/tests/MyGame/Example/StructOfStructs.php
@@ -0,0 +1,74 @@
+<?php
+// automatically generated by the FlatBuffers compiler, do not modify
+
+namespace MyGame\Example;
+
+use \Google\FlatBuffers\Struct;
+use \Google\FlatBuffers\Table;
+use \Google\FlatBuffers\ByteBuffer;
+use \Google\FlatBuffers\FlatBufferBuilder;
+
+class StructOfStructs extends Struct
+{
+ /**
+ * @param int $_i offset
+ * @param ByteBuffer $_bb
+ * @return StructOfStructs
+ **/
+ public function init($_i, ByteBuffer $_bb)
+ {
+ $this->bb_pos = $_i;
+ $this->bb = $_bb;
+ return $this;
+ }
+
+ /**
+ * @return Ability
+ */
+ public function getA()
+ {
+ $obj = new Ability();
+ $obj->init($this->bb_pos + 0, $this->bb);
+ return $obj;
+ }
+
+ /**
+ * @return Test
+ */
+ public function getB()
+ {
+ $obj = new Test();
+ $obj->init($this->bb_pos + 8, $this->bb);
+ return $obj;
+ }
+
+ /**
+ * @return Ability
+ */
+ public function getC()
+ {
+ $obj = new Ability();
+ $obj->init($this->bb_pos + 12, $this->bb);
+ return $obj;
+ }
+
+
+ /**
+ * @return int offset
+ */
+ public static function createStructOfStructs(FlatBufferBuilder $builder, $a_id, $a_distance, $b_a, $b_b, $c_id, $c_distance)
+ {
+ $builder->prep(4, 20);
+ $builder->prep(4, 8);
+ $builder->putUint($c_distance);
+ $builder->putUint($c_id);
+ $builder->prep(2, 4);
+ $builder->pad(1);
+ $builder->putSbyte($b_b);
+ $builder->putShort($b_a);
+ $builder->prep(4, 8);
+ $builder->putUint($a_distance);
+ $builder->putUint($a_id);
+ return $builder->offset();
+ }
+}
diff --git a/tests/MyGame/Example/StructOfStructs.py b/tests/MyGame/Example/StructOfStructs.py
new file mode 100644
index 0000000..0dcf3d5
--- /dev/null
+++ b/tests/MyGame/Example/StructOfStructs.py
@@ -0,0 +1,90 @@
+# automatically generated by the FlatBuffers compiler, do not modify
+
+# namespace: Example
+
+import flatbuffers
+from flatbuffers.compat import import_numpy
+np = import_numpy()
+
+class StructOfStructs(object):
+ __slots__ = ['_tab']
+
+ @classmethod
+ def SizeOf(cls):
+ return 20
+
+ # StructOfStructs
+ def Init(self, buf, pos):
+ self._tab = flatbuffers.table.Table(buf, pos)
+
+ # StructOfStructs
+ def A(self, obj):
+ obj.Init(self._tab.Bytes, self._tab.Pos + 0)
+ return obj
+
+ # StructOfStructs
+ def B(self, obj):
+ obj.Init(self._tab.Bytes, self._tab.Pos + 8)
+ return obj
+
+ # StructOfStructs
+ def C(self, obj):
+ obj.Init(self._tab.Bytes, self._tab.Pos + 12)
+ return obj
+
+
+def CreateStructOfStructs(builder, a_id, a_distance, b_a, b_b, c_id, c_distance):
+ builder.Prep(4, 20)
+ builder.Prep(4, 8)
+ builder.PrependUint32(c_distance)
+ builder.PrependUint32(c_id)
+ builder.Prep(2, 4)
+ builder.Pad(1)
+ builder.PrependInt8(b_b)
+ builder.PrependInt16(b_a)
+ builder.Prep(4, 8)
+ builder.PrependUint32(a_distance)
+ builder.PrependUint32(a_id)
+ return builder.Offset()
+
+import MyGame.Example.Ability
+import MyGame.Example.Test
+try:
+ from typing import Optional
+except:
+ pass
+
+class StructOfStructsT(object):
+
+ # StructOfStructsT
+ def __init__(self):
+ self.a = None # type: Optional[MyGame.Example.Ability.AbilityT]
+ self.b = None # type: Optional[MyGame.Example.Test.TestT]
+ self.c = None # type: Optional[MyGame.Example.Ability.AbilityT]
+
+ @classmethod
+ def InitFromBuf(cls, buf, pos):
+ structOfStructs = StructOfStructs()
+ structOfStructs.Init(buf, pos)
+ return cls.InitFromObj(structOfStructs)
+
+ @classmethod
+ def InitFromObj(cls, structOfStructs):
+ x = StructOfStructsT()
+ x._UnPack(structOfStructs)
+ return x
+
+ # StructOfStructsT
+ def _UnPack(self, structOfStructs):
+ if structOfStructs is None:
+ return
+ if structOfStructs.A(MyGame.Example.Ability.Ability()) is not None:
+ self.a = MyGame.Example.Ability.AbilityT.InitFromObj(structOfStructs.A(MyGame.Example.Ability.Ability()))
+ if structOfStructs.B(MyGame.Example.Test.Test()) is not None:
+ self.b = MyGame.Example.Test.TestT.InitFromObj(structOfStructs.B(MyGame.Example.Test.Test()))
+ if structOfStructs.C(MyGame.Example.Ability.Ability()) is not None:
+ self.c = MyGame.Example.Ability.AbilityT.InitFromObj(structOfStructs.C(MyGame.Example.Ability.Ability()))
+
+ # StructOfStructsT
+ def Pack(self, builder):
+ return CreateStructOfStructs(builder, self.a.id, self.a.distance, self.b.a, self.b.b, self.c.id, self.c.distance)
diff --git a/tests/MyGame/Example/StructOfStructsT.java b/tests/MyGame/Example/StructOfStructsT.java
new file mode 100644
index 0000000..47e337a
--- /dev/null
+++ b/tests/MyGame/Example/StructOfStructsT.java
@@ -0,0 +1,34 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.Example;
+
+import java.nio.*;
+import java.lang.*;
+import java.util.*;
+import com.google.flatbuffers.*;
+
+public class StructOfStructsT {
+ private MyGame.Example.AbilityT a;
+ private MyGame.Example.TestT b;
+ private MyGame.Example.AbilityT c;
+
+ public MyGame.Example.AbilityT getA() { return a; }
+
+ public void setA(MyGame.Example.AbilityT a) { this.a = a; }
+
+ public MyGame.Example.TestT getB() { return b; }
+
+ public void setB(MyGame.Example.TestT b) { this.b = b; }
+
+ public MyGame.Example.AbilityT getC() { return c; }
+
+ public void setC(MyGame.Example.AbilityT c) { this.c = c; }
+
+
+ public StructOfStructsT() {
+ this.a = new MyGame.Example.AbilityT();
+ this.b = new MyGame.Example.TestT();
+ this.c = new MyGame.Example.AbilityT();
+ }
+}
+
diff --git a/tests/MyGame/Example/Test.cs b/tests/MyGame/Example/Test.cs
index a6419ed..a805218 100644
--- a/tests/MyGame/Example/Test.cs
+++ b/tests/MyGame/Example/Test.cs
@@ -44,7 +44,7 @@
_o.A,
_o.B);
}
-};
+}
public class TestT
{
diff --git a/tests/MyGame/Example/Test.java b/tests/MyGame/Example/Test.java
index c4ffc41..ce8f903 100644
--- a/tests/MyGame/Example/Test.java
+++ b/tests/MyGame/Example/Test.java
@@ -31,5 +31,23 @@
public Test get(int j) { return get(new Test(), j); }
public Test get(Test obj, int j) { return obj.__assign(__element(j), bb); }
}
+ public TestT unpack() {
+ TestT _o = new TestT();
+ unpackTo(_o);
+ return _o;
+ }
+ public void unpackTo(TestT _o) {
+ short _oA = a();
+ _o.setA(_oA);
+ byte _oB = b();
+ _o.setB(_oB);
+ }
+ public static int pack(FlatBufferBuilder builder, TestT _o) {
+ if (_o == null) return 0;
+ return createTest(
+ builder,
+ _o.getA(),
+ _o.getB());
+ }
}
diff --git a/tests/MyGame/Example/Test.kt b/tests/MyGame/Example/Test.kt
index f2ceed6..eda5742 100644
--- a/tests/MyGame/Example/Test.kt
+++ b/tests/MyGame/Example/Test.kt
@@ -7,7 +7,6 @@
import com.google.flatbuffers.*
@Suppress("unused")
-@ExperimentalUnsignedTypes
class Test : Struct() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/MyGame/Example/Test.lua b/tests/MyGame/Example/Test.lua
index 154067b..63b566c 100644
--- a/tests/MyGame/Example/Test.lua
+++ b/tests/MyGame/Example/Test.lua
@@ -1,32 +1,44 @@
--- automatically generated by the FlatBuffers compiler, do not modify
+--[[ MyGame.Example.Test
--- namespace: Example
+ Automatically generated by the FlatBuffers compiler, do not modify.
+ Or modify. I'm a message, not a cop.
+
+ flatc version: 2.0.6
+
+ Declared by : //monster_test.fbs
+ Rooting type : MyGame.Example.Monster (//monster_test.fbs)
+
+--]]
local flatbuffers = require('flatbuffers')
-local Test = {} -- the module
-local Test_mt = {} -- the class metatable
+local Test = {}
+local mt = {}
function Test.New()
- local o = {}
- setmetatable(o, {__index = Test_mt})
- return o
-end
-function Test_mt:Init(buf, pos)
- self.view = flatbuffers.view.New(buf, pos)
-end
-function Test_mt:A()
- return self.view:Get(flatbuffers.N.Int16, self.view.pos + 0)
-end
-function Test_mt:B()
- return self.view:Get(flatbuffers.N.Int8, self.view.pos + 2)
-end
-function Test.CreateTest(builder, a, b)
- builder:Prep(2, 4)
- builder:Pad(1)
- builder:PrependInt8(b)
- builder:PrependInt16(a)
- return builder:Offset()
+ local o = {}
+ setmetatable(o, {__index = mt})
+ return o
end
-return Test -- return the module
\ No newline at end of file
+function mt:Init(buf, pos)
+ self.view = flatbuffers.view.New(buf, pos)
+end
+
+function mt:A()
+ return self.view:Get(flatbuffers.N.Int16, self.view.pos + 0)
+end
+
+function mt:B()
+ return self.view:Get(flatbuffers.N.Int8, self.view.pos + 2)
+end
+
+function Test.CreateTest(builder, a, b)
+ builder:Prep(2, 4)
+ builder:Pad(1)
+ builder:PrependInt8(b)
+ builder:PrependInt16(a)
+ return builder:Offset()
+end
+
+return Test
\ No newline at end of file
diff --git a/tests/MyGame/Example/TestEnum.java b/tests/MyGame/Example/TestEnum.java
index 411bf8e..6330cf6 100644
--- a/tests/MyGame/Example/TestEnum.java
+++ b/tests/MyGame/Example/TestEnum.java
@@ -2,6 +2,7 @@
package MyGame.Example;
+@SuppressWarnings("unused")
public final class TestEnum {
private TestEnum() { }
public static final byte A = 0;
diff --git a/tests/MyGame/Example/TestEnum.py b/tests/MyGame/Example/TestEnum.py
index d49f10a..4f5f608 100644
--- a/tests/MyGame/Example/TestEnum.py
+++ b/tests/MyGame/Example/TestEnum.py
@@ -6,4 +6,3 @@
A = 0
B = 1
C = 2
-
diff --git a/tests/MyGame/Example/TestSimpleTableWithEnum.cs b/tests/MyGame/Example/TestSimpleTableWithEnum.cs
index c8ef08e..99a498b 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_1_12_0(); }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_0(); }
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); }
@@ -49,7 +49,7 @@
builder,
_o.Color);
}
-};
+}
internal partial class TestSimpleTableWithEnumT
{
diff --git a/tests/MyGame/Example/TestSimpleTableWithEnum.java b/tests/MyGame/Example/TestSimpleTableWithEnum.java
index 7e72c22..92d0d69 100644
--- a/tests/MyGame/Example/TestSimpleTableWithEnum.java
+++ b/tests/MyGame/Example/TestSimpleTableWithEnum.java
@@ -9,14 +9,14 @@
@SuppressWarnings("unused")
final class TestSimpleTableWithEnum extends Table {
- public static void ValidateVersion() { Constants.FLATBUFFERS_1_12_0(); }
+ public static void ValidateVersion() { Constants.FLATBUFFERS_2_0_0(); }
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); }
public TestSimpleTableWithEnum __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }
public int color() { int o = __offset(4); return o != 0 ? bb.get(o + bb_pos) & 0xFF : 2; }
- public boolean mutateColor(int color) { int o = __offset(4); if (o != 0) { bb.put(o + bb_pos, (byte)color); return true; } else { return false; } }
+ public boolean mutateColor(int color) { int o = __offset(4); if (o != 0) { bb.put(o + bb_pos, (byte) color); return true; } else { return false; } }
public static int createTestSimpleTableWithEnum(FlatBufferBuilder builder,
int color) {
@@ -26,7 +26,7 @@
}
public static void startTestSimpleTableWithEnum(FlatBufferBuilder builder) { builder.startTable(1); }
- public static void addColor(FlatBufferBuilder builder, int color) { builder.addByte(0, (byte)color, (byte)2); }
+ public static void addColor(FlatBufferBuilder builder, int color) { builder.addByte(0, (byte) color, (byte) 2); }
public static int endTestSimpleTableWithEnum(FlatBufferBuilder builder) {
int o = builder.endTable();
return o;
@@ -38,5 +38,20 @@
public TestSimpleTableWithEnum get(int j) { return get(new TestSimpleTableWithEnum(), j); }
public TestSimpleTableWithEnum get(TestSimpleTableWithEnum obj, int j) { return obj.__assign(__indirect(__element(j), bb), bb); }
}
+ public TestSimpleTableWithEnumT unpack() {
+ TestSimpleTableWithEnumT _o = new TestSimpleTableWithEnumT();
+ unpackTo(_o);
+ return _o;
+ }
+ public void unpackTo(TestSimpleTableWithEnumT _o) {
+ int _oColor = color();
+ _o.setColor(_oColor);
+ }
+ public static int pack(FlatBufferBuilder builder, TestSimpleTableWithEnumT _o) {
+ if (_o == null) return 0;
+ return createTestSimpleTableWithEnum(
+ builder,
+ _o.getColor());
+ }
}
diff --git a/tests/MyGame/Example/TestSimpleTableWithEnum.kt b/tests/MyGame/Example/TestSimpleTableWithEnum.kt
index 125f889..64bf7e2 100644
--- a/tests/MyGame/Example/TestSimpleTableWithEnum.kt
+++ b/tests/MyGame/Example/TestSimpleTableWithEnum.kt
@@ -7,7 +7,6 @@
import com.google.flatbuffers.*
@Suppress("unused")
-@ExperimentalUnsignedTypes
class TestSimpleTableWithEnum : Table() {
fun __init(_i: Int, _bb: ByteBuffer) {
@@ -32,7 +31,7 @@
}
}
companion object {
- fun validateVersion() = Constants.FLATBUFFERS_1_12_0()
+ fun validateVersion() = Constants.FLATBUFFERS_2_0_0()
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 32c8251..000e6e1 100644
--- a/tests/MyGame/Example/TestSimpleTableWithEnum.lua
+++ b/tests/MyGame/Example/TestSimpleTableWithEnum.lua
@@ -1,35 +1,48 @@
--- automatically generated by the FlatBuffers compiler, do not modify
+--[[ MyGame.Example.TestSimpleTableWithEnum
--- namespace: Example
+ Automatically generated by the FlatBuffers compiler, do not modify.
+ Or modify. I'm a message, not a cop.
+
+ flatc version: 2.0.6
+
+ Declared by : //monster_test.fbs
+ Rooting type : MyGame.Example.Monster (//monster_test.fbs)
+
+--]]
local flatbuffers = require('flatbuffers')
-local TestSimpleTableWithEnum = {} -- the module
-local TestSimpleTableWithEnum_mt = {} -- the class metatable
+local TestSimpleTableWithEnum = {}
+local mt = {}
function TestSimpleTableWithEnum.New()
- local o = {}
- setmetatable(o, {__index = TestSimpleTableWithEnum_mt})
- return o
+ local o = {}
+ setmetatable(o, {__index = mt})
+ return o
end
-function TestSimpleTableWithEnum.GetRootAsTestSimpleTableWithEnum(buf, offset)
- local n = flatbuffers.N.UOffsetT:Unpack(buf, offset)
- local o = TestSimpleTableWithEnum.New()
- o:Init(buf, n + offset)
- return o
-end
-function TestSimpleTableWithEnum_mt:Init(buf, pos)
- self.view = flatbuffers.view.New(buf, pos)
-end
-function TestSimpleTableWithEnum_mt:Color()
- local o = self.view:Offset(4)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Uint8, o + self.view.pos)
- end
- return 2
-end
-function TestSimpleTableWithEnum.Start(builder) builder:StartObject(1) end
-function TestSimpleTableWithEnum.AddColor(builder, color) builder:PrependUint8Slot(0, color, 2) end
-function TestSimpleTableWithEnum.End(builder) return builder:EndObject() end
-return TestSimpleTableWithEnum -- return the module
\ No newline at end of file
+function mt:Init(buf, pos)
+ self.view = flatbuffers.view.New(buf, pos)
+end
+
+function mt:Color()
+ local o = self.view:Offset(4)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Uint8, self.view.pos + o)
+ end
+ return 2
+end
+
+function TestSimpleTableWithEnum.Start(builder)
+ builder:StartObject(1)
+end
+
+function TestSimpleTableWithEnum.AddColor(builder, color)
+ builder:PrependUint8Slot(0, color, 2)
+end
+
+function TestSimpleTableWithEnum.End(builder)
+ return builder:EndObject()
+end
+
+return TestSimpleTableWithEnum
\ No newline at end of file
diff --git a/tests/MyGame/Example/TestSimpleTableWithEnum.py b/tests/MyGame/Example/TestSimpleTableWithEnum.py
index d91947a..7f18ed2 100644
--- a/tests/MyGame/Example/TestSimpleTableWithEnum.py
+++ b/tests/MyGame/Example/TestSimpleTableWithEnum.py
@@ -10,13 +10,17 @@
__slots__ = ['_tab']
@classmethod
- def GetRootAsTestSimpleTableWithEnum(cls, buf, offset):
+ 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)
+ @classmethod
def TestSimpleTableWithEnumBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x4D\x4F\x4E\x53", size_prefixed=size_prefixed)
@@ -32,9 +36,14 @@
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):
diff --git a/tests/MyGame/Example/TestSimpleTableWithEnumT.java b/tests/MyGame/Example/TestSimpleTableWithEnumT.java
new file mode 100644
index 0000000..4bfa90e
--- /dev/null
+++ b/tests/MyGame/Example/TestSimpleTableWithEnumT.java
@@ -0,0 +1,22 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.Example;
+
+import java.nio.*;
+import java.lang.*;
+import java.util.*;
+import com.google.flatbuffers.*;
+
+class TestSimpleTableWithEnumT {
+ private int color;
+
+ public int getColor() { return color; }
+
+ public void setColor(int color) { this.color = color; }
+
+
+ public TestSimpleTableWithEnumT() {
+ this.color = 2;
+ }
+}
+
diff --git a/tests/MyGame/Example/TestT.java b/tests/MyGame/Example/TestT.java
new file mode 100644
index 0000000..e100a4c
--- /dev/null
+++ b/tests/MyGame/Example/TestT.java
@@ -0,0 +1,28 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.Example;
+
+import java.nio.*;
+import java.lang.*;
+import java.util.*;
+import com.google.flatbuffers.*;
+
+public class TestT {
+ private short a;
+ private byte b;
+
+ public short getA() { return a; }
+
+ public void setA(short a) { this.a = a; }
+
+ public byte getB() { return b; }
+
+ public void setB(byte b) { this.b = b; }
+
+
+ public TestT() {
+ this.a = 0;
+ this.b = 0;
+ }
+}
+
diff --git a/tests/MyGame/Example/TypeAliases.cs b/tests/MyGame/Example/TypeAliases.cs
index 79ffb07..1801dc8 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_1_12_0(); }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_0(); }
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); }
@@ -158,7 +158,7 @@
_v8,
_vf64);
}
-};
+}
public class TypeAliasesT
{
diff --git a/tests/MyGame/Example/TypeAliases.java b/tests/MyGame/Example/TypeAliases.java
index 1112658..db757cc 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_1_12_0(); }
+ public static void ValidateVersion() { Constants.FLATBUFFERS_2_0_0(); }
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); }
@@ -18,15 +18,15 @@
public byte i8() { int o = __offset(4); return o != 0 ? bb.get(o + bb_pos) : 0; }
public boolean mutateI8(byte i8) { int o = __offset(4); if (o != 0) { bb.put(o + bb_pos, i8); return true; } else { return false; } }
public int u8() { int o = __offset(6); return o != 0 ? bb.get(o + bb_pos) & 0xFF : 0; }
- public boolean mutateU8(int u8) { int o = __offset(6); if (o != 0) { bb.put(o + bb_pos, (byte)u8); return true; } else { return false; } }
+ public boolean mutateU8(int u8) { int o = __offset(6); if (o != 0) { bb.put(o + bb_pos, (byte) u8); return true; } else { return false; } }
public short i16() { int o = __offset(8); return o != 0 ? bb.getShort(o + bb_pos) : 0; }
public boolean mutateI16(short i16) { int o = __offset(8); if (o != 0) { bb.putShort(o + bb_pos, i16); return true; } else { return false; } }
public int u16() { int o = __offset(10); return o != 0 ? bb.getShort(o + bb_pos) & 0xFFFF : 0; }
- public boolean mutateU16(int u16) { int o = __offset(10); if (o != 0) { bb.putShort(o + bb_pos, (short)u16); return true; } else { return false; } }
+ public boolean mutateU16(int u16) { int o = __offset(10); if (o != 0) { bb.putShort(o + bb_pos, (short) u16); return true; } else { return false; } }
public int i32() { int o = __offset(12); return o != 0 ? bb.getInt(o + bb_pos) : 0; }
public boolean mutateI32(int i32) { int o = __offset(12); if (o != 0) { bb.putInt(o + bb_pos, i32); return true; } else { return false; } }
public long u32() { int o = __offset(14); return o != 0 ? (long)bb.getInt(o + bb_pos) & 0xFFFFFFFFL : 0L; }
- public boolean mutateU32(long u32) { int o = __offset(14); if (o != 0) { bb.putInt(o + bb_pos, (int)u32); return true; } else { return false; } }
+ public boolean mutateU32(long u32) { int o = __offset(14); if (o != 0) { bb.putInt(o + bb_pos, (int) u32); return true; } else { return false; } }
public long i64() { int o = __offset(16); return o != 0 ? bb.getLong(o + bb_pos) : 0L; }
public boolean mutateI64(long i64) { int o = __offset(16); if (o != 0) { bb.putLong(o + bb_pos, i64); return true; } else { return false; } }
public long u64() { int o = __offset(18); return o != 0 ? bb.getLong(o + bb_pos) : 0L; }
@@ -81,11 +81,11 @@
public static void startTypeAliases(FlatBufferBuilder builder) { builder.startTable(12); }
public static void addI8(FlatBufferBuilder builder, byte i8) { builder.addByte(0, i8, 0); }
- public static void addU8(FlatBufferBuilder builder, int u8) { builder.addByte(1, (byte)u8, (byte)0); }
+ public static void addU8(FlatBufferBuilder builder, int u8) { builder.addByte(1, (byte) u8, (byte) 0); }
public static void addI16(FlatBufferBuilder builder, short i16) { builder.addShort(2, i16, 0); }
- public static void addU16(FlatBufferBuilder builder, int u16) { builder.addShort(3, (short)u16, (short)0); }
+ public static void addU16(FlatBufferBuilder builder, int u16) { builder.addShort(3, (short) u16, (short) 0); }
public static void addI32(FlatBufferBuilder builder, int i32) { builder.addInt(4, i32, 0); }
- public static void addU32(FlatBufferBuilder builder, long u32) { builder.addInt(5, (int)u32, (int)0L); }
+ public static void addU32(FlatBufferBuilder builder, long u32) { builder.addInt(5, (int) u32, (int) 0L); }
public static void addI64(FlatBufferBuilder builder, long i64) { builder.addLong(6, i64, 0L); }
public static void addU64(FlatBufferBuilder builder, long u64) { builder.addLong(7, u64, 0L); }
public static void addF32(FlatBufferBuilder builder, float f32) { builder.addFloat(8, f32, 0.0f); }
@@ -108,5 +108,63 @@
public TypeAliases get(int j) { return get(new TypeAliases(), j); }
public TypeAliases get(TypeAliases obj, int j) { return obj.__assign(__indirect(__element(j), bb), bb); }
}
+ public TypeAliasesT unpack() {
+ TypeAliasesT _o = new TypeAliasesT();
+ unpackTo(_o);
+ return _o;
+ }
+ public void unpackTo(TypeAliasesT _o) {
+ byte _oI8 = i8();
+ _o.setI8(_oI8);
+ int _oU8 = u8();
+ _o.setU8(_oU8);
+ short _oI16 = i16();
+ _o.setI16(_oI16);
+ int _oU16 = u16();
+ _o.setU16(_oU16);
+ int _oI32 = i32();
+ _o.setI32(_oI32);
+ long _oU32 = u32();
+ _o.setU32(_oU32);
+ long _oI64 = i64();
+ _o.setI64(_oI64);
+ long _oU64 = u64();
+ _o.setU64(_oU64);
+ float _oF32 = f32();
+ _o.setF32(_oF32);
+ double _oF64 = f64();
+ _o.setF64(_oF64);
+ byte[] _oV8 = new byte[v8Length()];
+ for (int _j = 0; _j < v8Length(); ++_j) {_oV8[_j] = v8(_j);}
+ _o.setV8(_oV8);
+ double[] _oVf64 = new double[vf64Length()];
+ for (int _j = 0; _j < vf64Length(); ++_j) {_oVf64[_j] = vf64(_j);}
+ _o.setVf64(_oVf64);
+ }
+ public static int pack(FlatBufferBuilder builder, TypeAliasesT _o) {
+ if (_o == null) return 0;
+ int _v8 = 0;
+ if (_o.getV8() != null) {
+ _v8 = createV8Vector(builder, _o.getV8());
+ }
+ int _vf64 = 0;
+ if (_o.getVf64() != null) {
+ _vf64 = createVf64Vector(builder, _o.getVf64());
+ }
+ return createTypeAliases(
+ builder,
+ _o.getI8(),
+ _o.getU8(),
+ _o.getI16(),
+ _o.getU16(),
+ _o.getI32(),
+ _o.getU32(),
+ _o.getI64(),
+ _o.getU64(),
+ _o.getF32(),
+ _o.getF64(),
+ _v8,
+ _vf64);
+ }
}
diff --git a/tests/MyGame/Example/TypeAliases.kt b/tests/MyGame/Example/TypeAliases.kt
index d279d14..cdc82b5 100644
--- a/tests/MyGame/Example/TypeAliases.kt
+++ b/tests/MyGame/Example/TypeAliases.kt
@@ -7,7 +7,6 @@
import com.google.flatbuffers.*
@Suppress("unused")
-@ExperimentalUnsignedTypes
class TypeAliases : Table() {
fun __init(_i: Int, _bb: ByteBuffer) {
@@ -204,7 +203,7 @@
}
}
companion object {
- fun validateVersion() = Constants.FLATBUFFERS_1_12_0()
+ fun validateVersion() = Constants.FLATBUFFERS_2_0_0()
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 90f569c..111ae3e 100644
--- a/tests/MyGame/Example/TypeAliases.lua
+++ b/tests/MyGame/Example/TypeAliases.lua
@@ -1,141 +1,210 @@
--- automatically generated by the FlatBuffers compiler, do not modify
+--[[ MyGame.Example.TypeAliases
--- namespace: Example
+ Automatically generated by the FlatBuffers compiler, do not modify.
+ Or modify. I'm a message, not a cop.
+
+ flatc version: 2.0.6
+
+ Declared by : //monster_test.fbs
+ Rooting type : MyGame.Example.Monster (//monster_test.fbs)
+
+--]]
local flatbuffers = require('flatbuffers')
-local TypeAliases = {} -- the module
-local TypeAliases_mt = {} -- the class metatable
+local TypeAliases = {}
+local mt = {}
function TypeAliases.New()
- local o = {}
- setmetatable(o, {__index = TypeAliases_mt})
- return o
+ local o = {}
+ setmetatable(o, {__index = mt})
+ return o
end
-function TypeAliases.GetRootAsTypeAliases(buf, offset)
- local n = flatbuffers.N.UOffsetT:Unpack(buf, offset)
- local o = TypeAliases.New()
- o:Init(buf, n + offset)
- return o
-end
-function TypeAliases_mt:Init(buf, pos)
- self.view = flatbuffers.view.New(buf, pos)
-end
-function TypeAliases_mt:I8()
- local o = self.view:Offset(4)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Int8, o + self.view.pos)
- end
- return 0
-end
-function TypeAliases_mt:U8()
- local o = self.view:Offset(6)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Uint8, o + self.view.pos)
- end
- return 0
-end
-function TypeAliases_mt:I16()
- local o = self.view:Offset(8)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Int16, o + self.view.pos)
- end
- return 0
-end
-function TypeAliases_mt:U16()
- local o = self.view:Offset(10)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Uint16, o + self.view.pos)
- end
- return 0
-end
-function TypeAliases_mt:I32()
- local o = self.view:Offset(12)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Int32, o + self.view.pos)
- end
- return 0
-end
-function TypeAliases_mt:U32()
- local o = self.view:Offset(14)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Uint32, o + self.view.pos)
- end
- return 0
-end
-function TypeAliases_mt:I64()
- local o = self.view:Offset(16)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Int64, o + self.view.pos)
- end
- return 0
-end
-function TypeAliases_mt:U64()
- local o = self.view:Offset(18)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Uint64, o + self.view.pos)
- end
- return 0
-end
-function TypeAliases_mt:F32()
- local o = self.view:Offset(20)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Float32, o + self.view.pos)
- end
- return 0.0
-end
-function TypeAliases_mt:F64()
- local o = self.view:Offset(22)
- if o ~= 0 then
- return self.view:Get(flatbuffers.N.Float64, o + self.view.pos)
- end
- return 0.0
-end
-function TypeAliases_mt:V8(j)
- local o = self.view:Offset(24)
- if o ~= 0 then
- local a = self.view:Vector(o)
- return self.view:Get(flatbuffers.N.Int8, a + ((j-1) * 1))
- end
- return 0
-end
-function TypeAliases_mt:V8Length()
- local o = self.view:Offset(24)
- if o ~= 0 then
- return self.view:VectorLen(o)
- end
- return 0
-end
-function TypeAliases_mt:Vf64(j)
- local o = self.view:Offset(26)
- if o ~= 0 then
- local a = self.view:Vector(o)
- return self.view:Get(flatbuffers.N.Float64, a + ((j-1) * 8))
- end
- return 0
-end
-function TypeAliases_mt:Vf64Length()
- local o = self.view:Offset(26)
- if o ~= 0 then
- return self.view:VectorLen(o)
- end
- return 0
-end
-function TypeAliases.Start(builder) builder:StartObject(12) end
-function TypeAliases.AddI8(builder, i8) builder:PrependInt8Slot(0, i8, 0) end
-function TypeAliases.AddU8(builder, u8) builder:PrependUint8Slot(1, u8, 0) end
-function TypeAliases.AddI16(builder, i16) builder:PrependInt16Slot(2, i16, 0) end
-function TypeAliases.AddU16(builder, u16) builder:PrependUint16Slot(3, u16, 0) end
-function TypeAliases.AddI32(builder, i32) builder:PrependInt32Slot(4, i32, 0) end
-function TypeAliases.AddU32(builder, u32) builder:PrependUint32Slot(5, u32, 0) end
-function TypeAliases.AddI64(builder, i64) builder:PrependInt64Slot(6, i64, 0) end
-function TypeAliases.AddU64(builder, u64) builder:PrependUint64Slot(7, u64, 0) end
-function TypeAliases.AddF32(builder, f32) builder:PrependFloat32Slot(8, f32, 0.0) end
-function TypeAliases.AddF64(builder, f64) builder:PrependFloat64Slot(9, f64, 0.0) end
-function TypeAliases.AddV8(builder, v8) builder:PrependUOffsetTRelativeSlot(10, v8, 0) end
-function TypeAliases.StartV8Vector(builder, numElems) return builder:StartVector(1, numElems, 1) end
-function TypeAliases.AddVf64(builder, vf64) builder:PrependUOffsetTRelativeSlot(11, vf64, 0) end
-function TypeAliases.StartVf64Vector(builder, numElems) return builder:StartVector(8, numElems, 8) end
-function TypeAliases.End(builder) return builder:EndObject() end
-return TypeAliases -- return the module
\ No newline at end of file
+function mt:Init(buf, pos)
+ self.view = flatbuffers.view.New(buf, pos)
+end
+
+function mt:I8()
+ local o = self.view:Offset(4)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Int8, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:U8()
+ local o = self.view:Offset(6)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Uint8, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:I16()
+ local o = self.view:Offset(8)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Int16, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:U16()
+ local o = self.view:Offset(10)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Uint16, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:I32()
+ local o = self.view:Offset(12)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Int32, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:U32()
+ local o = self.view:Offset(14)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Uint32, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:I64()
+ local o = self.view:Offset(16)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Int64, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:U64()
+ local o = self.view:Offset(18)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Uint64, self.view.pos + o)
+ end
+ return 0
+end
+
+function mt:F32()
+ local o = self.view:Offset(20)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Float32, self.view.pos + o)
+ end
+ return 0.0
+end
+
+function mt:F64()
+ local o = self.view:Offset(22)
+ if o ~= 0 then
+ return self.view:Get(flatbuffers.N.Float64, self.view.pos + o)
+ end
+ return 0.0
+end
+
+function mt:V8(j)
+ local o = self.view:Offset(24)
+ if o ~= 0 then
+ local a = self.view:Vector(o)
+ return self.view:Get(flatbuffers.N.Int8, a + ((j-1) * 1))
+ end
+ return 0
+end
+
+function mt:V8AsString(start, stop)
+ return self.view:VectorAsString(24, start, stop)
+end
+
+function mt:V8Length()
+ local o = self.view:Offset(24)
+ if o ~= 0 then
+ return self.view:VectorLen(o)
+ end
+ return 0
+end
+
+function mt:Vf64(j)
+ local o = self.view:Offset(26)
+ if o ~= 0 then
+ local a = self.view:Vector(o)
+ return self.view:Get(flatbuffers.N.Float64, a + ((j-1) * 8))
+ end
+ return 0
+end
+
+function mt:Vf64Length()
+ local o = self.view:Offset(26)
+ if o ~= 0 then
+ return self.view:VectorLen(o)
+ end
+ return 0
+end
+
+function TypeAliases.Start(builder)
+ builder:StartObject(12)
+end
+
+function TypeAliases.AddI8(builder, i8)
+ builder:PrependInt8Slot(0, i8, 0)
+end
+
+function TypeAliases.AddU8(builder, u8)
+ builder:PrependUint8Slot(1, u8, 0)
+end
+
+function TypeAliases.AddI16(builder, i16)
+ builder:PrependInt16Slot(2, i16, 0)
+end
+
+function TypeAliases.AddU16(builder, u16)
+ builder:PrependUint16Slot(3, u16, 0)
+end
+
+function TypeAliases.AddI32(builder, i32)
+ builder:PrependInt32Slot(4, i32, 0)
+end
+
+function TypeAliases.AddU32(builder, u32)
+ builder:PrependUint32Slot(5, u32, 0)
+end
+
+function TypeAliases.AddI64(builder, i64)
+ builder:PrependInt64Slot(6, i64, 0)
+end
+
+function TypeAliases.AddU64(builder, u64)
+ builder:PrependUint64Slot(7, u64, 0)
+end
+
+function TypeAliases.AddF32(builder, f32)
+ builder:PrependFloat32Slot(8, f32, 0.0)
+end
+
+function TypeAliases.AddF64(builder, f64)
+ builder:PrependFloat64Slot(9, f64, 0.0)
+end
+
+function TypeAliases.AddV8(builder, v8)
+ builder:PrependUOffsetTRelativeSlot(10, v8, 0)
+end
+
+function TypeAliases.StartV8Vector(builder, numElems)
+ return builder:StartVector(1, numElems, 1)
+end
+
+function TypeAliases.AddVf64(builder, vf64)
+ builder:PrependUOffsetTRelativeSlot(11, vf64, 0)
+end
+
+function TypeAliases.StartVf64Vector(builder, numElems)
+ return builder:StartVector(8, numElems, 8)
+end
+
+function TypeAliases.End(builder)
+ return builder:EndObject()
+end
+
+return TypeAliases
\ No newline at end of file
diff --git a/tests/MyGame/Example/TypeAliases.py b/tests/MyGame/Example/TypeAliases.py
index 0567212..8b0ea19 100644
--- a/tests/MyGame/Example/TypeAliases.py
+++ b/tests/MyGame/Example/TypeAliases.py
@@ -10,13 +10,17 @@
__slots__ = ['_tab']
@classmethod
- def GetRootAsTypeAliases(cls, buf, offset):
+ def GetRootAs(cls, buf, offset=0):
n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
x = TypeAliases()
x.Init(buf, n + offset)
return x
@classmethod
+ def GetRootAsTypeAliases(cls, buf, offset=0):
+ """This method is deprecated. Please switch to GetRootAs."""
+ return cls.GetRootAs(buf, offset)
+ @classmethod
def TypeAliasesBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x4D\x4F\x4E\x53", size_prefixed=size_prefixed)
@@ -149,22 +153,53 @@
return o == 0
def TypeAliasesStart(builder): builder.StartObject(12)
+def Start(builder):
+ return TypeAliasesStart(builder)
def TypeAliasesAddI8(builder, i8): builder.PrependInt8Slot(0, i8, 0)
+def AddI8(builder, i8):
+ return TypeAliasesAddI8(builder, i8)
def TypeAliasesAddU8(builder, u8): builder.PrependUint8Slot(1, u8, 0)
+def AddU8(builder, u8):
+ return TypeAliasesAddU8(builder, u8)
def TypeAliasesAddI16(builder, i16): builder.PrependInt16Slot(2, i16, 0)
+def AddI16(builder, i16):
+ return TypeAliasesAddI16(builder, i16)
def TypeAliasesAddU16(builder, u16): builder.PrependUint16Slot(3, u16, 0)
+def AddU16(builder, u16):
+ return TypeAliasesAddU16(builder, u16)
def TypeAliasesAddI32(builder, i32): builder.PrependInt32Slot(4, i32, 0)
+def AddI32(builder, i32):
+ return TypeAliasesAddI32(builder, i32)
def TypeAliasesAddU32(builder, u32): builder.PrependUint32Slot(5, u32, 0)
+def AddU32(builder, u32):
+ return TypeAliasesAddU32(builder, u32)
def TypeAliasesAddI64(builder, i64): builder.PrependInt64Slot(6, i64, 0)
+def AddI64(builder, i64):
+ return TypeAliasesAddI64(builder, i64)
def TypeAliasesAddU64(builder, u64): builder.PrependUint64Slot(7, u64, 0)
+def AddU64(builder, u64):
+ return TypeAliasesAddU64(builder, u64)
def TypeAliasesAddF32(builder, f32): builder.PrependFloat32Slot(8, f32, 0.0)
+def AddF32(builder, f32):
+ return TypeAliasesAddF32(builder, f32)
def TypeAliasesAddF64(builder, f64): builder.PrependFloat64Slot(9, f64, 0.0)
+def AddF64(builder, f64):
+ return TypeAliasesAddF64(builder, f64)
def TypeAliasesAddV8(builder, v8): builder.PrependUOffsetTRelativeSlot(10, flatbuffers.number_types.UOffsetTFlags.py_type(v8), 0)
+def AddV8(builder, v8):
+ return TypeAliasesAddV8(builder, v8)
def TypeAliasesStartV8Vector(builder, numElems): return builder.StartVector(1, numElems, 1)
+def StartV8Vector(builder, numElems):
+ return TypeAliasesStartV8Vector(builder, numElems)
def TypeAliasesAddVf64(builder, vf64): builder.PrependUOffsetTRelativeSlot(11, flatbuffers.number_types.UOffsetTFlags.py_type(vf64), 0)
+def AddVf64(builder, vf64):
+ return TypeAliasesAddVf64(builder, vf64)
def TypeAliasesStartVf64Vector(builder, numElems): return builder.StartVector(8, numElems, 8)
+def StartVf64Vector(builder, numElems):
+ return TypeAliasesStartVf64Vector(builder, numElems)
def TypeAliasesEnd(builder): return builder.EndObject()
-
+def End(builder):
+ return TypeAliasesEnd(builder)
try:
from typing import List
except:
@@ -237,7 +272,7 @@
TypeAliasesStartV8Vector(builder, len(self.v8))
for i in reversed(range(len(self.v8))):
builder.PrependByte(self.v8[i])
- v8 = builder.EndVector(len(self.v8))
+ v8 = builder.EndVector()
if self.vf64 is not None:
if np is not None and type(self.vf64) is np.ndarray:
vf64 = builder.CreateNumpyVector(self.vf64)
@@ -245,7 +280,7 @@
TypeAliasesStartVf64Vector(builder, len(self.vf64))
for i in reversed(range(len(self.vf64))):
builder.PrependFloat64(self.vf64[i])
- vf64 = builder.EndVector(len(self.vf64))
+ vf64 = builder.EndVector()
TypeAliasesStart(builder)
TypeAliasesAddI8(builder, self.i8)
TypeAliasesAddU8(builder, self.u8)
diff --git a/tests/MyGame/Example/TypeAliasesT.java b/tests/MyGame/Example/TypeAliasesT.java
new file mode 100644
index 0000000..3b07956
--- /dev/null
+++ b/tests/MyGame/Example/TypeAliasesT.java
@@ -0,0 +1,88 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.Example;
+
+import java.nio.*;
+import java.lang.*;
+import java.util.*;
+import com.google.flatbuffers.*;
+
+public class TypeAliasesT {
+ private byte i8;
+ private int u8;
+ private short i16;
+ private int u16;
+ private int i32;
+ private long u32;
+ private long i64;
+ private long u64;
+ private float f32;
+ private double f64;
+ private byte[] v8;
+ private double[] vf64;
+
+ public byte getI8() { return i8; }
+
+ public void setI8(byte i8) { this.i8 = i8; }
+
+ public int getU8() { return u8; }
+
+ public void setU8(int u8) { this.u8 = u8; }
+
+ public short getI16() { return i16; }
+
+ public void setI16(short i16) { this.i16 = i16; }
+
+ public int getU16() { return u16; }
+
+ public void setU16(int u16) { this.u16 = u16; }
+
+ public int getI32() { return i32; }
+
+ public void setI32(int i32) { this.i32 = i32; }
+
+ public long getU32() { return u32; }
+
+ public void setU32(long u32) { this.u32 = u32; }
+
+ public long getI64() { return i64; }
+
+ public void setI64(long i64) { this.i64 = i64; }
+
+ public long getU64() { return u64; }
+
+ public void setU64(long u64) { this.u64 = u64; }
+
+ public float getF32() { return f32; }
+
+ public void setF32(float f32) { this.f32 = f32; }
+
+ public double getF64() { return f64; }
+
+ public void setF64(double f64) { this.f64 = f64; }
+
+ public byte[] getV8() { return v8; }
+
+ public void setV8(byte[] v8) { this.v8 = v8; }
+
+ public double[] getVf64() { return vf64; }
+
+ public void setVf64(double[] vf64) { this.vf64 = vf64; }
+
+
+ public TypeAliasesT() {
+ this.i8 = 0;
+ this.u8 = 0;
+ this.i16 = 0;
+ this.u16 = 0;
+ this.i32 = 0;
+ this.u32 = 0L;
+ this.i64 = 0L;
+ this.u64 = 0L;
+ this.f32 = 0.0f;
+ this.f64 = 0.0;
+ this.v8 = null;
+ this.vf64 = null;
+ }
+}
+
diff --git a/tests/MyGame/Example/Vec3.cs b/tests/MyGame/Example/Vec3.cs
index 54fc8f9..31c9f7e 100644
--- a/tests/MyGame/Example/Vec3.cs
+++ b/tests/MyGame/Example/Vec3.cs
@@ -71,7 +71,7 @@
_test3_a,
_test3_b);
}
-};
+}
public class Vec3T
{
diff --git a/tests/MyGame/Example/Vec3.java b/tests/MyGame/Example/Vec3.java
index 89d38a1..62ef331 100644
--- a/tests/MyGame/Example/Vec3.java
+++ b/tests/MyGame/Example/Vec3.java
@@ -21,7 +21,7 @@
public double test1() { return bb.getDouble(bb_pos + 16); }
public void mutateTest1(double test1) { bb.putDouble(bb_pos + 16, test1); }
public int test2() { return bb.get(bb_pos + 24) & 0xFF; }
- public void mutateTest2(int test2) { bb.put(bb_pos + 24, (byte)test2); }
+ public void mutateTest2(int test2) { bb.put(bb_pos + 24, (byte) test2); }
public MyGame.Example.Test test3() { return test3(new MyGame.Example.Test()); }
public MyGame.Example.Test test3(MyGame.Example.Test obj) { return obj.__assign(bb_pos + 26, bb); }
@@ -33,7 +33,7 @@
builder.putByte(test3_b);
builder.putShort(test3_a);
builder.pad(1);
- builder.putByte((byte)test2);
+ builder.putByte((byte) test2);
builder.putDouble(test1);
builder.pad(4);
builder.putFloat(z);
@@ -48,5 +48,37 @@
public Vec3 get(int j) { return get(new Vec3(), j); }
public Vec3 get(Vec3 obj, int j) { return obj.__assign(__element(j), bb); }
}
+ public Vec3T unpack() {
+ Vec3T _o = new Vec3T();
+ unpackTo(_o);
+ return _o;
+ }
+ public void unpackTo(Vec3T _o) {
+ float _oX = x();
+ _o.setX(_oX);
+ float _oY = y();
+ _o.setY(_oY);
+ float _oZ = z();
+ _o.setZ(_oZ);
+ double _oTest1 = test1();
+ _o.setTest1(_oTest1);
+ int _oTest2 = test2();
+ _o.setTest2(_oTest2);
+ test3().unpackTo(_o.getTest3());
+ }
+ public static int pack(FlatBufferBuilder builder, Vec3T _o) {
+ if (_o == null) return 0;
+ short _test3_a = _o.getTest3().getA();
+ byte _test3_b = _o.getTest3().getB();
+ return createVec3(
+ builder,
+ _o.getX(),
+ _o.getY(),
+ _o.getZ(),
+ _o.getTest1(),
+ _o.getTest2(),
+ _test3_a,
+ _test3_b);
+ }
}
diff --git a/tests/MyGame/Example/Vec3.kt b/tests/MyGame/Example/Vec3.kt
index 90f1b4a..445601c 100644
--- a/tests/MyGame/Example/Vec3.kt
+++ b/tests/MyGame/Example/Vec3.kt
@@ -7,7 +7,6 @@
import com.google.flatbuffers.*
@Suppress("unused")
-@ExperimentalUnsignedTypes
class Vec3 : Struct() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/MyGame/Example/Vec3.lua b/tests/MyGame/Example/Vec3.lua
index 24d4cc1..ef51051 100644
--- a/tests/MyGame/Example/Vec3.lua
+++ b/tests/MyGame/Example/Vec3.lua
@@ -1,54 +1,70 @@
--- automatically generated by the FlatBuffers compiler, do not modify
+--[[ MyGame.Example.Vec3
--- namespace: Example
+ Automatically generated by the FlatBuffers compiler, do not modify.
+ Or modify. I'm a message, not a cop.
+
+ flatc version: 2.0.6
+
+ Declared by : //monster_test.fbs
+ Rooting type : MyGame.Example.Monster (//monster_test.fbs)
+
+--]]
local flatbuffers = require('flatbuffers')
-local Vec3 = {} -- the module
-local Vec3_mt = {} -- the class metatable
+local Vec3 = {}
+local mt = {}
function Vec3.New()
- local o = {}
- setmetatable(o, {__index = Vec3_mt})
- return o
-end
-function Vec3_mt:Init(buf, pos)
- self.view = flatbuffers.view.New(buf, pos)
-end
-function Vec3_mt:X()
- return self.view:Get(flatbuffers.N.Float32, self.view.pos + 0)
-end
-function Vec3_mt:Y()
- return self.view:Get(flatbuffers.N.Float32, self.view.pos + 4)
-end
-function Vec3_mt:Z()
- return self.view:Get(flatbuffers.N.Float32, self.view.pos + 8)
-end
-function Vec3_mt:Test1()
- return self.view:Get(flatbuffers.N.Float64, self.view.pos + 16)
-end
-function Vec3_mt:Test2()
- return self.view:Get(flatbuffers.N.Uint8, self.view.pos + 24)
-end
-function Vec3_mt:Test3(obj)
- obj:Init(self.view.bytes, self.view.pos + 26)
- return obj
-end
-function Vec3.CreateVec3(builder, x, y, z, test1, test2, test3_a, test3_b)
- builder:Prep(8, 32)
- builder:Pad(2)
- builder:Prep(2, 4)
- builder:Pad(1)
- builder:PrependInt8(test3_b)
- builder:PrependInt16(test3_a)
- builder:Pad(1)
- builder:PrependUint8(test2)
- builder:PrependFloat64(test1)
- builder:Pad(4)
- builder:PrependFloat32(z)
- builder:PrependFloat32(y)
- builder:PrependFloat32(x)
- return builder:Offset()
+ local o = {}
+ setmetatable(o, {__index = mt})
+ return o
end
-return Vec3 -- return the module
\ No newline at end of file
+function mt:Init(buf, pos)
+ self.view = flatbuffers.view.New(buf, pos)
+end
+
+function mt:X()
+ return self.view:Get(flatbuffers.N.Float32, self.view.pos + 0)
+end
+
+function mt:Y()
+ return self.view:Get(flatbuffers.N.Float32, self.view.pos + 4)
+end
+
+function mt:Z()
+ return self.view:Get(flatbuffers.N.Float32, self.view.pos + 8)
+end
+
+function mt:Test1()
+ return self.view:Get(flatbuffers.N.Float64, self.view.pos + 16)
+end
+
+function mt:Test2()
+ return self.view:Get(flatbuffers.N.Uint8, self.view.pos + 24)
+end
+
+function mt:Test3(obj)
+ obj:Init(self.view.bytes, self.view.pos + 26)
+ return obj
+end
+
+function Vec3.CreateVec3(builder, x, y, z, test1, test2, test3_a, test3_b)
+ builder:Prep(8, 32)
+ builder:Pad(2)
+ builder:Prep(2, 4)
+ builder:Pad(1)
+ builder:PrependInt8(test3_b)
+ builder:PrependInt16(test3_a)
+ builder:Pad(1)
+ builder:PrependUint8(test2)
+ builder:PrependFloat64(test1)
+ builder:Pad(4)
+ builder:PrependFloat32(z)
+ builder:PrependFloat32(y)
+ builder:PrependFloat32(x)
+ return builder:Offset()
+end
+
+return Vec3
\ No newline at end of file
diff --git a/tests/MyGame/Example/Vec3T.java b/tests/MyGame/Example/Vec3T.java
new file mode 100644
index 0000000..8728e3a
--- /dev/null
+++ b/tests/MyGame/Example/Vec3T.java
@@ -0,0 +1,52 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.Example;
+
+import java.nio.*;
+import java.lang.*;
+import java.util.*;
+import com.google.flatbuffers.*;
+
+public class Vec3T {
+ private float x;
+ private float y;
+ private float z;
+ private double test1;
+ private int test2;
+ private MyGame.Example.TestT test3;
+
+ public float getX() { return x; }
+
+ public void setX(float x) { this.x = x; }
+
+ public float getY() { return y; }
+
+ public void setY(float y) { this.y = y; }
+
+ public float getZ() { return z; }
+
+ public void setZ(float z) { this.z = z; }
+
+ public double getTest1() { return test1; }
+
+ public void setTest1(double test1) { this.test1 = test1; }
+
+ public int getTest2() { return test2; }
+
+ public void setTest2(int test2) { this.test2 = test2; }
+
+ public MyGame.Example.TestT getTest3() { return test3; }
+
+ public void setTest3(MyGame.Example.TestT test3) { this.test3 = test3; }
+
+
+ public Vec3T() {
+ this.x = 0.0f;
+ this.y = 0.0f;
+ this.z = 0.0f;
+ this.test1 = 0.0;
+ this.test2 = 0;
+ this.test3 = new MyGame.Example.TestT();
+ }
+}
+
diff --git a/tests/MyGame/Example2/Monster.cs b/tests/MyGame/Example2/Monster.cs
index 3291ee8..3232bd6 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_1_12_0(); }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_0(); }
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); }
@@ -37,7 +37,7 @@
StartMonster(builder);
return EndMonster(builder);
}
-};
+}
public class MonsterT
{
diff --git a/tests/MyGame/Example2/Monster.java b/tests/MyGame/Example2/Monster.java
index 950c427..6323def 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_1_12_0(); }
+ public static void ValidateVersion() { Constants.FLATBUFFERS_2_0_0(); }
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); }
@@ -28,5 +28,17 @@
public Monster get(int j) { return get(new Monster(), j); }
public Monster get(Monster obj, int j) { return obj.__assign(__indirect(__element(j), bb), bb); }
}
+ public MonsterT unpack() {
+ MonsterT _o = new MonsterT();
+ unpackTo(_o);
+ return _o;
+ }
+ public void unpackTo(MonsterT _o) {
+ }
+ public static int pack(FlatBufferBuilder builder, MonsterT _o) {
+ if (_o == null) return 0;
+ startMonster(builder);
+ return endMonster(builder);
+ }
}
diff --git a/tests/MyGame/Example2/Monster.kt b/tests/MyGame/Example2/Monster.kt
index f1df2e0..88b9d05 100644
--- a/tests/MyGame/Example2/Monster.kt
+++ b/tests/MyGame/Example2/Monster.kt
@@ -7,7 +7,6 @@
import com.google.flatbuffers.*
@Suppress("unused")
-@ExperimentalUnsignedTypes
class Monster : Table() {
fun __init(_i: Int, _bb: ByteBuffer) {
@@ -18,7 +17,7 @@
return this
}
companion object {
- fun validateVersion() = Constants.FLATBUFFERS_1_12_0()
+ fun validateVersion() = Constants.FLATBUFFERS_2_0_0()
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 347b5db..9c33904 100644
--- a/tests/MyGame/Example2/Monster.lua
+++ b/tests/MyGame/Example2/Monster.lua
@@ -1,27 +1,36 @@
--- automatically generated by the FlatBuffers compiler, do not modify
+--[[ MyGame.Example2.Monster
--- namespace: Example2
+ Automatically generated by the FlatBuffers compiler, do not modify.
+ Or modify. I'm a message, not a cop.
+
+ flatc version: 2.0.6
+
+ Declared by : //monster_test.fbs
+ Rooting type : MyGame.Example.Monster (//monster_test.fbs)
+
+--]]
local flatbuffers = require('flatbuffers')
-local Monster = {} -- the module
-local Monster_mt = {} -- the class metatable
+local Monster = {}
+local mt = {}
function Monster.New()
- local o = {}
- setmetatable(o, {__index = Monster_mt})
- return o
+ local o = {}
+ setmetatable(o, {__index = mt})
+ return o
end
-function Monster.GetRootAsMonster(buf, offset)
- local n = flatbuffers.N.UOffsetT:Unpack(buf, offset)
- local o = Monster.New()
- o:Init(buf, n + offset)
- return o
-end
-function Monster_mt:Init(buf, pos)
- self.view = flatbuffers.view.New(buf, pos)
-end
-function Monster.Start(builder) builder:StartObject(0) end
-function Monster.End(builder) return builder:EndObject() end
-return Monster -- return the module
\ No newline at end of file
+function mt:Init(buf, pos)
+ self.view = flatbuffers.view.New(buf, pos)
+end
+
+function Monster.Start(builder)
+ builder:StartObject(0)
+end
+
+function Monster.End(builder)
+ return builder:EndObject()
+end
+
+return Monster
\ No newline at end of file
diff --git a/tests/MyGame/Example2/Monster.py b/tests/MyGame/Example2/Monster.py
index 538b035..893ea9b 100644
--- a/tests/MyGame/Example2/Monster.py
+++ b/tests/MyGame/Example2/Monster.py
@@ -10,13 +10,17 @@
__slots__ = ['_tab']
@classmethod
- def GetRootAsMonster(cls, buf, offset):
+ def GetRootAs(cls, buf, offset=0):
n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
x = Monster()
x.Init(buf, n + offset)
return x
@classmethod
+ def GetRootAsMonster(cls, buf, offset=0):
+ """This method is deprecated. Please switch to GetRootAs."""
+ return cls.GetRootAs(buf, offset)
+ @classmethod
def MonsterBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x4D\x4F\x4E\x53", size_prefixed=size_prefixed)
@@ -25,8 +29,11 @@
self._tab = flatbuffers.table.Table(buf, pos)
def MonsterStart(builder): builder.StartObject(0)
+def Start(builder):
+ return MonsterStart(builder)
def MonsterEnd(builder): return builder.EndObject()
-
+def End(builder):
+ return MonsterEnd(builder)
class MonsterT(object):
diff --git a/tests/MyGame/Example2/MonsterT.java b/tests/MyGame/Example2/MonsterT.java
new file mode 100644
index 0000000..2939f9b
--- /dev/null
+++ b/tests/MyGame/Example2/MonsterT.java
@@ -0,0 +1,16 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.Example2;
+
+import java.nio.*;
+import java.lang.*;
+import java.util.*;
+import com.google.flatbuffers.*;
+
+public class MonsterT {
+
+
+ public MonsterT() {
+ }
+}
+
diff --git a/tests/MyGame/InParentNamespace.cs b/tests/MyGame/InParentNamespace.cs
index efefa34..b266aae 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_1_12_0(); }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_0(); }
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); }
@@ -37,7 +37,7 @@
StartInParentNamespace(builder);
return EndInParentNamespace(builder);
}
-};
+}
public class InParentNamespaceT
{
diff --git a/tests/MyGame/InParentNamespace.java b/tests/MyGame/InParentNamespace.java
index 20a1ea8..a3e6819 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_1_12_0(); }
+ public static void ValidateVersion() { Constants.FLATBUFFERS_2_0_0(); }
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); }
@@ -28,5 +28,17 @@
public InParentNamespace get(int j) { return get(new InParentNamespace(), j); }
public InParentNamespace get(InParentNamespace obj, int j) { return obj.__assign(__indirect(__element(j), bb), bb); }
}
+ public InParentNamespaceT unpack() {
+ InParentNamespaceT _o = new InParentNamespaceT();
+ unpackTo(_o);
+ return _o;
+ }
+ public void unpackTo(InParentNamespaceT _o) {
+ }
+ public static int pack(FlatBufferBuilder builder, InParentNamespaceT _o) {
+ if (_o == null) return 0;
+ startInParentNamespace(builder);
+ return endInParentNamespace(builder);
+ }
}
diff --git a/tests/MyGame/InParentNamespace.kt b/tests/MyGame/InParentNamespace.kt
index 02f078e..beb414a 100644
--- a/tests/MyGame/InParentNamespace.kt
+++ b/tests/MyGame/InParentNamespace.kt
@@ -7,7 +7,6 @@
import com.google.flatbuffers.*
@Suppress("unused")
-@ExperimentalUnsignedTypes
class InParentNamespace : Table() {
fun __init(_i: Int, _bb: ByteBuffer) {
@@ -18,7 +17,7 @@
return this
}
companion object {
- fun validateVersion() = Constants.FLATBUFFERS_1_12_0()
+ fun validateVersion() = Constants.FLATBUFFERS_2_0_0()
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 b3fa0c8..8112c25 100644
--- a/tests/MyGame/InParentNamespace.lua
+++ b/tests/MyGame/InParentNamespace.lua
@@ -1,27 +1,36 @@
--- automatically generated by the FlatBuffers compiler, do not modify
+--[[ MyGame.InParentNamespace
--- namespace: MyGame
+ Automatically generated by the FlatBuffers compiler, do not modify.
+ Or modify. I'm a message, not a cop.
+
+ flatc version: 2.0.6
+
+ Declared by : //monster_test.fbs
+ Rooting type : MyGame.Example.Monster (//monster_test.fbs)
+
+--]]
local flatbuffers = require('flatbuffers')
-local InParentNamespace = {} -- the module
-local InParentNamespace_mt = {} -- the class metatable
+local InParentNamespace = {}
+local mt = {}
function InParentNamespace.New()
- local o = {}
- setmetatable(o, {__index = InParentNamespace_mt})
- return o
+ local o = {}
+ setmetatable(o, {__index = mt})
+ return o
end
-function InParentNamespace.GetRootAsInParentNamespace(buf, offset)
- local n = flatbuffers.N.UOffsetT:Unpack(buf, offset)
- local o = InParentNamespace.New()
- o:Init(buf, n + offset)
- return o
-end
-function InParentNamespace_mt:Init(buf, pos)
- self.view = flatbuffers.view.New(buf, pos)
-end
-function InParentNamespace.Start(builder) builder:StartObject(0) end
-function InParentNamespace.End(builder) return builder:EndObject() end
-return InParentNamespace -- return the module
\ No newline at end of file
+function mt:Init(buf, pos)
+ self.view = flatbuffers.view.New(buf, pos)
+end
+
+function InParentNamespace.Start(builder)
+ builder:StartObject(0)
+end
+
+function InParentNamespace.End(builder)
+ return builder:EndObject()
+end
+
+return InParentNamespace
\ No newline at end of file
diff --git a/tests/MyGame/InParentNamespace.py b/tests/MyGame/InParentNamespace.py
index e78ea6a..197072b 100644
--- a/tests/MyGame/InParentNamespace.py
+++ b/tests/MyGame/InParentNamespace.py
@@ -10,13 +10,17 @@
__slots__ = ['_tab']
@classmethod
- def GetRootAsInParentNamespace(cls, buf, offset):
+ def GetRootAs(cls, buf, offset=0):
n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
x = InParentNamespace()
x.Init(buf, n + offset)
return x
@classmethod
+ def GetRootAsInParentNamespace(cls, buf, offset=0):
+ """This method is deprecated. Please switch to GetRootAs."""
+ return cls.GetRootAs(buf, offset)
+ @classmethod
def InParentNamespaceBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x4D\x4F\x4E\x53", size_prefixed=size_prefixed)
@@ -25,8 +29,11 @@
self._tab = flatbuffers.table.Table(buf, pos)
def InParentNamespaceStart(builder): builder.StartObject(0)
+def Start(builder):
+ return InParentNamespaceStart(builder)
def InParentNamespaceEnd(builder): return builder.EndObject()
-
+def End(builder):
+ return InParentNamespaceEnd(builder)
class InParentNamespaceT(object):
diff --git a/tests/MyGame/InParentNamespaceT.java b/tests/MyGame/InParentNamespaceT.java
new file mode 100644
index 0000000..36d4485
--- /dev/null
+++ b/tests/MyGame/InParentNamespaceT.java
@@ -0,0 +1,16 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame;
+
+import java.nio.*;
+import java.lang.*;
+import java.util.*;
+import com.google.flatbuffers.*;
+
+public class InParentNamespaceT {
+
+
+ public InParentNamespaceT() {
+ }
+}
+
diff --git a/tests/MyGame/MonsterExtra.cs b/tests/MyGame/MonsterExtra.cs
index d74ae8b..6af9932 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_1_12_0(); }
+ public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_2_0_0(); }
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"); }
@@ -147,7 +147,7 @@
_dvec,
_fvec);
}
-};
+}
public class MonsterExtraT
{
diff --git a/tests/MyGame/MonsterExtra.java b/tests/MyGame/MonsterExtra.java
index 8a5fe75..a2c342d 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_1_12_0(); }
+ public static void ValidateVersion() { Constants.FLATBUFFERS_2_0_0(); }
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"); }
@@ -100,5 +100,57 @@
public MonsterExtra get(int j) { return get(new MonsterExtra(), j); }
public MonsterExtra get(MonsterExtra obj, int j) { return obj.__assign(__indirect(__element(j), bb), bb); }
}
+ public MonsterExtraT unpack() {
+ MonsterExtraT _o = new MonsterExtraT();
+ unpackTo(_o);
+ return _o;
+ }
+ public void unpackTo(MonsterExtraT _o) {
+ double _oD0 = d0();
+ _o.setD0(_oD0);
+ double _oD1 = d1();
+ _o.setD1(_oD1);
+ double _oD2 = d2();
+ _o.setD2(_oD2);
+ double _oD3 = d3();
+ _o.setD3(_oD3);
+ float _oF0 = f0();
+ _o.setF0(_oF0);
+ float _oF1 = f1();
+ _o.setF1(_oF1);
+ float _oF2 = f2();
+ _o.setF2(_oF2);
+ float _oF3 = f3();
+ _o.setF3(_oF3);
+ double[] _oDvec = new double[dvecLength()];
+ for (int _j = 0; _j < dvecLength(); ++_j) {_oDvec[_j] = dvec(_j);}
+ _o.setDvec(_oDvec);
+ float[] _oFvec = new float[fvecLength()];
+ for (int _j = 0; _j < fvecLength(); ++_j) {_oFvec[_j] = fvec(_j);}
+ _o.setFvec(_oFvec);
+ }
+ public static int pack(FlatBufferBuilder builder, MonsterExtraT _o) {
+ if (_o == null) return 0;
+ int _dvec = 0;
+ if (_o.getDvec() != null) {
+ _dvec = createDvecVector(builder, _o.getDvec());
+ }
+ int _fvec = 0;
+ if (_o.getFvec() != null) {
+ _fvec = createFvecVector(builder, _o.getFvec());
+ }
+ return createMonsterExtra(
+ builder,
+ _o.getD0(),
+ _o.getD1(),
+ _o.getD2(),
+ _o.getD3(),
+ _o.getF0(),
+ _o.getF1(),
+ _o.getF2(),
+ _o.getF3(),
+ _dvec,
+ _fvec);
+ }
}
diff --git a/tests/MyGame/MonsterExtra.kt b/tests/MyGame/MonsterExtra.kt
index e025c2f..f222647 100644
--- a/tests/MyGame/MonsterExtra.kt
+++ b/tests/MyGame/MonsterExtra.kt
@@ -7,7 +7,6 @@
import com.google.flatbuffers.*
@Suppress("unused")
-@ExperimentalUnsignedTypes
class MonsterExtra : Table() {
fun __init(_i: Int, _bb: ByteBuffer) {
@@ -176,7 +175,7 @@
}
}
companion object {
- fun validateVersion() = Constants.FLATBUFFERS_1_12_0()
+ fun validateVersion() = Constants.FLATBUFFERS_2_0_0()
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 eafea7c..f7288b6 100644
--- a/tests/MyGame/MonsterExtra.py
+++ b/tests/MyGame/MonsterExtra.py
@@ -10,13 +10,17 @@
__slots__ = ['_tab']
@classmethod
- def GetRootAsMonsterExtra(cls, buf, offset):
+ def GetRootAs(cls, buf, offset=0):
n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
x = MonsterExtra()
x.Init(buf, n + offset)
return x
@classmethod
+ def GetRootAsMonsterExtra(cls, buf, offset=0):
+ """This method is deprecated. Please switch to GetRootAs."""
+ return cls.GetRootAs(buf, offset)
+ @classmethod
def MonsterExtraBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x4D\x4F\x4E\x45", size_prefixed=size_prefixed)
@@ -135,20 +139,47 @@
return o == 0
def MonsterExtraStart(builder): builder.StartObject(11)
+def Start(builder):
+ return MonsterExtraStart(builder)
def MonsterExtraAddD0(builder, d0): builder.PrependFloat64Slot(0, d0, float('nan'))
+def AddD0(builder, d0):
+ return MonsterExtraAddD0(builder, d0)
def MonsterExtraAddD1(builder, d1): builder.PrependFloat64Slot(1, d1, float('nan'))
+def AddD1(builder, d1):
+ return MonsterExtraAddD1(builder, d1)
def MonsterExtraAddD2(builder, d2): builder.PrependFloat64Slot(2, d2, float('inf'))
+def AddD2(builder, d2):
+ return MonsterExtraAddD2(builder, d2)
def MonsterExtraAddD3(builder, d3): builder.PrependFloat64Slot(3, d3, float('-inf'))
+def AddD3(builder, d3):
+ return MonsterExtraAddD3(builder, d3)
def MonsterExtraAddF0(builder, f0): builder.PrependFloat32Slot(4, f0, float('nan'))
+def AddF0(builder, f0):
+ return MonsterExtraAddF0(builder, f0)
def MonsterExtraAddF1(builder, f1): builder.PrependFloat32Slot(5, f1, float('nan'))
+def AddF1(builder, f1):
+ return MonsterExtraAddF1(builder, f1)
def MonsterExtraAddF2(builder, f2): builder.PrependFloat32Slot(6, f2, float('inf'))
+def AddF2(builder, f2):
+ return MonsterExtraAddF2(builder, f2)
def MonsterExtraAddF3(builder, f3): builder.PrependFloat32Slot(7, f3, float('-inf'))
+def AddF3(builder, f3):
+ return MonsterExtraAddF3(builder, f3)
def MonsterExtraAddDvec(builder, dvec): builder.PrependUOffsetTRelativeSlot(8, flatbuffers.number_types.UOffsetTFlags.py_type(dvec), 0)
+def AddDvec(builder, dvec):
+ return MonsterExtraAddDvec(builder, dvec)
def MonsterExtraStartDvecVector(builder, numElems): return builder.StartVector(8, numElems, 8)
+def StartDvecVector(builder, numElems):
+ return MonsterExtraStartDvecVector(builder, numElems)
def MonsterExtraAddFvec(builder, fvec): builder.PrependUOffsetTRelativeSlot(9, flatbuffers.number_types.UOffsetTFlags.py_type(fvec), 0)
+def AddFvec(builder, fvec):
+ return MonsterExtraAddFvec(builder, fvec)
def MonsterExtraStartFvecVector(builder, numElems): return builder.StartVector(4, numElems, 4)
+def StartFvecVector(builder, numElems):
+ return MonsterExtraStartFvecVector(builder, numElems)
def MonsterExtraEnd(builder): return builder.EndObject()
-
+def End(builder):
+ return MonsterExtraEnd(builder)
try:
from typing import List
except:
@@ -217,7 +248,7 @@
MonsterExtraStartDvecVector(builder, len(self.dvec))
for i in reversed(range(len(self.dvec))):
builder.PrependFloat64(self.dvec[i])
- dvec = builder.EndVector(len(self.dvec))
+ dvec = builder.EndVector()
if self.fvec is not None:
if np is not None and type(self.fvec) is np.ndarray:
fvec = builder.CreateNumpyVector(self.fvec)
@@ -225,7 +256,7 @@
MonsterExtraStartFvecVector(builder, len(self.fvec))
for i in reversed(range(len(self.fvec))):
builder.PrependFloat32(self.fvec[i])
- fvec = builder.EndVector(len(self.fvec))
+ fvec = builder.EndVector()
MonsterExtraStart(builder)
MonsterExtraAddD0(builder, self.d0)
MonsterExtraAddD1(builder, self.d1)
diff --git a/tests/MyGame/MonsterExtraT.java b/tests/MyGame/MonsterExtraT.java
new file mode 100644
index 0000000..4ec1932
--- /dev/null
+++ b/tests/MyGame/MonsterExtraT.java
@@ -0,0 +1,84 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame;
+
+import java.nio.*;
+import java.lang.*;
+import java.util.*;
+import com.google.flatbuffers.*;
+
+public class MonsterExtraT {
+ private double d0;
+ private double d1;
+ private double d2;
+ private double d3;
+ private float f0;
+ private float f1;
+ private float f2;
+ private float f3;
+ private double[] dvec;
+ private float[] fvec;
+
+ public double getD0() { return d0; }
+
+ public void setD0(double d0) { this.d0 = d0; }
+
+ public double getD1() { return d1; }
+
+ public void setD1(double d1) { this.d1 = d1; }
+
+ public double getD2() { return d2; }
+
+ public void setD2(double d2) { this.d2 = d2; }
+
+ public double getD3() { return d3; }
+
+ public void setD3(double d3) { this.d3 = d3; }
+
+ public float getF0() { return f0; }
+
+ public void setF0(float f0) { this.f0 = f0; }
+
+ public float getF1() { return f1; }
+
+ public void setF1(float f1) { this.f1 = f1; }
+
+ public float getF2() { return f2; }
+
+ public void setF2(float f2) { this.f2 = f2; }
+
+ public float getF3() { return f3; }
+
+ public void setF3(float f3) { this.f3 = f3; }
+
+ public double[] getDvec() { return dvec; }
+
+ public void setDvec(double[] dvec) { this.dvec = dvec; }
+
+ public float[] getFvec() { return fvec; }
+
+ public void setFvec(float[] fvec) { this.fvec = fvec; }
+
+
+ public MonsterExtraT() {
+ this.d0 = Double.NaN;
+ this.d1 = Double.NaN;
+ this.d2 = Double.POSITIVE_INFINITY;
+ this.d3 = Double.NEGATIVE_INFINITY;
+ this.f0 = Float.NaN;
+ this.f1 = Float.NaN;
+ this.f2 = Float.POSITIVE_INFINITY;
+ this.f3 = Float.NEGATIVE_INFINITY;
+ this.dvec = null;
+ this.fvec = null;
+ }
+ public static MonsterExtraT deserializeFromBinary(byte[] fbBuffer) {
+ return MonsterExtra.getRootAsMonsterExtra(ByteBuffer.wrap(fbBuffer)).unpack();
+ }
+ public byte[] serializeToBinary() {
+ FlatBufferBuilder fbb = new FlatBufferBuilder();
+ MonsterExtra.finishMonsterExtraBuffer(fbb, MonsterExtra.pack(fbb, this));
+ return fbb.sizedByteArray();
+ }
+}
+
diff --git a/tests/MyGame/OtherNameSpace/FromInclude.lua b/tests/MyGame/OtherNameSpace/FromInclude.lua
new file mode 100644
index 0000000..2c2bf0a
--- /dev/null
+++ b/tests/MyGame/OtherNameSpace/FromInclude.lua
@@ -0,0 +1,17 @@
+--[[ MyGame.OtherNameSpace.FromInclude
+
+ Automatically generated by the FlatBuffers compiler, do not modify.
+ Or modify. I'm a message, not a cop.
+
+ flatc version: 2.0.6
+
+ Declared by : //include_test/sub/include_test2.fbs
+ Rooting type : MyGame.Example.Monster (//monster_test.fbs)
+
+--]]
+
+local FromInclude = {
+ IncludeVal = 0,
+}
+
+return FromInclude
\ No newline at end of file
diff --git a/tests/MyGame/OtherNameSpace/TableB.lua b/tests/MyGame/OtherNameSpace/TableB.lua
new file mode 100644
index 0000000..bfa8b03
--- /dev/null
+++ b/tests/MyGame/OtherNameSpace/TableB.lua
@@ -0,0 +1,51 @@
+--[[ MyGame.OtherNameSpace.TableB
+
+ Automatically generated by the FlatBuffers compiler, do not modify.
+ Or modify. I'm a message, not a cop.
+
+ flatc version: 2.0.6
+
+ Declared by : //include_test/sub/include_test2.fbs
+ Rooting type : MyGame.Example.Monster (//monster_test.fbs)
+
+--]]
+
+local __TableA = require('TableA')
+local flatbuffers = require('flatbuffers')
+
+local TableB = {}
+local mt = {}
+
+function TableB.New()
+ local o = {}
+ setmetatable(o, {__index = mt})
+ return o
+end
+
+function mt:Init(buf, pos)
+ self.view = flatbuffers.view.New(buf, pos)
+end
+
+function mt:A()
+ local o = self.view:Offset(4)
+ if o ~= 0 then
+ local x = self.view:Indirect(self.view.pos + o)
+ local obj = __TableA.New()
+ obj:Init(self.view.bytes, x)
+ return obj
+ end
+end
+
+function TableB.Start(builder)
+ builder:StartObject(1)
+end
+
+function TableB.AddA(builder, a)
+ builder:PrependStructSlot(0, a, 0)
+end
+
+function TableB.End(builder)
+ return builder:EndObject()
+end
+
+return TableB
\ No newline at end of file
diff --git a/tests/MyGame/OtherNameSpace/TableBT.java b/tests/MyGame/OtherNameSpace/TableBT.java
new file mode 100644
index 0000000..d38d9ce
--- /dev/null
+++ b/tests/MyGame/OtherNameSpace/TableBT.java
@@ -0,0 +1,22 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.OtherNameSpace;
+
+import java.nio.*;
+import java.lang.*;
+import java.util.*;
+import com.google.flatbuffers.*;
+
+public class TableBT {
+ private TableAT a;
+
+ public TableAT getA() { return a; }
+
+ public void setA(TableAT a) { this.a = a; }
+
+
+ public TableBT() {
+ this.a = null;
+ }
+}
+
diff --git a/tests/MyGame/OtherNameSpace/Unused.lua b/tests/MyGame/OtherNameSpace/Unused.lua
new file mode 100644
index 0000000..2769625
--- /dev/null
+++ b/tests/MyGame/OtherNameSpace/Unused.lua
@@ -0,0 +1,38 @@
+--[[ MyGame.OtherNameSpace.Unused
+
+ Automatically generated by the FlatBuffers compiler, do not modify.
+ Or modify. I'm a message, not a cop.
+
+ flatc version: 2.0.6
+
+ Declared by : //include_test/sub/include_test2.fbs
+ Rooting type : MyGame.Example.Monster (//monster_test.fbs)
+
+--]]
+
+local flatbuffers = require('flatbuffers')
+
+local Unused = {}
+local mt = {}
+
+function Unused.New()
+ local o = {}
+ setmetatable(o, {__index = mt})
+ return o
+end
+
+function mt:Init(buf, pos)
+ self.view = flatbuffers.view.New(buf, pos)
+end
+
+function mt:A()
+ return self.view:Get(flatbuffers.N.Int32, self.view.pos + 0)
+end
+
+function Unused.CreateUnused(builder, a)
+ builder:Prep(4, 4)
+ builder:PrependInt32(a)
+ return builder:Offset()
+end
+
+return Unused
\ No newline at end of file
diff --git a/tests/MyGame/OtherNameSpace/UnusedT.java b/tests/MyGame/OtherNameSpace/UnusedT.java
new file mode 100644
index 0000000..b525a1c
--- /dev/null
+++ b/tests/MyGame/OtherNameSpace/UnusedT.java
@@ -0,0 +1,22 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.OtherNameSpace;
+
+import java.nio.*;
+import java.lang.*;
+import java.util.*;
+import com.google.flatbuffers.*;
+
+public class UnusedT {
+ private int a;
+
+ public int getA() { return a; }
+
+ public void setA(int a) { this.a = a; }
+
+
+ public UnusedT() {
+ this.a = 0;
+ }
+}
+