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
This commit is contained in:
Ivan Dlugos
2021-07-09 20:45:45 +02:00
committed by GitHub
parent 7482b25f8b
commit 92ae532e43
13 changed files with 134 additions and 71 deletions

View File

@@ -230,6 +230,7 @@ class MonsterExtraObjectBuilder extends fb.ObjectBuilder {
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder();
int offset = finish(fbBuilder);
return fbBuilder.finish(offset, fileIdentifier);
fbBuilder.finish(offset, fileIdentifier);
return fbBuilder.buffer;
}
}

View File

@@ -71,6 +71,7 @@ class MonsterObjectBuilder extends fb.ObjectBuilder {
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder();
int offset = finish(fbBuilder);
return fbBuilder.finish(offset, fileIdentifier);
fbBuilder.finish(offset, fileIdentifier);
return fbBuilder.buffer;
}
}

View File

@@ -348,7 +348,8 @@ class TestObjectBuilder extends fb.ObjectBuilder {
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder();
int offset = finish(fbBuilder);
return fbBuilder.finish(offset, fileIdentifier);
fbBuilder.finish(offset, fileIdentifier);
return fbBuilder.buffer;
}
}
class TestSimpleTableWithEnum {
@@ -445,7 +446,8 @@ class TestSimpleTableWithEnumObjectBuilder extends fb.ObjectBuilder {
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder();
int offset = finish(fbBuilder);
return fbBuilder.finish(offset, fileIdentifier);
fbBuilder.finish(offset, fileIdentifier);
return fbBuilder.buffer;
}
}
class Vec3 {
@@ -591,7 +593,8 @@ class Vec3ObjectBuilder extends fb.ObjectBuilder {
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder();
int offset = finish(fbBuilder);
return fbBuilder.finish(offset, fileIdentifier);
fbBuilder.finish(offset, fileIdentifier);
return fbBuilder.buffer;
}
}
class Ability {
@@ -688,7 +691,8 @@ class AbilityObjectBuilder extends fb.ObjectBuilder {
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder();
int offset = finish(fbBuilder);
return fbBuilder.finish(offset, fileIdentifier);
fbBuilder.finish(offset, fileIdentifier);
return fbBuilder.buffer;
}
}
class StructOfStructs {
@@ -795,7 +799,8 @@ class StructOfStructsObjectBuilder extends fb.ObjectBuilder {
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder();
int offset = finish(fbBuilder);
return fbBuilder.finish(offset, fileIdentifier);
fbBuilder.finish(offset, fileIdentifier);
return fbBuilder.buffer;
}
}
class Stat {
@@ -920,7 +925,8 @@ class StatObjectBuilder extends fb.ObjectBuilder {
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder();
int offset = finish(fbBuilder);
return fbBuilder.finish(offset, fileIdentifier);
fbBuilder.finish(offset, fileIdentifier);
return fbBuilder.buffer;
}
}
class Referrable {
@@ -1017,7 +1023,8 @@ class ReferrableObjectBuilder extends fb.ObjectBuilder {
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder();
int offset = finish(fbBuilder);
return fbBuilder.finish(offset, fileIdentifier);
fbBuilder.finish(offset, fileIdentifier);
return fbBuilder.buffer;
}
}
/// an example documentation comment: "monster object"
@@ -1922,7 +1929,8 @@ class MonsterObjectBuilder extends fb.ObjectBuilder {
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder();
int offset = finish(fbBuilder);
return fbBuilder.finish(offset, fileIdentifier);
fbBuilder.finish(offset, fileIdentifier);
return fbBuilder.buffer;
}
}
class TypeAliases {
@@ -2174,6 +2182,7 @@ class TypeAliasesObjectBuilder extends fb.ObjectBuilder {
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder();
int offset = finish(fbBuilder);
return fbBuilder.finish(offset, fileIdentifier);
fbBuilder.finish(offset, fileIdentifier);
return fbBuilder.buffer;
}
}

View File

@@ -71,6 +71,7 @@ class InParentNamespaceObjectBuilder extends fb.ObjectBuilder {
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder();
int offset = finish(fbBuilder);
return fbBuilder.finish(offset, fileIdentifier);
fbBuilder.finish(offset, fileIdentifier);
return fbBuilder.buffer;
}
}

View File

@@ -191,7 +191,8 @@ class TableInNestedNSObjectBuilder extends fb.ObjectBuilder {
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder();
int offset = finish(fbBuilder);
return fbBuilder.finish(offset, fileIdentifier);
fbBuilder.finish(offset, fileIdentifier);
return fbBuilder.buffer;
}
}
class StructInNestedNS {
@@ -288,6 +289,7 @@ class StructInNestedNSObjectBuilder extends fb.ObjectBuilder {
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder();
int offset = finish(fbBuilder);
return fbBuilder.finish(offset, fileIdentifier);
fbBuilder.finish(offset, fileIdentifier);
return fbBuilder.buffer;
}
}

View File

@@ -167,7 +167,8 @@ class TableInFirstNSObjectBuilder extends fb.ObjectBuilder {
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder();
int offset = finish(fbBuilder);
return fbBuilder.finish(offset, fileIdentifier);
fbBuilder.finish(offset, fileIdentifier);
return fbBuilder.buffer;
}
}
class SecondTableInA {
@@ -266,6 +267,7 @@ class SecondTableInAObjectBuilder extends fb.ObjectBuilder {
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder();
int offset = finish(fbBuilder);
return fbBuilder.finish(offset, fileIdentifier);
fbBuilder.finish(offset, fileIdentifier);
return fbBuilder.buffer;
}
}

View File

@@ -119,6 +119,7 @@ class TableInCObjectBuilder extends fb.ObjectBuilder {
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder();
int offset = finish(fbBuilder);
return fbBuilder.finish(offset, fileIdentifier);
fbBuilder.finish(offset, fileIdentifier);
return fbBuilder.buffer;
}
}