dart - add Packable interface (#6846)

This commit is contained in:
Ivan Dlugos
2021-09-28 22:23:30 +02:00
committed by GitHub
parent 2ece9e25b4
commit b9d43a557c
14 changed files with 66 additions and 30 deletions

View File

@@ -125,12 +125,13 @@ class TableInNestedNS {
}
}
class TableInNestedNST {
class TableInNestedNST implements fb.Packable {
int foo;
TableInNestedNST({
this.foo = 0});
@override
int pack(fb.Builder fbBuilder) {
fbBuilder.startTable(1);
fbBuilder.addInt32(0, foo);
@@ -220,7 +221,7 @@ class StructInNestedNS {
}
}
class StructInNestedNST {
class StructInNestedNST implements fb.Packable {
int a;
int b;
@@ -228,6 +229,7 @@ class StructInNestedNST {
required this.a,
required this.b});
@override
int pack(fb.Builder fbBuilder) {
fbBuilder.putInt32(b);
fbBuilder.putInt32(a);

View File

@@ -49,7 +49,7 @@ class TableInFirstNS {
}
}
class TableInFirstNST {
class TableInFirstNST implements fb.Packable {
namespace_a_namespace_b.TableInNestedNST? fooTable;
EnumInNestedNS fooEnum;
UnionInNestedNSTypeId? fooUnionType;
@@ -63,6 +63,7 @@ class TableInFirstNST {
this.fooUnion,
this.fooStruct});
@override
int pack(fb.Builder fbBuilder) {
final int? fooTableOffset = fooTable?.pack(fbBuilder);
final int? fooUnionOffset = fooUnion?.pack(fbBuilder);
@@ -198,12 +199,13 @@ class SecondTableInA {
}
}
class SecondTableInAT {
class SecondTableInAT implements fb.Packable {
namespace_c.TableInCT? referToC;
SecondTableInAT({
this.referToC});
@override
int pack(fb.Builder fbBuilder) {
final int? referToCOffset = referToC?.pack(fbBuilder);
fbBuilder.startTable(1);

View File

@@ -38,7 +38,7 @@ class TableInC {
}
}
class TableInCT {
class TableInCT implements fb.Packable {
namespace_a.TableInFirstNST? referToA1;
namespace_a.SecondTableInAT? referToA2;
@@ -46,6 +46,7 @@ class TableInCT {
this.referToA1,
this.referToA2});
@override
int pack(fb.Builder fbBuilder) {
final int? referToA1Offset = referToA1?.pack(fbBuilder);
final int? referToA2Offset = referToA2?.pack(fbBuilder);