Chromium Code Reviews| Index: pkg/analyzer/tool/summary/generate.dart |
| diff --git a/pkg/analyzer/tool/summary/generate.dart b/pkg/analyzer/tool/summary/generate.dart |
| index fba35c3a74d27187855ffd5a2733bba5123dce5f..41bfa2933628534327648552846da00d673fa1f8 100644 |
| --- a/pkg/analyzer/tool/summary/generate.dart |
| +++ b/pkg/analyzer/tool/summary/generate.dart |
| @@ -124,6 +124,8 @@ class _CodeGenerator { |
| // List of classes is ok |
| } else if (_idl.enums.containsKey(type.typeName)) { |
| // List of enums is ok |
| + } else if (type.typeName == 'bool') { |
| + // List of booleans is ok |
| } else if (type.typeName == 'int') { |
| // List of ints is ok |
| } else if (type.typeName == 'double') { |
| @@ -355,6 +357,9 @@ class _CodeGenerator { |
| break; |
| } |
| if (type.isList) { |
| + if (typeStr == 'bool') { |
| + typeStr = 'ubyte'; |
|
Paul Berry
2016/03/01 17:06:19
It would be nice to have a comment here explaining
scheglov
2016/03/01 19:05:34
Done.
|
| + } |
| return '[$typeStr]'; |
| } else { |
| return typeStr; |
| @@ -606,6 +611,9 @@ class _CodeGenerator { |
| String itemCode = 'b.index'; |
| String listCode = '$valueName.map((b) => $itemCode).toList()'; |
| writeCode = '$offsetName = fbBuilder.writeListUint8($listCode);'; |
| + } else if (fieldType.typeName == 'bool') { |
| + writeCode = |
| + '$offsetName = fbBuilder.writeListBool($valueName);'; |
| } else if (fieldType.typeName == 'int') { |
| writeCode = |
| '$offsetName = fbBuilder.writeListUint32($valueName);'; |
| @@ -723,7 +731,9 @@ class _CodeGenerator { |
| String readCode; |
| String def = defaultValue(type, false); |
| if (type.isList) { |
| - if (typeName == 'int') { |
| + if (typeName == 'bool') { |
| + readCode = 'const fb.BoolListReader()'; |
| + } else if (typeName == 'int') { |
| readCode = 'const fb.Uint32ListReader()'; |
| } else if (typeName == 'double') { |
| readCode = 'const fb.Float64ListReader()'; |