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

@@ -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;
}
}