Dart lints (#6808)

* Dart - add analysis options with the recommended lints

* Dart - generate code without linter issues

* Dart - remove linter issues in example and test code

* Dart - remove linter issues in lib code

* Dart - update generate code in /tests/
This commit is contained in:
Ivan Dlugos
2021-08-30 21:54:59 +02:00
committed by GitHub
parent 4b9123baff
commit e3c76a5cde
20 changed files with 560 additions and 581 deletions

View File

@@ -0,0 +1 @@
include: package:lints/recommended.yaml

View File

@@ -15,7 +15,7 @@
*/
import 'package:flat_buffers/flat_buffers.dart' as fb;
import './monster_my_game.sample_generated.dart' as myGame;
import './monster_my_game.sample_generated.dart' as my_game;
// Example how to use FlatBuffers to create and read binary buffers.
@@ -25,20 +25,20 @@ void main() {
}
void builderTest() {
final builder = new fb.Builder(initialSize: 1024);
final builder = fb.Builder(initialSize: 1024);
final int? weaponOneName = builder.writeString("Sword");
final int weaponOneDamage = 3;
final int? weaponTwoName = builder.writeString("Axe");
final int weaponTwoDamage = 5;
final swordBuilder = new myGame.WeaponBuilder(builder)
final swordBuilder = my_game.WeaponBuilder(builder)
..begin()
..addNameOffset(weaponOneName)
..addDamage(weaponOneDamage);
final int sword = swordBuilder.finish();
final axeBuilder = new myGame.WeaponBuilder(builder)
final axeBuilder = my_game.WeaponBuilder(builder)
..begin()
..addNameOffset(weaponTwoName)
..addDamage(weaponTwoDamage);
@@ -54,7 +54,7 @@ void builderTest() {
final weapons = builder.writeList([sword, axe]);
// Struct builders are very easy to reuse.
final vec3Builder = new myGame.Vec3Builder(builder);
final vec3Builder = my_game.Vec3Builder(builder);
vec3Builder.finish(4.0, 5.0, 6.0);
vec3Builder.finish(1.0, 2.0, 3.0);
@@ -62,17 +62,17 @@ void builderTest() {
final int hp = 300;
final int mana = 150;
final monster = new myGame.MonsterBuilder(builder)
final monster = my_game.MonsterBuilder(builder)
..begin()
..addNameOffset(name)
..addInventoryOffset(inventory)
..addWeaponsOffset(weapons)
..addEquippedType(myGame.EquipmentTypeId.Weapon)
..addEquippedType(my_game.EquipmentTypeId.Weapon)
..addEquippedOffset(axe)
..addHp(hp)
..addMana(mana)
..addPos(vec3Builder.finish(1.0, 2.0, 3.0))
..addColor(myGame.Color.Red);
..addColor(my_game.Color.Red);
final int monsteroff = monster.finish();
builder.finish(monsteroff);
@@ -85,17 +85,17 @@ void builderTest() {
void objectBuilderTest() {
// Create the builder here so we can use it for both weapons and equipped
// the actual data will only be written to the buffer once.
var axe = new myGame.WeaponObjectBuilder(name: 'Axe', damage: 5);
var axe = my_game.WeaponObjectBuilder(name: 'Axe', damage: 5);
var monsterBuilder = new myGame.MonsterObjectBuilder(
pos: new myGame.Vec3ObjectBuilder(x: 1.0, y: 2.0, z: 3.0),
var monsterBuilder = my_game.MonsterObjectBuilder(
pos: my_game.Vec3ObjectBuilder(x: 1.0, y: 2.0, z: 3.0),
mana: 150,
hp: 300,
name: 'Orc',
inventory: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
color: myGame.Color.Red,
weapons: [new myGame.WeaponObjectBuilder(name: 'Sword', damage: 3), axe],
equippedType: myGame.EquipmentTypeId.Weapon,
color: my_game.Color.Red,
weapons: [my_game.WeaponObjectBuilder(name: 'Sword', damage: 3), axe],
equippedType: my_game.EquipmentTypeId.Weapon,
equipped: axe,
);
@@ -114,7 +114,7 @@ void objectBuilderTest() {
bool verify(List<int> buffer) {
// Get access to the root:
var monster = new myGame.Monster(buffer);
var monster = my_game.Monster(buffer);
// Get and test some scalar types from the FlatBuffer.
assert(monster.hp == 80);
@@ -131,20 +131,20 @@ bool verify(List<int> buffer) {
assert(inv[9] == 9);
// Get and test the `weapons` FlatBuffers's `vector`.
var expected_weapon_names = ["Sword", "Axe"];
var expected_weapon_damages = [3, 5];
var expectedWeaponNames = ["Sword", "Axe"];
var expectedWeaponDamages = [3, 5];
var weps = monster.weapons!;
for (int i = 0; i < weps.length; i++) {
assert(weps[i].name == expected_weapon_names[i]);
assert(weps[i].damage == expected_weapon_damages[i]);
assert(weps[i].name == expectedWeaponNames[i]);
assert(weps[i].damage == expectedWeaponDamages[i]);
}
// Get and test the `Equipment` union (`equipped` field).
assert(monster.equippedType!.value == myGame.EquipmentTypeId.Weapon.value);
assert(monster.equippedType == myGame.EquipmentTypeId.Weapon);
assert(monster.equippedType!.value == my_game.EquipmentTypeId.Weapon.value);
assert(monster.equippedType == my_game.EquipmentTypeId.Weapon);
assert(monster.equipped is myGame.Weapon);
var equipped = monster.equipped as myGame.Weapon;
assert(monster.equipped is my_game.Weapon);
var equipped = monster.equipped as my_game.Weapon;
assert(equipped.name == "Axe");
assert(equipped.damage == 5);

View File

@@ -14,7 +14,7 @@ class Color {
factory Color.fromValue(int value) {
final result = values[value];
if (result == null) {
throw new StateError('Invalid value $value for bit flag enum Color');
throw StateError('Invalid value $value for bit flag enum Color');
}
return result;
}
@@ -26,15 +26,15 @@ class Color {
static const int maxValue = 2;
static bool containsValue(int value) => values.containsKey(value);
static const Color Red = const Color._(0);
static const Color Green = const Color._(1);
static const Color Blue = const Color._(2);
static const Color Red = Color._(0);
static const Color Green = Color._(1);
static const Color Blue = Color._(2);
static const Map<int, Color> values = {
0: Red,
1: Green,
2: Blue};
static const fb.Reader<Color> reader = const _ColorReader();
static const fb.Reader<Color> reader = _ColorReader();
@override
String toString() {
@@ -50,7 +50,7 @@ class _ColorReader extends fb.Reader<Color> {
@override
Color read(fb.BufferContext bc, int offset) =>
new Color.fromValue(const fb.Int8Reader().read(bc, offset));
Color.fromValue(const fb.Int8Reader().read(bc, offset));
}
class EquipmentTypeId {
@@ -60,7 +60,7 @@ class EquipmentTypeId {
factory EquipmentTypeId.fromValue(int value) {
final result = values[value];
if (result == null) {
throw new StateError('Invalid value $value for bit flag enum EquipmentTypeId');
throw StateError('Invalid value $value for bit flag enum EquipmentTypeId');
}
return result;
}
@@ -72,13 +72,13 @@ class EquipmentTypeId {
static const int maxValue = 1;
static bool containsValue(int value) => values.containsKey(value);
static const EquipmentTypeId NONE = const EquipmentTypeId._(0);
static const EquipmentTypeId Weapon = const EquipmentTypeId._(1);
static const EquipmentTypeId NONE = EquipmentTypeId._(0);
static const EquipmentTypeId Weapon = EquipmentTypeId._(1);
static const Map<int, EquipmentTypeId> values = {
0: NONE,
1: Weapon};
static const fb.Reader<EquipmentTypeId> reader = const _EquipmentTypeIdReader();
static const fb.Reader<EquipmentTypeId> reader = _EquipmentTypeIdReader();
@override
String toString() {
@@ -94,13 +94,13 @@ class _EquipmentTypeIdReader extends fb.Reader<EquipmentTypeId> {
@override
EquipmentTypeId read(fb.BufferContext bc, int offset) =>
new EquipmentTypeId.fromValue(const fb.Uint8Reader().read(bc, offset));
EquipmentTypeId.fromValue(const fb.Uint8Reader().read(bc, offset));
}
class Vec3 {
Vec3._(this._bc, this._bcOffset);
static const fb.Reader<Vec3> reader = const _Vec3Reader();
static const fb.Reader<Vec3> reader = _Vec3Reader();
final fb.BufferContext _bc;
final int _bcOffset;
@@ -123,11 +123,11 @@ class _Vec3Reader extends fb.StructReader<Vec3> {
@override
Vec3 createObject(fb.BufferContext bc, int offset) =>
new Vec3._(bc, offset);
Vec3._(bc, offset);
}
class Vec3Builder {
Vec3Builder(this.fbBuilder) {}
Vec3Builder(this.fbBuilder);
final fb.Builder fbBuilder;
@@ -166,20 +166,19 @@ class Vec3ObjectBuilder extends fb.ObjectBuilder {
/// Convenience method to serialize to byte list.
@override
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder(deduplicateTables: false);
int offset = finish(fbBuilder);
fbBuilder.finish(offset, fileIdentifier);
final fbBuilder = fb.Builder(deduplicateTables: false);
fbBuilder.finish(finish(fbBuilder), fileIdentifier);
return fbBuilder.buffer;
}
}
class Monster {
Monster._(this._bc, this._bcOffset);
factory Monster(List<int> bytes) {
fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes);
final rootRef = fb.BufferContext.fromBytes(bytes);
return reader.read(rootRef, 0);
}
static const fb.Reader<Monster> reader = const _MonsterReader();
static const fb.Reader<Monster> reader = _MonsterReader();
final fb.BufferContext _bc;
final int _bcOffset;
@@ -188,11 +187,11 @@ class Monster {
int get mana => const fb.Int16Reader().vTableGet(_bc, _bcOffset, 6, 150);
int get hp => const fb.Int16Reader().vTableGet(_bc, _bcOffset, 8, 100);
String? get name => const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 10);
List<int>? get inventory => const fb.ListReader<int>(const fb.Uint8Reader()).vTableGetNullable(_bc, _bcOffset, 14);
List<int>? get inventory => const fb.ListReader<int>(fb.Uint8Reader()).vTableGetNullable(_bc, _bcOffset, 14);
Color get color => Color.fromValue(const fb.Int8Reader().vTableGet(_bc, _bcOffset, 16, 2));
List<Weapon>? get weapons => const fb.ListReader<Weapon>(Weapon.reader).vTableGetNullable(_bc, _bcOffset, 18);
EquipmentTypeId? get equippedType => EquipmentTypeId._createOrNull(const fb.Uint8Reader().vTableGetNullable(_bc, _bcOffset, 20));
dynamic? get equipped {
dynamic get equipped {
switch (equippedType?.value) {
case 1: return Weapon.reader.vTableGetNullable(_bc, _bcOffset, 22);
default: return null;
@@ -211,11 +210,11 @@ class _MonsterReader extends fb.TableReader<Monster> {
@override
Monster createObject(fb.BufferContext bc, int offset) =>
new Monster._(bc, offset);
Monster._(bc, offset);
}
class MonsterBuilder {
MonsterBuilder(this.fbBuilder) {}
MonsterBuilder(this.fbBuilder);
final fb.Builder fbBuilder;
@@ -278,7 +277,7 @@ class MonsterObjectBuilder extends fb.ObjectBuilder {
final Color? _color;
final List<WeaponObjectBuilder>? _weapons;
final EquipmentTypeId? _equippedType;
final dynamic? _equipped;
final dynamic _equipped;
final List<Vec3ObjectBuilder>? _path;
MonsterObjectBuilder({
@@ -290,7 +289,7 @@ class MonsterObjectBuilder extends fb.ObjectBuilder {
Color? color,
List<WeaponObjectBuilder>? weapons,
EquipmentTypeId? equippedType,
dynamic? equipped,
dynamic equipped,
List<Vec3ObjectBuilder>? path,
})
: _pos = pos,
@@ -335,20 +334,19 @@ class MonsterObjectBuilder extends fb.ObjectBuilder {
/// Convenience method to serialize to byte list.
@override
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder(deduplicateTables: false);
int offset = finish(fbBuilder);
fbBuilder.finish(offset, fileIdentifier);
final fbBuilder = fb.Builder(deduplicateTables: false);
fbBuilder.finish(finish(fbBuilder), fileIdentifier);
return fbBuilder.buffer;
}
}
class Weapon {
Weapon._(this._bc, this._bcOffset);
factory Weapon(List<int> bytes) {
fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes);
final rootRef = fb.BufferContext.fromBytes(bytes);
return reader.read(rootRef, 0);
}
static const fb.Reader<Weapon> reader = const _WeaponReader();
static const fb.Reader<Weapon> reader = _WeaponReader();
final fb.BufferContext _bc;
final int _bcOffset;
@@ -367,11 +365,11 @@ class _WeaponReader extends fb.TableReader<Weapon> {
@override
Weapon createObject(fb.BufferContext bc, int offset) =>
new Weapon._(bc, offset);
Weapon._(bc, offset);
}
class WeaponBuilder {
WeaponBuilder(this.fbBuilder) {}
WeaponBuilder(this.fbBuilder);
final fb.Builder fbBuilder;
@@ -418,9 +416,8 @@ class WeaponObjectBuilder extends fb.ObjectBuilder {
/// Convenience method to serialize to byte list.
@override
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder(deduplicateTables: false);
int offset = finish(fbBuilder);
fbBuilder.finish(offset, fileIdentifier);
final fbBuilder = fb.Builder(deduplicateTables: false);
fbBuilder.finish(finish(fbBuilder), fileIdentifier);
return fbBuilder.buffer;
}
}

View File

@@ -22,7 +22,7 @@ const int _sizeofFloat64 = 8;
///
/// This callback is used by other struct's `finish` methods to write the nested
/// struct's fields inline.
typedef void StructBuilder();
typedef StructBuilder = void Function();
/// Buffer with data and some context about it.
class BufferContext {
@@ -143,7 +143,7 @@ class Builder {
/// true, will cause [writeString] to pool strings in the buffer so that
/// identical strings will always use the same offset in tables.
Builder({
this.initialSize: 1024,
this.initialSize = 1024,
bool internStrings = false,
Allocator allocator = const DefaultAllocator(),
this.deduplicateTables = true,
@@ -155,8 +155,7 @@ class Builder {
}
}
/// Calculate the finished buffer size (aligned).
@pragma('vm:prefer-inline')
/// Calculate the finished buffer size (aligned).@pragma('vm:prefer-inline')
int size() => _tail + ((-_tail) & (_maxAlign - 1));
/// Add the [field] with the given boolean [value]. The field is not added if
@@ -750,7 +749,9 @@ class Builder {
/// Zero-pads the buffer, which may be required for some struct layouts.
@pragma('vm:prefer-inline')
void pad(int howManyBytes) {
for (int i = 0; i < howManyBytes; i++) putUint8(0);
for (int i = 0; i < howManyBytes; i++) {
putUint8(0);
}
}
/// Prepare for writing the given `count` of scalars of the given `size`.
@@ -875,7 +876,7 @@ class Float64ListReader extends Reader<List<double>> {
@override
@pragma('vm:prefer-inline')
List<double> read(BufferContext bc, int offset) =>
new _FbFloat64List(bc, bc.derefObject(offset));
_FbFloat64List(bc, bc.derefObject(offset));
}
class Float32ListReader extends Reader<List<double>> {
@@ -888,7 +889,7 @@ class Float32ListReader extends Reader<List<double>> {
@override
@pragma('vm:prefer-inline')
List<double> read(BufferContext bc, int offset) =>
new _FbFloat32List(bc, bc.derefObject(offset));
_FbFloat32List(bc, bc.derefObject(offset));
}
class Float64Reader extends Reader<double> {
@@ -1034,6 +1035,7 @@ abstract class Reader<T> {
/// The reader of string values.
class StringReader extends Reader<String> {
final bool asciiOptimization;
const StringReader({this.asciiOptimization = false}) : super();
@override
@@ -1071,8 +1073,9 @@ abstract class StructReader<T> extends Reader<T> {
/// Return the object at `offset`.
T createObject(BufferContext bc, int offset);
T read(BufferContext bp, int offset) {
return createObject(bp, offset);
@override
T read(BufferContext bc, int offset) {
return createObject(bc, offset);
}
}
@@ -1088,9 +1091,9 @@ abstract class TableReader<T> extends Reader<T> {
T createObject(BufferContext bc, int offset);
@override
T read(BufferContext bp, int offset) {
int objectOffset = bp.derefObject(offset);
return createObject(bp, objectOffset);
T read(BufferContext bc, int offset) {
int objectOffset = bc.derefObject(offset);
return createObject(bc, objectOffset);
}
}
@@ -1249,12 +1252,11 @@ abstract class _FbList<E> extends Object with ListMixin<E> implements List<E> {
int get length => _length ??= bc._getUint32(offset);
@override
void set length(int i) =>
throw new StateError('Attempt to modify immutable list');
set length(int i) => throw StateError('Attempt to modify immutable list');
@override
void operator []=(int i, E e) =>
throw new StateError('Attempt to modify immutable list');
throw StateError('Attempt to modify immutable list');
}
/// List backed by 32-bit unsigned integers.
@@ -1416,7 +1418,7 @@ class DefaultAllocator extends Allocator {
ByteData allocate(int size) => ByteData(size);
@override
void deallocate(ByteData _) {
void deallocate(ByteData data) {
// nothing to do, it's garbage-collected
}
}

View File

@@ -5,22 +5,22 @@ import 'types.dart';
/// The main builder class for creation of a FlexBuffer.
class Builder {
ByteData _buffer;
final ByteData _buffer;
List<_StackValue> _stack = [];
List<_StackPointer> _stackPointers = [];
int _offset = 0;
bool _finished = false;
Map<String, _StackValue> _stringCache = {};
Map<String, _StackValue> _keyCache = {};
Map<_KeysHash, _StackValue> _keyVectorCache = {};
Map<int, _StackValue> _indirectIntCache = {};
Map<double, _StackValue> _indirectDoubleCache = {};
final Map<String, _StackValue> _stringCache = {};
final Map<String, _StackValue> _keyCache = {};
final Map<_KeysHash, _StackValue> _keyVectorCache = {};
final Map<int, _StackValue> _indirectIntCache = {};
final Map<double, _StackValue> _indirectDoubleCache = {};
/// Instantiate the builder if you intent to gradually build up the buffer by calling
/// add... methods and calling [finish] to receive the the resulting byte array.
///
/// The default size of internal buffer is set to 2048. Provide a different value in order to avoid buffer copies.
Builder({int size = 2048}) : _buffer = ByteData(size) {}
Builder({int size = 2048}) : _buffer = ByteData(size);
/// Use this method in order to turn an object into a FlexBuffer directly.
///
@@ -70,25 +70,25 @@ class Builder {
/// Specifically useful when building up a vector where values can be null.
void addNull() {
_integrityCheckOnValueAddition();
_stack.add(_StackValue.WithNull());
_stack.add(_StackValue.withNull());
}
/// Adds a string value.
void addInt(int value) {
_integrityCheckOnValueAddition();
_stack.add(_StackValue.WithInt(value));
_stack.add(_StackValue.withInt(value));
}
/// Adds a bool value.
void addBool(bool value) {
_integrityCheckOnValueAddition();
_stack.add(_StackValue.WithBool(value));
_stack.add(_StackValue.withBool(value));
}
/// Adds a double value.
void addDouble(double value) {
_integrityCheckOnValueAddition();
_stack.add(_StackValue.WithDouble(value));
_stack.add(_StackValue.withDouble(value));
}
/// Adds a string value.
@@ -108,7 +108,7 @@ class Builder {
_pushBuffer(utf8String);
_offset = newOffset;
final stackValue =
_StackValue.WithOffset(stringOffset, ValueType.String, bitWidth);
_StackValue.withOffset(stringOffset, ValueType.String, bitWidth);
_stack.add(stackValue);
_stringCache[value] = stackValue;
}
@@ -129,7 +129,7 @@ class Builder {
_pushBuffer(utf8String);
_offset = newOffset;
final stackValue =
_StackValue.WithOffset(keyOffset, ValueType.Key, BitWidth.width8);
_StackValue.withOffset(keyOffset, ValueType.Key, BitWidth.width8);
_stack.add(stackValue);
_keyCache[value] = stackValue;
}
@@ -148,7 +148,7 @@ class Builder {
_pushBuffer(value.asUint8List());
_offset = newOffset;
final stackValue =
_StackValue.WithOffset(blobOffset, ValueType.Blob, bitWidth);
_StackValue.withOffset(blobOffset, ValueType.Blob, bitWidth);
_stack.add(stackValue);
}
@@ -164,12 +164,12 @@ class Builder {
_stack.add(_indirectIntCache[value]!);
return;
}
final stackValue = _StackValue.WithInt(value);
final stackValue = _StackValue.withInt(value);
final byteWidth = _align(stackValue.width);
final newOffset = _newOffset(byteWidth);
final valueOffset = _offset;
_pushBuffer(stackValue.asU8List(stackValue.width));
final stackOffset = _StackValue.WithOffset(
final stackOffset = _StackValue.withOffset(
valueOffset, ValueType.IndirectInt, stackValue.width);
_stack.add(stackOffset);
_offset = newOffset;
@@ -189,12 +189,12 @@ class Builder {
_stack.add(_indirectDoubleCache[value]!);
return;
}
final stackValue = _StackValue.WithDouble(value);
final stackValue = _StackValue.withDouble(value);
final byteWidth = _align(stackValue.width);
final newOffset = _newOffset(byteWidth);
final valueOffset = _offset;
_pushBuffer(stackValue.asU8List(stackValue.width));
final stackOffset = _StackValue.WithOffset(
final stackOffset = _StackValue.withOffset(
valueOffset, ValueType.IndirectFloat, stackValue.width);
_stack.add(stackOffset);
_offset = newOffset;
@@ -346,14 +346,14 @@ class Builder {
}
}
if (keys != null) {
return _StackValue.WithOffset(vecOffset, ValueType.Map, bitWidth);
return _StackValue.withOffset(vecOffset, ValueType.Map, bitWidth);
}
if (typed) {
final vType =
ValueTypeUtils.toTypedVector(vectorType, fix ? vecLength : 0);
return _StackValue.WithOffset(vecOffset, vType, bitWidth);
return _StackValue.withOffset(vecOffset, vType, bitWidth);
}
return _StackValue.WithOffset(vecOffset, ValueType.Vector, bitWidth);
return _StackValue.withOffset(vecOffset, ValueType.Vector, bitWidth);
}
void _endVector(_StackPointer pointer) {
@@ -405,7 +405,7 @@ class Builder {
offsets.add(_stack[i].offset!);
}
final keysHash = _KeysHash(offsets);
var keysStackValue;
_StackValue? keysStackValue;
if (_keyVectorCache.containsKey(keysHash)) {
keysStackValue = _keyVectorCache[keysHash];
} else {
@@ -424,7 +424,7 @@ class Builder {
'Stack values are not keys $v1 | $v2. Check if you combined [addKey] with add... method calls properly.');
}
var c1, c2;
late int c1, c2;
var index = 0;
do {
c1 = _buffer.getUint8(v1.offset! + index);
@@ -520,32 +520,32 @@ class Builder {
class _StackValue {
late Object _value;
int? _offset;
ValueType _type;
BitWidth _width;
final ValueType _type;
final BitWidth _width;
_StackValue.WithNull()
_StackValue.withNull()
: _type = ValueType.Null,
_width = BitWidth.width8 {}
_width = BitWidth.width8;
_StackValue.WithInt(int value)
_StackValue.withInt(int value)
: _type = ValueType.Int,
_width = BitWidthUtil.width(value),
_value = value {}
_value = value;
_StackValue.WithBool(bool value)
_StackValue.withBool(bool value)
: _type = ValueType.Bool,
_width = BitWidth.width8,
_value = value {}
_value = value;
_StackValue.WithDouble(double value)
_StackValue.withDouble(double value)
: _type = ValueType.Float,
_width = BitWidthUtil.width(value),
_value = value {}
_value = value;
_StackValue.WithOffset(int value, ValueType type, BitWidth width)
_StackValue.withOffset(int value, ValueType type, BitWidth width)
: _offset = value,
_type = type,
_width = width {}
_width = width;
BitWidth storedWidth({BitWidth width = BitWidth.width8}) {
return ValueTypeUtils.isInline(_type)

View File

@@ -19,7 +19,7 @@ class Reference {
this._buffer, this._offset, this._parentWidth, int packedType, this._path,
[int? byteWidth, ValueType? valueType])
: _byteWidth = byteWidth ?? 1 << (packedType & 3),
_valueType = valueType ?? ValueTypeUtils.fromInt(packedType >> 2) {}
_valueType = valueType ?? ValueTypeUtils.fromInt(packedType >> 2);
/// Use this method to access the root value of a FlexBuffer.
static Reference fromBuffer(ByteBuffer buffer) {
@@ -218,13 +218,13 @@ class Reference {
_length = 0;
} else if (_valueType == ValueType.String) {
final indirect = _indirect;
var size_byte_width = _byteWidth;
var size = _readUInt(indirect - size_byte_width,
BitWidthUtil.fromByteWidth(size_byte_width));
var sizeByteWidth = _byteWidth;
var size = _readUInt(indirect - sizeByteWidth,
BitWidthUtil.fromByteWidth(sizeByteWidth));
while (_buffer.getInt8(indirect + size) != 0) {
size_byte_width <<= 1;
size = _readUInt(indirect - size_byte_width,
BitWidthUtil.fromByteWidth(size_byte_width));
sizeByteWidth <<= 1;
size = _readUInt(indirect - sizeByteWidth,
BitWidthUtil.fromByteWidth(sizeByteWidth));
}
_length = size;
} else if (_valueType == ValueType.Key) {
@@ -374,8 +374,8 @@ class Reference {
}
int _diffKeys(
List<int> input, int index, int indirect_offset, int byteWidth) {
final keyOffset = indirect_offset + index * byteWidth;
List<int> input, int index, int indirectOffset, int byteWidth) {
final keyOffset = indirectOffset + index * byteWidth;
final keyIndirectOffset =
keyOffset - _readUInt(keyOffset, BitWidthUtil.fromByteWidth(byteWidth));
for (var i = 0; i < input.length; i++) {

View File

@@ -47,7 +47,7 @@ class BitWidthUtil {
if (value == 8) {
return BitWidth.width64;
}
throw Exception('Unexpected value ${value}');
throw Exception('Unexpected value $value');
}
static int paddingSize(int bufSize, int scalarSize) {

View File

@@ -12,5 +12,6 @@ dev_dependencies:
test: ^1.17.7
test_reflective_loader: ^0.2.0
path: ^1.8.0
lints: ^1.0.1
environment:
sdk: '>=2.12.0 <3.0.0'

View File

@@ -30,12 +30,12 @@ int indexToField(int index) {
@reflectiveTest
class CheckOtherLangaugesData {
test_cppData() async {
List<int> data = await new io.File(path.join(
List<int> data = await io.File(path.join(
path.context.current,
'test',
'monsterdata_test.mon',
)).readAsBytes();
example.Monster mon = new example.Monster(data);
example.Monster mon = example.Monster(data);
expect(mon.hp, 80);
expect(mon.mana, 150);
expect(mon.name, 'MyMonster');
@@ -156,7 +156,7 @@ class CustomAllocator extends Allocator {
@reflectiveTest
class BuilderTest {
void test_monsterBuilder([Builder? builder]) {
final fbBuilder = builder ?? new Builder();
final fbBuilder = builder ?? Builder();
final str = fbBuilder.writeString('MyMonster');
fbBuilder.writeString('test1');
@@ -168,12 +168,12 @@ class BuilderTest {
final List<int> treasure = [0, 1, 2, 3, 4];
final inventory = fbBuilder.writeListUint8(treasure);
final monBuilder = new example.MonsterBuilder(fbBuilder)
final monBuilder = example.MonsterBuilder(fbBuilder)
..begin()
..addNameOffset(fred);
final mon2 = monBuilder.finish();
final testBuilder = new example.TestBuilder(fbBuilder);
final testBuilder = example.TestBuilder(fbBuilder);
testBuilder.finish(10, 20);
testBuilder.finish(30, 40);
final test4 = fbBuilder.endStructVector(2);
@@ -181,7 +181,7 @@ class BuilderTest {
monBuilder
..begin()
..addPos(
new example.Vec3Builder(fbBuilder).finish(
example.Vec3Builder(fbBuilder).finish(
1.0,
2.0,
3.0,
@@ -202,28 +202,28 @@ class BuilderTest {
}
void test_error_addInt32_withoutStartTable([Builder? builder]) {
builder ??= new Builder();
builder ??= Builder();
expect(() {
builder!.addInt32(0, 0);
}, throwsA(isA<AssertionError>()));
}
void test_error_addOffset_withoutStartTable() {
Builder builder = new Builder();
Builder builder = Builder();
expect(() {
builder.addOffset(0, 0);
}, throwsA(isA<AssertionError>()));
}
void test_error_endTable_withoutStartTable() {
Builder builder = new Builder();
Builder builder = Builder();
expect(() {
builder.endTable();
}, throwsA(isA<AssertionError>()));
}
void test_error_startTable_duringTable() {
Builder builder = new Builder();
Builder builder = Builder();
builder.startTable(0);
expect(() {
builder.startTable(0);
@@ -231,7 +231,7 @@ class BuilderTest {
}
void test_error_writeString_duringTable() {
Builder builder = new Builder();
Builder builder = Builder();
builder.startTable(1);
expect(() {
builder.writeString('12345');
@@ -241,7 +241,7 @@ class BuilderTest {
void test_file_identifier() {
Uint8List byteList;
{
Builder builder = new Builder(initialSize: 0);
Builder builder = Builder(initialSize: 0);
builder.startTable(0);
int offset = builder.endTable();
builder.finish(offset, 'Az~ÿ');
@@ -307,7 +307,7 @@ class BuilderTest {
expect(builder.size(), byteList.length);
}
// read and verify
BufferContext buffer = new BufferContext.fromBytes(byteList);
BufferContext buffer = BufferContext.fromBytes(byteList);
int objectOffset = buffer.derefObject(0);
// was not written, so uses the new default value
expect(
@@ -324,7 +324,7 @@ class BuilderTest {
void test_table_format([Builder? builder]) {
Uint8List byteList;
{
builder ??= new Builder(initialSize: 0);
builder ??= Builder(initialSize: 0);
builder.startTable(3);
builder.addInt32(0, 10);
builder.addInt32(1, 20);
@@ -359,7 +359,7 @@ class BuilderTest {
String unicodeString = 'Проба пера';
List<int> byteList;
{
Builder builder = new Builder(initialSize: 0);
Builder builder = Builder(initialSize: 0);
int? latinStringOffset =
builder.writeString(latinString, asciiOptimization: true);
int? unicodeStringOffset =
@@ -372,7 +372,7 @@ class BuilderTest {
byteList = builder.buffer;
}
// read and verify
BufferContext buf = new BufferContext.fromBytes(byteList);
BufferContext buf = BufferContext.fromBytes(byteList);
int objectOffset = buf.derefObject(0);
expect(
const StringReader()
@@ -387,7 +387,7 @@ class BuilderTest {
void test_table_types([Builder? builder]) {
List<int> byteList;
{
builder ??= new Builder(initialSize: 0);
builder ??= Builder(initialSize: 0);
int? stringOffset = builder.writeString('12345');
builder.startTable(7);
builder.addBool(0, true);
@@ -402,7 +402,7 @@ class BuilderTest {
byteList = builder.buffer;
}
// read and verify
BufferContext buf = new BufferContext.fromBytes(byteList);
BufferContext buf = BufferContext.fromBytes(byteList);
int objectOffset = buf.derefObject(0);
expect(
const BoolReader()
@@ -439,13 +439,13 @@ class BuilderTest {
// write
List<int> byteList;
{
Builder builder = new Builder(initialSize: 0);
Builder builder = Builder(initialSize: 0);
int offset = builder.writeListUint32(values);
builder.finish(offset);
byteList = builder.buffer;
}
// read and verify
BufferContext buf = new BufferContext.fromBytes(byteList);
BufferContext buf = BufferContext.fromBytes(byteList);
List<int> items = const Uint32ListReader().read(buf, 0);
expect(items, hasLength(4));
expect(items, orderedEquals(values));
@@ -456,8 +456,8 @@ class BuilderTest {
// write
List<int> byteList;
{
Builder builder = new Builder(initialSize: 0);
List<bool> values = new List<bool>.filled(len, false);
Builder builder = Builder(initialSize: 0);
List<bool> values = List<bool>.filled(len, false);
for (int bit in trueBits) {
values[bit] = true;
}
@@ -466,7 +466,7 @@ class BuilderTest {
byteList = builder.buffer;
}
// read and verify
BufferContext buf = new BufferContext.fromBytes(byteList);
BufferContext buf = BufferContext.fromBytes(byteList);
List<bool> items = const BoolListReader().read(buf, 0);
expect(items, hasLength(len));
for (int i = 0; i < items.length; i++) {
@@ -485,26 +485,26 @@ class BuilderTest {
verifyListBooleans(33, <int>[1, 2, 24, 25, 31, 32]);
verifyListBooleans(63, <int>[]);
verifyListBooleans(63, <int>[0, 1, 2, 61, 62]);
verifyListBooleans(63, new List<int>.generate(63, (i) => i));
verifyListBooleans(63, List<int>.generate(63, (i) => i));
verifyListBooleans(64, <int>[]);
verifyListBooleans(64, <int>[0, 1, 2, 61, 62, 63]);
verifyListBooleans(64, <int>[1, 2, 62]);
verifyListBooleans(64, <int>[0, 1, 2, 63]);
verifyListBooleans(64, new List<int>.generate(64, (i) => i));
verifyListBooleans(64, List<int>.generate(64, (i) => i));
verifyListBooleans(100, <int>[0, 3, 30, 60, 90, 99]);
}
void test_writeList_ofInt32() {
List<int> byteList;
{
Builder builder = new Builder(initialSize: 0);
Builder builder = Builder(initialSize: 0);
int offset = builder.writeListInt32(<int>[1, 2, 3, 4, 5]);
builder.finish(offset);
byteList = builder.buffer;
}
// read and verify
BufferContext buf = new BufferContext.fromBytes(byteList);
List<int> items = const ListReader<int>(const Int32Reader()).read(buf, 0);
BufferContext buf = BufferContext.fromBytes(byteList);
List<int> items = const ListReader<int>(Int32Reader()).read(buf, 0);
expect(items, hasLength(5));
expect(items, orderedEquals(<int>[1, 2, 3, 4, 5]));
}
@@ -514,14 +514,14 @@ class BuilderTest {
// write
List<int> byteList;
{
Builder builder = new Builder(initialSize: 0);
Builder builder = Builder(initialSize: 0);
int offset = builder.writeListFloat64(values);
builder.finish(offset);
byteList = builder.buffer;
}
// read and verify
BufferContext buf = new BufferContext.fromBytes(byteList);
BufferContext buf = BufferContext.fromBytes(byteList);
List<double> items = const Float64ListReader().read(buf, 0);
expect(items, hasLength(values.length));
@@ -535,13 +535,13 @@ class BuilderTest {
// write
List<int> byteList;
{
Builder builder = new Builder(initialSize: 0);
Builder builder = Builder(initialSize: 0);
int offset = builder.writeListFloat32(values);
builder.finish(offset);
byteList = builder.buffer;
}
// read and verify
BufferContext buf = new BufferContext.fromBytes(byteList);
BufferContext buf = BufferContext.fromBytes(byteList);
List<double> items = const Float32ListReader().read(buf, 0);
expect(items, hasLength(5));
for (int i = 0; i < values.length; i++) {
@@ -552,7 +552,7 @@ class BuilderTest {
void test_writeList_ofObjects([Builder? builder]) {
List<int> byteList;
{
builder ??= new Builder(initialSize: 0);
builder ??= Builder(initialSize: 0);
// write the object #1
int object1;
{
@@ -575,9 +575,9 @@ class BuilderTest {
byteList = builder.buffer;
}
// read and verify
BufferContext buf = new BufferContext.fromBytes(byteList);
BufferContext buf = BufferContext.fromBytes(byteList);
List<TestPointImpl> items =
const ListReader<TestPointImpl>(const TestPointReader()).read(buf, 0);
const ListReader<TestPointImpl>(TestPointReader()).read(buf, 0);
expect(items, hasLength(2));
expect(items[0].x, 10);
expect(items[0].y, 20);
@@ -588,7 +588,7 @@ class BuilderTest {
void test_writeList_ofStrings_asRoot() {
List<int> byteList;
{
Builder builder = new Builder(initialSize: 0);
Builder builder = Builder(initialSize: 0);
int? str1 = builder.writeString('12345');
int? str2 = builder.writeString('ABC');
int offset = builder.writeList([str1, str2]);
@@ -596,9 +596,8 @@ class BuilderTest {
byteList = builder.buffer;
}
// read and verify
BufferContext buf = new BufferContext.fromBytes(byteList);
List<String> items =
const ListReader<String>(const StringReader()).read(buf, 0);
BufferContext buf = BufferContext.fromBytes(byteList);
List<String> items = const ListReader<String>(StringReader()).read(buf, 0);
expect(items, hasLength(2));
expect(items, contains('12345'));
expect(items, contains('ABC'));
@@ -607,7 +606,7 @@ class BuilderTest {
void test_writeList_ofStrings_inObject([Builder? builder]) {
List<int> byteList;
{
builder ??= new Builder(initialSize: 0);
builder ??= Builder(initialSize: 0);
int listOffset = builder.writeList(
[builder.writeString('12345'), builder.writeString('ABC')]);
builder.startTable(1);
@@ -617,8 +616,8 @@ class BuilderTest {
byteList = builder.buffer;
}
// read and verify
BufferContext buf = new BufferContext.fromBytes(byteList);
StringListWrapperImpl reader = new StringListWrapperReader().read(buf, 0);
BufferContext buf = BufferContext.fromBytes(byteList);
StringListWrapperImpl reader = StringListWrapperReader().read(buf, 0);
List<String>? items = reader.items;
expect(items, hasLength(2));
expect(items, contains('12345'));
@@ -628,13 +627,13 @@ class BuilderTest {
void test_writeList_ofUint32() {
List<int> byteList;
{
Builder builder = new Builder(initialSize: 0);
Builder builder = Builder(initialSize: 0);
int offset = builder.writeListUint32(<int>[1, 2, 0x9ABCDEF0]);
builder.finish(offset);
byteList = builder.buffer;
}
// read and verify
BufferContext buf = new BufferContext.fromBytes(byteList);
BufferContext buf = BufferContext.fromBytes(byteList);
List<int> items = const Uint32ListReader().read(buf, 0);
expect(items, hasLength(3));
expect(items, orderedEquals(<int>[1, 2, 0x9ABCDEF0]));
@@ -643,13 +642,13 @@ class BuilderTest {
void test_writeList_ofUint16() {
List<int> byteList;
{
Builder builder = new Builder(initialSize: 0);
Builder builder = Builder(initialSize: 0);
int offset = builder.writeListUint16(<int>[1, 2, 60000]);
builder.finish(offset);
byteList = builder.buffer;
}
// read and verify
BufferContext buf = new BufferContext.fromBytes(byteList);
BufferContext buf = BufferContext.fromBytes(byteList);
List<int> items = const Uint16ListReader().read(buf, 0);
expect(items, hasLength(3));
expect(items, orderedEquals(<int>[1, 2, 60000]));
@@ -658,13 +657,13 @@ class BuilderTest {
void test_writeList_ofUint8() {
List<int> byteList;
{
Builder builder = new Builder(initialSize: 0);
Builder builder = Builder(initialSize: 0);
int offset = builder.writeListUint8(<int>[1, 2, 3, 4, 0x9A]);
builder.finish(offset);
byteList = builder.buffer;
}
// read and verify
BufferContext buf = new BufferContext.fromBytes(byteList);
BufferContext buf = BufferContext.fromBytes(byteList);
List<int> items = const Uint8ListReader().read(buf, 0);
expect(items, hasLength(5));
expect(items, orderedEquals(<int>[1, 2, 3, 4, 0x9A]));
@@ -687,22 +686,22 @@ class BuilderTest {
_permutationsOf(List.generate(testCases.length, (index) => index));
expect(testCasesPermutations.length, _factorial(testCases.length));
testCasesPermutations.forEach((List<int> indexes) {
for (var indexes in testCasesPermutations) {
// print the order so failures are reproducible
printOnFailure('Running reset() test cases in order: $indexes');
Builder? builder;
indexes.forEach((index) {
for (var index in indexes) {
if (builder == null) {
// Initial size small enough so at least one test case increases it.
// On the other hand, it's large enough so that some test cases don't.
builder = Builder(initialSize: 32);
} else {
builder!.reset();
builder.reset();
}
testCases[index](builder);
});
});
}
}
}
// Generate permutations of the given list
@@ -731,7 +730,9 @@ class BuilderTest {
// a very simple implementation of n!
int _factorial(int n) {
var result = 1;
for (var i = 2; i <= n; i++) result *= i;
for (var i = 2; i <= n; i++) {
result *= i;
}
return result;
}
}
@@ -836,7 +837,7 @@ class StringListWrapperImpl {
StringListWrapperImpl(this.bp, this.offset);
List<String>? get items => const ListReader<String>(const StringReader())
List<String>? get items => const ListReader<String>(StringReader())
.vTableGetNullable(bp, offset, indexToField(0));
}
@@ -845,7 +846,7 @@ class StringListWrapperReader extends TableReader<StringListWrapperImpl> {
@override
StringListWrapperImpl createObject(BufferContext object, int offset) {
return new StringListWrapperImpl(object, offset);
return StringListWrapperImpl(object, offset);
}
}
@@ -865,7 +866,7 @@ class TestPointReader extends TableReader<TestPointImpl> {
@override
TestPointImpl createObject(BufferContext object, int offset) {
return new TestPointImpl(object, offset);
return TestPointImpl(object, offset);
}
}

View File

@@ -12,11 +12,11 @@ import './monster_test_my_game.example_generated.dart' as my_game_example;
class Monster {
Monster._(this._bc, this._bcOffset);
factory Monster(List<int> bytes) {
fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes);
final rootRef = fb.BufferContext.fromBytes(bytes);
return reader.read(rootRef, 0);
}
static const fb.Reader<Monster> reader = const _MonsterReader();
static const fb.Reader<Monster> reader = _MonsterReader();
final fb.BufferContext _bc;
final int _bcOffset;
@@ -52,7 +52,7 @@ class _MonsterReader extends fb.TableReader<Monster> {
@override
Monster createObject(fb.BufferContext bc, int offset) =>
new Monster._(bc, offset);
Monster._(bc, offset);
}
class MonsterObjectBuilder extends fb.ObjectBuilder {
@@ -69,9 +69,8 @@ class MonsterObjectBuilder extends fb.ObjectBuilder {
/// Convenience method to serialize to byte list.
@override
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder(deduplicateTables: false);
int offset = finish(fbBuilder);
fbBuilder.finish(offset, fileIdentifier);
final fbBuilder = fb.Builder(deduplicateTables: false);
fbBuilder.finish(finish(fbBuilder), fileIdentifier);
return fbBuilder.buffer;
}
}

View File

@@ -17,7 +17,7 @@ class Color {
factory Color.fromValue(int value) {
final result = values[value];
if (result == null) {
throw new StateError('Invalid value $value for bit flag enum Color');
throw StateError('Invalid value $value for bit flag enum Color');
}
return result;
}
@@ -27,20 +27,20 @@ class Color {
static bool containsValue(int value) => values.containsKey(value);
static const Color Red = const Color._(1);
static const Color Red = Color._(1);
/// \brief color Green
/// Green is bit_flag with value (1u << 1)
static const Color Green = const Color._(2);
static const Color Green = Color._(2);
/// \brief color Blue (1u << 3)
static const Color Blue = const Color._(8);
static const Color Blue = Color._(8);
static const Map<int, Color> values = {
1: Red,
2: Green,
8: Blue};
static const fb.Reader<Color> reader = const _ColorReader();
static const fb.Reader<Color> reader = _ColorReader();
@override
String toString() {
@@ -56,7 +56,7 @@ class _ColorReader extends fb.Reader<Color> {
@override
Color read(fb.BufferContext bc, int offset) =>
new Color.fromValue(const fb.Uint8Reader().read(bc, offset));
Color.fromValue(const fb.Uint8Reader().read(bc, offset));
}
class Race {
@@ -66,7 +66,7 @@ class Race {
factory Race.fromValue(int value) {
final result = values[value];
if (result == null) {
throw new StateError('Invalid value $value for bit flag enum Race');
throw StateError('Invalid value $value for bit flag enum Race');
}
return result;
}
@@ -78,17 +78,17 @@ class Race {
static const int maxValue = 2;
static bool containsValue(int value) => values.containsKey(value);
static const Race None = const Race._(-1);
static const Race Human = const Race._(0);
static const Race Dwarf = const Race._(1);
static const Race Elf = const Race._(2);
static const Race None = Race._(-1);
static const Race Human = Race._(0);
static const Race Dwarf = Race._(1);
static const Race Elf = Race._(2);
static const Map<int, Race> values = {
-1: None,
0: Human,
1: Dwarf,
2: Elf};
static const fb.Reader<Race> reader = const _RaceReader();
static const fb.Reader<Race> reader = _RaceReader();
@override
String toString() {
@@ -104,7 +104,7 @@ class _RaceReader extends fb.Reader<Race> {
@override
Race read(fb.BufferContext bc, int offset) =>
new Race.fromValue(const fb.Int8Reader().read(bc, offset));
Race.fromValue(const fb.Int8Reader().read(bc, offset));
}
class AnyTypeId {
@@ -114,7 +114,7 @@ class AnyTypeId {
factory AnyTypeId.fromValue(int value) {
final result = values[value];
if (result == null) {
throw new StateError('Invalid value $value for bit flag enum AnyTypeId');
throw StateError('Invalid value $value for bit flag enum AnyTypeId');
}
return result;
}
@@ -126,17 +126,17 @@ class AnyTypeId {
static const int maxValue = 3;
static bool containsValue(int value) => values.containsKey(value);
static const AnyTypeId NONE = const AnyTypeId._(0);
static const AnyTypeId Monster = const AnyTypeId._(1);
static const AnyTypeId TestSimpleTableWithEnum = const AnyTypeId._(2);
static const AnyTypeId MyGame_Example2_Monster = const AnyTypeId._(3);
static const AnyTypeId NONE = AnyTypeId._(0);
static const AnyTypeId Monster = AnyTypeId._(1);
static const AnyTypeId TestSimpleTableWithEnum = AnyTypeId._(2);
static const AnyTypeId MyGame_Example2_Monster = AnyTypeId._(3);
static const Map<int, AnyTypeId> values = {
0: NONE,
1: Monster,
2: TestSimpleTableWithEnum,
3: MyGame_Example2_Monster};
static const fb.Reader<AnyTypeId> reader = const _AnyTypeIdReader();
static const fb.Reader<AnyTypeId> reader = _AnyTypeIdReader();
@override
String toString() {
@@ -152,7 +152,7 @@ class _AnyTypeIdReader extends fb.Reader<AnyTypeId> {
@override
AnyTypeId read(fb.BufferContext bc, int offset) =>
new AnyTypeId.fromValue(const fb.Uint8Reader().read(bc, offset));
AnyTypeId.fromValue(const fb.Uint8Reader().read(bc, offset));
}
class AnyUniqueAliasesTypeId {
@@ -162,7 +162,7 @@ class AnyUniqueAliasesTypeId {
factory AnyUniqueAliasesTypeId.fromValue(int value) {
final result = values[value];
if (result == null) {
throw new StateError('Invalid value $value for bit flag enum AnyUniqueAliasesTypeId');
throw StateError('Invalid value $value for bit flag enum AnyUniqueAliasesTypeId');
}
return result;
}
@@ -174,17 +174,17 @@ class AnyUniqueAliasesTypeId {
static const int maxValue = 3;
static bool containsValue(int value) => values.containsKey(value);
static const AnyUniqueAliasesTypeId NONE = const AnyUniqueAliasesTypeId._(0);
static const AnyUniqueAliasesTypeId M = const AnyUniqueAliasesTypeId._(1);
static const AnyUniqueAliasesTypeId TS = const AnyUniqueAliasesTypeId._(2);
static const AnyUniqueAliasesTypeId M2 = const AnyUniqueAliasesTypeId._(3);
static const AnyUniqueAliasesTypeId NONE = AnyUniqueAliasesTypeId._(0);
static const AnyUniqueAliasesTypeId M = AnyUniqueAliasesTypeId._(1);
static const AnyUniqueAliasesTypeId TS = AnyUniqueAliasesTypeId._(2);
static const AnyUniqueAliasesTypeId M2 = AnyUniqueAliasesTypeId._(3);
static const Map<int, AnyUniqueAliasesTypeId> values = {
0: NONE,
1: M,
2: TS,
3: M2};
static const fb.Reader<AnyUniqueAliasesTypeId> reader = const _AnyUniqueAliasesTypeIdReader();
static const fb.Reader<AnyUniqueAliasesTypeId> reader = _AnyUniqueAliasesTypeIdReader();
@override
String toString() {
@@ -200,7 +200,7 @@ class _AnyUniqueAliasesTypeIdReader extends fb.Reader<AnyUniqueAliasesTypeId> {
@override
AnyUniqueAliasesTypeId read(fb.BufferContext bc, int offset) =>
new AnyUniqueAliasesTypeId.fromValue(const fb.Uint8Reader().read(bc, offset));
AnyUniqueAliasesTypeId.fromValue(const fb.Uint8Reader().read(bc, offset));
}
class AnyAmbiguousAliasesTypeId {
@@ -210,7 +210,7 @@ class AnyAmbiguousAliasesTypeId {
factory AnyAmbiguousAliasesTypeId.fromValue(int value) {
final result = values[value];
if (result == null) {
throw new StateError('Invalid value $value for bit flag enum AnyAmbiguousAliasesTypeId');
throw StateError('Invalid value $value for bit flag enum AnyAmbiguousAliasesTypeId');
}
return result;
}
@@ -222,17 +222,17 @@ class AnyAmbiguousAliasesTypeId {
static const int maxValue = 3;
static bool containsValue(int value) => values.containsKey(value);
static const AnyAmbiguousAliasesTypeId NONE = const AnyAmbiguousAliasesTypeId._(0);
static const AnyAmbiguousAliasesTypeId M1 = const AnyAmbiguousAliasesTypeId._(1);
static const AnyAmbiguousAliasesTypeId M2 = const AnyAmbiguousAliasesTypeId._(2);
static const AnyAmbiguousAliasesTypeId M3 = const AnyAmbiguousAliasesTypeId._(3);
static const AnyAmbiguousAliasesTypeId NONE = AnyAmbiguousAliasesTypeId._(0);
static const AnyAmbiguousAliasesTypeId M1 = AnyAmbiguousAliasesTypeId._(1);
static const AnyAmbiguousAliasesTypeId M2 = AnyAmbiguousAliasesTypeId._(2);
static const AnyAmbiguousAliasesTypeId M3 = AnyAmbiguousAliasesTypeId._(3);
static const Map<int, AnyAmbiguousAliasesTypeId> values = {
0: NONE,
1: M1,
2: M2,
3: M3};
static const fb.Reader<AnyAmbiguousAliasesTypeId> reader = const _AnyAmbiguousAliasesTypeIdReader();
static const fb.Reader<AnyAmbiguousAliasesTypeId> reader = _AnyAmbiguousAliasesTypeIdReader();
@override
String toString() {
@@ -248,13 +248,13 @@ class _AnyAmbiguousAliasesTypeIdReader extends fb.Reader<AnyAmbiguousAliasesType
@override
AnyAmbiguousAliasesTypeId read(fb.BufferContext bc, int offset) =>
new AnyAmbiguousAliasesTypeId.fromValue(const fb.Uint8Reader().read(bc, offset));
AnyAmbiguousAliasesTypeId.fromValue(const fb.Uint8Reader().read(bc, offset));
}
class Test {
Test._(this._bc, this._bcOffset);
static const fb.Reader<Test> reader = const _TestReader();
static const fb.Reader<Test> reader = _TestReader();
final fb.BufferContext _bc;
final int _bcOffset;
@@ -306,11 +306,11 @@ class _TestReader extends fb.StructReader<Test> {
@override
Test createObject(fb.BufferContext bc, int offset) =>
new Test._(bc, offset);
Test._(bc, offset);
}
class TestBuilder {
TestBuilder(this.fbBuilder) {}
TestBuilder(this.fbBuilder);
final fb.Builder fbBuilder;
@@ -346,20 +346,19 @@ class TestObjectBuilder extends fb.ObjectBuilder {
/// Convenience method to serialize to byte list.
@override
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder(deduplicateTables: false);
int offset = finish(fbBuilder);
fbBuilder.finish(offset, fileIdentifier);
final fbBuilder = fb.Builder(deduplicateTables: false);
fbBuilder.finish(finish(fbBuilder), fileIdentifier);
return fbBuilder.buffer;
}
}
class TestSimpleTableWithEnum {
TestSimpleTableWithEnum._(this._bc, this._bcOffset);
factory TestSimpleTableWithEnum(List<int> bytes) {
fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes);
final rootRef = fb.BufferContext.fromBytes(bytes);
return reader.read(rootRef, 0);
}
static const fb.Reader<TestSimpleTableWithEnum> reader = const _TestSimpleTableWithEnumReader();
static const fb.Reader<TestSimpleTableWithEnum> reader = _TestSimpleTableWithEnumReader();
final fb.BufferContext _bc;
final int _bcOffset;
@@ -403,11 +402,11 @@ class _TestSimpleTableWithEnumReader extends fb.TableReader<TestSimpleTableWithE
@override
TestSimpleTableWithEnum createObject(fb.BufferContext bc, int offset) =>
new TestSimpleTableWithEnum._(bc, offset);
TestSimpleTableWithEnum._(bc, offset);
}
class TestSimpleTableWithEnumBuilder {
TestSimpleTableWithEnumBuilder(this.fbBuilder) {}
TestSimpleTableWithEnumBuilder(this.fbBuilder);
final fb.Builder fbBuilder;
@@ -444,16 +443,15 @@ class TestSimpleTableWithEnumObjectBuilder extends fb.ObjectBuilder {
/// Convenience method to serialize to byte list.
@override
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder(deduplicateTables: false);
int offset = finish(fbBuilder);
fbBuilder.finish(offset, fileIdentifier);
final fbBuilder = fb.Builder(deduplicateTables: false);
fbBuilder.finish(finish(fbBuilder), fileIdentifier);
return fbBuilder.buffer;
}
}
class Vec3 {
Vec3._(this._bc, this._bcOffset);
static const fb.Reader<Vec3> reader = const _Vec3Reader();
static const fb.Reader<Vec3> reader = _Vec3Reader();
final fb.BufferContext _bc;
final int _bcOffset;
@@ -527,11 +525,11 @@ class _Vec3Reader extends fb.StructReader<Vec3> {
@override
Vec3 createObject(fb.BufferContext bc, int offset) =>
new Vec3._(bc, offset);
Vec3._(bc, offset);
}
class Vec3Builder {
Vec3Builder(this.fbBuilder) {}
Vec3Builder(this.fbBuilder);
final fb.Builder fbBuilder;
@@ -591,16 +589,15 @@ class Vec3ObjectBuilder extends fb.ObjectBuilder {
/// Convenience method to serialize to byte list.
@override
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder(deduplicateTables: false);
int offset = finish(fbBuilder);
fbBuilder.finish(offset, fileIdentifier);
final fbBuilder = fb.Builder(deduplicateTables: false);
fbBuilder.finish(finish(fbBuilder), fileIdentifier);
return fbBuilder.buffer;
}
}
class Ability {
Ability._(this._bc, this._bcOffset);
static const fb.Reader<Ability> reader = const _AbilityReader();
static const fb.Reader<Ability> reader = _AbilityReader();
final fb.BufferContext _bc;
final int _bcOffset;
@@ -651,11 +648,11 @@ class _AbilityReader extends fb.StructReader<Ability> {
@override
Ability createObject(fb.BufferContext bc, int offset) =>
new Ability._(bc, offset);
Ability._(bc, offset);
}
class AbilityBuilder {
AbilityBuilder(this.fbBuilder) {}
AbilityBuilder(this.fbBuilder);
final fb.Builder fbBuilder;
@@ -689,16 +686,15 @@ class AbilityObjectBuilder extends fb.ObjectBuilder {
/// Convenience method to serialize to byte list.
@override
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder(deduplicateTables: false);
int offset = finish(fbBuilder);
fbBuilder.finish(offset, fileIdentifier);
final fbBuilder = fb.Builder(deduplicateTables: false);
fbBuilder.finish(finish(fbBuilder), fileIdentifier);
return fbBuilder.buffer;
}
}
class StructOfStructs {
StructOfStructs._(this._bc, this._bcOffset);
static const fb.Reader<StructOfStructs> reader = const _StructOfStructsReader();
static const fb.Reader<StructOfStructs> reader = _StructOfStructsReader();
final fb.BufferContext _bc;
final int _bcOffset;
@@ -754,11 +750,11 @@ class _StructOfStructsReader extends fb.StructReader<StructOfStructs> {
@override
StructOfStructs createObject(fb.BufferContext bc, int offset) =>
new StructOfStructs._(bc, offset);
StructOfStructs._(bc, offset);
}
class StructOfStructsBuilder {
StructOfStructsBuilder(this.fbBuilder) {}
StructOfStructsBuilder(this.fbBuilder);
final fb.Builder fbBuilder;
@@ -797,20 +793,19 @@ class StructOfStructsObjectBuilder extends fb.ObjectBuilder {
/// Convenience method to serialize to byte list.
@override
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder(deduplicateTables: false);
int offset = finish(fbBuilder);
fbBuilder.finish(offset, fileIdentifier);
final fbBuilder = fb.Builder(deduplicateTables: false);
fbBuilder.finish(finish(fbBuilder), fileIdentifier);
return fbBuilder.buffer;
}
}
class Stat {
Stat._(this._bc, this._bcOffset);
factory Stat(List<int> bytes) {
fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes);
final rootRef = fb.BufferContext.fromBytes(bytes);
return reader.read(rootRef, 0);
}
static const fb.Reader<Stat> reader = const _StatReader();
static const fb.Reader<Stat> reader = _StatReader();
final fb.BufferContext _bc;
final int _bcOffset;
@@ -866,11 +861,11 @@ class _StatReader extends fb.TableReader<Stat> {
@override
Stat createObject(fb.BufferContext bc, int offset) =>
new Stat._(bc, offset);
Stat._(bc, offset);
}
class StatBuilder {
StatBuilder(this.fbBuilder) {}
StatBuilder(this.fbBuilder);
final fb.Builder fbBuilder;
@@ -925,20 +920,19 @@ class StatObjectBuilder extends fb.ObjectBuilder {
/// Convenience method to serialize to byte list.
@override
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder(deduplicateTables: false);
int offset = finish(fbBuilder);
fbBuilder.finish(offset, fileIdentifier);
final fbBuilder = fb.Builder(deduplicateTables: false);
fbBuilder.finish(finish(fbBuilder), fileIdentifier);
return fbBuilder.buffer;
}
}
class Referrable {
Referrable._(this._bc, this._bcOffset);
factory Referrable(List<int> bytes) {
fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes);
final rootRef = fb.BufferContext.fromBytes(bytes);
return reader.read(rootRef, 0);
}
static const fb.Reader<Referrable> reader = const _ReferrableReader();
static const fb.Reader<Referrable> reader = _ReferrableReader();
final fb.BufferContext _bc;
final int _bcOffset;
@@ -982,11 +976,11 @@ class _ReferrableReader extends fb.TableReader<Referrable> {
@override
Referrable createObject(fb.BufferContext bc, int offset) =>
new Referrable._(bc, offset);
Referrable._(bc, offset);
}
class ReferrableBuilder {
ReferrableBuilder(this.fbBuilder) {}
ReferrableBuilder(this.fbBuilder);
final fb.Builder fbBuilder;
@@ -1023,9 +1017,8 @@ class ReferrableObjectBuilder extends fb.ObjectBuilder {
/// Convenience method to serialize to byte list.
@override
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder(deduplicateTables: false);
int offset = finish(fbBuilder);
fbBuilder.finish(offset, fileIdentifier);
final fbBuilder = fb.Builder(deduplicateTables: false);
fbBuilder.finish(finish(fbBuilder), fileIdentifier);
return fbBuilder.buffer;
}
}
@@ -1033,11 +1026,11 @@ class ReferrableObjectBuilder extends fb.ObjectBuilder {
class Monster {
Monster._(this._bc, this._bcOffset);
factory Monster(List<int> bytes) {
fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes);
final rootRef = fb.BufferContext.fromBytes(bytes);
return reader.read(rootRef, 0);
}
static const fb.Reader<Monster> reader = const _MonsterReader();
static const fb.Reader<Monster> reader = _MonsterReader();
final fb.BufferContext _bc;
final int _bcOffset;
@@ -1046,10 +1039,10 @@ class Monster {
int get mana => const fb.Int16Reader().vTableGet(_bc, _bcOffset, 6, 150);
int get hp => const fb.Int16Reader().vTableGet(_bc, _bcOffset, 8, 100);
String? get name => const fb.StringReader().vTableGetNullable(_bc, _bcOffset, 10);
List<int>? get inventory => const fb.ListReader<int>(const fb.Uint8Reader()).vTableGetNullable(_bc, _bcOffset, 14);
List<int>? get inventory => const fb.ListReader<int>(fb.Uint8Reader()).vTableGetNullable(_bc, _bcOffset, 14);
Color get color => Color.fromValue(const fb.Uint8Reader().vTableGet(_bc, _bcOffset, 16, 8));
AnyTypeId? get testType => AnyTypeId._createOrNull(const fb.Uint8Reader().vTableGetNullable(_bc, _bcOffset, 18));
dynamic? get test {
dynamic get test {
switch (testType?.value) {
case 1: return Monster.reader.vTableGetNullable(_bc, _bcOffset, 20);
case 2: return TestSimpleTableWithEnum.reader.vTableGetNullable(_bc, _bcOffset, 20);
@@ -1058,12 +1051,12 @@ class Monster {
}
}
List<Test>? get test4 => const fb.ListReader<Test>(Test.reader).vTableGetNullable(_bc, _bcOffset, 22);
List<String>? get testarrayofstring => const fb.ListReader<String>(const fb.StringReader()).vTableGetNullable(_bc, _bcOffset, 24);
List<String>? get testarrayofstring => const fb.ListReader<String>(fb.StringReader()).vTableGetNullable(_bc, _bcOffset, 24);
/// an example documentation comment: this will end up in the generated code
/// multiline too
List<Monster>? get testarrayoftables => const fb.ListReader<Monster>(Monster.reader).vTableGetNullable(_bc, _bcOffset, 26);
Monster? get enemy => Monster.reader.vTableGetNullable(_bc, _bcOffset, 28);
List<int>? get testnestedflatbuffer => const fb.ListReader<int>(const fb.Uint8Reader()).vTableGetNullable(_bc, _bcOffset, 30);
List<int>? get testnestedflatbuffer => const fb.ListReader<int>(fb.Uint8Reader()).vTableGetNullable(_bc, _bcOffset, 30);
Stat? get testempty => Stat.reader.vTableGetNullable(_bc, _bcOffset, 32);
bool get testbool => const fb.BoolReader().vTableGet(_bc, _bcOffset, 34, false);
int get testhashs32Fnv1 => const fb.Int32Reader().vTableGet(_bc, _bcOffset, 36, 0);
@@ -1074,27 +1067,27 @@ class Monster {
int get testhashu32Fnv1a => const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 46, 0);
int get testhashs64Fnv1a => const fb.Int64Reader().vTableGet(_bc, _bcOffset, 48, 0);
int get testhashu64Fnv1a => const fb.Uint64Reader().vTableGet(_bc, _bcOffset, 50, 0);
List<bool>? get testarrayofbools => const fb.ListReader<bool>(const fb.BoolReader()).vTableGetNullable(_bc, _bcOffset, 52);
List<bool>? get testarrayofbools => const fb.ListReader<bool>(fb.BoolReader()).vTableGetNullable(_bc, _bcOffset, 52);
double get testf => const fb.Float32Reader().vTableGet(_bc, _bcOffset, 54, 3.14159);
double get testf2 => const fb.Float32Reader().vTableGet(_bc, _bcOffset, 56, 3.0);
double get testf3 => const fb.Float32Reader().vTableGet(_bc, _bcOffset, 58, 0.0);
List<String>? get testarrayofstring2 => const fb.ListReader<String>(const fb.StringReader()).vTableGetNullable(_bc, _bcOffset, 60);
List<String>? get testarrayofstring2 => const fb.ListReader<String>(fb.StringReader()).vTableGetNullable(_bc, _bcOffset, 60);
List<Ability>? get testarrayofsortedstruct => const fb.ListReader<Ability>(Ability.reader).vTableGetNullable(_bc, _bcOffset, 62);
List<int>? get flex => const fb.ListReader<int>(const fb.Uint8Reader()).vTableGetNullable(_bc, _bcOffset, 64);
List<int>? get flex => const fb.ListReader<int>(fb.Uint8Reader()).vTableGetNullable(_bc, _bcOffset, 64);
List<Test>? get test5 => const fb.ListReader<Test>(Test.reader).vTableGetNullable(_bc, _bcOffset, 66);
List<int>? get vectorOfLongs => const fb.ListReader<int>(const fb.Int64Reader()).vTableGetNullable(_bc, _bcOffset, 68);
List<double>? get vectorOfDoubles => const fb.ListReader<double>(const fb.Float64Reader()).vTableGetNullable(_bc, _bcOffset, 70);
List<int>? get vectorOfLongs => const fb.ListReader<int>(fb.Int64Reader()).vTableGetNullable(_bc, _bcOffset, 68);
List<double>? get vectorOfDoubles => const fb.ListReader<double>(fb.Float64Reader()).vTableGetNullable(_bc, _bcOffset, 70);
my_game.InParentNamespace? get parentNamespaceTest => my_game.InParentNamespace.reader.vTableGetNullable(_bc, _bcOffset, 72);
List<Referrable>? get vectorOfReferrables => const fb.ListReader<Referrable>(Referrable.reader).vTableGetNullable(_bc, _bcOffset, 74);
int get singleWeakReference => const fb.Uint64Reader().vTableGet(_bc, _bcOffset, 76, 0);
List<int>? get vectorOfWeakReferences => const fb.ListReader<int>(const fb.Uint64Reader()).vTableGetNullable(_bc, _bcOffset, 78);
List<int>? get vectorOfWeakReferences => const fb.ListReader<int>(fb.Uint64Reader()).vTableGetNullable(_bc, _bcOffset, 78);
List<Referrable>? get vectorOfStrongReferrables => const fb.ListReader<Referrable>(Referrable.reader).vTableGetNullable(_bc, _bcOffset, 80);
int get coOwningReference => const fb.Uint64Reader().vTableGet(_bc, _bcOffset, 82, 0);
List<int>? get vectorOfCoOwningReferences => const fb.ListReader<int>(const fb.Uint64Reader()).vTableGetNullable(_bc, _bcOffset, 84);
List<int>? get vectorOfCoOwningReferences => const fb.ListReader<int>(fb.Uint64Reader()).vTableGetNullable(_bc, _bcOffset, 84);
int get nonOwningReference => const fb.Uint64Reader().vTableGet(_bc, _bcOffset, 86, 0);
List<int>? get vectorOfNonOwningReferences => const fb.ListReader<int>(const fb.Uint64Reader()).vTableGetNullable(_bc, _bcOffset, 88);
List<int>? get vectorOfNonOwningReferences => const fb.ListReader<int>(fb.Uint64Reader()).vTableGetNullable(_bc, _bcOffset, 88);
AnyUniqueAliasesTypeId? get anyUniqueType => AnyUniqueAliasesTypeId._createOrNull(const fb.Uint8Reader().vTableGetNullable(_bc, _bcOffset, 90));
dynamic? get anyUnique {
dynamic get anyUnique {
switch (anyUniqueType?.value) {
case 1: return Monster.reader.vTableGetNullable(_bc, _bcOffset, 92);
case 2: return TestSimpleTableWithEnum.reader.vTableGetNullable(_bc, _bcOffset, 92);
@@ -1103,7 +1096,7 @@ class Monster {
}
}
AnyAmbiguousAliasesTypeId? get anyAmbiguousType => AnyAmbiguousAliasesTypeId._createOrNull(const fb.Uint8Reader().vTableGetNullable(_bc, _bcOffset, 94));
dynamic? get anyAmbiguous {
dynamic get anyAmbiguous {
switch (anyAmbiguousType?.value) {
case 1: return Monster.reader.vTableGetNullable(_bc, _bcOffset, 96);
case 2: return Monster.reader.vTableGetNullable(_bc, _bcOffset, 96);
@@ -1113,7 +1106,7 @@ class Monster {
}
List<Color>? get vectorOfEnums => const fb.ListReader<Color>(Color.reader).vTableGetNullable(_bc, _bcOffset, 98);
Race get signedEnum => Race.fromValue(const fb.Int8Reader().vTableGet(_bc, _bcOffset, 100, -1));
List<int>? get testrequirednestedflatbuffer => const fb.ListReader<int>(const fb.Uint8Reader()).vTableGetNullable(_bc, _bcOffset, 102);
List<int>? get testrequirednestedflatbuffer => const fb.ListReader<int>(fb.Uint8Reader()).vTableGetNullable(_bc, _bcOffset, 102);
List<Stat>? get scalarKeySortedTables => const fb.ListReader<Stat>(Stat.reader).vTableGetNullable(_bc, _bcOffset, 104);
@override
@@ -1126,15 +1119,15 @@ class Monster {
mana: mana,
hp: hp,
name: name,
inventory: const fb.ListReader<int>(const fb.Uint8Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 14),
inventory: const fb.ListReader<int>(fb.Uint8Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 14),
color: color,
testType: testType,
test: test,
test4: test4?.map((e) => e.unpack()).toList(),
testarrayofstring: const fb.ListReader<String>(const fb.StringReader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 24),
testarrayofstring: const fb.ListReader<String>(fb.StringReader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 24),
testarrayoftables: testarrayoftables?.map((e) => e.unpack()).toList(),
enemy: enemy?.unpack(),
testnestedflatbuffer: const fb.ListReader<int>(const fb.Uint8Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 30),
testnestedflatbuffer: const fb.ListReader<int>(fb.Uint8Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 30),
testempty: testempty?.unpack(),
testbool: testbool,
testhashs32Fnv1: testhashs32Fnv1,
@@ -1145,32 +1138,32 @@ class Monster {
testhashu32Fnv1a: testhashu32Fnv1a,
testhashs64Fnv1a: testhashs64Fnv1a,
testhashu64Fnv1a: testhashu64Fnv1a,
testarrayofbools: const fb.ListReader<bool>(const fb.BoolReader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 52),
testarrayofbools: const fb.ListReader<bool>(fb.BoolReader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 52),
testf: testf,
testf2: testf2,
testf3: testf3,
testarrayofstring2: const fb.ListReader<String>(const fb.StringReader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 60),
testarrayofstring2: const fb.ListReader<String>(fb.StringReader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 60),
testarrayofsortedstruct: testarrayofsortedstruct?.map((e) => e.unpack()).toList(),
flex: const fb.ListReader<int>(const fb.Uint8Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 64),
flex: const fb.ListReader<int>(fb.Uint8Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 64),
test5: test5?.map((e) => e.unpack()).toList(),
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),
vectorOfLongs: const fb.ListReader<int>(fb.Int64Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 68),
vectorOfDoubles: const fb.ListReader<double>(fb.Float64Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 70),
parentNamespaceTest: parentNamespaceTest?.unpack(),
vectorOfReferrables: vectorOfReferrables?.map((e) => e.unpack()).toList(),
singleWeakReference: singleWeakReference,
vectorOfWeakReferences: const fb.ListReader<int>(const fb.Uint64Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 78),
vectorOfWeakReferences: const fb.ListReader<int>(fb.Uint64Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 78),
vectorOfStrongReferrables: vectorOfStrongReferrables?.map((e) => e.unpack()).toList(),
coOwningReference: coOwningReference,
vectorOfCoOwningReferences: const fb.ListReader<int>(const fb.Uint64Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 84),
vectorOfCoOwningReferences: const fb.ListReader<int>(fb.Uint64Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 84),
nonOwningReference: nonOwningReference,
vectorOfNonOwningReferences: const fb.ListReader<int>(const fb.Uint64Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 88),
vectorOfNonOwningReferences: const fb.ListReader<int>(fb.Uint64Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 88),
anyUniqueType: anyUniqueType,
anyUnique: anyUnique,
anyAmbiguousType: anyAmbiguousType,
anyAmbiguous: anyAmbiguous,
vectorOfEnums: const fb.ListReader<Color>(Color.reader, lazy: false).vTableGetNullable(_bc, _bcOffset, 98),
signedEnum: signedEnum,
testrequirednestedflatbuffer: const fb.ListReader<int>(const fb.Uint8Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 102),
testrequirednestedflatbuffer: const fb.ListReader<int>(fb.Uint8Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 102),
scalarKeySortedTables: scalarKeySortedTables?.map((e) => e.unpack()).toList());
static int pack(fb.Builder fbBuilder, MonsterT? object) {
@@ -1188,7 +1181,7 @@ class MonsterT {
List<int>? inventory;
Color color;
AnyTypeId? testType;
dynamic? test;
dynamic test;
List<TestT>? test4;
List<String>? testarrayofstring;
/// an example documentation comment: this will end up in the generated code
@@ -1226,9 +1219,9 @@ class MonsterT {
int nonOwningReference;
List<int>? vectorOfNonOwningReferences;
AnyUniqueAliasesTypeId? anyUniqueType;
dynamic? anyUnique;
dynamic anyUnique;
AnyAmbiguousAliasesTypeId? anyAmbiguousType;
dynamic? anyAmbiguous;
dynamic anyAmbiguous;
List<Color>? vectorOfEnums;
Race signedEnum;
List<int>? testrequirednestedflatbuffer;
@@ -1292,9 +1285,9 @@ class MonsterT {
final int? inventoryOffset = inventory == null ? null
: fbBuilder.writeListUint8(inventory!);
final int? testOffset = test?.pack(fbBuilder);
int? test4Offset = null;
int? test4Offset;
if (test4 != null) {
test4!.forEach((e) => e.pack(fbBuilder));
for (var e in test4!) { e.pack(fbBuilder); }
test4Offset = fbBuilder.endStructVector(test4!.length);
}
final int? testarrayofstringOffset = testarrayofstring == null ? null
@@ -1309,16 +1302,16 @@ class MonsterT {
: fbBuilder.writeListBool(testarrayofbools!);
final int? testarrayofstring2Offset = testarrayofstring2 == null ? null
: fbBuilder.writeList(testarrayofstring2!.map(fbBuilder.writeString).toList());
int? testarrayofsortedstructOffset = null;
int? testarrayofsortedstructOffset;
if (testarrayofsortedstruct != null) {
testarrayofsortedstruct!.forEach((e) => e.pack(fbBuilder));
for (var e in testarrayofsortedstruct!) { e.pack(fbBuilder); }
testarrayofsortedstructOffset = fbBuilder.endStructVector(testarrayofsortedstruct!.length);
}
final int? flexOffset = flex == null ? null
: fbBuilder.writeListUint8(flex!);
int? test5Offset = null;
int? test5Offset;
if (test5 != null) {
test5!.forEach((e) => e.pack(fbBuilder));
for (var e in test5!) { e.pack(fbBuilder); }
test5Offset = fbBuilder.endStructVector(test5!.length);
}
final int? vectorOfLongsOffset = vectorOfLongs == null ? null
@@ -1411,11 +1404,11 @@ class _MonsterReader extends fb.TableReader<Monster> {
@override
Monster createObject(fb.BufferContext bc, int offset) =>
new Monster._(bc, offset);
Monster._(bc, offset);
}
class MonsterBuilder {
MonsterBuilder(this.fbBuilder) {}
MonsterBuilder(this.fbBuilder);
final fb.Builder fbBuilder;
@@ -1637,7 +1630,7 @@ class MonsterObjectBuilder extends fb.ObjectBuilder {
final List<int>? _inventory;
final Color? _color;
final AnyTypeId? _testType;
final dynamic? _test;
final dynamic _test;
final List<TestObjectBuilder>? _test4;
final List<String>? _testarrayofstring;
final List<MonsterObjectBuilder>? _testarrayoftables;
@@ -1673,9 +1666,9 @@ class MonsterObjectBuilder extends fb.ObjectBuilder {
final int? _nonOwningReference;
final List<int>? _vectorOfNonOwningReferences;
final AnyUniqueAliasesTypeId? _anyUniqueType;
final dynamic? _anyUnique;
final dynamic _anyUnique;
final AnyAmbiguousAliasesTypeId? _anyAmbiguousType;
final dynamic? _anyAmbiguous;
final dynamic _anyAmbiguous;
final List<Color>? _vectorOfEnums;
final Race? _signedEnum;
final List<int>? _testrequirednestedflatbuffer;
@@ -1689,7 +1682,7 @@ class MonsterObjectBuilder extends fb.ObjectBuilder {
List<int>? inventory,
Color? color,
AnyTypeId? testType,
dynamic? test,
dynamic test,
List<TestObjectBuilder>? test4,
List<String>? testarrayofstring,
List<MonsterObjectBuilder>? testarrayoftables,
@@ -1725,9 +1718,9 @@ class MonsterObjectBuilder extends fb.ObjectBuilder {
int? nonOwningReference,
List<int>? vectorOfNonOwningReferences,
AnyUniqueAliasesTypeId? anyUniqueType,
dynamic? anyUnique,
dynamic anyUnique,
AnyAmbiguousAliasesTypeId? anyAmbiguousType,
dynamic? anyAmbiguous,
dynamic anyAmbiguous,
List<Color>? vectorOfEnums,
Race? signedEnum,
List<int>? testrequirednestedflatbuffer,
@@ -1894,20 +1887,19 @@ class MonsterObjectBuilder extends fb.ObjectBuilder {
/// Convenience method to serialize to byte list.
@override
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder(deduplicateTables: false);
int offset = finish(fbBuilder);
fbBuilder.finish(offset, fileIdentifier);
final fbBuilder = fb.Builder(deduplicateTables: false);
fbBuilder.finish(finish(fbBuilder), fileIdentifier);
return fbBuilder.buffer;
}
}
class TypeAliases {
TypeAliases._(this._bc, this._bcOffset);
factory TypeAliases(List<int> bytes) {
fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes);
final rootRef = fb.BufferContext.fromBytes(bytes);
return reader.read(rootRef, 0);
}
static const fb.Reader<TypeAliases> reader = const _TypeAliasesReader();
static const fb.Reader<TypeAliases> reader = _TypeAliasesReader();
final fb.BufferContext _bc;
final int _bcOffset;
@@ -1922,8 +1914,8 @@ class TypeAliases {
int get u64 => const fb.Uint64Reader().vTableGet(_bc, _bcOffset, 18, 0);
double get f32 => const fb.Float32Reader().vTableGet(_bc, _bcOffset, 20, 0.0);
double get f64 => const fb.Float64Reader().vTableGet(_bc, _bcOffset, 22, 0.0);
List<int>? get v8 => const fb.ListReader<int>(const fb.Int8Reader()).vTableGetNullable(_bc, _bcOffset, 24);
List<double>? get vf64 => const fb.ListReader<double>(const fb.Float64Reader()).vTableGetNullable(_bc, _bcOffset, 26);
List<int>? get v8 => const fb.ListReader<int>(fb.Int8Reader()).vTableGetNullable(_bc, _bcOffset, 24);
List<double>? get vf64 => const fb.ListReader<double>(fb.Float64Reader()).vTableGetNullable(_bc, _bcOffset, 26);
@override
String toString() {
@@ -1941,8 +1933,8 @@ class TypeAliases {
u64: u64,
f32: f32,
f64: f64,
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));
v8: const fb.ListReader<int>(fb.Int8Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 24),
vf64: const fb.ListReader<double>(fb.Float64Reader(), lazy: false).vTableGetNullable(_bc, _bcOffset, 26));
static int pack(fb.Builder fbBuilder, TypeAliasesT? object) {
if (object == null) return 0;
@@ -2010,11 +2002,11 @@ class _TypeAliasesReader extends fb.TableReader<TypeAliases> {
@override
TypeAliases createObject(fb.BufferContext bc, int offset) =>
new TypeAliases._(bc, offset);
TypeAliases._(bc, offset);
}
class TypeAliasesBuilder {
TypeAliasesBuilder(this.fbBuilder) {}
TypeAliasesBuilder(this.fbBuilder);
final fb.Builder fbBuilder;
@@ -2143,9 +2135,8 @@ class TypeAliasesObjectBuilder extends fb.ObjectBuilder {
/// Convenience method to serialize to byte list.
@override
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder(deduplicateTables: false);
int offset = finish(fbBuilder);
fbBuilder.finish(offset, fileIdentifier);
final fbBuilder = fb.Builder(deduplicateTables: false);
fbBuilder.finish(finish(fbBuilder), fileIdentifier);
return fbBuilder.buffer;
}
}

View File

@@ -12,11 +12,11 @@ import './monster_test_my_game.example2_generated.dart' as my_game_example2;
class InParentNamespace {
InParentNamespace._(this._bc, this._bcOffset);
factory InParentNamespace(List<int> bytes) {
fb.BufferContext rootRef = new fb.BufferContext.fromBytes(bytes);
final rootRef = fb.BufferContext.fromBytes(bytes);
return reader.read(rootRef, 0);
}
static const fb.Reader<InParentNamespace> reader = const _InParentNamespaceReader();
static const fb.Reader<InParentNamespace> reader = _InParentNamespaceReader();
final fb.BufferContext _bc;
final int _bcOffset;
@@ -52,7 +52,7 @@ class _InParentNamespaceReader extends fb.TableReader<InParentNamespace> {
@override
InParentNamespace createObject(fb.BufferContext bc, int offset) =>
new InParentNamespace._(bc, offset);
InParentNamespace._(bc, offset);
}
class InParentNamespaceObjectBuilder extends fb.ObjectBuilder {
@@ -69,9 +69,8 @@ class InParentNamespaceObjectBuilder extends fb.ObjectBuilder {
/// Convenience method to serialize to byte list.
@override
Uint8List toBytes([String? fileIdentifier]) {
fb.Builder fbBuilder = new fb.Builder(deduplicateTables: false);
int offset = finish(fbBuilder);
fbBuilder.finish(offset, fileIdentifier);
final fbBuilder = fb.Builder(deduplicateTables: false);
fbBuilder.finish(finish(fbBuilder), fileIdentifier);
return fbBuilder.buffer;
}
}