1. 26 Dec, 2019 2 commits
  2. 24 Dec, 2019 3 commits
  3. 23 Dec, 2019 6 commits
  4. 18 Dec, 2019 1 commit
  5. 17 Dec, 2019 2 commits
  6. 15 Dec, 2019 1 commit
    • Max Burke's avatar
      Bugfix for Rust generation of union fields named with language keywords (#5592) · eddebec1
      Max Burke authored
      * Bugfix for Rust generation of union fields named with language keywords
      
      Looking at ParseField, it appears that in the case of unions, an extra field with a `UnionTypeFieldSuffix` is added to the type definition, however, if the name of this field is a keyword in the target language, it isn't escaped.
      
      For example, if generating code for rust for a union field named `type`, flatc will generate a (non-keyword escaped) field named `type_type` for this hidden union field, and one (keyword escaped) called `type_` for the actual union contents.
      
      When the union accessors are generated, they refer to this `type_type` field, but they will escape it mistakenly, generating code like this:
      
      ```
        #[inline]
        #[allow(non_snake_case)]
        pub fn type__as_int(&self) -> Option<Int<'a>> {
          if self.type__type() == Type::Int {
            self.type_().map(|u| Int::init_from_table(u))
          } else {
            None
          }
        }
      ```
      
      Which will fail to build because the field is called `self.type_type()`, not `self.type__type()`.
      
      * [Rust] Add crate-relative use statements for FBS includes.
      
      At present if a flatbuffer description includes a reference to a type in
      another file, the generated Rust code needs to be hand-modified to add
      the appropriate `use` statements.
      
      This assumes that the dependencies are built into the same crate, which
      I think is a reasonable assumption?
      
      * Revert "[Rust] Add crate-relative use statements for FBS includes."
      
      This reverts commit d554d79fecf5afd6da6fb993b30b4cd523a5889a.
      
      * Address comments raised in PR
      
      * Update documentation comments per feedback
      
      * Fix typo
      eddebec1
  7. 13 Dec, 2019 1 commit
  8. 09 Dec, 2019 2 commits
  9. 06 Dec, 2019 1 commit
    • cryptocode's avatar
      Add --force-empty-vectors option (#5653) · a8e800bd
      cryptocode authored
      The rationale for this option is that JSON clients typically want empty arrays (i.e [] in the JSON) instead of missing properties, but not empty strings when the value isn't set.
      --force-empty is kept as-is, i.e. it will force both empty strings and vectors.
      
      Closes #5652
      a8e800bd
  10. 05 Dec, 2019 1 commit
  11. 02 Dec, 2019 5 commits
    • bttk's avatar
      Split Bazel targets into multiple packages (#5640) · 99d11e27
      bttk authored
      * Split Bazel targets into multiple packages
      
      * Merge /include/BUILD back into /BUILD
      99d11e27
    • Google AutoFuzz Team's avatar
      Remove a static_assert (#5643) · 4fd8eb21
      Google AutoFuzz Team authored
      Having a static_assert on MSAN and ASAN prevents
      the fuzzers from being used with different engines,
      like TSAN, UBSAN, … but also with fuzzers that aren't
      using MSAN/ASAN like afl for example.
      4fd8eb21
    • lu-wang-g's avatar
      Flatbuffers Python Object API (#5616) · 65f87035
      lu-wang-g authored
      * Flatbuffers Python Object API
      
      Implement the logic to generate the Python object API that can
      unpack the data from a buf class into an object class, and pack
      the data of an object class to a buf class.
      
      * Fix the build issues
      
      Remove unused parameters and replace auto in the for-loop statement
      with std::string to make it compatible with VS2010.
      
      * Fix the build issues.
      
      * Add support for Array type
      
      Added logic to handle Array type in Python Object API. Updated the
      generated code accordingly.
      
      * Fix the old style casting from int to char
      
      * Fixed another conversion from int to char
      
      * Fixed the import for typing
      
      Importing typing may cause errors when a machine do not have the
      moduel typing installed. This PR fixes the issue by guarding
      "import typing" with the "try/except" statement.
      
      * Fix issue of iterating the vector of import list
      
      * Update the generated examples using generate_code.sh
      
      * Fix the import order for typing
      
      The import list was stored in unordered_set, so that each generated
      codes may have different import order. Therefore, it failed in the
      consistency test where two generated copies need to have exactly the
      same apperance.
      
      * Optimize unpack using numpy
      
      Use numpy to unpack vector whenever it is possible to improve unpack
      performance.
      
      Also, added codegen command for Python specificly in generate_code.sh,
      because --no-includes cannot be turn on for Python.
      
      * Fix the import order
      
      * Update generate_code.bat for windows accordingly
      
      * Replace error message with pass
      
      Avoid printing error message for every Python2 users about typing.
      Replace it with pass.
      65f87035
    • Ivan Shynkarenka's avatar
      [Clang 10]: definition of implicit copy constructor for 'TableKeyComparatoris… · 75823cc2
      Ivan Shynkarenka authored
      [Clang 10]: definition of implicit copy constructor for 'TableKeyComparatoris deprecated #5649 (#5650)
      
      75823cc2
    • nilsocket's avatar
      [docs]: add missing semicolon (#5648) · 58e27924
      nilsocket authored
      Add missing semicolon for table field.
      58e27924
  12. 26 Nov, 2019 1 commit
  13. 25 Nov, 2019 3 commits
  14. 21 Nov, 2019 1 commit
  15. 18 Nov, 2019 2 commits
    • Vladimir Glavnyy's avatar
      Add testing of C++ with sanitizers (CI-Docker) (#5631) · 091fa1fd
      Vladimir Glavnyy authored
      * Add C++ build testing with clang and gcc
      
      This adds Dockerfiles which test building flatc and the C++ library against clang
      and gcc. See discussion at #5119.  It is derived from the Travis CI tooling.
      
      The GRPC tests are failing due to #5099 so those are commented out.
      
      These are run from the .travis.yml file rather than the tests/docker/languages
      folder because the builds may each take longer than 30 minutes and were hitting
      Travis timeouts.
      
      Parallel builds and build caching attempt to keep the build times low.
      
      * Add GCC 8.3 and Clang 7.0 with sanitizers into CI (based on #5130)
      
      - Add a docker based on Debian Buster.
      - Add C++ building scripts for the docker.
      - Leak-sanitizer requires SYS_PTRACE.
      091fa1fd
    • FujiZ's avatar
      ff3781dc
  16. 15 Nov, 2019 1 commit
    • Malar Kannan's avatar
      Support for python grpc - continuing the work from the pull request #4270 #4705 (#5613) · 6beb9f49
      Malar Kannan authored
      * Support for python grpc
      
      * add few fixes
      
      * Fixes build
      
      * Fix python generator
      
      * Add tests
      
      * Fix grpc python test
      
      * Fix tests and add incomplete python generator
      
      * Fix python generator
      
      * Add python generator methods
      
      * Fix Appveyor build
      
      * grpc python support v0.1
      
      * Update tests
      
      * update grpctest
      
      * Remove duplicated code and fix a brace
      
      * tests for flatbuffers grpc python
      
      * Updated tests + removed SerializeToString, From String
      
      * remove pickle import
      
      * include missing files in ci - BUILD and generated test result
      6beb9f49
  17. 14 Nov, 2019 3 commits
  18. 11 Nov, 2019 4 commits