Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(192)

Unified Diff: pkg/compiler/lib/src/serialization/element_serialization.dart

Issue 1808133002: Revert "Use JS backend in serialization_analysis_test" (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/compiler/lib/src/native/enqueue.dart ('k') | pkg/compiler/lib/src/serialization/modelz.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 ce297225db7ffda9bbd8d138868891a4c96543a6..173dd1e9d2f9f8461465b4ba94f0a203a8e0b056 100644
--- a/pkg/compiler/lib/src/serialization/element_serialization.dart
+++ b/pkg/compiler/lib/src/serialization/element_serialization.dart
@@ -19,7 +19,6 @@ enum SerializedElementKind {
LIBRARY,
COMPILATION_UNIT,
CLASS,
- ENUM,
GENERATIVE_CONSTRUCTOR,
FACTORY_CONSTRUCTOR,
TOPLEVEL_FIELD,
@@ -117,25 +116,24 @@ class SerializerUtil {
}
/// Returns a function that adds the underlying declared elements for a
- /// particular element into [set].
+ /// particular element into [list].
///
/// For instance, for an [AbstractFieldElement] the getter and setter elements
/// are added, if available.
- static flattenElements(Set<Element> set) {
+ static flattenElements(List<Element> list) {
return (Element element) {
- if (element.isPatch) return;
// TODO(johnniwinther): Handle ambiguous elements.
if (element.isAmbiguous) return;
if (element.isAbstractField) {
AbstractFieldElement abstractField = element;
if (abstractField.getter != null) {
- set.add(abstractField.getter);
+ list.add(abstractField.getter);
}
if (abstractField.setter != null) {
- set.add(abstractField.setter);
+ list.add(abstractField.setter);
}
} else {
- set.add(element);
+ list.add(element);
}
};
}
@@ -151,43 +149,6 @@ class LibrarySerializer implements ElementSerializer {
return null;
}
- static List<CompilationUnitElement> getCompilationUnits(
- LibraryElement element) {
- List<CompilationUnitElement> compilationUnits = <CompilationUnitElement>[];
- compilationUnits.addAll(element.compilationUnits.toList());
- if (element.isPatched) {
- compilationUnits.addAll(element.implementation.compilationUnits.toList());
- }
- return compilationUnits;
- }
-
- static List<ImportElement> getImports(LibraryElement element) {
- List<ImportElement> imports = <ImportElement>[];
- imports.addAll(element.imports);
- if (element.isPatched) {
- imports.addAll(element.implementation.imports);
- }
- return imports;
- }
-
- static List<Element> getImportedElements(
- LibraryElement element) {
- Set<Element> importedElements = new Set<Element>();
- element.forEachImport(SerializerUtil.flattenElements(importedElements));
- if (element.isPatched) {
- element.implementation.forEachImport(
- SerializerUtil.flattenElements(importedElements));
- }
- return importedElements.toList();
- }
-
- static List<Element> getExportedElements(
- LibraryElement element) {
- Set<Element> exportedElements = new Set<Element>();
- element.forEachExport(SerializerUtil.flattenElements(exportedElements));
- return exportedElements.toList();
- }
-
void serialize(LibraryElement element,
ObjectEncoder encoder,
SerializedElementKind kind) {
@@ -196,13 +157,18 @@ class LibrarySerializer implements ElementSerializer {
encoder.setString(Key.LIBRARY_NAME, element.libraryName);
SerializerUtil.serializeMembers(element, encoder);
encoder.setElement(Key.COMPILATION_UNIT, element.entryCompilationUnit);
- encoder.setElements(Key.COMPILATION_UNITS, getCompilationUnits(element));
- encoder.setElements(Key.IMPORTS, getImports(element));
+ encoder.setElements(
+ Key.COMPILATION_UNITS, element.compilationUnits.toList());
+ encoder.setElements(Key.IMPORTS, element.imports);
encoder.setElements(Key.EXPORTS, element.exports);
- encoder.setElements(Key.IMPORT_SCOPE, getImportedElements(element));
+ List<Element> importedElements = <Element>[];
+ element.forEachImport(SerializerUtil.flattenElements(importedElements));
+ encoder.setElements(Key.IMPORT_SCOPE, importedElements);
- encoder.setElements(Key.EXPORT_SCOPE, getExportedElements(element));
+ List<Element> exportedElements = <Element>[];
+ element.forEachExport(SerializerUtil.flattenElements(exportedElements));
+ encoder.setElements(Key.EXPORT_SCOPE, exportedElements);
}
}
@@ -224,11 +190,7 @@ class CompilationUnitSerializer implements ElementSerializer {
encoder.setUri(
Key.URI, element.library.canonicalUri, element.script.resourceUri);
List<Element> elements = <Element>[];
- element.forEachLocalMember((e) {
- if (!element.isPatch) {
- elements.add(e);
- }
- });
+ element.forEachLocalMember((e) => elements.add(e));
encoder.setElements(Key.ELEMENTS, elements);
}
}
@@ -238,10 +200,6 @@ class ClassSerializer implements ElementSerializer {
SerializedElementKind getSerializedKind(Element element) {
if (element.isClass) {
- ClassElement cls = element;
- if (cls.isEnumClass) {
- return SerializedElementKind.ENUM;
- }
return SerializedElementKind.CLASS;
}
return null;
@@ -268,10 +226,6 @@ class ClassSerializer implements ElementSerializer {
supertypes.setInts(Key.OFFSETS, element.allSupertypesAndSelf.levelOffsets);
encoder.setTypes(Key.INTERFACES, element.interfaces.toList());
SerializerUtil.serializeMembers(element, encoder);
- if (kind == SerializedElementKind.ENUM) {
- EnumClassElement enumClass = element;
- encoder.setElements(Key.FIELDS, enumClass.enumValues);
- }
}
}
@@ -386,7 +340,6 @@ class FunctionSerializer implements ElementSerializer {
encoder.setElement(Key.LIBRARY, element.library);
encoder.setElement(Key.COMPILATION_UNIT, element.compilationUnit);
}
- encoder.setBool(Key.IS_EXTERNAL, element.isExternal);
}
}
@@ -555,8 +508,6 @@ class ElementDeserializer {
return new CompilationUnitElementZ(decoder);
case SerializedElementKind.CLASS:
return new ClassElementZ(decoder);
- case SerializedElementKind.ENUM:
- return new EnumClassElementZ(decoder);
case SerializedElementKind.TOPLEVEL_FIELD:
return new TopLevelFieldElementZ(decoder);
case SerializedElementKind.STATIC_FIELD:
« no previous file with comments | « pkg/compiler/lib/src/native/enqueue.dart ('k') | pkg/compiler/lib/src/serialization/modelz.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698