mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-27 17:48:06 +00:00
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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user