platform/upstream/flatbuffers.git
6 years agogrpc bindings generator for Java and a few minor supporting changes i… (#4553)
Yuri Finkelstein [Thu, 21 Dec 2017 17:55:57 +0000 (07:55 -1000)]
grpc bindings generator for Java and a few minor supporting changes i… (#4553)

* grpc bindings generator for Java and a few minor supporting changes in improvements

* restored formatting before my previous changes for ease of review

* Fixed grpc java code generation bug resulting in duplicate extractor declarations in case the same is used in more than a single RPC method

6 years agosynchronized grpc cpp_generator with latest version as of today: grpc-1.8.1. (#4556)
Yuri Finkelstein [Thu, 21 Dec 2017 16:49:00 +0000 (06:49 -1000)]
synchronized grpc cpp_generator with latest version as of today: grpc-1.8.1.  (#4556)

* updateed cpp_generator.cc to be compatible with the latest grpc version

* preserved the original license

* synchronized grpc cpp_generator with latest version as of today: GRPC 1.8.1. Regenerated test/monster_test.grpc.fb.* files and verified that grpctest is nicely passing

* fixed merge glitch

6 years agoupdated cpp_generator.cc to be compatible with the latest grpc version (#4551)
Yuri Finkelstein [Mon, 18 Dec 2017 22:17:59 +0000 (12:17 -1000)]
updated cpp_generator.cc to be compatible with the latest grpc version (#4551)

* updateed cpp_generator.cc to be compatible with the latest grpc version

* preserved the original license

6 years agoupdate mutation status in doc (#4549)
xgdgsc [Mon, 18 Dec 2017 17:14:15 +0000 (01:14 +0800)]
update mutation status in doc (#4549)

6 years agoMerge pull request #4516 from mikeholler/travis
Robert [Thu, 14 Dec 2017 21:20:18 +0000 (13:20 -0800)]
Merge pull request #4516 from mikeholler/travis

Add support for Python lib continuous deployment.

6 years agoFix for strictPropertyInitialization for TS (#4540)
Kamil Rojewski [Thu, 14 Dec 2017 16:30:02 +0000 (17:30 +0100)]
Fix for strictPropertyInitialization for TS (#4540)

* 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

6 years agoChange mikeholler to PYPI_USERNAME
Mike Holler [Wed, 13 Dec 2017 21:14:01 +0000 (15:14 -0600)]
Change mikeholler to PYPI_USERNAME

6 years agoFixed CreateStruct not testing for nesting.
Wouter van Oortmerssen [Thu, 7 Dec 2017 19:15:37 +0000 (11:15 -0800)]
Fixed CreateStruct not testing for nesting.

Change-Id: I16bf46682ad68c62b778ed1514b6b706c8cb8f6f
Tested: on Linux.

6 years agoReplace the non standard M_PI with a constant (#4528)
Bastien Brunnenstein [Mon, 4 Dec 2017 23:06:13 +0000 (00:06 +0100)]
Replace the non standard M_PI with a constant (#4528)

6 years agopublish additional js/flatbuffers.mjs to npm to support ESModules in node (#4504)
Paul Taylor [Fri, 1 Dec 2017 22:18:43 +0000 (14:18 -0800)]
publish additional js/flatbuffers.mjs to npm to support ESModules in node (#4504)

6 years agothis is allow custom allocator for obj-api structs/tables. (#4520)
rmawatson [Fri, 1 Dec 2017 17:15:41 +0000 (18:15 +0100)]
this is allow custom allocator for obj-api structs/tables. (#4520)

added "native_custom_alloc" attribute to tables/structs, eg.

table parent_table( native_custom_alloc:"custom_alloc_name" ) {
...
}

with a custom allocator defined as

template <typename T> class custom_alloc_name : public std::allocator<T> {
public:

 typedef T*       pointer;

 template <class U>
 struct rebind {
  typedef custom_alloc_name<U> other;
 };

 pointer allocate(const std::size_t n) {
      return ....;
 }

 void deallocate(T* ptr, std::size_t n) {
    ...
 }

 custom_alloc_name() throw() {}
 template <class U> custom_alloc_name(const custom_alloc_name<U>&) throw() {}
};
};

6 years agoAdd include directory to CMake install targets (#4510)
Bastien Brunnenstein [Thu, 30 Nov 2017 16:45:58 +0000 (17:45 +0100)]
Add include directory to CMake install targets (#4510)

6 years agoFixed prod PyPI URL and deploy block list.
Mike Holler [Mon, 27 Nov 2017 22:05:45 +0000 (16:05 -0600)]
Fixed prod PyPI URL and deploy block list.

6 years agoAdded all_branches to tags: true block
Mike Holler [Mon, 27 Nov 2017 19:59:01 +0000 (13:59 -0600)]
Added all_branches to tags: true block

6 years agoAdd support for Python lib continuous deployment.
Michael Holler [Wed, 22 Nov 2017 22:46:00 +0000 (16:46 -0600)]
Add support for Python lib continuous deployment.

Use a combination of travis and twine to publish to PyPI. New
publications will be made:

* When `master` is updated. This will trigger the publication of a
  the Python artifact versioned an iso-compliant build datetime. In this
  way, the cutting edge version will always be available via PyPI.
* When a new git tag is pushed. Tag pushes trigger the publication of
  a python artifact with the same version as the git tag, with the
  leading `v` stripped if present (`v1.2.3` becomes `1.2.3`).

Publications rely on Travis having a PYPI_PASSWORD environment set in
the project settings. See the Travis CI documentation for information on
[setting environment variables which containing sensitive data][1]. Make
extra sure the "Display value in build log" switch is OFF.

In addition to setting the previously mentioned `PYPI_PASSWORD`
environment variable, the owner of the PyPI `flatbuffers` repository
should, after merging this commit into master, add his own commit to
change `mikeholler` in `.travis/deploy-python.sh` to his username. It's
also recommended that the owner of `flatbuffers` use a separate account
in the unlikely event that the environment variable somehow becomes
compromised. Again, this is very unlikely, since the environment
variable is only set for "safe" builds approved by maintainers (not on
random pull requests).

[1]: https://docs.travis-ci.com/user/environment-variables/#Defining-Variables-in-Repository-Settings

6 years agoUpdated version numbers to 1.8.0 v1.8.0
Wouter van Oortmerssen [Mon, 20 Nov 2017 17:46:03 +0000 (09:46 -0800)]
Updated version numbers to 1.8.0

Change-Id: I9cf9fe1e2572d3f9c4066624a87249ca1e62a297

6 years agoMissing generated code files.
Wouter van Oortmerssen [Mon, 20 Nov 2017 17:19:35 +0000 (09:19 -0800)]
Missing generated code files.

Change-Id: I8808b0b419981ba7d0699da4a1effb0b660a21cb

6 years agoDocument type aliases (#4499)
MikkelFJ [Fri, 17 Nov 2017 16:57:01 +0000 (17:57 +0100)]
Document type aliases (#4499)

6 years agofix typo (#4495)
Dan Douglas [Fri, 17 Nov 2017 00:03:16 +0000 (16:03 -0800)]
fix typo (#4495)

`Equipment` is a union, not an enum.

6 years agoFixed potential strict-aliasing violation in big-endian code.
Wouter van Oortmerssen [Thu, 16 Nov 2017 22:19:31 +0000 (14:19 -0800)]
Fixed potential strict-aliasing violation in big-endian code.

Also added a test.

Tested on: Linux.

Change-Id: I7b3230f8f6043eec139d5e3e8c9cb45814124274

6 years agoAdd exports for all targets (#4491)
red1939 [Thu, 16 Nov 2017 20:51:25 +0000 (21:51 +0100)]
Add exports for all targets (#4491)

Each target that will be installed will also generate a target that will be
included by CMake config file.

6 years agoc++ Tutorial fix (#4494)
Hong Wu [Thu, 16 Nov 2017 18:09:48 +0000 (12:09 -0600)]
c++ Tutorial fix (#4494)

6 years agoRemove copy constructor to make flatbuffers struct trivially copyable… (#4476)
Louis-Paul CORDIER [Thu, 16 Nov 2017 18:08:41 +0000 (19:08 +0100)]
Remove copy constructor to make flatbuffers struct trivially copyable… (#4476)

* Remove copy constructor to make flatbuffers struct trivially copyable + add tests.

* Add support non c++11 compliant compilers.

* Fix std::trivially_copyiable test for non-C++11 compliant compilers.

* Fix trivially_copyable not part of glibc < 5 even with c++11 switch enabled.

6 years agotutorial docs (#4492)
David Komer [Thu, 16 Nov 2017 16:51:35 +0000 (18:51 +0200)]
tutorial docs (#4492)

6 years agoFix valid params limit exceeded for generated table constructor (#4490)
Angela Sheu [Mon, 13 Nov 2017 21:39:49 +0000 (13:39 -0800)]
Fix valid params limit exceeded for generated table constructor (#4490)

6 years agoMade stl_emulation.h usable by itself.
Wouter van Oortmerssen [Thu, 9 Nov 2017 23:47:44 +0000 (15:47 -0800)]
Made stl_emulation.h usable by itself.

Change-Id: I1d9d301412fe0a036f12eb2cc82a3fbee5bb838d

6 years agoSpecify ABI version for shared library (#4479)
Sergey Avseyev [Thu, 9 Nov 2017 22:39:32 +0000 (01:39 +0300)]
Specify ABI version for shared library (#4479)

6 years agoUse CMake install directories instead of hardcoded (#4481)
Sergey Avseyev [Mon, 6 Nov 2017 18:38:53 +0000 (21:38 +0300)]
Use CMake install directories instead of hardcoded (#4481)

6 years agoText files should not have executable bit set (#4480)
Sergey Avseyev [Mon, 6 Nov 2017 18:20:22 +0000 (21:20 +0300)]
Text files should not have executable bit set (#4480)

6 years agoLink grpctest with libgrpc_unsecure explicitly (#4474)
Lawrence Chan [Mon, 6 Nov 2017 16:43:22 +0000 (10:43 -0600)]
Link grpctest with libgrpc_unsecure explicitly (#4474)

6 years agoUpdated pom.xml to be able to deploy to Maven central.
Wouter van Oortmerssen [Thu, 26 Oct 2017 23:13:04 +0000 (16:13 -0700)]
Updated pom.xml to be able to deploy to Maven central.

Change-Id: Ie28dda5e1854eeff3e254e975925ff846c137008

6 years agoAdded missing EndTable() call to VerifyObject() (#4468)
stefan301 [Mon, 23 Oct 2017 16:15:18 +0000 (18:15 +0200)]
Added missing EndTable() call to VerifyObject() (#4468)

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

6 years agoChanged how vector_data works. (#4467)
Alex Ames [Fri, 20 Oct 2017 23:49:15 +0000 (16:49 -0700)]
Changed how vector_data works. (#4467)

In some debug environments using vector[i] does bounds checking even
though the standard specifies that it should not. Using
*(vector.begin()) sidesteps this though, giving the same result without
the bounds checking.

6 years agoFixed CMake build issue when building with Clang. (#4465)
Alex Ames [Fri, 20 Oct 2017 23:29:51 +0000 (16:29 -0700)]
Fixed CMake build issue when building with Clang. (#4465)

6 years agoNullable java (#4455)
Yonggang Li [Mon, 16 Oct 2017 16:24:11 +0000 (09:24 -0700)]
Nullable java (#4455)

* add _Nullable Support for C++ interface

* generate @Nullable for Java generated code

6 years agoMerge pull request #4459 from stewartmiles/master
Stewart Miles [Sat, 14 Oct 2017 00:55:51 +0000 (17:55 -0700)]
Merge pull request #4459 from stewartmiles/master

Report a build failure when any Android build fails.

6 years agoReport a build failure when any Android build fails.
Stewart Miles [Fri, 13 Oct 2017 23:56:28 +0000 (16:56 -0700)]
Report a build failure when any Android build fails.

The travis script was only failing if the last Android build fails.
This changes the script to report a failure if any of the Android
projects fail to build.

6 years agoFixed Android build failure caused by use of C++11 limits.
Stewart Miles [Sat, 14 Oct 2017 00:33:12 +0000 (17:33 -0700)]
Fixed Android build failure caused by use of C++11 limits.

f2b3705c2c62c40afdef96f73f0aeaf32b4c8e0e caused Android builds
to fail.  This switches limit constants to use limits templates in
stl_emulation.h.

6 years agoMerge pull request #4458 from a-maurice/master
Stewart Miles [Fri, 13 Oct 2017 23:44:02 +0000 (16:44 -0700)]
Merge pull request #4458 from a-maurice/master

Use flatbuffer unique_ptr instead of std's.

6 years agoUse flatbuffer unique_ptr instead of std's.
Anthony [Fri, 13 Oct 2017 23:21:34 +0000 (16:21 -0700)]
Use flatbuffer unique_ptr instead of std's.

Stlport does not have std unique_ptr, so using the one provided by
flatbuffers.
Also fixing a problem with the flatbuffer unique_ptr, and a test.

6 years agoAdd new flatbuffer_go_library to generate Go library for flatbuffers
Wouter van Oortmerssen [Mon, 9 Oct 2017 16:27:30 +0000 (09:27 -0700)]
Add new flatbuffer_go_library to generate Go library for flatbuffers

This CL also introduces the following changes to allow the generation of the
Go library for flatbuffers:

- add support for --gen-onefile for Go to simplify the build rule (mapping each
  input .fbs to a single separate .go file)

- add a new --go-import flag to override the default import line (currently
  github.com/google/flatbuffers/go)

- add new go_library in BUILD for flatbuffer (for files in flatbuffers/go)

(mirrored from cr/171126159)

Change-Id: I83e705a9a9d9544837af0baf9366ec37757799aa

6 years agoSpelling error in C# and Java documentation (#4454)
Brian Chavez [Mon, 9 Oct 2017 15:42:34 +0000 (08:42 -0700)]
Spelling error in C# and Java documentation (#4454)

6 years ago_Nullable cpp interface (#4451)
Yonggang Li [Mon, 9 Oct 2017 15:40:17 +0000 (08:40 -0700)]
_Nullable cpp interface (#4451)

* add _Nullable Support for C++ interface

* add _Nullable Support for C++ interface

6 years agoImproved .proto conversion.
Wouter van Oortmerssen [Mon, 2 Oct 2017 22:41:34 +0000 (15:41 -0700)]
Improved .proto conversion.

- Allowed enums to be declared before use.
- Generalized parsing of `required`.
- Reworked escaping of namespaces.
- Escaping field names that are C++ keywords.
- Many smaller fixes.

Change-Id: Ie580de7b70dc208f676f4f71bb0d061808648b8d
Tested: on Linux.

6 years ago[C++] Add explicit keyword on generated constructors for Builder structs (#4452)
Aaron [Fri, 6 Oct 2017 15:50:24 +0000 (08:50 -0700)]
[C++] Add explicit keyword on generated constructors for Builder structs (#4452)

* Add explicit keyword on C++ generated constructors for Builder structs

* Add missing generated code for review

6 years agoPython: CreateByteVector function in builder. (#4453)
Robert [Fri, 6 Oct 2017 15:34:07 +0000 (08:34 -0700)]
Python: CreateByteVector function in builder. (#4453)

6 years agoFix issue #4389, if field is ommitted the return type is the same for… (#4444)
Dariusz Ostolski [Thu, 5 Oct 2017 21:07:42 +0000 (23:07 +0200)]
Fix issue #4389, if field is ommitted the return type is the same for… (#4444)

* Fix issue #4389, if field is ommitted the return type is the same for python generator

* Fix issue #4389, bytes is returned when field is omitted

* Fix issue #4389, added generated python code after generator modification

6 years agoAdd template version for As method. (#4443)
Louis-Paul CORDIER [Mon, 2 Oct 2017 21:38:38 +0000 (06:38 +0900)]
Add template version for As method. (#4443)

* Add template version for As method.

* Fix compilation error on Linux.

* Fix linux issue (2).

* Linux fix (3)

* Add few tests.

6 years agoFixed TypeTable function not being inline.
Wouter van Oortmerssen [Mon, 25 Sep 2017 18:44:58 +0000 (11:44 -0700)]
Fixed TypeTable function not being inline.

Change-Id: Id335980daf909e885ed26a21b64623b78d01fb49
Tested: on OS X.

6 years agoMade the parser not have any hard-coded keywords.
Wouter van Oortmerssen [Fri, 22 Sep 2017 21:32:07 +0000 (14:32 -0700)]
Made the parser not have any hard-coded keywords.

This prevented any keywords showing up as JSON field names, for example.

Change-Id: Ie9d0cada96778e06016ca02ca96d052410a37038
Tested: on Linux.

6 years agoAdded support for mini-reflection tables.
Wouter van Oortmerssen [Fri, 25 Aug 2017 00:44:03 +0000 (17:44 -0700)]
Added support for mini-reflection tables.

Change-Id: I83453d074685fa57bbf1c7c87b1d9392ce972085
Tested: on Linux.

6 years agoAdd constant accessors to C++ unions (#4433)
endorph-soft [Thu, 21 Sep 2017 21:06:20 +0000 (06:36 +0930)]
Add constant accessors to C++ unions (#4433)

* Add constant accessors to C++ unions

* Remove redundant const pointer return type

* Update generate_code.bat to reflect generate_code.sh

* Add updated generated files

* Remove extra space from generated code

* Update generated files

* Change directory back to tests after generating code

6 years agoFix build with clang on big-endian targets (#4440)
Khem Raj [Thu, 21 Sep 2017 15:51:08 +0000 (08:51 -0700)]
Fix build with clang on big-endian targets (#4440)

* flatbuffers: Move EndianSwap template to flatbuffers/base.h

Clang complains
call to function 'EndianSwap' that is neither visible in the template definition nor found by argument-dependent lookup
     return EndianSwap(t);

This seems to be due to limitation of two-phase lookup of dependent names in template definitions

Its not being found using associated namespaces therefore
it has to be made visible at the template definition site as well

Signed-off-by: Khem Raj <raj.khem@gmail.com>
* use __builtin_bswap16 when building with clang

clang pretends to be gcc 4.2.0 and therefore the code does
not use __builtin_bswap16 but tries to synthesize it

Signed-off-by: Khem Raj <raj.khem@gmail.com>
6 years agoidl_gen_json_schema.cpp: Fixed detection of enum types (#4438)
schoetbi [Thu, 14 Sep 2017 16:25:43 +0000 (18:25 +0200)]
idl_gen_json_schema.cpp: Fixed detection of enum types (#4438)

6 years ago[C++] Fix DetachedBuffer move assignment lifetime (#4437)
Lukas Bergdoll [Thu, 14 Sep 2017 16:22:55 +0000 (18:22 +0200)]
[C++] Fix DetachedBuffer move assignment lifetime (#4437)

* Fix DetachedBuffer move assignment lifetime

DetachedBuffer move assignment now destroys it's own content,
rather than waiting for the destructor of other.
See more under #4435

Add missing function return type

* Rename empty_assign to reset

Reset after destroy
reset() now operates on itself

6 years agoFixed .proto not being accepted as schema file.
Wouter van Oortmerssen [Tue, 12 Sep 2017 18:36:38 +0000 (11:36 -0700)]
Fixed .proto not being accepted as schema file.

Change-Id: I1ccd52a847930fa636d24f9490d57577b8775d08

6 years agoForgot to bump flatc version to 1.7.1
Wouter van Oortmerssen [Thu, 7 Sep 2017 21:35:26 +0000 (14:35 -0700)]
Forgot to bump flatc version to 1.7.1

Change-Id: I480a08f445858bce3d0336c2b22da30d64f90012

6 years agoUpdate doc (#4427)
rouzier [Thu, 7 Sep 2017 18:52:58 +0000 (14:52 -0400)]
Update doc (#4427)

6 years agoEvery type gets additionalProperties set to "false" (#4424)
schoetbi [Thu, 31 Aug 2017 15:56:04 +0000 (17:56 +0200)]
Every type gets additionalProperties set to "false" (#4424)

#4423

6 years agoC++ Customise prefix/suffix of object API [Issue #4419] (#4422)
endorph-soft [Thu, 31 Aug 2017 15:54:03 +0000 (01:24 +0930)]
C++ Customise prefix/suffix of object API [Issue #4419] (#4422)

* Allow prefix/suffix of C++ Object API classes to be customised

* Address review comments

6 years agoUpdated C# test project.
Wouter van Oortmerssen [Fri, 25 Aug 2017 18:47:19 +0000 (11:47 -0700)]
Updated C# test project.

6 years agoFixed VS memory tracking leaking into user code
Wouter van Oortmerssen [Fri, 25 Aug 2017 18:29:58 +0000 (11:29 -0700)]
Fixed VS memory tracking leaking into user code

6 years agoDisabled numpy test in appveyor due to timeout.
Wouter van Oortmerssen [Thu, 24 Aug 2017 20:46:46 +0000 (13:46 -0700)]
Disabled numpy test in appveyor due to timeout.

It pulls in a LOT of dependencies, this will need to be done better.

Change-Id: Ib27effead194f6836facca01e9454a6037ad837a

6 years agoCleaned up namespace handling.
Wouter van Oortmerssen [Thu, 24 Aug 2017 19:55:35 +0000 (12:55 -0700)]
Cleaned up namespace handling.

A Namespace object is now guaranteed unique.
This cleaned up some old workarounds and latent bugs.

Change-Id: Ic3f12d89947871b03b2c449ba51b3186f953adde
Tested: on Linux.
Bug: 21336857

6 years agoTrimmed vtables of trailing zeroes.
Wouter van Oortmerssen [Mon, 21 Aug 2017 20:44:23 +0000 (13:44 -0700)]
Trimmed vtables of trailing zeroes.

This is something the format supports, but none of the builders
were doing. Can save 10-20% on FlatBuffer binary size!

Also fixed the Go tests.

Change-Id: I616c56ce9bbcfcaee23aa24f0532fcb60b6a8c75
Tested: on Linux.

7 years agoFix use of min and max when Windows.h is imported (#4411)
Younguk Kim [Thu, 17 Aug 2017 16:35:50 +0000 (01:35 +0900)]
Fix use of min and max when Windows.h is imported (#4411)

7 years agoNoted that benchmarks are for C++
Wouter van Oortmerssen [Mon, 14 Aug 2017 23:36:42 +0000 (16:36 -0700)]
Noted that benchmarks are for C++

Change-Id: I12fbba7ffd2db47502a05eb06cedab49fd99c366

7 years agoExplained GetRoot<Monster> vs GetMonster.
Wouter van Oortmerssen [Mon, 14 Aug 2017 22:34:15 +0000 (15:34 -0700)]
Explained GetRoot<Monster> vs GetMonster.

Change-Id: Ic302096c07551b5c1aff0b261a329c46964cf337

7 years agoFixed .proto -> .fbs translating type bytes incorrectly.
Wouter van Oortmerssen [Mon, 14 Aug 2017 21:45:29 +0000 (14:45 -0700)]
Fixed .proto -> .fbs translating type bytes incorrectly.

Change-Id: Idb607360123d12c73dd1e045305007120b12131b
Tested: on Linux.

7 years agoFurther grammar.md fixes: union types, idents, string constants.
Wouter van Oortmerssen [Mon, 14 Aug 2017 19:18:06 +0000 (12:18 -0700)]
Further grammar.md fixes: union types, idents, string constants.

Change-Id: I51db0511c52c79f2b322a1fdef798b061941887b

7 years agoFixed up grammar.md with rpc's and new scalar types.
Wouter van Oortmerssen [Mon, 14 Aug 2017 18:58:25 +0000 (11:58 -0700)]
Fixed up grammar.md with rpc's and new scalar types.

Change-Id: Ie2965f48810bf24cccf098b69a9d471583efc3bf

7 years agoMissing FieldDef initializer.
Wouter van Oortmerssen [Mon, 14 Aug 2017 17:52:25 +0000 (10:52 -0700)]
Missing FieldDef initializer.

Change-Id: I5ed1f77868e201d7231102a106e08f3376b6adcf

7 years agoFixed file_identifier/extension leaking from included file.
Wouter van Oortmerssen [Mon, 14 Aug 2017 17:41:39 +0000 (10:41 -0700)]
Fixed file_identifier/extension leaking from included file.

Change-Id: I470143411e4ce6322e018a27bcc9cd40c15d9bf1
Tested: on Linux.

7 years agoCleaned up test output.
Wouter van Oortmerssen [Mon, 14 Aug 2017 16:25:40 +0000 (09:25 -0700)]
Cleaned up test output.

Change-Id: I4bec0e728cc162aa3f19091a0d154124ffbccdff

7 years agoFixed root_type leaking in from included files.
Wouter van Oortmerssen [Mon, 14 Aug 2017 16:22:12 +0000 (09:22 -0700)]
Fixed root_type leaking in from included files.

Change-Id: I9378e375901f8a883eaeb2182955d690c358ed4b
Tested: on Linux.

7 years agoC++ Add new type vector_bool flexbuffers (#4410)
rouzier [Mon, 14 Aug 2017 15:44:56 +0000 (11:44 -0400)]
C++ Add new type vector_bool flexbuffers (#4410)

* Add new type vector_bool

* Update stl_emulation.h

Fix Is same typo

* Update stl_emulation.h

7 years agoInternal doc (#4409)
rouzier [Mon, 14 Aug 2017 15:33:38 +0000 (11:33 -0400)]
Internal doc  (#4409)

* Add information about flexbuffer bool and null encoding

* Fix spelling errors

* Fix encoding example for flexbuffer map

7 years agoAdded VS crtdbg memory leak tracking
Wouter van Oortmerssen [Fri, 11 Aug 2017 19:24:33 +0000 (12:24 -0700)]
Added VS crtdbg memory leak tracking

7 years agoAdded missing generated code.
Wouter van Oortmerssen [Fri, 11 Aug 2017 16:28:06 +0000 (09:28 -0700)]
Added missing generated code.

Change-Id: I7201d6891f56094178656a76bf0f87cf36d12554

7 years agoVector of unions for TS/JS and PHP (#4404)
Kamil Rojewski [Fri, 11 Aug 2017 16:24:36 +0000 (18:24 +0200)]
Vector of unions for TS/JS and PHP (#4404)

* 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

7 years agoCopying required field to union type vector (#4407)
Kamil Rojewski [Fri, 11 Aug 2017 16:19:28 +0000 (18:19 +0200)]
Copying required field to union type vector (#4407)

* 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

* Copying required field to union type vector

* Removed unneccessary bool

7 years agoMake flatc not silently skip schema files not ending in .fbs
Wouter van Oortmerssen [Thu, 10 Aug 2017 23:28:31 +0000 (16:28 -0700)]
Make flatc not silently skip schema files not ending in .fbs

Change-Id: I58463b321703b2ef0dc3f3062633909b86eca1a9
Tested: on Linux.

7 years agoMake it an error if a field has the same name as a table.
Wouter van Oortmerssen [Thu, 10 Aug 2017 21:22:03 +0000 (14:22 -0700)]
Make it an error if a field has the same name as a table.

Change-Id: Ie5a3bb5a3643cd48e1cc75fe170a7b8a7c2cc8ed
Tested: on Linux.

7 years agoForgot to update pom.xml in recent 1.7.1 release.
Wouter van Oortmerssen [Thu, 10 Aug 2017 18:35:58 +0000 (11:35 -0700)]
Forgot to update pom.xml in recent 1.7.1 release.

Change-Id: Ia6d6967546c0a2a5340a93e54c46d2630fff92fe

7 years agoMisc documentation fixes.
Wouter van Oortmerssen [Thu, 10 Aug 2017 18:25:13 +0000 (11:25 -0700)]
Misc documentation fixes.

Change-Id: Id7be5baba7d8a11ca050e8d94d95857406690378

7 years agoFixed clang-tidy warnings.
Wouter van Oortmerssen [Mon, 7 Aug 2017 22:33:36 +0000 (15:33 -0700)]
Fixed clang-tidy warnings.

Change-Id: Ib94ef29254c116b60e4ff298baa2ce323ac9655c
Tested: on Linux.

7 years agoAdded missing generated code from past commits.
Wouter van Oortmerssen [Mon, 7 Aug 2017 21:55:05 +0000 (14:55 -0700)]
Added missing generated code from past commits.

Change-Id: I43e8de5a2ac224836a79661cc03bf37ac6d509fe

7 years agoLinked to Mikkel's binary format documentation.
Wouter van Oortmerssen [Mon, 7 Aug 2017 21:53:54 +0000 (14:53 -0700)]
Linked to Mikkel's binary format documentation.

Change-Id: I5054e37833d59bbe925cac2000a453fbee8ef54b

7 years agoPublic accessor for buffer size of flexbuffers::Builder
Wouter van Oortmerssen [Mon, 7 Aug 2017 20:24:42 +0000 (13:24 -0700)]
Public accessor for buffer size of flexbuffers::Builder

Change-Id: Iff7895aebeba9c2940e26a3edbdf2d3f1b0d9b17

7 years ago[c++] Add support for boolean types in flexbuffers (#4386)
rouzier [Fri, 4 Aug 2017 15:04:28 +0000 (11:04 -0400)]
[c++] Add support for boolean types in flexbuffers (#4386)

* Add support for boolean types in flexbuffers

* Simplify casting number <=> boolean

* Added comments for tests

* Add proper support for Booleans

* Bad rebase

* No special case for strings

* Removed unused test

* Simplify logic

7 years agoAdd scalar type aliases for int8, uint8, ..., f32, f64 (#4400)
MikkelFJ [Wed, 2 Aug 2017 15:07:43 +0000 (17:07 +0200)]
Add scalar type aliases for int8, uint8, ..., f32, f64 (#4400)

* Add type aliases

* Add generated code

* Rebase master

7 years ago[Python] (scalar) vector reading speedup via numpy (#4390)
Kevin Rose [Tue, 1 Aug 2017 15:34:00 +0000 (10:34 -0500)]
[Python] (scalar) vector reading speedup via numpy (#4390)

* Add numpy accessor to python flatbuffers scalar vectors

* Update python tests to test numpy vector accessor

* Update appveyor CI to run Python tests, save generated code as artifact

* Update example generated python code

* Add numpy info to python usage docs

* Update test schema and python tests w/ multi-byte vector

* did not mean to push profiling code

* adding float64 numpy tests

7 years agoAdded support for nested flatbuffers serializing to json (#4391)
Christian Helmich [Fri, 28 Jul 2017 17:27:51 +0000 (02:27 +0900)]
Added support for nested flatbuffers serializing to json (#4391)

* added bool for nested_flatbuffer
setting bool flag nested_flatbuffer according to attributes
setting nested type

* added JSON serialization for nested flatbuffers

* simplified lookup of nested_flatbuffer StructDef

* added nested_flatbuffer parsing workound relying on flexbuffers

* moved nested flatbuffer parsing into its own function for clarity
removed flexbuffers workound to simplify and speed up nested_flatbuffer parsing
added support for 'legacy' nested_flatbuffers, ubyte arrays

* inlined functions for nested parser init/clean since only used once

* whitespace formatting

* changed type of FieldDef.nested_flatbuffer from bool to StructDef*
removed subsequent type lookups

* removed copies of unrequired data when initializing nested parser

* applied changes requested by reviewer

* removed superfluous lookup of nested_flatbuffer field attributes

* renamed camelCased variables to snake_case

7 years agoAdding accessors for IsBlob and Blob.data (#4398)
Manuel Kroiss [Thu, 27 Jul 2017 16:06:02 +0000 (17:06 +0100)]
Adding accessors for IsBlob and Blob.data (#4398)

7 years agoMerge pull request #4395 from stewartmiles/master
Stewart Miles [Mon, 24 Jul 2017 22:35:16 +0000 (15:35 -0700)]
Merge pull request #4395 from stewartmiles/master

Test case for CreateVectorOfStructs() using a callback.

7 years agoTest case for CreateVectorOfStructs() using a callback.
Stewart Miles [Mon, 24 Jul 2017 21:11:59 +0000 (14:11 -0700)]
Test case for CreateVectorOfStructs() using a callback.

Fixes issue #4392, also fixed C++98 compatible code generation in tests.

Change-Id: Ia5833026e615ad19d24a0439bdba2e3b45c5f86c

7 years agoforwarding IDLOptions.strict_json to flexbuffers .ToString() (#4394)
Christian Helmich [Mon, 24 Jul 2017 16:33:40 +0000 (01:33 +0900)]
forwarding IDLOptions.strict_json to flexbuffers .ToString() (#4394)

7 years agoMerge pull request #4383 from stewartmiles/master
Stewart Miles [Thu, 20 Jul 2017 19:24:38 +0000 (12:24 -0700)]
Merge pull request #4383 from stewartmiles/master

C++98 (stlport) support for core FlatBuffers and FlexBuffers.

7 years agoC++98 (stlport) support for core FlatBuffers and FlexBuffers.
Stewart Miles [Thu, 13 Jul 2017 13:27:39 +0000 (06:27 -0700)]
C++98 (stlport) support for core FlatBuffers and FlexBuffers.

* Added internal - limited - implementation of flatbuffers::unique_ptr
  for STLs that don't ship with std::unique_ptr.  In C++11 and beyond
  this is just an alias for std::unique_ptr.
* Aliased used type traits structs is_scalar is_floating_point is_unsigned
  into flatbuffers namespace so they can be replaced in C++98 implementations.
  Right now these point at stlport's TR1 implementations.
* Wrapped vector::data() in vector_data().
* Wrapped vector::emplace_back() in vector_emplace_back().
* Wrapper string::back() in string_back().
* Added variants of FlatBufferBuilder::CreateVector() and
  FlatBufferBuilder::CreateVectorOfStructs() that allow the use of plain
  function pointers.
  Generated code has also been modified to use plain functions to build objects
  rather than std::function() so all generated code will work in C++98
  applications.
* Added flexbuffers::Builder::Vector(), flexbuffers::Builder::TypedVector()
  and flexbuffers::Builder::Map() methods that allow the use of plain function
  pointers.
* Changed Parser to internally use plain function pointers when parsing table
  and vector delimiters.
* Added specializations of NumToString() for 64-bit types that aren't supported
  by stringstream in stlport.
* Overloaded numeric_limits for 64-bit types not supported by stlport.
* Replaced build_apk.sh (which was broken by deprecation of the
  "android" tool in the Android SDK) with build.gradle and the
  appropriate gradle wrapper to build an APK.
* Switched Android build to build against all STL variants.
* Updated travis configuration to build Android test and sample.

Tested:
* Verified all tests continue to work on Linux, OSX and Android.
* Verified Travis build is green.

Change-Id: I9e634363793f85b9f141d21454b10686020a2065

7 years agoidl_parser.cpp ignores $schema in input json (#4382)
schoetbi [Wed, 19 Jul 2017 15:58:48 +0000 (17:58 +0200)]
idl_parser.cpp ignores $schema in input json (#4382)

* idl_parser.cpp ignores $schema in input json
#4381

* idl_parser.cpp: Fixed ci error signed unsigned comparison

* idl_parser.cpp: replaced case insensitive search for $schema with case sensitive search

* idl_parser.cpp: Expecting a string constant after $schema
#4382