* Attach JvmStatic annotation to each method of companion object
Kotlin does not have static accessor so companion object used instead of static.
It's so natural. But when use kotlin companion object methods on java it is very inconvenient.
```java
GeneratedClassByFlatBuffer.Companion.someMethod()
```
If use @JvmStatic annotation it can be shorten like below.
```java
GeneratedClassByFlatBuffer.someMethod()
```
* Formatting by Idea Google C++ style
* Add comments - Commit for missing cla
Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Add comments - Commit for missing cla
Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Reset code formatting except modified lines
Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Pass missing flag to validateVersion method
Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Add annotations to missing method in companion object
* addVector
* createVector
* endVector
* tableCreator
And also I tried add compiler option for generate annotation who don't like this operation.
Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Modify unmatched option name in compiler usage
Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Add missing operation for finishSizePrefixed and finishStructBuffer method.
Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Add compiled example with --kotlin-gen-jvmstatic option.
Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Fix Compiler.md
Change option name from --gen-jvm-static-annotation to --kotlin-gen-jvmstatic
Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Use IDLOptions reference instead of bool parameter.
Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Change option name - kotlin_gen_jvmstatic to gen_jvmstatic
Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Use IDLOptions reference instead of bool parameter and missing process @JvmStatic as suffix.
Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Add code generation for --gen-jvmstatic option
Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Miss typo directory for including.
Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Miss typo variable suffix for including.
Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Fix camel case to snake case.
Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Rollback generate code for gen_jvmstatic option.
Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Delete generated test files.
Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* add missing new line at end of file.
Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Remove generated test file by command line.
Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
Co-authored-by: sam <sam@jennifersoft.com>
* Cleaned up .NET testing script for Mono
Cleaned up the .NET testing script to make it a little better. It
purposefully doesn't delete the .NET installer and SDk after running the
script, so that they can be used in subsequent invocations. This greatly
speeds up the script.
The downloaded files are ignored by git by default. They can be
explicitly cleaned up by runnning the clean script (clean.sh).
* Trying using older Version indicator
* Remove lins to monsterdata and reference it directly.
* Updated appveryor script to remove copying of files no longer needed
* Continue to update appveyor script to work. Disabled CS0169 in ByteBufferTest
* [TS] Fix four bugs with imported types in TypeScript.
* When a type had a vector of imported enums:
1) the enum type's file wasn't added to the generated code's list of
imports; and
2) the enum wasn't prefixed with the NS<hash> prefix and wasn't getting
resolved; but
3) non-enum types (ie, "flatbuffers.Offset") were getting the NS<hash>
prefix when they weren't.
* Also, type name prefixes weren't properly attributed with imported
structs in unions because the source definition passed to the typename
prefixing method was for the union, not for the location of the imported
struct.
* clang fmt
* Use of enum_def / struct_def for prefixing types needs to have the files
added to imported files when not generating all types.
* clang fmt
This PR attempts to switch namespace from public enum back to ordinary
concat with _ in Swift. This kept style similar with protobuf, but
different from other popular style guide in Swift.
This is needed because previously, when we do `public enum`, we don't
really know when to declare and when to extend (extension). With namespace
implementation in this PR, there is no such ambiguity.
Adds swift test code
Replaces if statments
Adds swift to supported languages for optionals
Moved std::string to auto
Adds nullable scalars support in object api
* [C++] Fix compiler error from deleted assignment operator (#6036)
The assignment operator of the `buf_` member is deleted, we cannot call it from the assignment operator of the `TableKeyComparator` struct.
=> Also delete the assignment operator of the `TableKeyComparator` struct (already private anyhow).
* [C++] Fix compiler error from deleted assignment operator (#6036) - fix extraneous semicolon
The assignment operator of the `buf_` member is deleted, we cannot call it from the assignment operator of the `TableKeyComparator` struct.
=> Also delete the assignment operator of the `TableKeyComparator` struct (already private anyhow).
* First draft of rust optionals
* Code cleanup around ftBool and ftVectorOfBool
* Tests for Rust optional scalars
* test bools too
Co-authored-by: Casper Neo <cneo@google.com>
This is the first step to upgrade grpc dependency to the latest version.
- Patch protobuf 3.6.1. and grpc 1.15.1 to fix build errors when using the latest Bazel version (3.4.1).
- Add grpc/tests:grpc_test. One can kick off tests in Bazel by calling `bazel test grpc/tests/...`.
- Add missing build targets in tests/BUILD in order to support grpc/tests/BUILD
* Perpares swift to take optional scalars + adds optional string helper method + disables linters in generated code
* Small fix for generated code
* Update grpc support to alpha 17 for swift
* 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>
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.
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>
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.
* [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
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.
* 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
* 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
* 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
* 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
* [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
* 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
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.
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
* 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.
* 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
* 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
* 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
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).