Commit Graph

1166 Commits

Author SHA1 Message Date
Derek Bailey
f1b26ff7fb Change to GetTypeName (#7453) 2022-08-16 20:32:53 -07:00
Derek Bailey
82b75407a3 Wrap types in namespace for --ts-flat-files and --gen-all (#7451)
* Wrap types in namespace for --ts-flat-files and --gen-all

* Fixes for escaping object types

* Added to generate_code
2022-08-16 12:52:26 -07:00
Paul Harris
f7c511957f Audit and fixups for GCC and Clang (#7212)
Added (for compiler versions that support it):
-Wmissing-declarations
-Wzero-as-null-pointer-constant

Then, fixes to problems identified by the extra warnings
Tested only on GCC 9.4.0

Adjusted the CPP code generator to output nullptr where appropriate,
to satisfy -Wzero-as-null-pointer-constant

Added a lot of 'static' declarations in front of functions,
to satisfy -Wmissing-declarations,
and wrap static function defs in anonymous namespaces.

There are advantages to both anonymous namespaces and static,
it seems that marking a function as static will not publish the name in
the symbol table at all, thus giving the linker less work to do.
2022-08-16 10:48:41 -07:00
Derek Bailey
a66de58af9 Partial support for --ts-flat-files and --gen-all (#7446)
* Partial support for --ts-flat-files and --gen-all

* Add generated code changes

* remove some debugging code left over

* missed grpc files
2022-08-15 16:11:45 -07:00
Paulo Pinheiro
a3508f36d5 [Kotlin] Make sure namespace path exist for code generation (#7357)
With a change introduce in 385dda5c3785ed8d6a35868bc169f07e40e889087fd2edc66,
flatc was not able to emit code for Kotlin if a namespace is specified
and the folders do not exist. The fix create folders if neded.

Additional changes are introduced in gradle files to bring more visibility
to the error messages.

Co-authored-by: Derek Bailey <derekbailey@google.com>
2022-08-15 10:13:27 -07:00
Derek Bailey
214125e417 [C#] Rework how sorted vectors are looked up (#7441) 2022-08-15 09:33:07 -07:00
Derek Bailey
fa1174aa7b [TypeScript] Fix namespaceless schema generation (#7432)
* Add tests for ts flatc

* fix typescript generation of namespaceless file

* Add typescript genereated code from generate_code.py

* Support multiple module flatc testing
2022-08-14 11:34:19 -07:00
sssooonnnggg
4be605604e [C++] Set StructDef::has_key property when deserializing from binary schema (#7386) (#7428) 2022-08-12 09:27:17 -07:00
Yashasvi Chaurasia
9dce287adb Issue#6959 :Updated Automatically generated rust files. (#7425)
* test

* only rust files

* updated idl_gen_rust.cpp
2022-08-10 09:15:35 -04:00
sssooonnnggg
7798be3bb6 avoid zero-as-null-pointer warning (#7423)
Co-authored-by: Derek Bailey <derekbailey@google.com>
2022-08-08 21:32:13 -07:00
Derek Bailey
966362e074 [C++] Vector of Tables equality (#7415)
* Vector of Tables equality

* support nullptr and fix for not being able to use auto in lambda

* use different std::equal overload

* use flatbuffers::unique_ptr

* go back to auto and clang-format fix
2022-08-08 21:22:57 -07:00
Andrei Burdulescu
a89c279ed6 [golang] Perform keyword escaping after case conversion (#7421)
Change config.escape_keywords to AfterConvertingCase.

It avoids unecessay escaping since the generated native
structs have fields starting with a uppercase letter
and Go's keywords start with lowercase letters.

Co-authored-by: Derek Bailey <derekbailey@google.com>
2022-08-08 20:46:35 -07:00
Andrei Burdulescu
c793621567 [golang] Add support for text parsing with json struct tags (#7353)
* [golang] Add support for text parsing with json struct tags

Add struct tags to Go native structs generated when object API is used.

This allows to use the same JSON file as for C++ text
parsing(i.e. snake_case vs CamelCase) and thus enabling text parsing
for Go(when using object API).

* [golang] Add test for text parsing

Added small test to check and demonstrate text parsing in Go.
Also, ran clang-format on cpp file changes.
2022-08-08 11:30:06 -07:00
Aman Priyadarshi
468c00a3fe Rebased: grpc/compiler: Respect filename suffix and extension during code generation (#7414)
* grpc/compiler: Respect filename suffix and extension during code generation

grpc compiler is not respecting filename suffix and extension passed to
flatc CLI. This causes compiler to spit out incorrect code, which then
cannot be compiled without modification.

Following patch fixes the problem.

Note, I ended up removing some code introduced #6954 ("Have grpc include
file with correct filename-suffix given to flatc") in favour of keeping
sanity of the generator code.

Signed-off-by: Aman Priyadarshi <aman.eureka@gmail.com>

* tests: Add filename-suffix and filename-ext test files

* Test 1: Filename extension changed to "hpp".
* Test 2: Filename suffix changed to "_suffix".
* Test 3: Filename extension changed to "hpp" and suffix changed to "_suffix"

Signed-off-by: Aman Priyadarshi <aman.eureka@gmail.com>
2022-08-07 11:32:53 -07:00
Ivan Shynkarenka
30d76198c7 Compilation issue msys2 #7399 (#7409)
* Compilation issue msys2 #7399

* Compilation issue msys2 #7399
2022-08-06 14:56:22 -07:00
Derek Bailey
8d1cc6ac7d Revert "Compilation issue msys2 (#7403)" (#7407)
This reverts commit da702cfd8f.
2022-08-06 10:19:50 -07:00
Derek Bailey
359e0f9d66 Revert "grpc/compiler: Respect filename suffix and extension during code generation (#7343)" (#7406)
This reverts commit 97e89c5acd.
2022-08-05 23:20:33 -07:00
SF-Zhou
32328075d8 Fix error msg format when generate GRPC failed (#7350) 2022-08-05 22:12:15 -07:00
Aman Priyadarshi
97e89c5acd grpc/compiler: Respect filename suffix and extension during code generation (#7343)
* grpc/compiler: Respect filename suffix and extension during code generation

grpc compiler is not respecting filename suffix and extension passed to
flatc CLI. This causes compiler to spit out incorrect code, which then
cannot be compiled without modification.

Following patch fixes the problem.

Note, I ended up removing some code introduced #6954 ("Have grpc include
file with correct filename-suffix given to flatc") in favour of keeping
sanity of the generator code.

Signed-off-by: Aman Priyadarshi <aman.eureka@gmail.com>

* tests: Add filename-suffix and filename-ext test files

* Test 1: Filename extension changed to "hpp".
* Test 2: Filename suffix changed to "_suffix".
* Test 3: Filename extension changed to "hpp" and suffix changed to "_suffix"

Signed-off-by: Aman Priyadarshi <aman.eureka@gmail.com>
2022-08-05 22:11:45 -07:00
Ivan Shynkarenka
da702cfd8f Compilation issue msys2 (#7403)
* Compilation issue msys2 #7399

* Fix flatbuffers compilation issue
2022-08-05 10:10:58 -04:00
Derek Bailey
6e2791640e keep-prefix keeps relative pathing (#7394) 2022-07-26 15:11:54 -07:00
Caleb Zulawski
83a43fc797 Reenable optional json (#7352)
* Revert "Revert "Implement optional scalars for JSON (#7322)" (#7351)"

This reverts commit 9a1913a87a.

* Add optional scalars json to bazel

Co-authored-by: Caleb Zulawski <caleb.zulawski@caci.com>
2022-06-16 09:26:44 -07:00
Derek Bailey
5f01376027 Only include direct included filed (#7348) 2022-06-15 12:10:39 -07:00
Derek Bailey
9a1913a87a Revert "Implement optional scalars for JSON (#7322)" (#7351)
This reverts commit a18ea40d6a.
2022-06-15 00:32:28 -07:00
James Kuszmaul
42acdb63c3 [TS] Don't generate self-imports with --ts-flat-file (#7340)
The logic to manage generating typescript in a single file was
generating self imports and unused local names, which triggered some
linters.

This resolves #7191
2022-06-14 15:51:12 -07:00
Timo Sturm
0cc1aeb8ca [golang] Create missing namespace directory structure (#7324) (#7325) 2022-06-14 15:50:05 -07:00
sssooonnnggg
0d1b72cbc2 [TS] fix ts import path issue (#7298) 2022-06-14 15:25:35 -07:00
Caleb Zulawski
a18ea40d6a Implement optional scalars for JSON (#7322)
* Implement optional scalars for JSON

* Add optional scalars JSON test

* Extend JSON optional scalars test to test without defaults

* Fix optional scalars in JSON for binary schema

Co-authored-by: Caleb Zulawski <caleb.zulawski@caci.com>
2022-06-14 18:00:24 -04:00
Caleb Zulawski
49e1ea3335 Implement optional scalars for Python (#7318)
* Implement optional scalars for Python

* Use == for integer comparison, remove empty line

* Fix optional type hint

Co-authored-by: Caleb Zulawski <caleb.zulawski@caci.com>
2022-06-13 09:16:00 -04:00
mustiikhalil
11a1988705 Started implementation for private flags in rust (#7269)
Adds flag to the cpp to fix bad annotations in all the languages

Addresses comments to the PR, and fixes logic for leaking annotations
2022-06-05 23:04:05 +02:00
Casper
9aa08a429e Use keep case for Rust union discriminant type. (#7321)
Fixes #7320.

I realize that Rust doesn't really follow the Namer convention, since
it uses Field case for methods... that's a future problem.

Co-authored-by: Casper Neo <cneo@google.com>
2022-05-23 15:53:00 -04:00
Bart van der Werf
9e8c758f54 Add explicit return types to lobster generated code (#7312)
* Add explicit return types to lobster generated code

* Add support for optional fields.

Convert to bool explicitly from int8 to match type signature
Fix whitespace
2022-05-23 10:50:01 -07:00
mr-swifter
1ea2472f7a [swift] add had<ArrayName> property for arrays to check presence in a message (#7280) 2022-05-11 15:35:53 +02:00
Casper
385dddc66a Namerkot (#7245)
* Namer for Kotlin

* delete unread cur_name_space_ and apply Namer to filename

Co-authored-by: Casper Neo <cneo@google.com>
2022-04-26 21:54:49 -04:00
Bogdan Opanchuk
750dde7669 Make flatc generate Rust files not requiring std (#7273)
* Set an explicit 2018 edition for Rust tests

* Replace all `std` usage with `core` and `alloc` in Rust code generator

* Update the generated files

* Make Rust tests actually use no_std when the corresponding feature is enabled
2022-04-26 21:40:03 -04:00
Derek Bailey
c86e6d0e30 json inf parsing 2022-04-22 12:24:26 -07:00
Derek Bailey
d34dc32c20 fix include order 2022-04-22 11:19:04 -07:00
Derek Bailey
234d86c92a fixed off-by-one in parser 2022-04-21 21:22:20 -07:00
Derek Bailey
0bbfd4b2e3 fixes for annotator 2022-04-21 11:46:16 -07:00
Derek Bailey
9d45a64036 more google merge fixes 2022-04-19 14:35:20 -07:00
Derek Bailey
ccfb4c20bf Handle +/-inf in protos (#7256)
* Handle +/-inf in protos

* Check for digit in 4th pos
2022-04-19 13:07:26 -07:00
Derek Bailey
70002dc5ca various fixes for google merge 2022-04-18 21:15:35 -07:00
Derek Bailey
a10b0e5464 Java namer variable keep case (#7249) 2022-04-15 16:33:35 -07:00
Casper
79afe6c3d2 Make Java namespaces keep case by default (#7243)
Co-authored-by: Casper Neo <cneo@google.com>
2022-04-13 16:01:48 -07:00
Derek Bailey
a2c913aec3 Add -Wnon-virtual-dtor 2022-04-12 16:22:39 -07:00
Paulo Pinheiro
7b5fd2bd05 [Kotlin] Fix key lookup returning null clashing with default value (#7237)
* [Java] Fix key lookup returning null clashing with default value

A field with key attribute must always be written on the message so it
can be looked up by key. There is a edge case where inserting a key
field with same value as default would prevent it to be written on
the message and later cannot be found when searched by key.

* [Kotlin] Fix key lookup returning null clashing with default value

A field with key attribute must always be written on the message so it
can be looked up by key. There is a edge case where inserting a key
field with same value as default would prevent it to be written on
the message and later cannot be found when searched by key.

Co-authored-by: Derek Bailey <derekbailey@google.com>
2022-04-11 17:17:19 -07:00
Paulo Pinheiro
7181d77700 [Java] Fix key lookup returning null clashing with default value (#7236)
A field with key attribute must always be written on the message so it
can be looked up by key. There is a edge case where inserting a key
field with same value as default would prevent it to be written on
the message and later cannot be found when searched by key.
2022-04-11 17:16:41 -07:00
mustiikhalil
173ebb6944 Fixes a bug where the create function doesnt optional + required items (#7228)
Format sh file
2022-04-08 15:28:54 -07:00
Derek Bailey
ab4bf59e8c remove toascii (#7234) 2022-04-07 20:48:26 -07:00
mustiikhalil
2049e52101 Adds a way to verify/exposes Entities ids (#7221) 2022-04-06 22:54:01 +02:00