1. 05 Apr, 2018 4 commits
    • Wouter van Oortmerssen's avatar
      Update version number to 1.9 · 20a400e9
      Wouter van Oortmerssen authored
      Change-Id: I0b0ed43129c4d8fc88a177792df50adfeb52a1e3
      20a400e9
    • Wouter van Oortmerssen's avatar
      Added missing generated code files. · 676f0248
      Wouter van Oortmerssen authored
      Change-Id: I59af6ca1825870461c0badc7e7a045b97befdc1a
      676f0248
    • Kamil Rojewski's avatar
      Missing TS links in docs (#4693) · 34b8b80f
      Kamil Rojewski authored
      * 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
      
      * Vector of unions for ts/js
      
      * Sanity check for languages
      
      * Indentation fix + output test files
      
      * Vectors of unions for php
      
      * Fixes to union vector handling + tests
      
      * Fix for strictPropertyInitialization
      
      * Fix for new aligned operator new for gcc >= 7.1
      
      * Not generating imports/ns prefixes with --gen-all
      
      * TypeScript docs
      
      * Missing imports of enums
      
      * Missing TS links
      34b8b80f
    • Juyeon Yoon's avatar
      Remove line break of CMakeLists.txt (#4691) · 0998861e
      Juyeon Yoon authored
      Fix #4650
      0998861e
  2. 02 Apr, 2018 1 commit
  3. 26 Mar, 2018 1 commit
    • Kamil Rojewski's avatar
      Fix for missing enum imports (#4683) · d3a00f77
      Kamil Rojewski authored
      * 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
      
      * Vector of unions for ts/js
      
      * Sanity check for languages
      
      * Indentation fix + output test files
      
      * Vectors of unions for php
      
      * Fixes to union vector handling + tests
      
      * Fix for strictPropertyInitialization
      
      * Fix for new aligned operator new for gcc >= 7.1
      
      * Not generating imports/ns prefixes with --gen-all
      
      * TypeScript docs
      
      * Missing imports of enums
      d3a00f77
  4. 23 Mar, 2018 2 commits
    • Kamil Rojewski's avatar
      TypeScript docs (#4680) · cc549638
      Kamil Rojewski authored
      * 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
      
      * Vector of unions for ts/js
      
      * Sanity check for languages
      
      * Indentation fix + output test files
      
      * Vectors of unions for php
      
      * Fixes to union vector handling + tests
      
      * Fix for strictPropertyInitialization
      
      * Fix for new aligned operator new for gcc >= 7.1
      
      * Not generating imports/ns prefixes with --gen-all
      
      * TypeScript docs
      cc549638
    • Flaviu's avatar
      Const correctness in generated code and in code generators. Added missing… · 79f62ee3
      Flaviu authored
      Const correctness in generated code and in code generators. Added missing \reflection\generate_code.bat file. (#4679)
      
      79f62ee3
  5. 15 Mar, 2018 1 commit
  6. 12 Mar, 2018 2 commits
    • Robert Schmidtke's avatar
      Java/C#/Python prefixed size support (#4445) · 08cf50c5
      Robert Schmidtke authored
      * 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
      08cf50c5
    • Sergey Avseyev's avatar
      Remove unnecessary const qualifier from cast (#4666) · 6b3f057b
      Sergey Avseyev authored
      Const does not make sense here, and compiler actually throws warning
      (error with -Werror) when you would try to compile it.
      
          In file included from include/flatbuffers/flexbuffers.h:24,
                           from include/flatbuffers/idl.h:26,
                           from include/flatbuffers/code_generators.h:22,
                           from src/code_generators.cpp:17:
          include/flatbuffers/util.h: In function ‘int flatbuffers::FromUTF8(const char**)’:
          include/flatbuffers/util.h:325:44: error: type qualifiers ignored on cast result type [-Werror=ignored-qualifiers]
             if ((static_cast<const unsigned char>(tmp) << len) & 0x80) return -1;  // Bit after leading 1's must be 0.
                                                  ^
          cc1plus: all warnings being treated as errors
      
      This warning caught by gcc8:
      
          $ g++ --version
          g++ (GCC) 8.0.1 20180222 (Red Hat 8.0.1-0.16)
      6b3f057b
  7. 09 Mar, 2018 2 commits
  8. 08 Mar, 2018 2 commits
    • Montoli's avatar
      Swapped the order of two conditions in an assert. (#4663) · cc158e70
      Montoli authored
      An assert in flexbuffers was bit-shifting a 64-bit number by
      64 bits, which throws up warnings in some automated tools.
      
      The same assert also checks to see if the number of bytes
      being shifted is 8.  Swapped the order, so that the bitshift
      only occurs if the number of bits being shifted is not 64.
      
      Should be the same behavior, but plays nicer with diagnostic
      tools.
      cc158e70
    • desqaz's avatar
      Update .gitignore with Ninja stuff (#4659) · 5377957b
      desqaz authored
      5377957b
  9. 06 Mar, 2018 1 commit
  10. 05 Mar, 2018 4 commits
    • Wouter van Oortmerssen's avatar
      Added missing generated code files. · 3a62813f
      Wouter van Oortmerssen authored
      Change-Id: Ie1cab284cb6e0fe5bd2b2c293c3136c148927ac3
      3a62813f
    • Nik Hemmings's avatar
      Protobufs: Added '--oneof-union' option. (#4647) · fb94af88
      Nik Hemmings authored
      * Added '--oneof-union' option.
      
      Used with the .proto -> .fbs converter, will translate protobuff oneofs to flatbuffer unions.
      Updated proto test to check both methods of converting oneofs.
      
      * Added '--oneof-union' option.
      
      Used with the .proto -> .fbs converter, will translate protobuff oneofs to flatbuffer unions.
      Updated proto test to check both methods of converting oneofs.
      
      * FlatBuffers: Moved MakeCamel() into idl_parser.cpp
      
      Removes library dependency on Java/C# generator code.
      fb94af88
    • smillius's avatar
      Make nested flatbuffer lookup consistent. (#4656) · 77b458be
      smillius authored
      Lookup type of nested flatbuffer field with either raw name or fully qualified name as already done in the parser.
      LookupCreateStruct tries both the raw name and the fully qualified one.
      Without this, we cannot reference types outside of the current namespace, e.g. in a different module.
      77b458be
    • Christian Helmich's avatar
      Support attribute "cpp_ptr_type" on table elements marked as "hash" (#4643) · 9ce98dd7
      Christian Helmich authored
      * added intended use-cases to monster_test.fbs
      
      * added check for `cpp_ptr_type` on hashed fields
      added default value 'naked' to `cpp_ptr_type` on hashed fields
      
      * added C++ generation of cpp_type vectors
      removed ctor call for vector fields
      added condition !vector for cpp_type check
      added Pack() and UnPack() code generation for vector of hashes
      added generation of correct resolve/rehash for cpp_type elements
      
      * added attribute 'cpp_ptr_type_get' to hold accessor for pointer types possible where '.get()' does not work
      use case: cpp_ptr_type:"std::weak_ptr", cpp_ptr_type_get:".lock().get()"
      
      * run flatc to re-generate headers
      
      * added bool param is_ctor to GetDefaultScalarValue() to differentiate between usage places
      
      * modified monster_test.fbs to remove usage of shared_ptr/weak_ptr
      reason: STLport does not support std::shared_ptr and std::weak_ptr
      
      * run flatc again to re-generate headers
      
      * fixed symbol unique_ptr not in namespace std when building with STLport
      9ce98dd7
  11. 02 Mar, 2018 3 commits
  12. 26 Feb, 2018 1 commit
    • Kamil Rojewski's avatar
      Not generating imports/ns prefixes with --gen-all (#4644) · 48d82325
      Kamil Rojewski authored
      * 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
      
      * Vector of unions for ts/js
      
      * Sanity check for languages
      
      * Indentation fix + output test files
      
      * Vectors of unions for php
      
      * Fixes to union vector handling + tests
      
      * Fix for strictPropertyInitialization
      
      * Fix for new aligned operator new for gcc >= 7.1
      
      * Not generating imports/ns prefixes with --gen-all
      48d82325
  13. 23 Feb, 2018 2 commits
  14. 22 Feb, 2018 3 commits
    • Philip S Doctor's avatar
      When Java raises a CharacterCodingException, the catch block rethrows this… · b24c0b07
      Philip S Doctor authored
      When Java raises a CharacterCodingException, the catch block rethrows this exception as a java.lang.Error.  Per the docs https://docs.oracle.com/javase/8/docs/api/java/lang/Error.html an Error is a serious problem that applications should not attempt to catch such as ThreadDeath.  In this case, it is reasonable for a consumer to try to catch this error as it likely indicates a problem with the underlying data. (#4630)
      
      As Error does not inherit from Exception, a generic `catch(Exception ex)` will not catch this error.
      
      A simple change from `Error` to `Exception` is not sufficient as an `Exception` is checked by the compiler, so in order to keep this issue unchecked, I am proposing raising a `RuntimeException` which is not checked, but is still a subclass of `Exception`.
      
      The only possible breaking change would be if a consumer was explicitly catching `Error` already for this library.
      
      https://github.com/google/flatbuffers/issues/4629
      b24c0b07
    • Christian Helmich's avatar
      added support for parsing hash on vector elements (#4502) · 59e26017
      Christian Helmich authored
      * added support for parsing hash on vector elements
      
      reversed check for scalar to check for vector
      
      added C++ generation of cpp_type vectors
      
      removed ctor call for vector fields
      added condition !vector for cpp_type check
      
      added Pack() and UnPack() code generation for vector of hashes
      
      * schema change:
      added table Referrable and weak references towards it from Monster
      
      added single_weak_reference to Monster table
      changed order with vector_of_weak_references
      
      * re-generated monster schema dependent code
      
      added Referrable.cs to FlatBuffers.Test.csproj
      59e26017
    • desqaz's avatar
      Add new c++ helpers to ease usage of size prefixed FlatBuffers (#4626) · 132e6a82
      desqaz authored
      It was missing some helpers when we choose to use
      size prefixed FlatBuffers.
      
      * Add general helper : GetPrefixedSize
      * Add generated helpers :
       * GetSizePrefixedXXX
       * VerfifySizePrefixedXXXBuffer
       * FinishSizePrefixedXXXBuffer
      132e6a82
  15. 16 Feb, 2018 1 commit
  16. 15 Feb, 2018 2 commits
    • Alexander Gallego's avatar
      C++: mini_reflect: Add DefaultTypeTable (#4614) · 36f85648
      Alexander Gallego authored
      * mini_reflect: Add DefaultTypeTable
      
      Currently it's very easy to make a mistake when it comes to
      instantiating the TypeTable to print a buffer because it is not type
      safe.
      
      This will allow us to write safer cpp code:
      
      flatbuffers::FlatBufferToString(reinterpret_cast<const uint8_t *>(&t),
                                      decltype(t)::DefaultTypeTable());
      
      * c++: mini_reflect: update generated code
      
      * Ensure types and names are set for mini_reflect
      
      * c++: mini_refelct: update unit tests with new typed TypeTable
      
      * Adding PR feedback of sylte and naming convention
      36f85648
    • Dmitry Volosnykh's avatar
  17. 12 Feb, 2018 1 commit
    • Kamil Rojewski's avatar
      Fix for aligned new for gcc >= 7.1 (#4621) · 474ba68b
      Kamil Rojewski authored
      * 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
      
      * Vector of unions for ts/js
      
      * Sanity check for languages
      
      * Indentation fix + output test files
      
      * Vectors of unions for php
      
      * Fixes to union vector handling + tests
      
      * Fix for strictPropertyInitialization
      
      * Fix for new aligned operator new for gcc >= 7.1
      474ba68b
  18. 08 Feb, 2018 2 commits
  19. 05 Feb, 2018 2 commits
    • Sergey Avseyev's avatar
      Fix compiler errors in parser (#4612) · 6a1acdc2
      Sergey Avseyev authored
      src/idl_parser.cpp: In member function 'flatbuffers::CheckedError flatbuffers::Parser::ParseHexNum(int, uint64_t*)':
      src/idl_parser.cpp:220:62: error: type qualifiers ignored on cast result type [-Werror=ignored-qualifiers]
           if (!isxdigit(static_cast<const unsigned char>(cursor_[i])))
                                                                    ^
      src/idl_parser.cpp: In member function 'flatbuffers::CheckedError flatbuffers::Parser::Next()':
      src/idl_parser.cpp:260:62: error: type qualifiers ignored on cast result type [-Werror=ignored-qualifiers]
               if(!isdigit(static_cast<const unsigned char>(*cursor_))) return NoError();
                                                                    ^
      cc1plus: all warnings being treated as errors
      6a1acdc2
    • Joe Schafer's avatar
      Add initial Bazel WORKSPACE and BUILD (#4608) · c6964225
      Joe Schafer authored
      For #4574.
      
      To test:
      
          bazel test --verbose_failures //:flatbuffers_test
      c6964225
  20. 29 Jan, 2018 1 commit
    • Wouter van Oortmerssen's avatar
      Cleaned up & fixed buffer alignment handling. · e93d2bda
      Wouter van Oortmerssen authored
      - Fixed ForceVectorAlignment (and possibly other call-sites) not
        setting minalign_.
      - Fixed flipped alignment parameters in CopyTable (reflection).
      - Made aligment for FlatBufferBuilder internal buffer configurable
        (useful when reading a constructed buffer directly).
      - Ensured Alignment rounding is always up.
      
      Change-Id: I33ca4887d92a09cb11a369c14a109f4b07ae707a
      Tested: on Linux.
      e93d2bda
  21. 22 Jan, 2018 2 commits