Casper [Thu, 16 Jul 2020 20:43:47 +0000 (13:43 -0700)]
Flatc parser support for nullable scalars (#6026)
* Parser support for nullable scalars
* Use older C++ features
* use default element
* Add a test for json, flexbuffers, and null
* test comments and names
Co-authored-by: Casper Neo <cneo@google.com>
Zhaoxuan Jiang [Sat, 11 Jul 2020 00:42:22 +0000 (08:42 +0800)]
[Dart] Generate constant values map for enums (#6025)
Dart schema compiler generated a static getter for enum values, which
always created a new map instance for its callers. See #5819.
Now it generates const map for better performance
and readability.
Kamil Rojewski [Mon, 6 Jul 2020 15:40:56 +0000 (17:40 +0200)]
Using proper symbol name for reexport (#6021)
Co-authored-by: Kamil Rojewski <kamil.rojewski@gmail.com>
Vasyl Gello [Mon, 6 Jul 2020 15:38:06 +0000 (18:38 +0300)]
Silence false positive "-Wstringop-overflow" on GCC 10.0 to 11.0 (#6020)
Kamil Rojewski [Thu, 2 Jul 2020 19:44:55 +0000 (21:44 +0200)]
Updated FB import (#6019)
Previous FB import was based on the original early TS implementation
and did not take into accout NPM. There doesn't seem to be a use
for current implemenentation anymore, while NPM compatibility is
needed.
Co-authored-by: Kamil Rojewski <kamil.rojewski@gmail.com>
Paulo Pinheiro [Thu, 2 Jul 2020 19:40:56 +0000 (21:40 +0200)]
[Java] Add support for shared strings on FlatBufferBuilder. (#6012)
Added a method FlatBufferBuilder::createSharedString that
enable string sharing for building messages on java.
The shared pool will only contains strings inserted by
this methods.
Kamil Rojewski [Thu, 2 Jul 2020 19:18:21 +0000 (21:18 +0200)]
Not using non-existent create method for obj api (#6015)
Co-authored-by: Kamil Rojewski <kamil.rojewski@gmail.com>
mustiikhalil [Tue, 30 Jun 2020 18:37:43 +0000 (21:37 +0300)]
Code cleanup + updates test and readme (#6004)
Updates Readme + adds asserts
Fixes documentation
Casper [Mon, 29 Jun 2020 02:58:08 +0000 (19:58 -0700)]
Serde with bytes maps to Blob (#6009)
* Serde with_bytes maps to Blob
* Bump rust flexbuffers minor version number
Co-authored-by: Casper Neo <cneo@google.com>
Liu Liu [Sun, 28 Jun 2020 09:36:55 +0000 (02:36 -0700)]
[Swift] FlatBuffers createMonster method doesn't treat struct properly (#5992)
* [Swift] FlatBuffers createMonster method doesn't treat struct properly
This PR fixed a issue where a struct is not treated properly when use
create inside.
A example would be the pos inside Monster. The createMonster method
takes an Offset for pos. However, FlatBuffersBuilder.add(struct:)
doesn't really take Offset argument. That means we don't really add a
struct at all for Monster.
It will show up as the pos never set.
This doesn't show up in FlatBuffersMonsterWriterTests.swift because it
implements its own createMonster method, which happens do the dance
properly (i.e. first call create(struct) and then immediately call
add:).
This PR modified the `add(pos:)` interface such that it takes the
UnsafeMutableRawPointer directly, calling `create(struct:)` under the hood.
I can add unit tests once the direction of this PR approved.
* Fix object api pack method codegen.
* Add unit tests that uses Monster.createMonster method to serialize.
* Updated sample_binary.swift
Shengzhe [Fri, 26 Jun 2020 22:39:23 +0000 (15:39 -0700)]
Manage grpc dependency in Bazel's WORKSPACE file. (#5995)
flatbuffers project currently depends on an old version of GRPC library and has known issues working with the latest version (issue #5836). Therefore, a patch file is created and put under bazel/ directory before supporting the latest GRPC version.
Derek Bailey [Fri, 26 Jun 2020 18:16:02 +0000 (11:16 -0700)]
Add warning to schema parser if field name is not snake_case. (#6005)
* Added code gen for evolution tests back in.
* General generate code and clang format
* Added code gen for evolution tests back in.
* General generate code and clang format
* reran generate_code.sh
* Added code gen for evolution tests back in.
* General generate code and clang format
* Added code gen for evolution tests back in.
* General generate code and clang format
* Enforce snake_case for schema field names
* Switched to basic for loop, Fixed warning message
Johan Andersson [Fri, 26 Jun 2020 00:12:10 +0000 (02:12 +0200)]
[Rust] Flexbuffers dependency cleanup and fixes (#5998)
* Fix doc comment warnings
Can't use doc comment "///" syntax on macros, that generates the following warning:
warning: unused doc comment
--> src\flexbuffer_type.rs:236:5
|
236 | /// returns true if and only if the flexbuffer type is `VectorFloat4`.
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macros
|
= help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
So switched to just use ordinary "//" comments on these to be warning free
* Upgrade num_enum 0.4.1 -> 0.5.0
* Remove unused and non-working usage of test crates
* Remove usage of abandoned debug_stub_derive crate
Which brought in old pre-v1 syn and quote crates.
This replaces it with just manual Debug trait implementation instead for the 2 cases
Derek Bailey [Thu, 25 Jun 2020 22:35:23 +0000 (15:35 -0700)]
Re-added Evolution Schema Code Generation Command (#5999)
* Fixed refractoring issue in reflection/generate_code.sh. Also, mv deletes the original file, so I don't need to clean it up manually in that case.
* Fixed Dart Tests by removing code-gen for included files.
* Added code gen for evolution tests back in.
* General generate code and clang format
* Added evolution schema generation to .bat file
* Added code gen for evolution tests back in.
* General generate code and clang format
* Added evolution schema generation to .bat file
* reran generate_code.sh
* Removed wildcard from generate_code.bat that doesn't work
martind1111 [Thu, 25 Jun 2020 22:33:58 +0000 (17:33 -0500)]
Fix RPM install conflict (#6003)
Liu Liu [Thu, 25 Jun 2020 22:11:38 +0000 (15:11 -0700)]
[Swift] Initialize memory when clear ByteBuffer (#5982)
* Initialize memory when clear ByteBuffer
It seems (based on my limited understanding) that FlatBuffers requires
the writable area to be 0 initialized. However, we missed it when clear
the buffer to reinitialize it.
This PR fixed that by calling initialize (also fixed the typo)
explicitly.
* Update version to 0.5.3
hanstzou [Thu, 25 Jun 2020 21:42:47 +0000 (05:42 +0800)]
[TS] Use proper TypedArray in create*Vector (#5991)
* [TS] Use proper TypedArray in create*Vector
This commit adds TypeScript function overloads to create*Vector for
proper TypedArray types, effectively resolves #5373.
* Add @deprecated to old Uint8Array overloads
mjvankampen [Thu, 25 Jun 2020 21:40:10 +0000 (23:40 +0200)]
[C++] Updates real_path to be truly portable (#5787)
* Removes posix definition
stat and fseeko are not used. Tested on QNX (GCC 5.4.0) and MinGw
* Updates realpath to more modern (2008) version
* Removes unix specific headers
* Adds detection of strtoll_l as android API < 21 does not provide it
* Includes cstdlib and formatting
Removes cmakelist alterations as not necessary. Formatting not complete.
* Stdlib outside if
Stdlib is available on all platforms
* Fixes indentation
* Adds locale check to android build
* Adds missing brace
* full names
* Removes again, no clue
* Updates base to check for locale independent android
Cmake already checks for others, also MSC?
* Changes to test on available and not requested
* Fixes android bad xopen_version define
* Removes warning
Jean-François Roy [Tue, 23 Jun 2020 01:06:15 +0000 (18:06 -0700)]
[C++] Generate default member initializers for >= C++11 (#5989)
In >= C++11 mode, generate default member initializers instead of a
default constructor.
The new code is semantically equivalent, but will allow aggregate
initialization in C++20.
This is a different take on #5951.
Paulo Pinheiro [Tue, 23 Jun 2020 00:08:35 +0000 (02:08 +0200)]
[Kotlin] Fix Access to union of vector element (#5994)
Kotlin code generation was producing wrong logic for accessors
of vector of union elements. This was shadowed by the fact[1] that asserts
in Kotlin are silently ignored unless the flag "-ea" is passed to the JVM.
The tests are also updated to enable asserts.
1 - https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/assert.html
Liu Liu [Tue, 23 Jun 2020 00:05:36 +0000 (17:05 -0700)]
[Swift] Add parsing from unowned UnsafeMutableRawPointer for ByteBuffer (#5981)
* RFC: Add ExternalStorage for ByteBuffer in Swift implementation
This PR proposed one more API for ByteBuffer such that no copy is
required to parse FlatBuffers content. This API has limited use, but for
cases that you need to read part of the flatbuffers' data to decide
whether you want to parse / copy the full buffer out, it is useful.
* Use a variable rather than protocol.
* Revert grouping changes from the other PR.
* Add unit test to read from unowned UnsafePointer.
* Manifest changed.
Alex Ames [Tue, 23 Jun 2020 00:02:15 +0000 (17:02 -0700)]
Removed requirement that enums be declared in ascending order. (#5887)
Javier Serrano [Mon, 22 Jun 2020 23:57:45 +0000 (01:57 +0200)]
Do not remove the last digit from float values (#5974)
Trailing zeros are already removed inside the function FloatToString,
that is called immediately before the lines deleted by this commit.
Gleb Mazovetskiy [Thu, 18 Jun 2020 18:51:43 +0000 (19:51 +0100)]
Mark GetBufferMinAlignment() const (#5985)
Like GetBufferPointer() and GetSize(), marks GetBufferMinAlignment function as const
Dimitri Mitropoulos [Thu, 18 Jun 2020 17:23:32 +0000 (13:23 -0400)]
TypeScript/JavaScript docs improvements (#5984)
* use correct language formatter for TypeScript examples
* fixes typo in JS/TS copied from PHP (apparently)
the variables are not named with a prefixed `$`
* fixes bizarre line breaks in markdown examples
* fixes snake case typo to fit JS/TS conventions
* makes example of Uint8Array usage explicit
* removes random extra lines between language blocks
* adds simple example for writing to file in node
* typo: flabuffers => flatbuffers
* adds (previously missing) code blocks to TypeScript code block
* adds context about where `monster_generated` comes from
to the uninitiated, a bit of help like this is welcome
mustiikhalil [Thu, 18 Jun 2020 17:14:38 +0000 (20:14 +0300)]
[Swift] Internal library improvements (#5965)
* Moves addition to overflow addition in swift by using &+
Moves code to use Int instead of UInt32 & fixes functions
Updates swift performance to great
Updated version to 0.5.2
Updated swift package version to 5.2
Updated docker to swift 5.2
Removed all none & arithmetic operations
* Small refactoring
laurens-dg [Thu, 18 Jun 2020 17:02:00 +0000 (19:02 +0200)]
[Doc] Added missing letters to compiler options (#5976)
These are correct in the help section of compiler, but missing some letters here.
Casper [Thu, 18 Jun 2020 07:01:48 +0000 (00:01 -0700)]
Rust Flexbuffers Documentation update (#5979)
* Update samples and docs
* Fixed a line of documentation
Co-authored-by: Casper Neo <cneo@google.com>
Dimitri Mitropoulos [Thu, 18 Jun 2020 05:35:24 +0000 (01:35 -0400)]
[docs] typo: updates monsterdata.json to be valid json (#5978)
* updates monsterdata.json to be valid json
the same monster.json file was not valid json
* updates reference to monsterdata.json in docs to also be valid json
Liu Liu [Tue, 16 Jun 2020 06:18:12 +0000 (23:18 -0700)]
[idl_parser] Mark typefield as deprecated (#5958)
* Mark typefield as deprecated
* Add UnionDeprecation Test.
* Update to use evolution schema instead.
* Use --scoped-enums to compile.
Derek Bailey [Mon, 15 Jun 2020 20:39:46 +0000 (13:39 -0700)]
Deleted old stale bot
The new stale action replaces the function of this bot, so removing the old one.
It also prevents the two bots from battling each other :)
Derek Bailey [Mon, 15 Jun 2020 17:05:53 +0000 (10:05 -0700)]
Increased Operations per run in stale.yml
The default operations per run is 30 which would be consumed on the reprocessing already-marked issues. Greatly increased the operations per run to process all issues and pull request (~200 + 83 * 5).
Derek Bailey [Fri, 12 Jun 2020 20:15:11 +0000 (13:15 -0700)]
Adding Stale Action to clean up PR and Issues
Uses the Stale action (https://github.com/actions/stale) to help clean up older Issues and PR. Set to 6 months to mark as stale, and 14 days to close stale.
volkan-ozdemir [Thu, 11 Jun 2020 23:38:40 +0000 (19:38 -0400)]
[C++] Fixed/Enabled --cpp-ptr-type std::shared_ptr [#5813] (#5959)
Mika Raento [Thu, 11 Jun 2020 17:15:19 +0000 (20:15 +0300)]
Propagate boolean default values from proto to fbs (#5964)
mustiikhalil [Thu, 11 Jun 2020 15:53:32 +0000 (18:53 +0300)]
[Swift] Improving reallocation time by using memcpy and moving reallocation code to storage (#5960)
Removes stride
Use capacity - current size to initialize
Fixes memory leak
Updated test code for linux
Vladimir Glavnyy [Wed, 10 Jun 2020 06:35:07 +0000 (13:35 +0700)]
Fix error in SimpleQSort (#5955)
Malar Kannan [Mon, 8 Jun 2020 17:18:46 +0000 (22:48 +0530)]
fix error on GRPC Python - ignore namespace tree if not specified (#5862) (#5922)
mustiikhalil [Mon, 8 Jun 2020 17:08:16 +0000 (20:08 +0300)]
Required is now implemented in swift (#5952)
Wouter van Oortmerssen [Mon, 8 Jun 2020 16:49:49 +0000 (09:49 -0700)]
Fixed: Access violation and ASAN/UNSAN failures with sorted tables
https://github.com/google/flatbuffers/issues/5945
Matt Brubeck [Mon, 8 Jun 2020 16:47:36 +0000 (09:47 -0700)]
[rust] Add FlatBufferBuilder::force_defaults API (#5946)
* [rust] Add force_defaults method FlatBufferBuilder
This works just like the same method already available in other
languages.
* Add binary format test for force_defaults
Paulo Pinheiro [Mon, 8 Jun 2020 16:35:51 +0000 (18:35 +0200)]
[FlexBuffer][Java] ReadWriteBuf and ReadBuf interface public (#5948)
Those interfaces need to be public for use cases where the user pass a buffer to FlexBuffers class that is not a ByteBuffer.
This will fix #5944
greenrobot Team [Fri, 5 Jun 2020 02:48:25 +0000 (04:48 +0200)]
[Java] Grow ArrayReadWriteBuf enough to match requested capacity. (#5921)
* [Java] Grow ArrayReadWriteBuf enough to match requested capacity.
Also handle requested capacity overflowing.
* [Java] Improve readability of ArrayReadWriteBuf.requestCapacity()
* [Java] prepare testBuilderGrowth() to fail again once FlexBuffersBuilder uses ByteBufferReadWriteBuf internally, add TestFail() as a better alternative to a plain "assert false"
* [Java] Revert some test changes and extract a small string that was used more than once; one could say three times, however, it might be worthy of a discussion if the third occasion also falls into this category, as it is an independent use case and thus would work in the same way even if the value changed.
Co-authored-by: Markus <markus@greenrobot>
mustiikhalil [Thu, 4 Jun 2020 16:14:18 +0000 (19:14 +0300)]
Adds bool support in structs + updates grpc support + CI upgrades (#5943)
Kamil Rojewski [Thu, 4 Jun 2020 16:08:41 +0000 (18:08 +0200)]
fixed mutating inline values (#5942)
Co-authored-by: Kamil Rojewski <kamil.rojewski@gmail.com>
Laurentiu Cristofor [Tue, 2 Jun 2020 16:50:56 +0000 (09:50 -0700)]
Add static asserts to ensure that reflection API arrays are kept in sync (#5934)
* Add static asserts to ensure that reflection API arrays are kept in sync
* Move changes from generated file into source fbs file
* Rename enum value and regenerate reflection_generated.h
* Add comments to each entries of type sizes array
bakinovsky-m [Tue, 2 Jun 2020 00:58:52 +0000 (03:58 +0300)]
[C++] Got rid of memset's in constructors (#5938)
* [C++] removed array's memsets from struct parametrized constructor
now POD-typed arrays are zero-initialized
and class-typed arrays are default-initialized
* [C++] memset -> zero/default initialization in default constructor
* [C++] Struct-type and array default initialization
* [C++] Newly generated tests
* [C++] forgotten test
* [C++] curly brace by code style
* [C++] test if memory is 0's after placement new
* [C++] memory leak fix
* [C++] simplifying and non-dynamic memory in test
* [C++] code cleanup
* [C++] disable old-compiler warning
* [C++] windows build fix (try)
* [C++] debug-new win build fix
Derek Bailey [Mon, 1 Jun 2020 15:40:55 +0000 (08:40 -0700)]
General Codebase clean up (#5939)
* Fixed refractoring issue in reflection/generate_code.sh. Also, mv deletes the original file, so I don't need to clean it up manually in that case.
* Ensuring test/generate_code.sh was ran
* Fixed Dart Tests by removing code-gen for included files.
* General cleanup of codebase.
stefan301 [Fri, 29 May 2020 17:00:46 +0000 (19:00 +0200)]
Add GetStringView like GetString, GetCstring (#5937)
* Added missing EndTable() call to VerifyObject()
VerifyObject called VerifyTableStart() but not EndTable(). This made Verifier::VerifyComplexity() increase depth_ with each table, not with the depth of tables.
https://groups.google.com/forum/#!topic/flatbuffers/OpxtW5UFAdg
* Added Check to VerifyAlignment
https://stackoverflow.com/questions/
59376308/flatbuffers-verifier-returns-false-without-any-assertion-flatbuffers-debug-veri
* Add GetStringView (Convenience function to get string_view from a String returning an empty string_view on null pointer) like GetString, GetCstring
Co-authored-by: stefan301 <Stefan.Felkel@de.Zuken.com>
mugisoba [Thu, 21 May 2020 16:14:20 +0000 (01:14 +0900)]
[C#] Add file identifier to ObjectAPI Serialization Utility. (#5920)
* use Finish***Buffer instead.
* add file_identifier test.
Kamil Rojewski [Mon, 18 May 2020 16:39:19 +0000 (18:39 +0200)]
not creating creation methods when using structs (#5919)
* not creating creation methods when using structs
* vs2015 build fix
Co-authored-by: Kamil Rojewski <kamil.rojewski@gmail.com>
Maxim Zaks [Mon, 18 May 2020 14:50:39 +0000 (16:50 +0200)]
[Dart] Adding FlexBuffers support (#5853)
* Adding FlexBuffers support for Dart language
Derek Bailey [Sat, 16 May 2020 01:13:29 +0000 (18:13 -0700)]
[Dart] Getting tests/DartTest.sh to work on (#5915)
* Fixed refractoring issue in reflection/generate_code.sh. Also, mv deletes the original file, so I don't need to clean it up manually in that case.
* Fixed Dart Tests by removing code-gen for included files.
Vladimir Glavnyy [Thu, 14 May 2020 18:39:58 +0000 (01:39 +0700)]
Schema parser: prohibit declaration of an array of pointers inside structs (#5907)
* Fix issue #5906, Prohibit declaration of an array of pointers inside structs
- idl_parser.cpp: Prohibit declaration of an array of pointers inside structs
- idl_gen_cpp.cpp: Extract GenStructConstructor() method from GenStruct() to simplify future modification
- idl_gen_cpp.cpp: Add assert for checking of Array fields in structs on code-generation stage
* Fix the error 'unused local variable' in release build
* Fix: format the PR code according to coding rules
* Add test-case and fix review notes
Casper [Wed, 13 May 2020 18:24:32 +0000 (11:24 -0700)]
Fix Cargo.toml dependencies (#5911)
* Fix Cargo.toml dependencies
* less specific serde dependency
Co-authored-by: Casper Neo <cneo@google.com>
Dan Field [Wed, 13 May 2020 17:26:32 +0000 (10:26 -0700)]
fix union type names (#5902)
* fix union type names
* fix up generation and test
* format
* update codegen
Casper [Tue, 12 May 2020 02:46:37 +0000 (19:46 -0700)]
Update Rust Flexbuffers metadata before publishing (#5905)
Co-authored-by: Casper Neo <cneo@google.com>
Khoi Dinh Trinh [Mon, 11 May 2020 21:55:57 +0000 (14:55 -0700)]
[TS] Make Obj-API work with --short-names (#5898)
* changed function used for getting struct name
* re-generated code
Kamil Rojewski [Thu, 7 May 2020 23:21:30 +0000 (01:21 +0200)]
fixed invalid imports with --gen-all (#5895)
* fixed invalid imports with --gen-all
* only excluding crate imports
Co-authored-by: Kamil Rojewski <kamil.rojewski@gmail.com>
Derek Bailey [Thu, 7 May 2020 21:33:29 +0000 (14:33 -0700)]
[C#] Thread safe reads of Double and Float values from a ByteBuffer (#5900)
* Fixed refractoring issue in reflection/generate_code.sh. Also, mv deletes the original file, so I don't need to clean it up manually in that case.
* Thread safe reads of Double and Floats from ByteBuffer
Dmitriy Kovalev [Thu, 7 May 2020 21:26:33 +0000 (14:26 -0700)]
Implement flexbuffers in python (#5880)
Casper [Thu, 7 May 2020 21:11:26 +0000 (14:11 -0700)]
Rust Flexbuffers (#5669)
* Cargo clippy lints
* more lints
* more lints
* Restored a doc comment
* Comment on float eps-eq and adjusted casting
* Rust Flexbuffers
* more serde tests, removed some unsafe
* Redid serde to be map-like and Reader is Display
* Moved iter from Reader to VectorReader
* Serious quickcheck + bugs
* wvo api
* Made types smaller for a reasonable speedup
* redid reading in a way that's a bit faster.
Profiling shows the rust slowdown as building +10%, reading +20%
* src/bin are developer binaries in rust
* Root and Map width are not packed
* key null check is debug only + doc changes
* BuilderOptions
* Documentation
* Documentation
* Moved tests to rust_usage_test
* Moved rust flexbuffers samples to Flatbuffers/samples
* Fixed RustTest
* Fixed for Rust 1.37.0
* Upgraded to rust 1_40_0
* fixed a little-endian-only feature in a test
* 1.40.0
* fixed some benchmarks for bigendian
* Updated .bat file
* misspelling
* Gold Flexbuffer test.
* Serialize,Deserialize, std::error::Error for Errors.
* Undo rustfmt in integration_test.rs
* from_slice instead of from_vec
* Added comments to unsafe blocks
* expanded on comment
* bump
Co-authored-by: CasperN <cneo@google.com>
mustiikhalil [Thu, 7 May 2020 19:28:42 +0000 (22:28 +0300)]
[swift] Moves code to use VTablesStorage (#5888)
* Moves the code to use _vtablestorage
Rebuilt the test to confirm to the new API
Adds documentation + generates code for grpc
Reverts indentation
v0.4.0
Updated swift/readme.md
Updates VtableStorage to ensure space instead of reallocating each time
Fixes str count not being correct
* Fixes issue with boolean constant not being set + removes unused function
Markus Junginger [Thu, 7 May 2020 19:26:55 +0000 (21:26 +0200)]
[Java][FlexBuffers] Make FlexBuffersBuilder reusable by adding clear() (#5889) (#5890)
Adam Oleksy [Thu, 7 May 2020 19:22:12 +0000 (21:22 +0200)]
Align package name to FindFlatBuffers.cmake (#5899)
This change is for fix warning:
```
CMake Warning (dev) at /home/aoleksy/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
The package name passed to `find_package_handle_standard_args`
(flatbuffers) does not match the name of the calling package (FlatBuffers).
This can lead to problems in calling code that expects `find_package`
result variables (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
FindFlatBuffers.cmake:33 (find_package_handle_standard_args)
CMakeLists.txt:6 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
```
Carol (Nichols || Goulding) [Thu, 7 May 2020 19:15:11 +0000 (15:15 -0400)]
Small tutorial improvements - documentation only (#5894)
* Use code formatting for a code snippet
* Minor grammar, spelling, and Markdown fixes
Wouter van Oortmerssen [Tue, 5 May 2020 17:47:29 +0000 (10:47 -0700)]
Attempt at adding Github Actions CI
Dmitry Volosnykh [Mon, 4 May 2020 20:23:41 +0000 (23:23 +0300)]
Handle git program or .git folder absence (#5878)
Assume version is 0.0.0.0 in such cases.
Thomas [Mon, 4 May 2020 19:27:50 +0000 (21:27 +0200)]
only add native_include_files if object based api is enabled (#5886)
The native include files tag is intended to be used together with the object based api. A client which does not use the object based api should have no need to know about the additional include files needed for the object based api. The generated flatbuffers code without object api enabled should compile without the additional header files.
Mika Raento [Mon, 4 May 2020 17:33:11 +0000 (20:33 +0300)]
Respect shared attribute in Parser (#5885)
Respects the 'shared' field attribute when reading data with Parser.
Even Rouault [Mon, 4 May 2020 17:21:57 +0000 (19:21 +0200)]
include/flatbuffers: typo fixes in comments (#5884)
mustiikhalil [Mon, 4 May 2020 17:18:38 +0000 (20:18 +0300)]
Updates swift docs for package management (#5883)
Small fix for the clear function
jrop [Mon, 4 May 2020 07:16:57 +0000 (01:16 -0600)]
[Rust] idl_gen_rust.cpp: (Option/required-aware codegen for unions) (#5850)
* idl_gen_rust.cpp: Fix google/flatbuffers#5849 (Option/required-aware
codegen for unions)
The generated code was assuming that an Option is always returned by the
union-getter method: however, this is only true if the field is not
marked as `(required)`.
* idl_gen_rust.cpp: flip conditional
* idl_gen_rust.cpp: Add comment, as requested in review
The code added is not covered by the integration test
Mika Raento [Thu, 30 Apr 2020 15:58:43 +0000 (18:58 +0300)]
Propagate use_string_pooling in CopyTable (#5879)
This allows using CopyTable for deduplicating strings.
Kamil Rojewski [Mon, 27 Apr 2020 19:35:42 +0000 (21:35 +0200)]
Not using reexports with --gen-all (#5873)
Co-authored-by: Kamil Rojewski <kamil.rojewski@gmail.com>
Alex Ames [Thu, 23 Apr 2020 17:09:19 +0000 (10:09 -0700)]
Added INCLUDE_PREFIX option for flatbuffers_generate_headers (#5866)
This option was in an earlier revision of flatbuffers_generate_headers
but was lost while refactoring by mistake. We have it as a function
argument rather than one of the optional flags so that we can use it to
inform the rule where to place the generated headers, so that the file
location matches the prefix that will be added to the filenames in the
generated files.
Also fixed some of the documentation in the file.
Wouter van Oortmerssen [Thu, 23 Apr 2020 16:28:22 +0000 (09:28 -0700)]
Fixed text in internals doc that implied structs can be root
mustiikhalil [Mon, 13 Apr 2020 16:28:56 +0000 (19:28 +0300)]
[Swift] Object API support (#5826)
* Adds Object-api support to swift
* Fixed indentation issues
* Removed indentation within namespaces
Khoi Dinh Trinh [Thu, 9 Apr 2020 16:53:16 +0000 (09:53 -0700)]
[TS] Add Obj API (#5788)
* added basic code
* backup work
* got class property to work
* backup progress
* implementented fmt for creating code
* added docs for genFieldUtils
* back up work
* added base helper js func
* added union js code
* added unpackTo and base for pack
* added pack code
* added null check for packing struct list
* passes compile test
* fixed some spacing of generated functions
* added annotations for constructors
* added obj api unpack test
* tested pack to work
* merge branch
* separated js and ts test
* fixed union signature to include string
* fixed generator to support string union
* hardcoded fb builder name
* refactored struct vector creation
* work around createLong
* handle default value in constructor
* update typescript docs
* added notes about import flag
* fixed formatting stuffs
* undo TypescriptTest change
* refactored fmt
* updated generated code
* remove ignoring union_vector for js
* revert changes for .project
* revert changes for package.json
* don't generate js in ts test
* fixed android project file
* removed unused js function
* removed package-lock.json
* adjust createObjList to new signature
* changed regex to callback style
* fixed package.json
* used existing func for generating annotation
* changed ternary to !!
* added return type for lambda
* removed callback style for obj api generator
* fixed js file indentation
* removed unused header
* added tests for string only union
* handle string only union and refactor union conv func
* updated generated ts files
* renamed union conv func
* made js test create files like other languages
* removed union string only handling
* don't allow null in createObjectOffsetList
* updated generated ts code
* changed the line that triggers Windows build errors
* hopefully fix CI error
Meng Yang [Thu, 9 Apr 2020 16:38:58 +0000 (00:38 +0800)]
fix cpp usage markdown error (#5845)
mustiikhalil [Mon, 6 Apr 2020 17:05:56 +0000 (20:05 +0300)]
Upgraded swift implementation for grpc (#5843)
Updated version number
Anass Al [Mon, 6 Apr 2020 16:27:13 +0000 (09:27 -0700)]
[C#] Fix nested structs and arrays in Object API (#5765)
* [C#] Fix nested structs and arrays in Object API
The adds support for nested structs and fixed size arrays in the C#
Object API codegen which previously generated invalid code that wouldn't
compile.
- Nested structs would originally generate syntax errors due to adding an
additional `.` to separate fields.
- Fixed size arrays of nested structs would originally generate code for
the first field in the top most struct, and would lead to a compiler
error due to referencing undefined variables.
* [C#] fix nested structs and arrays of structs.
* fix nested structs + arrays
* add table support
* Cleanup code
Co-authored-by: mugisoba <mugisoba+github@icloud.com>
Max Burke [Mon, 6 Apr 2020 16:09:15 +0000 (09:09 -0700)]
[ts] Fix empty source/dest namespaces when reexporting. (#5841)
When either source or destination or both namespaces were empty, flatc
was generating incorrect TS code.
For example:
```
export namespace {
export import ObjectId = NS10770172024577249292..ObjectId;}
```
In this case the target namespace is empty, and so is the namespace
between the NSxxx placeholder and the target type.
mustiikhalil [Thu, 2 Apr 2020 19:55:30 +0000 (22:55 +0300)]
Improves performance for the swift library by using structs + a storage class (#5835)
Paulo Pinheiro [Mon, 30 Mar 2020 20:46:42 +0000 (22:46 +0200)]
[Java][FlexBuffers] Optimize Map access (#5735)
The original implementation of map access is very naive:
- Encode String to UTF8 byte[]
- Creates a new KeyVector
- Performs a binary search to find the key
- return value
So every access to the Map there was useless allocations of Keys and KeyVector
and complete encoding of the search key, which for most comparisons would be wasteful.
This changes completely removes the use of KeyVector and compute the key
positions on the spot. Besides that, it compares keys codepoint-by-codepoint,
avoiding unnecessary allocations and reducing encoding for most cases.
Some benchmarks result in a 2.75x speedup.
Olivier Le Doeuff [Fri, 27 Mar 2020 15:35:44 +0000 (16:35 +0100)]
[CMake] : Add precompiled header support with FLATBUFFERS_ENABLE_PCH (#5827)
* [CMake] : Add precompiled header support with FLATBUFFERS_ENABLE_PCH
FLATBUFFERS_ENABLE_PCH enable precompile headers support for 'flatbuffers' and 'flatc'. Default if OFF.
You need to set it to ON to make it work. 'cmake -DFLATBUFFERS_ENABLE_PCH=ON ..'
This will only work if CMake version is >= 3.16, because target_precompile_headers is used.
If CMake doesn't have target_precompile_headers, then nothing will happen.
This can speed up compilation time.
Precompiled header file for 'flatbuffers' is 'pch.h'
Precompiled header file for 'flatc' is 'flatc_pch.h'
* Enable FLATBUFFERS_ENABLE_PCH for VC 2017 and VS2019 builds
* [CMake]: Fix error in FLATBUFFERS_ENABLE_PCH description
* Add a function add_pch_to_target to avoid copy and pasting the same code like add_fsanitize_to_target
Move pch.h and flatc_pch.h from include/flatbuffers to include/flatbuffers/pch
Make flatc_pch.h depends on pch.h since it extend it
Alex Ames [Fri, 27 Mar 2020 15:33:12 +0000 (08:33 -0700)]
Added flatbuffers_generate_headers and flatbuffers_generate_binary_files cmake functions. (#5830)
flatbuffers_generate_headers is a function that can be used to generate Flatbuffers headers and binary headers. It uses named argument flags to wrap all the flags relevant to C++ header generation that flatc uses. It generates an interface library that can be added as a dependency of other targets.
flatbuffers_generate_binary_files is a function that can be used to generate Flatbuffers binaries. It uses named argument flags to wrap all the flags relevant to C++ binary generation from JSON file that flatc uses. It generates an interface library that can be added as a dependency of other targets.
Dmitriy Kovalev [Thu, 26 Mar 2020 15:54:52 +0000 (08:54 -0700)]
Correct calculation of vector element size (#5831)
Number of elements on the stack shouldn't affect the calculation
of ElemWidth(). Variable 'start' needs to be subtracted from the
loop variable 'i' to make indexing zero-based.
There is an additional unit test to pack nested vectors. Size of
the packed buffer *without* this fix is 798 and only 664 bytes
*with* the fix.
Arthur O'Dwyer [Mon, 23 Mar 2020 17:01:11 +0000 (13:01 -0400)]
Fix Clang-trunk warnings about special members deprecated in C++20. (#5829)
For example:
include/flatbuffers/reflection.h:365:8: error: definition of implicit copy
constructor for 'pointer_inside_vector<flatbuffers::Table, unsigned char>'
is deprecated because it has a user-declared copy assignment operator
[-Werror,-Wdeprecated-copy]
void operator=(const pointer_inside_vector &piv);
^
It's unclear why the old code wanted to declare a public `operator=`
without defining it; that just seems like a misunderstanding of the C++03 idiom
for deleting a member function. And anyway, we don't *want* to delete the
assignment operator; these are polymorphic types that do not follow value
semantics and nobody should ever be trying to copy them. So the simplest fix
is just to go back to the Rule of Zero: remove the declaration of `operator=`
and let the compiler do what it wanted to do originally anyway.
"The best code is no code."
Also, update the generated .h files.
Fixes #5649.
Vladimir Glavnyy [Mon, 23 Mar 2020 16:51:57 +0000 (23:51 +0700)]
Fix `float_constant` definition in './doc/Grammar.md` (#5828)
stefan301 [Mon, 23 Mar 2020 16:39:26 +0000 (17:39 +0100)]
[csharp] flatc should generate a 'Create…' method for tables with struct field… (#5818)
* flatc should generate a 'Create…' method for tables with struct fields when also generating the object based api (C#)
https://stackoverflow.com/questions/
60724317/flatc-should-generate-a-create-method-for-tables-with-struct-fields-when-al
* missing namespace fixed: C:\projects\flatbuffers\tests\namespace_test\NamespaceA\TableInFirstNS.cs(30,7): error CS0246: The type or namespace name 'StructInNestedNST' could not be found (are you missing a using directive or an assembly reference?) [C:\projects\flatbuffers\tests\FlatBuffers.Test\FlatBuffers.Test.csproj]
Co-authored-by: stefan301 <Stefan.Felkel@de.Zuken.com>
Yurii Nakonechnyi [Fri, 20 Mar 2020 17:13:47 +0000 (19:13 +0200)]
Updated doxyfile - added missing files (#5824)
Added missing Java/C#/Switft files - that fixes references to them. Removed non-existent "JavaCsharpUsage.md".
Ekene Madu [Fri, 20 Mar 2020 17:12:23 +0000 (10:12 -0700)]
Update Grammar.md (#5820)
* Update Grammar.md
Some consistency fixes to the grammar file
* Some more minor fixes to Grammar.md
* Update Grammar.md
a-maurice [Tue, 17 Mar 2020 20:38:29 +0000 (13:38 -0700)]
Include CPack only when explictly packaging (#5817)
Including CPack without the additional packaging information creates unused project files, and can potentially cause issues for projects including Flatbuffers that also use CPack.
stefan301 [Mon, 16 Mar 2020 19:19:11 +0000 (20:19 +0100)]
[C++] Add max_depth and max_tables parameters to reflection::Verify (#5815)
* Added missing EndTable() call to VerifyObject()
VerifyObject called VerifyTableStart() but not EndTable(). This made Verifier::VerifyComplexity() increase depth_ with each table, not with the depth of tables.
https://groups.google.com/forum/#!topic/flatbuffers/OpxtW5UFAdg
* Added Check to VerifyAlignment
https://stackoverflow.com/questions/
59376308/flatbuffers-verifier-returns-false-without-any-assertion-flatbuffers-debug-veri
* [C++] Add max_depth and max_tables parameters to reflection::Verify
Co-authored-by: Felkel <stefan@eas.local>
Co-authored-by: stefan301 <Stefan.Felkel@de.Zuken.com>
Vladimir Glavnyy [Mon, 16 Mar 2020 18:59:34 +0000 (01:59 +0700)]
Fix interpretation of 'nan(number)' by the idl_parser (#5810)
* Parser reject "nan(n)" string as it does with nan(n)
* Adjust scalar fuzzer to ignore '$schema' substrings
- Scalar fuzzer ignores '$schema' substrings at the input
- Added 'scalar_debug' target to simplify research of fuzzed cases
* Improve formatting of './tests/fuzzer/CMakeLists.txt'
mustiikhalil [Mon, 16 Mar 2020 18:55:59 +0000 (21:55 +0300)]
[Scripts] Adds swift to generated code (#5806)
* Moved swifttest.sh code generator to generate_code + fix issue in ghpages
* Fixes small issue with cocoapods documentation
Wouter van Oortmerssen [Mon, 16 Mar 2020 18:33:42 +0000 (11:33 -0700)]
updated maven build files
Change-Id: I33c69978fe7a22485a7fd5ceb7a480e84e8bcdb3
Wouter van Oortmerssen [Thu, 12 Mar 2020 21:41:06 +0000 (14:41 -0700)]
pre-tag version bump for 1.12
Change-Id: I84a9365e9d8a1afe333b1df85058401ffe0a6b7c
mustiikhalil [Thu, 12 Mar 2020 19:13:03 +0000 (22:13 +0300)]
Removes the inner loop in the endtable check written tables (#5803)