Dart - unpack() must use eager list reader (#6723)

This commit is contained in:
Ivan Dlugos
2021-07-09 18:55:34 +02:00
committed by GitHub
parent 838c93b843
commit 3f77dc9a0e
6 changed files with 98 additions and 47 deletions

View File

@@ -44,8 +44,8 @@ class MonsterExtra {
f1: f1,
f2: f2,
f3: f3,
dvec: dvec,
fvec: fvec);
dvec: const fb.ListReader<double>(const fb.Float64Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 20),
fvec: const fb.ListReader<double>(const fb.Float32Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 22));
static int pack(fb.Builder fbBuilder, MonsterExtraT? object) {
if (object == null) return 0;

View File

@@ -1117,15 +1117,15 @@ class Monster {
mana: mana,
hp: hp,
name: name,
inventory: inventory,
inventory: const fb.ListReader<int>(const fb.Uint8Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 14),
color: color,
testType: testType,
test: test,
test4: test4?.map((e) => e.unpack()).toList(),
testarrayofstring: testarrayofstring,
testarrayofstring: const fb.ListReader<String>(const fb.StringReader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 24),
testarrayoftables: testarrayoftables?.map((e) => e.unpack()).toList(),
enemy: enemy?.unpack(),
testnestedflatbuffer: testnestedflatbuffer,
testnestedflatbuffer: const fb.ListReader<int>(const fb.Uint8Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 30),
testempty: testempty?.unpack(),
testbool: testbool,
testhashs32Fnv1: testhashs32Fnv1,
@@ -1136,32 +1136,32 @@ class Monster {
testhashu32Fnv1a: testhashu32Fnv1a,
testhashs64Fnv1a: testhashs64Fnv1a,
testhashu64Fnv1a: testhashu64Fnv1a,
testarrayofbools: testarrayofbools,
testarrayofbools: const fb.ListReader<bool>(const fb.BoolReader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 52),
testf: testf,
testf2: testf2,
testf3: testf3,
testarrayofstring2: testarrayofstring2,
testarrayofstring2: const fb.ListReader<String>(const fb.StringReader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 60),
testarrayofsortedstruct: testarrayofsortedstruct?.map((e) => e.unpack()).toList(),
flex: flex,
flex: const fb.ListReader<int>(const fb.Uint8Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 64),
test5: test5?.map((e) => e.unpack()).toList(),
vectorOfLongs: vectorOfLongs,
vectorOfDoubles: vectorOfDoubles,
vectorOfLongs: const fb.ListReader<int>(const fb.Int64Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 68),
vectorOfDoubles: const fb.ListReader<double>(const fb.Float64Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 70),
parentNamespaceTest: parentNamespaceTest?.unpack(),
vectorOfReferrables: vectorOfReferrables?.map((e) => e.unpack()).toList(),
singleWeakReference: singleWeakReference,
vectorOfWeakReferences: vectorOfWeakReferences,
vectorOfWeakReferences: const fb.ListReader<int>(const fb.Uint64Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 78),
vectorOfStrongReferrables: vectorOfStrongReferrables?.map((e) => e.unpack()).toList(),
coOwningReference: coOwningReference,
vectorOfCoOwningReferences: vectorOfCoOwningReferences,
vectorOfCoOwningReferences: const fb.ListReader<int>(const fb.Uint64Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 84),
nonOwningReference: nonOwningReference,
vectorOfNonOwningReferences: vectorOfNonOwningReferences,
vectorOfNonOwningReferences: const fb.ListReader<int>(const fb.Uint64Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 88),
anyUniqueType: anyUniqueType,
anyUnique: anyUnique,
anyAmbiguousType: anyAmbiguousType,
anyAmbiguous: anyAmbiguous,
vectorOfEnums: vectorOfEnums,
vectorOfEnums: const fb.ListReader<Color>(Color.reader, lazy: false).vTableGetNullable(_bc, _bcOffset, 98),
signedEnum: signedEnum,
testrequirednestedflatbuffer: testrequirednestedflatbuffer,
testrequirednestedflatbuffer: const fb.ListReader<int>(const fb.Uint8Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 102),
scalarKeySortedTables: scalarKeySortedTables?.map((e) => e.unpack()).toList());
static int pack(fb.Builder fbBuilder, MonsterT? object) {
@@ -1966,8 +1966,8 @@ class TypeAliases {
u64: u64,
f32: f32,
f64: f64,
v8: v8,
vf64: vf64);
v8: const fb.ListReader<int>(const fb.Int8Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 24),
vf64: const fb.ListReader<double>(const fb.Float64Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 26));
static int pack(fb.Builder fbBuilder, TypeAliasesT? object) {
if (object == null) return 0;