Changing to keep include prefixes had two side effects: the main
file being parsed wasn't filtered out anymore, and include directory
paths would be added to the path in the include statement.
Also moved the include_test*.fbs files to sub directories so we
can actually test the handling of -I etc.
tested: on Linux.
Change-Id: Ibae095cea7ab0cccbac15cfb5171719f6b5cad8c
* Improve Allocator handling
- Templatize Allocator on vector_downward, and make it own the allocator
instance so it can manage lifetimes.
- Templatize + rename FlatBufferBuilderT accordingly, and add a typedef
to FlatBufferBuilder so old code continues to work.
- Fix some issues with the release deleter
- More details in github issue #4311
* Fix constexpr for older MSVC
* Reimplement allocator improvements via inheritance
Instead of templates, use an abstract base class and some unique_ptrs to
implement the new and improved allocator.
* Fix misplaced newline
* Add missing override keyword
* Add macro for func delete to support older compilers
* Explicitly move BufferDeleter (maybe fixes VS 10?)
* Revert previous attempt at VS10 fix
* Try yet another workaround for MS 10
* Use FLATBUFFERS_NOEXCEPT macro
* Add FLATBUFFERS_OVERRIDE macro
* Fix some issues with MSVC 16 hack
* Remove dep on unique_ptr
* Update DEPRECATED macro with a message
* Sigh, no delegating ctors before c++11
* Fix simple_allocator stub
* Relax FlatBufferBuilder ctor
* Add vector_downward reset + assert in clear
* Rename DetachedBuffer to FlatBuffer + remove unnecessary deprecations
* Add flatbuffers::FlatBufferBuilder::Release()
* Address remaining allocator-improvements comments
* Eclipse ignore
* TypeScript support
* Prefixing enums
* Test results
* Merged JS and TS generators
* Fixed AppVeyor build problems
* Fixed more AppVeyor build problems
* Fixed more AppVeyor build problems
* Changed TS flag to options struct
* Storing options by value
* Removed unneeded const
* Re-export support for unions
* Uint support
* Casting bools to numbers for mutation
* TS shell tests
* Reverted generates js test file to original version
* Backing up js tests and properly generating test data
* Not importing flatbuffers for TS test generation
* Not overwriting generated js for tests
* AppVeyor test fixes
* Generating the most strict TS code possible
* Not returning null when creating vectors
* Not returning null from struct contructors
* Added <autogenerated> in cs generator file header comment
#4287
* CS: Added xml-correct file header comment including "<auto-generated>...</auto-generated>"
code_generators.cpp: FlatBuffersGeneratedWarning() function replaced by compile time constant "GeneratedWarning"
also removed extra newlines at end of GeneratedWarning to be able to generate a xml well formed file comment for cs files
#4291
* code_generators: Changed static string GeneratedWarning back to function FlatBuffersGeneratedWarning()
#4291
* Added modified Unit-Test files
#4291
* idl_gen_general: Add autogenerated only in C# code
#4291
* Don't fail the build on unused parameters
gRPC headers have unused parameters so this breaks the test build.
* Pull in updated compiler files from gRPC
There have been some API breaks in gRPC lately. This commit
pulls in the most recent version of the files in this repo
that are just copied from gRPC.
* Modify the gRPC files so that they can work with Flatbuffers
The files taken from gRPC do not work out-of-the-box with Flatbuffers.
This commit modifies them so that they work. Hopefully this commit
will be able to serve as a guide or maybe even be cherry-picked on
top of new versions of those files as newer versions from gRPC are
pulled in.
* Adjust the rest of Flatbuffers to work with the new gRPC
* Change idl_gen_grpc.cpp to work with the new API
* Add missing #include in flatbuffers/grpc.h
* Run tests/generate_code.sh and check in the results
* Don't link with grpc++_unsecure and (secure) grpc. That's just weird
* Revert unrelated JS/TS test changes
* Simplify compiler/config.h
There is no need to import this file from gRPC. In fact, it probably
makes sense to not do so, since it seems to be intended to have
project specific configuration in it.
* Don't emit C++ types in the Go gRPC code generator
* Don't emit C++ #includes in generated gRPC code
Before this PR, there was a Go-specific additional_includes method
in schema_interface.h, which is shared with the gRPC repo. The
additional parameter to FlatBufFile in idl_gen_grpc.cpp makes that
unnecessary, which means we need less Flatbuffer-specific changes
in gRPC.
This is because it trips up the Closure compiler with errors like:
ERROR - assignment to property bb of SomeTable
found : undefined
required: (flatbuffers.ByteBuffer|null)
this.bb = undefined;
^^^^^^^^^^^^^^^^^^^
Change-Id: Iaf032b5249ec655e151331e81532e549c12bcd78
* Eclipse ignore
* TypeScript support
* Prefixing enums
* Test results
* Merged JS and TS generators
* Fixed AppVeyor build problems
* Fixed more AppVeyor build problems
* Fixed more AppVeyor build problems
* Changed TS flag to options struct
* Storing options by value
* Removed unneeded const
* Re-export support for unions
* Uint support
* Casting bools to numbers for mutation
* TS shell tests
* Reverted generates js test file to original version
* Backing up js tests and properly generating test data
* Not importing flatbuffers for TS test generation
* Not overwriting generated js for tests
* AppVeyor test fixes
* Generating the most strict TS code possible
Zero offsets are non-sensical in FlatBuffers (since offsets are
relative to themselves) but were allowed by the verifier. This could
cause buffers made up of all zeroes to be interpreted as correct
buffers with an empty root object.
Generally, not allowing such offsets will make the verifier more
likely to catch problems earlier.
Change-Id: I54010bea29721b326ff8e5348fcd9fe78e5e7506
Tested: on Linux.
* Eclipse ignore
* TypeScript support
* Prefixing enums
* Test results
* Merged JS and TS generators
* Fixed AppVeyor build problems
* Fixed more AppVeyor build problems
* Fixed more AppVeyor build problems
* Changed TS flag to options struct
* Storing options by value
* Removed unneeded const
* Re-export support for unions
* Uint support
* Casting bools to numbers for mutation
* TS shell tests
* Reverted generates js test file to original version
* Backing up js tests and properly generating test data
* Not importing flatbuffers for TS test generation
* Not overwriting generated js for tests
* AppVeyor test fixes
Move constructors are present, which it should use instead.
This is a temp fix to make it compile, but eventually we should
generate a proper copy constructor just in-case people want to
copy objects with unions.
Tested on: Linux, OS X.
Change-Id: Idf85419995c96f5959061882157541573e306083
* fix bounds checking on integer parsing
the previous code was allowing 255 for int8_t, similar for int16_t
and int32_t, and even negative values for unsignd types.
this patch fixes bounds checking for 8-bit, 16-bit and 32-bit types.
testing for both acceptable values and unacceptable values at the
boundaries are also improved.
bounds checking on 64-bit types isn't addressed by this patch.
* fix 'unary minus operator applied to unsigned type, result still unsigned'
* fix & placement
(C++ only for now).
Also fixed vector of union support in the object API.
Bug: 36902939
Change-Id: I935f4cc2c303a4728e26c7916a8ec0adcd6f84cb
Tested: on Linux.
* Fix Visual Studio 2017 new warning (C4244: 'argument': conversion from 'int' to 'const char', possible loss of data)
* Fix Visual Studio 2017 pedantic warnings
* Fix Visual Studio 2017 pedantic warnings
* Eclipse ignore
* TypeScript support
* Prefixing enums
* Test results
* Merged JS and TS generators
* Fixed AppVeyor build problems
* Fixed more AppVeyor build problems
* Fixed more AppVeyor build problems
* Changed TS flag to options struct
* Storing options by value
* Removed unneeded const
* Re-export support for unions
* Uint support
* Casting bools to numbers for mutation
* TS shell tests
* Reverted generates js test file to original version
* Backing up js tests and properly generating test data
* Use noexcept in union type move ctor/Add move assingment
* Add NOEXCEPT macro to deal with _MS_VER/Remove delegating ctor in union type class
* Add FLATBUFFERS_NOEXCEPT to generated union class
* C#: Fixed possible conflicts between usings and user-supplied namespace
C#: Added the global qualifier to using directives to prevent possible conflicts with the user-supplied namespace. Also prevents unintentional type hiding. Resolves issue #4242.
* Updated C# generated code files
* Support binary search for struct in cpp
CreateVectorOfSortedStruct is provided for convenience.
* fix continuous-integration error
* add generated files
* compile Ability.cs in csharp test
* compile Ability.cs in csharp
* modify according to code review
* Add default value handling to mutation/SetField code
* Shorten reflection SetField impl
* Modify impl to work with C++03
* Add more mutation tests
* Fail SetField if non-scalar
* Add IsScalar/IsInteger/IsFloat for reflection::BaseType
* Use new IsScalar/IsInteger/IsFloat in reflection SetField
* Assume scalar is either int or float
* Additional accessors for fields of union types.
* Reveal the hidden parameter.
* External explicit specializations for templated accessors.
* Changes according to code style. Generated code included as well.
* Update idl_gen_cpp.cpp
Fix for: error C2668: 'Service::Version2::CreateServiceValues' : ambiguous call to overloaded function #4145
* Update idl_gen_cpp.cpp
Also needed the same change in the getPostTable
* Add files via upload
New generation from running generate_test.bat
* Add files via upload
Lets try this without added line feeds
* Added a test for a potential "ambiguous call to overloaded function"
* Change to a better name of the table.
Didn't like the Service in the name.
* Reverted back to the original
It passed all scalar ints thru a int64_t, which would truncate
uint64_t values with the upper bit set.
Change-Id: I38fb8c68c911ae44d9863f8e35c2429ca0ab51e5
Tested: on Linux.