| Index: pkg/compiler/lib/src/serialization/element_serialization.dart
|
| diff --git a/pkg/compiler/lib/src/serialization/element_serialization.dart b/pkg/compiler/lib/src/serialization/element_serialization.dart
|
| index d1d04a37a4d8a98bde60eecdd376d86569bb4d93..d9877a47400d74d13a84a16a114cd0f955e82265 100644
|
| --- a/pkg/compiler/lib/src/serialization/element_serialization.dart
|
| +++ b/pkg/compiler/lib/src/serialization/element_serialization.dart
|
| @@ -43,6 +43,10 @@ enum SerializedElementKind {
|
| IMPORT,
|
| EXPORT,
|
| PREFIX,
|
| + EXTERNAL_LIBRARY,
|
| + EXTERNAL_LIBRARY_MEMBER,
|
| + EXTERNAL_STATIC_MEMBER,
|
| + EXTERNAL_CONSTRUCTOR,
|
| }
|
|
|
| /// Set of serializers used to serialize different kinds of elements by
|
| @@ -593,9 +597,9 @@ class ElementDeserializer {
|
| /// needs deserialization. The [ObjectDecoder] ensures that any [Element],
|
| /// [DartType], and [ConstantExpression] that the deserialized [Element]
|
| /// depends upon are available.
|
| - static Element deserialize(ObjectDecoder decoder) {
|
| - SerializedElementKind elementKind =
|
| - decoder.getEnum(Key.KIND, SerializedElementKind.values);
|
| + static Element deserialize(
|
| + ObjectDecoder decoder,
|
| + SerializedElementKind elementKind) {
|
| switch (elementKind) {
|
| case SerializedElementKind.LIBRARY:
|
| return new LibraryElementZ(decoder);
|
| @@ -651,6 +655,11 @@ class ElementDeserializer {
|
| return new ExportElementZ(decoder);
|
| case SerializedElementKind.PREFIX:
|
| return new PrefixElementZ(decoder);
|
| + case SerializedElementKind.EXTERNAL_LIBRARY:
|
| + case SerializedElementKind.EXTERNAL_LIBRARY_MEMBER:
|
| + case SerializedElementKind.EXTERNAL_STATIC_MEMBER:
|
| + case SerializedElementKind.EXTERNAL_CONSTRUCTOR:
|
| + break;
|
| }
|
| throw new UnsupportedError("Unexpected element kind '${elementKind}.");
|
| }
|
|
|