Index: pkg/front_end/lib/src/incremental_kernel_generator_impl.dart |
diff --git a/pkg/front_end/lib/src/incremental_kernel_generator_impl.dart b/pkg/front_end/lib/src/incremental_kernel_generator_impl.dart |
index 7761f31bb554c87ac46a83e389ee2928acd535e8..dee2e0280eac6f2a545f7933652b00d0c2e7388c 100644 |
--- a/pkg/front_end/lib/src/incremental_kernel_generator_impl.dart |
+++ b/pkg/front_end/lib/src/incremental_kernel_generator_impl.dart |
@@ -17,8 +17,8 @@ import 'package:front_end/src/fasta/ticker.dart'; |
import 'package:front_end/src/fasta/translate_uri.dart'; |
import 'package:front_end/src/incremental/byte_store.dart'; |
import 'package:front_end/src/incremental/file_state.dart'; |
+import 'package:front_end/src/incremental/limited_ast_to_binary.dart'; |
import 'package:kernel/binary/ast_from_binary.dart'; |
-import 'package:kernel/binary/ast_to_binary.dart'; |
import 'package:kernel/kernel.dart' hide Source; |
dynamic unimplemented() { |
@@ -121,6 +121,7 @@ class IncrementalKernelGeneratorImpl implements IncrementalKernelGenerator { |
if (_latestSignature[uri] != result.signature) { |
_latestSignature[uri] = result.signature; |
program.libraries.add(library); |
+ library.parent = program; |
} |
} |
} |
@@ -222,6 +223,7 @@ class IncrementalKernelGeneratorImpl implements IncrementalKernelGenerator { |
_logger.run('Serialize ${kernelLibraries.length} libraries', () { |
program.unbindCanonicalNames(); |
+ program.uriToSource.clear(); |
List<int> bytes = _writeProgramBytes(program, kernelLibraries.contains); |
_byteStore.put(kernelKey, bytes); |
_logger.writeln('Stored ${bytes.length} bytes.'); |
@@ -281,8 +283,7 @@ class IncrementalKernelGeneratorImpl implements IncrementalKernelGenerator { |
List<int> _writeProgramBytes(Program program, bool filter(Library library)) { |
ByteSink byteSink = new ByteSink(); |
- new LibraryFilteringBinaryPrinter(byteSink, filter) |
- .writeProgramFile(program); |
+ new LimitedBinaryPrinter(byteSink, filter).writeProgramFile(program); |
return byteSink.builder.takeBytes(); |
} |
} |