| Index: pkg/kernel/lib/binary/ast_from_binary.dart
|
| diff --git a/pkg/kernel/lib/binary/ast_from_binary.dart b/pkg/kernel/lib/binary/ast_from_binary.dart
|
| index 8c940f69fe5586c80a9aab09cc9354c5f8db56a9..0ca2f6074d92f10566fe8414692cb8963e6e9cdc 100644
|
| --- a/pkg/kernel/lib/binary/ast_from_binary.dart
|
| +++ b/pkg/kernel/lib/binary/ast_from_binary.dart
|
| @@ -324,9 +324,8 @@ class BinaryBuilder {
|
| node.fileOffset = readOffset();
|
| int flags = readByte();
|
| node.isAbstract = flags & 0x1 != 0;
|
| - node.level = _currentLibrary.isExternal
|
| - ? (flags & 0x2 != 0) ? ClassLevel.Type : ClassLevel.Hierarchy
|
| - : ClassLevel.Body;
|
| + int levelIndex = (flags >> 1) & 0x3;
|
| + node.level = ClassLevel.values[levelIndex + 1];
|
| node.name = readStringOrNullIfEmpty();
|
| node.fileUri = readUriReference();
|
| node.annotations = readAnnotationList(node);
|
| @@ -351,9 +350,8 @@ class BinaryBuilder {
|
| node.fileOffset = readOffset();
|
| int flags = readByte();
|
| node.isAbstract = flags & 0x1 != 0;
|
| - node.level = _currentLibrary.isExternal
|
| - ? (flags & 0x2 != 0) ? ClassLevel.Type : ClassLevel.Hierarchy
|
| - : ClassLevel.Body;
|
| + int levelIndex = (flags >> 1) & 0x3;
|
| + node.level = ClassLevel.values[levelIndex];
|
| node.name = readStringOrNullIfEmpty();
|
| node.fileUri = readUriReference();
|
| node.annotations = readAnnotationList(node);
|
|
|