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 .`
This commit is contained in:
Ivan Dlugos
2021-06-22 17:54:57 +02:00
committed by GitHub
parent 71d43f3be9
commit a6ee335574
23 changed files with 3352 additions and 2649 deletions

View File

@@ -1,5 +1,5 @@
// automatically generated by the FlatBuffers compiler, do not modify
// ignore_for_file: unused_import, unused_field, unused_local_variable
// ignore_for_file: unused_import, unused_field, unused_element, unused_local_variable
library my_game;
@@ -27,8 +27,8 @@ class MonsterExtra {
double get f1 => const fb.Float32Reader().vTableGet(_bc, _bcOffset, 14, double.nan);
double get f2 => const fb.Float32Reader().vTableGet(_bc, _bcOffset, 16, double.infinity);
double get f3 => const fb.Float32Reader().vTableGet(_bc, _bcOffset, 18, double.negativeInfinity);
List<double> get dvec => const fb.ListReader<double>(const fb.Float64Reader()).vTableGet(_bc, _bcOffset, 20, null);
List<double> get fvec => const fb.ListReader<double>(const fb.Float32Reader()).vTableGet(_bc, _bcOffset, 22, null);
List<double>? get dvec => const fb.ListReader<double>(const fb.Float64Reader()).vTableGetNullable(_bc, _bcOffset, 20);
List<double>? get fvec => const fb.ListReader<double>(const fb.Float32Reader()).vTableGetNullable(_bc, _bcOffset, 22);
@override
String toString() {
@@ -47,7 +47,7 @@ class MonsterExtra {
dvec: dvec,
fvec: fvec);
static int pack(fb.Builder fbBuilder, MonsterExtraT object) {
static int pack(fb.Builder fbBuilder, MonsterExtraT? object) {
if (object == null) return 0;
return object.pack(fbBuilder);
}
@@ -62,30 +62,28 @@ class MonsterExtraT {
double f1;
double f2;
double f3;
List<double> dvec;
List<double> fvec;
List<double>? dvec;
List<double>? fvec;
MonsterExtraT({
this.d0,
this.d1,
this.d2,
this.d3,
this.f0,
this.f1,
this.f2,
this.f3,
this.d0 = double.nan,
this.d1 = double.nan,
this.d2 = double.infinity,
this.d3 = double.negativeInfinity,
this.f0 = double.nan,
this.f1 = double.nan,
this.f2 = double.infinity,
this.f3 = double.negativeInfinity,
this.dvec,
this.fvec});
int pack(fb.Builder fbBuilder) {
assert(fbBuilder != null);
final int dvecOffset = dvec?.isNotEmpty == true
? fbBuilder.writeListFloat64(dvec)
final int? dvecOffset = dvec?.isNotEmpty == true
? fbBuilder.writeListFloat64(dvec!)
: null;
final int fvecOffset = fvec?.isNotEmpty == true
? fbBuilder.writeListFloat32(fvec)
final int? fvecOffset = fvec?.isNotEmpty == true
? fbBuilder.writeListFloat32(fvec!)
: null;
fbBuilder.startTable();
fbBuilder.addFloat64(0, d0);
fbBuilder.addFloat64(1, d1);
@@ -95,12 +93,8 @@ class MonsterExtraT {
fbBuilder.addFloat32(5, f1);
fbBuilder.addFloat32(6, f2);
fbBuilder.addFloat32(7, f3);
if (dvecOffset != null) {
fbBuilder.addOffset(8, dvecOffset);
}
if (fvecOffset != null) {
fbBuilder.addOffset(9, fvecOffset);
}
fbBuilder.addOffset(8, dvecOffset);
fbBuilder.addOffset(9, fvecOffset);
return fbBuilder.endTable();
}
@@ -119,9 +113,7 @@ class _MonsterExtraReader extends fb.TableReader<MonsterExtra> {
}
class MonsterExtraBuilder {
MonsterExtraBuilder(this.fbBuilder) {
assert(fbBuilder != null);
}
MonsterExtraBuilder(this.fbBuilder) {}
final fb.Builder fbBuilder;
@@ -129,43 +121,43 @@ class MonsterExtraBuilder {
fbBuilder.startTable();
}
int addD0(double d0) {
int addD0(double? d0) {
fbBuilder.addFloat64(0, d0);
return fbBuilder.offset;
}
int addD1(double d1) {
int addD1(double? d1) {
fbBuilder.addFloat64(1, d1);
return fbBuilder.offset;
}
int addD2(double d2) {
int addD2(double? d2) {
fbBuilder.addFloat64(2, d2);
return fbBuilder.offset;
}
int addD3(double d3) {
int addD3(double? d3) {
fbBuilder.addFloat64(3, d3);
return fbBuilder.offset;
}
int addF0(double f0) {
int addF0(double? f0) {
fbBuilder.addFloat32(4, f0);
return fbBuilder.offset;
}
int addF1(double f1) {
int addF1(double? f1) {
fbBuilder.addFloat32(5, f1);
return fbBuilder.offset;
}
int addF2(double f2) {
int addF2(double? f2) {
fbBuilder.addFloat32(6, f2);
return fbBuilder.offset;
}
int addF3(double f3) {
int addF3(double? f3) {
fbBuilder.addFloat32(7, f3);
return fbBuilder.offset;
}
int addDvecOffset(int offset) {
int addDvecOffset(int? offset) {
fbBuilder.addOffset(8, offset);
return fbBuilder.offset;
}
int addFvecOffset(int offset) {
int addFvecOffset(int? offset) {
fbBuilder.addOffset(9, offset);
return fbBuilder.offset;
}
@@ -176,28 +168,28 @@ class MonsterExtraBuilder {
}
class MonsterExtraObjectBuilder extends fb.ObjectBuilder {
final double _d0;
final double _d1;
final double _d2;
final double _d3;
final double _f0;
final double _f1;
final double _f2;
final double _f3;
final List<double> _dvec;
final List<double> _fvec;
final double? _d0;
final double? _d1;
final double? _d2;
final double? _d3;
final double? _f0;
final double? _f1;
final double? _f2;
final double? _f3;
final List<double>? _dvec;
final List<double>? _fvec;
MonsterExtraObjectBuilder({
double d0,
double d1,
double d2,
double d3,
double f0,
double f1,
double f2,
double f3,
List<double> dvec,
List<double> fvec,
double? d0,
double? d1,
double? d2,
double? d3,
double? f0,
double? f1,
double? f2,
double? f3,
List<double>? dvec,
List<double>? fvec,
})
: _d0 = d0,
_d1 = d1,
@@ -212,16 +204,13 @@ class MonsterExtraObjectBuilder extends fb.ObjectBuilder {
/// Finish building, and store into the [fbBuilder].
@override
int finish(
fb.Builder fbBuilder) {
assert(fbBuilder != null);
final int dvecOffset = _dvec?.isNotEmpty == true
? fbBuilder.writeListFloat64(_dvec)
int finish(fb.Builder fbBuilder) {
final int? dvecOffset = _dvec?.isNotEmpty == true
? fbBuilder.writeListFloat64(_dvec!)
: null;
final int fvecOffset = _fvec?.isNotEmpty == true
? fbBuilder.writeListFloat32(_fvec)
final int? fvecOffset = _fvec?.isNotEmpty == true
? fbBuilder.writeListFloat32(_fvec!)
: null;
fbBuilder.startTable();
fbBuilder.addFloat64(0, _d0);
fbBuilder.addFloat64(1, _d1);
@@ -231,18 +220,14 @@ class MonsterExtraObjectBuilder extends fb.ObjectBuilder {
fbBuilder.addFloat32(5, _f1);
fbBuilder.addFloat32(6, _f2);
fbBuilder.addFloat32(7, _f3);
if (dvecOffset != null) {
fbBuilder.addOffset(8, dvecOffset);
}
if (fvecOffset != null) {
fbBuilder.addOffset(9, fvecOffset);
}
fbBuilder.addOffset(8, dvecOffset);
fbBuilder.addOffset(9, fvecOffset);
return fbBuilder.endTable();
}
/// Convenience method to serialize to byte list.
@override
Uint8List toBytes([String fileIdentifier]) {
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder();
int offset = finish(fbBuilder);
return fbBuilder.finish(offset, fileIdentifier);