| Index: pkg/analyzer/tool/summary/generate.dart
|
| diff --git a/pkg/analyzer/tool/summary/generate.dart b/pkg/analyzer/tool/summary/generate.dart
|
| index c748efa74207e8b6e4378968339ef177e63e8de7..e35808b5a8f672f5b5ca3d2d7a7beddeda750a03 100644
|
| --- a/pkg/analyzer/tool/summary/generate.dart
|
| +++ b/pkg/analyzer/tool/summary/generate.dart
|
| @@ -615,8 +615,7 @@ class _CodeGenerator {
|
| String listCode = '$valueName.map((b) => $itemCode).toList()';
|
| writeCode = '$offsetName = fbBuilder.writeListUint8($listCode);';
|
| } else if (fieldType.typeName == 'bool') {
|
| - writeCode =
|
| - '$offsetName = fbBuilder.writeListBool($valueName);';
|
| + writeCode = '$offsetName = fbBuilder.writeListBool($valueName);';
|
| } else if (fieldType.typeName == 'int') {
|
| writeCode =
|
| '$offsetName = fbBuilder.writeListUint32($valueName);';
|
| @@ -689,6 +688,8 @@ class _CodeGenerator {
|
| void _generateEnumReader(idlModel.EnumDeclaration enm) {
|
| String name = enm.name;
|
| String readerName = '_${name}Reader';
|
| + String count = '${idlPrefix(name)}.values.length';
|
| + String def = '${idlPrefix(name)}.${enm.values[0].name}';
|
| out('class $readerName extends fb.Reader<${idlPrefix(name)}> {');
|
| indent(() {
|
| out('const $readerName() : super();');
|
| @@ -700,7 +701,7 @@ class _CodeGenerator {
|
| out('${idlPrefix(name)} read(fb.BufferPointer bp) {');
|
| indent(() {
|
| out('int index = const fb.Uint8Reader().read(bp);');
|
| - out('return ${idlPrefix(name)}.values[index];');
|
| + out('return index < $count ? ${idlPrefix(name)}.values[index] : $def;');
|
| });
|
| out('}');
|
| });
|
|
|