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 namespace_c;
@@ -20,8 +20,8 @@ class TableInC {
final fb.BufferContext _bc;
final int _bcOffset;
namespace_a.TableInFirstNS get referToA1 => namespace_a.TableInFirstNS.reader.vTableGet(_bc, _bcOffset, 4, null);
namespace_a.SecondTableInA get referToA2 => namespace_a.SecondTableInA.reader.vTableGet(_bc, _bcOffset, 6, null);
namespace_a.TableInFirstNS? get referToA1 => namespace_a.TableInFirstNS.reader.vTableGetNullable(_bc, _bcOffset, 4);
namespace_a.SecondTableInA? get referToA2 => namespace_a.SecondTableInA.reader.vTableGetNullable(_bc, _bcOffset, 6);
@override
String toString() {
@@ -32,32 +32,26 @@ class TableInC {
referToA1: referToA1?.unpack(),
referToA2: referToA2?.unpack());
static int pack(fb.Builder fbBuilder, TableInCT object) {
static int pack(fb.Builder fbBuilder, TableInCT? object) {
if (object == null) return 0;
return object.pack(fbBuilder);
}
}
class TableInCT {
namespace_a.TableInFirstNST referToA1;
namespace_a.SecondTableInAT referToA2;
namespace_a.TableInFirstNST? referToA1;
namespace_a.SecondTableInAT? referToA2;
TableInCT({
this.referToA1,
this.referToA2});
int pack(fb.Builder fbBuilder) {
assert(fbBuilder != null);
final int referToA1Offset = referToA1?.pack(fbBuilder);
final int referToA2Offset = referToA2?.pack(fbBuilder);
final int? referToA1Offset = referToA1?.pack(fbBuilder);
final int? referToA2Offset = referToA2?.pack(fbBuilder);
fbBuilder.startTable();
if (referToA1Offset != null) {
fbBuilder.addOffset(0, referToA1Offset);
}
if (referToA2Offset != null) {
fbBuilder.addOffset(1, referToA2Offset);
}
fbBuilder.addOffset(0, referToA1Offset);
fbBuilder.addOffset(1, referToA2Offset);
return fbBuilder.endTable();
}
@@ -76,9 +70,7 @@ class _TableInCReader extends fb.TableReader<TableInC> {
}
class TableInCBuilder {
TableInCBuilder(this.fbBuilder) {
assert(fbBuilder != null);
}
TableInCBuilder(this.fbBuilder) {}
final fb.Builder fbBuilder;
@@ -86,11 +78,11 @@ class TableInCBuilder {
fbBuilder.startTable();
}
int addReferToA1Offset(int offset) {
int addReferToA1Offset(int? offset) {
fbBuilder.addOffset(0, offset);
return fbBuilder.offset;
}
int addReferToA2Offset(int offset) {
int addReferToA2Offset(int? offset) {
fbBuilder.addOffset(1, offset);
return fbBuilder.offset;
}
@@ -101,37 +93,30 @@ class TableInCBuilder {
}
class TableInCObjectBuilder extends fb.ObjectBuilder {
final namespace_a.TableInFirstNSObjectBuilder _referToA1;
final namespace_a.SecondTableInAObjectBuilder _referToA2;
final namespace_a.TableInFirstNSObjectBuilder? _referToA1;
final namespace_a.SecondTableInAObjectBuilder? _referToA2;
TableInCObjectBuilder({
namespace_a.TableInFirstNSObjectBuilder referToA1,
namespace_a.SecondTableInAObjectBuilder referToA2,
namespace_a.TableInFirstNSObjectBuilder? referToA1,
namespace_a.SecondTableInAObjectBuilder? referToA2,
})
: _referToA1 = referToA1,
_referToA2 = referToA2;
/// Finish building, and store into the [fbBuilder].
@override
int finish(
fb.Builder fbBuilder) {
assert(fbBuilder != null);
final int referToA1Offset = _referToA1?.getOrCreateOffset(fbBuilder);
final int referToA2Offset = _referToA2?.getOrCreateOffset(fbBuilder);
int finish(fb.Builder fbBuilder) {
final int? referToA1Offset = _referToA1?.getOrCreateOffset(fbBuilder);
final int? referToA2Offset = _referToA2?.getOrCreateOffset(fbBuilder);
fbBuilder.startTable();
if (referToA1Offset != null) {
fbBuilder.addOffset(0, referToA1Offset);
}
if (referToA2Offset != null) {
fbBuilder.addOffset(1, referToA2Offset);
}
fbBuilder.addOffset(0, referToA1Offset);
fbBuilder.addOffset(1, referToA2Offset);
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);