Index: pkg/compiler/lib/src/serialization/task.dart |
diff --git a/pkg/compiler/lib/src/serialization/task.dart b/pkg/compiler/lib/src/serialization/task.dart |
index c09c0e50f62b4d607da7f1f4b4e6d1331ad1f0a9..45a572943674d12c2e9ff69f8880cceb70e70ed9 100644 |
--- a/pkg/compiler/lib/src/serialization/task.dart |
+++ b/pkg/compiler/lib/src/serialization/task.dart |
@@ -112,13 +112,15 @@ class SerializationTask extends CompilerTask implements LibraryDeserializer { |
void deserializeFromText(String serializedData) { |
measure(() { |
+ if (deserializer == null) { |
+ deserializer = new DeserializerSystemImpl( |
+ compiler, compiler.backend.impactTransformer); |
+ } |
+ DeserializerSystemImpl deserializerImpl = deserializer; |
+ DeserializationContext context = deserializerImpl.deserializationContext; |
Deserializer dataDeserializer = new Deserializer.fromText( |
- new DeserializationContext(), |
- serializedData, |
- const JsonSerializationDecoder()); |
- dataDeserializer.plugins.add(compiler.backend.serialization.deserializer); |
- deserializer = new DeserializerSystemImpl( |
- compiler, dataDeserializer, compiler.backend.impactTransformer); |
+ context, serializedData, const JsonSerializationDecoder()); |
+ context.deserializers.add(dataDeserializer); |
}); |
} |
} |