Java/C#/Python prefixed size support (#4445)
* initial changes to support size prefixed buffers in Java * add slice equivalent to CSharp ByteBuffer * resolve TODO for slicing in CSharp code generation * add newly generated Java and CSharp test sources * fix typo in comment * add FinishSizePrefixed methods to CSharp FlatBufferBuilder as well * add option to allow writing the prefix as well * generate size-prefixed monster binary as well * extend JavaTest to test the size prefixed binary as well * use constants for size prefix length * fuse common code for getRootAs and getSizePrefixedRootAs * pulled file identifier out of if * add FinishSizePrefixed, GetSizePrefixedRootAs support for Python * Revert "extend JavaTest to test the size prefixed binary as well" This reverts commit 68be4420dda47e8d0600bb19691f03be71503a68. * Revert "generate size-prefixed monster binary as well" This reverts commit 2939516fdf78df4f061c627221e232b312301417. * fix ByteBuffer.cs Slice() method; add proper CSharp and Java tests * fix unused parameter * increment version number * pulled out generated methods into separate utility class * pulled out generated methods into separate utility class for Python * fix indentation * remove unnecessary comment * fix newline and copyright * add ByteBufferUtil to csproj compilation * hide ByteBuffer's internal data; track offset into parent's array * test unsafe versions as well; compile and run in debug mode * clarify help text for size prefix * move ByteBuffer slicing behavior to subclass * fix protection levels * add size prefix support for text generation * add ByteBufferSlice to csproj compilation * revert size prefix handling for nested buffers * use duplicate instead of slice for removing size prefix * remove slice subclass and use duplicate for removing size prefix * remove slice specific tests * remove superfluous command line option
Showing
- .gitignore 1 addition, 0 deletions.gitignore
- java/com/google/flatbuffers/ByteBufferUtil.java 58 additions, 0 deletionsjava/com/google/flatbuffers/ByteBufferUtil.java
- java/com/google/flatbuffers/Constants.java 2 additions, 0 deletionsjava/com/google/flatbuffers/Constants.java
- java/com/google/flatbuffers/FlatBufferBuilder.java 50 additions, 5 deletionsjava/com/google/flatbuffers/FlatBufferBuilder.java
- net/FlatBuffers/ByteBuffer.cs 69 additions, 3 deletionsnet/FlatBuffers/ByteBuffer.cs
- net/FlatBuffers/ByteBuffer.exe 0 additions, 0 deletionsnet/FlatBuffers/ByteBuffer.exe
- net/FlatBuffers/ByteBufferUtil.cs 39 additions, 0 deletionsnet/FlatBuffers/ByteBufferUtil.cs
- net/FlatBuffers/FlatBufferBuilder.cs 93 additions, 48 deletionsnet/FlatBuffers/FlatBufferBuilder.cs
- net/FlatBuffers/FlatBufferConstants.cs 1 addition, 0 deletionsnet/FlatBuffers/FlatBufferConstants.cs
- net/FlatBuffers/Table.cs 9 additions, 8 deletionsnet/FlatBuffers/Table.cs
- python/flatbuffers/builder.py 20 additions, 2 deletionspython/flatbuffers/builder.py
- python/flatbuffers/util.py 28 additions, 0 deletionspython/flatbuffers/util.py
- src/idl_gen_general.cpp 16 additions, 11 deletionssrc/idl_gen_general.cpp
- tests/FlatBuffers.Test/ByteBufferTests.cs 61 additions, 34 deletionstests/FlatBuffers.Test/ByteBufferTests.cs
- tests/FlatBuffers.Test/FlatBuffers.Test.csproj 3 additions, 0 deletionstests/FlatBuffers.Test/FlatBuffers.Test.csproj
- tests/FlatBuffers.Test/FlatBuffersExampleTests.cs 31 additions, 7 deletionstests/FlatBuffers.Test/FlatBuffersExampleTests.cs
- tests/FlatBuffers.Test/FlatBuffersFuzzTests.cs 111 additions, 53 deletionstests/FlatBuffers.Test/FlatBuffersFuzzTests.cs
- tests/FlatBuffers.Test/NetTest.sh 16 additions, 2 deletionstests/FlatBuffers.Test/NetTest.sh
- tests/JavaTest.java 23 additions, 9 deletionstests/JavaTest.java
- tests/MyGame/Example/Monster.cs 1 addition, 0 deletionstests/MyGame/Example/Monster.cs
Loading
Please register or sign in to comment