Allows you to add, and test for the presence of a magic 4-char
string in a FlatBuffer.
Tested: on OS X.
Change-Id: I090692a9e4fb53bed3543279a28563e67132cba0
Add more comments explaining the tests. Remove the extraneous 'superFuzz'
functionality. By default, do not compare to generated Java files.
Change-Id: Icb0aa8262e10035958639f9a88ca666694a2ce73
Given the command
flatc -o . -c test.fbs
it would generate header file
.test_generated.h
rather than
./test_generated.h
This fixes this issue.
Tested:
Manually verified that flatc generates the correct output files given output
paths ending with and without '/' on Linux and Windows.
Bug: 16464827
Change-Id: I854cb881286f22690f1885f942cf3fd2fc59ca8d
Also fixes a potential big-endian bug, and makes iterators work
correctly with pointer types.
Change-Id: Ib7f88fe9e6053d1a9afa7895fba0695627c158b1
Tested: on Windows and Linux
- Ensured weak linkage with the version string is not used on Windows,
especially cygwin (which throws a linker error).
- Avoided a VS debug error for taking the address of the first element
of an empty vector.
- Made copy/assignment constructors for downward_vector and
FlatBufferBuilder private, to avoid people unintentionally making
expensive copies.
- Using the more correct _WIN32 instead of WIN32
Change-Id: I801b5c8b159e3721af6d1ef0978a3247ba168bab
Tested: on Windows (VS + Cygwin) and Linux.
Implement code generation and runtime library for Go, derived from the
Java implementation. Additionally, the test suite verifies:
- the exact bytes in the Builder buffer during object construction,
- vtable deduplication, and
- table construction, via a fuzzer derived from the C++ implementation.
Change-Id: Ib95a019c684891def2b50281e570b4843fea7baa
When Parsing JSON, it will read enums either as int values, identifiers
specific to the enum type, or strings containing those identifiers.
When generating text, it will output enum identifiers by default
(this can be turned off in favor of integers, like before).
Change-Id: If28b0a1f8f27de79aff3e626f40c0c0b271c325a
Tested: on Windows and Linux
Bug: 16214968
Also removed it appending _wire to filenames, renamed the json golden
file to .golden to not clash with generated files.
Bug: 15781201
Change-Id: I8322861e50d1e5b6a5ab5e4b5e5d8ae13c356eb2
Tested: on Windows and Linux
The previous version only was included for users of FlatBufferBuilder,
this one should also work for programs that only ever read
FlatBuffers.
Bug: 15762139
Change-Id: Ifceb337ffc1dd9dd09d77c3848cad8707e5c3726
Tested: on Linux.
It was outputting the type instead of the field name, and didn't deal
with NULL fields. Added test case.
Also fixed token enums having the wrong value, resulting in
unreadable error messages.
Change-Id: Icd9b4d22f417bfad5824c0f58e067ce3f2e2dc6f
Tested: on Windows and Linux.
In the generated code, the type of the vector was used for
the element size, instead of the vector element type.
Change-Id: Ie16d5221a61474365292c948fd3af99e2a7716c7
Tested: on Windows.
This will add quotes around field names, as required by the official
standard. By default it will leave quotes out, as it is more readable,
more compact, and is accepted by almost all JSON parsers.
The -S switch to flatc turns on strict mode.
As per rfc 7159.
Change-Id: Ibabe9c8162c47339d00ec581d18721a2ba40c6d0
Tested: on Windows.
New attribute:
- `id: n` (on a table field): manually set the field identifier to `n`.
If you use this attribute, you must use it on ALL fields of this table,
and the numbers must be a contiguous range from 0 onwards.
Additionally, since a union type effectively adds two fields, its
id must be that of the second field (the first field is the type
field and not explicitly declared in the schema).
For example, if the last field before the union field had id 6,
the union field should have id 8, and the unions type field will
implicitly be 7.
IDs allow the fields to be placed in any order in the schema.
When a new field is added to the schema is must use the next available ID.
Change-Id: I8690f105f3a2d31fdcb75a4fab4130692b12c62f
Tested: on Windows
This is a breaking change, anyone having schema files with enums
that do not specify a type will get a specialized error:
must specify the underlying integer type for this
enum (e.g. ': short', which was the default).
All of the samples and docs already had a type specified,
so hopefully this will affect very few people.
Bug: 15777205
Change-Id: I9b8d7c0827867f7efb6c217346db7e402695eff0
Tested: on Windows
This caused two bugs when used with a path: not being able to save
the generated files, and preprocessor defines with / characters in
them.
Bug: 15676771
Tested: on Windows
Change-Id: I62a3c45d22e2545fdaad83728d83a42a6efa37f9