Ivan Dlugos
b9d43a557c
dart - add Packable interface ( #6846 )
2021-09-28 13:23:30 -07:00
Ivan Dlugos
90baa1444b
Dart: binary lists (typed_data) ( #6839 )
...
* Dart - add eager mode to Uint8ListReader
* Dart - add Int8ListReader
* Dart - use binary reader where useful
* Dart - test binary list reader laziness
* Dart - update generated code
2021-09-15 08:50:57 -07:00
Ivan Dlugos
e3c76a5cde
Dart lints ( #6808 )
...
* Dart - add analysis options with the recommended lints
* Dart - generate code without linter issues
* Dart - remove linter issues in example and test code
* Dart - remove linter issues in lib code
* Dart - update generate code in /tests/
2021-08-30 12:54:59 -07:00
Ivan Dlugos
5235133f32
Dart - make ascii optimization optional in StringReader, same as in writeString() ( #6758 )
2021-07-29 10:39:03 -07:00
Ivan Dlugos
c871df7702
Dart - change table building to assert() instead of exceptions ( #6754 )
2021-07-26 11:42:42 -07:00
Ivan Dlugos
c36672d803
Dart - optimize writeString for ASCII ( #6736 )
...
* Dart - optimize writeString for ASCII
* Dart - writeString() ASCII optimization optional
2021-07-22 10:36:37 -07:00
Ivan Dlugos
2bfc8e9f01
Dart - make writeString() argument non-nullable ( #6737 )
2021-07-20 07:54:48 -07:00
Ivan Dlugos
65700441d3
Dart - make vTable fixed size (expect the number of fields when creating) ( #6735 )
2021-07-19 11:27:01 -07:00
Ivan Dlugos
e73fab27d4
Dart - store empty vectors instead of NULL ( #6728 )
2021-07-09 12:44:40 -07:00
Ivan Dlugos
92ae532e43
Dart - finish/lowFinish/buffer changes ( #6712 )
...
* Dart - change Builder "lowFinish()" to "buffer" and "finish()" to not void return
Aligning the API with other languages, e.g. c++ and allowing custom use-cases to avoid creating a Uint8List
* Dart - change builder.buffer to check that finish() was already called
* Dart - builder - move !finished assertion to _prepare() which is run from all other functions
2021-07-09 11:45:45 -07:00
Ivan Dlugos
3f77dc9a0e
Dart - unpack() must use eager list reader ( #6723 )
2021-07-09 09:55:34 -07:00
Ivan Dlugos
8ab35b2a5f
Dart - add custom allocator support ( #6711 )
...
* Dart - add custom allocator support
* Dart - only copy written bytes during resize, not the whole old buffer.
2021-07-08 13:02:09 -07:00
Ivan Dlugos
a6ee335574
Dart null safety ( #6696 )
...
* Dart null-safety - prepare migration annotations in library files
* Dart null-safety - apply migration
* Dart null-safety - update flatc to generate valid code
* Dart null-safety - fix flatc generated code and adjust tests
* Dart null-safety - update example and the generated code in the tests folder
* Dart null safety - minor review changes
* Dart - apply `dartfmt -w .`
2021-06-22 08:54:57 -07:00
Ivan Dlugos
4e3a66c141
Dart object API ( #6682 )
...
* dart test scripts - generate with `--gen-object-api`
* Dart object API, pack and unpack methods (WIP)
* Dart flatc - extract Builder code to separate functions to reuse it in Pack()
* Dart flatc - use builder field-building implementation in pack()
* Dart flatc - add pack() as an intance method of the "T" class
* Dart object API - make inner fields unpacked as well
* Dart object API - use pack() when collecting field offsets
* Dart object API - use packOnce() for fields that are structs or vectors of structs
* Dart object API - remove obsolete union support TODO
* Dart object API - minor review changes, test and fixes
* Dart object API - revert packOnce() - not supported by other object API implementations
* Dart object API - update docs
* update dart generated code in tests/ to fix CI failure on ./scripts/check-generated-code.sh
* Dart flatc - fix compilation for old MSVC and c++0x
2021-06-14 10:15:56 -07:00
Ivan Dlugos
d959e23208
dart - change Builder.reset() to reuse an existing buffer ( #6661 )
2021-06-13 08:07:08 -07:00
Ivan Dlugos
b4e67f9bf0
Dart test fix ( #6660 )
...
* Dart cppData test - fix path on Dart v2.12 (Linux)
* Dart cppData test - fix expected data mismatch
* add Dart CI test in GH Actions
2021-05-20 12:00:51 -07:00
Ivan Dlugos
ad3a729f96
dart Builder - expose finished buffer size ( #6403 )
2021-01-21 16:06:11 -08:00
Dan Field
809fe49c7a
Fix up scripts, fix generated enum value for strong mode, regenerate files ( #6389 )
...
* Fix up scripts, fix generated enum value for strong mode, regenerate files
* missing files
* GH action
* remove action
2021-01-07 14:51:52 -08:00
Zhaoxuan Jiang
33e2d80791
[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.
2020-07-10 17:42:22 -07:00
Dan Field
91399ad055
fix union type names ( #5902 )
...
* fix union type names
* fix up generation and test
* format
* update codegen
2020-05-13 10:26:32 -07:00
Dan Field
fd40cc61a4
Ensure strings are null terminated when written from Dart ( #4862 )
...
* Update for Dart 2.x constants
* Fix strings, update test, add CHANGELOG for Dart
2018-08-09 09:50:54 -07:00
Dan Field
2361dfb66a
Update for Dart 2.x constants ( #4842 )
2018-07-26 14:21:23 -07:00
Dan Field
88912640d0
Add [Dart] support ( #4676 )
...
* Add [Dart] support
* fix enum vectors
* Allow for opt out of string interning
* fix comment style, make interning opt in
* remove Offset<T>, prefer int
* avoid creating unnecessary vtable objects
* start work on tests - do not generate builder if struct has 0 fields - add int64
* support reading structs properly
* correctly handle reading vectors of structs, dartfmt
* support structs, fix unnecessary prepares
* fix bool customizations
* undo unintentional removal of file
* docs updates, complete tutorial, bug fix for codegen
* more documentation
* Update docs, add to doxygen file
* update package structure, add samples script/code
* rearrange sample
* Tests
* Add readme for pub
* cleanup package for pub
* update docs for renamed file
* remove custom matcher, use `closeTo` instead
* remove unintentional file
* remove unintended file checkin
* use auto, move method, cleanup
* refactor to ObjectBuilders, add Builders
* Update tests, examples
* Add files missing from previous commit
* documentation and example updates
* Update LICENSE, make dartanalyzer happy, fix minor bugs, get rid of duplicate files, publish script
* fix sample for slightly different schema
* Update pubspec.yaml
2018-05-18 11:06:15 -07:00