Unions own the NativeTable* value member because they need to destroy them
when the Union goes out of scope. Currently, the data is destroyed by calling
delete, which means that the member needs to be allocated with new. However,
making the allocation the responsibility of the client and the destruction
the responsibility of the Union can lead to potential errors. Adding a
Set function will ensure that the memory is allocated correctly so that it
can be deleted later.
From cl/142161569.
Change-Id: I4605f26d2749164819bfae0140e5fae08442b50a
* Changes for verifying a buffer dynamically using reflection.
* Fixing build issues on linux and applied code reformatting.
* Fixing the file order in cmake file that was messing up the macro based code inclusion.
Added tests for reflection based verification.
* Changes for verifying a buffer dynamically using reflection.
Fixing build issues on linux and applied code reformatting.
Fixing the file order in cmake file that was messing up the macro based code inclusion.
Added tests for reflection based verification.
* Incorporated the code review changes that were requested:
1. Changed the Verify function signature.
2. Changed the variable names to use snake_case.
3. Added better comments.
4. Refactored duplicate code.
5. Changed the verifier class so that it has the same size when compiled with or without FLATBUFFERS_TRACK_VERIFIER_BUFFER_SIZE macro.
* Setting FLATBUFFERS_TRACK_VERIFIER_BUFFER_SIZE and FLATBUFFERS_DEBUG_VERIFICATION_FAILURE through cmake for flattests so that it gets propagted to all translation units of flattests.
* Making the Verifier struct fields the same in all cases. Also reverting the target_compile_definitions change in cmake file because build machine on travis does not have cmake version 3.0 or higher which was the version when target_compile_definitions was added in cmake.
* Defining macros through cmake in a portable way using functions that are available in cmake 2.8.
* support for grpc golang
* refactored grpc go generator
* added grpc-go test and refactored
* refactored idl_gen_grpc.cpp
* fixed grpc generate method name
* refactored flatc and fixed line length issue
* added codec to go lib and fixed formatting issues
* fixed spacing issues
The following changes have been made to the C++ codegen to enable writing generic code
that uses the Table and NativeTable types.
- Adds TableType and NativeTableType typedefs to NativeTable and Table structs.
- Adds GetFullyQualifiedName() to NativeTables if --gen-name-strings is set.
- Adds a static Pack function to Tables that simply calls the global CreateX functions.
See cr/140391505 as an example of improved usage.
From cl/140529288.
Change-Id: Idec137c16129e15c1783f94fabdcea24aeeaaef6
Introduce a "native_inline" attribute that can be applied on fields that are structs.
This results in NativeTable code generation that sets the struct "inline" rather than
storing it in a pointer.
From cl/140527470.
Change-Id: I208724f552b8b921b20923e0bf82f42cb3582416
* Java: emit "signed" equivalent of unsigned default value in generated code and add "L" suffix to long default value.
* Updated generated code
* Only convert ulong to "signed" equivalent. ubyte and ushort don't need specific handling as "user facing" type is int. uint need 'L' suffix as "user facing" type is long.
* Added missing cast to primitive type of default value which is in "user facing" type in builder.add<type>() calls.
* Do not cast default value to actual type in C#.
These are useful for streaming FlatBuffers. The functionality
ensures proper alignment of the whole buffer.
Tested: on OS X.
Bug: 27123865
Change-Id: Ic7d75a618c1bb470ea44c4dcf202ff71f2b3f4f1
Signed-off-by: Wouter van Oortmerssen <wvo@google.com>
This allows hashed string fields to be used for lookup of any
C++ objects, a pointer to which are then stored in the object
besides the original hash for easy access.
Change-Id: I2247a13c349b905f1c54660becde2c818ad23e97
Tested: on Linux.
Bug: 30204449
* Fix flatc generating incorrect java/c# code for namespace_test2.fbs. In code for TableInC, method referToA2() returned type SecondTableInA instead of NamespaceA.SecondTableInA.
* Updated generated code.
* Fixed indendation.
* Generate type traits for unions to map a type to the corresponding union enum value.
* Fixed break with union enum type traits when type is in a namespace.
* Fixed spacing and variable names in type traits generation to match style guidelines.
* Fixed spacing in type traits generation to match style guidelines.
* Regenerated test schema header.
It is a common practice to put all the compiled classes into a
dedicated folder in order to:
- avoid to mix the code and the complied classes
- to allow a simple way to remove the complied classes
Add log of java version in order to make it explicit to the end user.
It is a common practice to put all the compiled classes into a
dedicated folder in order to:
- void to mixing the code and the complied classes
- to allow a simple way to remove the complied classes
Similar to what protobufs does with its `Message` interface, introduce here such interface and create a generic `GetRootAs` method to deserialize a flatbuffer.