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

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

Issue 2007573002: Support multiple serialization sources in DeserializerSystemImpl. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 4 years, 7 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
Index: pkg/compiler/lib/src/serialization/system.dart
diff --git a/pkg/compiler/lib/src/serialization/system.dart b/pkg/compiler/lib/src/serialization/system.dart
index 8db5c4bede2fa7c1552477b06f50802af58745e6..2c4f01cacefeef0ed2af5e743f35e0b634c1ab57 100644
--- a/pkg/compiler/lib/src/serialization/system.dart
+++ b/pkg/compiler/lib/src/serialization/system.dart
@@ -28,28 +28,29 @@ import 'task.dart';
class DeserializerSystemImpl extends DeserializerSystem {
final Compiler _compiler;
- final Deserializer _deserializer;
+ final DeserializationContext deserializationContext;
final List<LibraryElement> deserializedLibraries = <LibraryElement>[];
final ResolutionImpactDeserializer _resolutionImpactDeserializer;
final ResolvedAstDeserializerPlugin _resolvedAstDeserializer;
final ImpactTransformer _impactTransformer;
- factory DeserializerSystemImpl(Compiler compiler, Deserializer deserializer,
+ factory DeserializerSystemImpl(Compiler compiler,
ImpactTransformer impactTransformer) {
- List<DeserializerPlugin> plugins = <DeserializerPlugin>[];
+ DeserializationContext context =
+ new DeserializationContext();
DeserializerPlugin backendDeserializer =
compiler.backend.serialization.deserializer;
- deserializer.plugins.add(backendDeserializer);
+ context.plugins.add(backendDeserializer);
ResolutionImpactDeserializer resolutionImpactDeserializer =
new ResolutionImpactDeserializer(backendDeserializer);
- deserializer.plugins.add(resolutionImpactDeserializer);
+ context.plugins.add(resolutionImpactDeserializer);
ResolvedAstDeserializerPlugin resolvedAstDeserializer =
new ResolvedAstDeserializerPlugin(
compiler.parsingContext, backendDeserializer);
- deserializer.plugins.add(resolvedAstDeserializer);
+ context.plugins.add(resolvedAstDeserializer);
return new DeserializerSystemImpl._(
compiler,
- deserializer,
+ context,
impactTransformer,
resolutionImpactDeserializer,
resolvedAstDeserializer);
@@ -57,14 +58,14 @@ class DeserializerSystemImpl extends DeserializerSystem {
DeserializerSystemImpl._(
this._compiler,
- this._deserializer,
+ this.deserializationContext,
this._impactTransformer,
this._resolutionImpactDeserializer,
this._resolvedAstDeserializer);
@override
Future<LibraryElement> readLibrary(Uri resolvedUri) {
- LibraryElement library = _deserializer.lookupLibrary(resolvedUri);
+ LibraryElement library = deserializationContext.lookupLibrary(resolvedUri);
if (library != null) {
deserializedLibraries.add(library);
return Future.forEach(library.compilationUnits,

Powered by Google App Engine
This is Rietveld 408576698