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

Unified Diff: pkg/front_end/lib/src/fasta/fasta.dart

Issue 2904203003: Don't recreate CoreTypes in transformers. Pass it in. (Closed)
Patch Set: Don't create CoreTypes in createOutlines() on InputError. Created 3 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/front_end/lib/src/fasta/fasta.dart
diff --git a/pkg/front_end/lib/src/fasta/fasta.dart b/pkg/front_end/lib/src/fasta/fasta.dart
index 6d1a2a37af246cc0054fb35b64a926073244d614..2d6acf9fd789c5619487c8d4c533c61b16ddafff 100644
--- a/pkg/front_end/lib/src/fasta/fasta.dart
+++ b/pkg/front_end/lib/src/fasta/fasta.dart
@@ -16,6 +16,8 @@ import 'package:front_end/src/fasta/kernel/utils.dart';
import 'package:kernel/binary/ast_to_binary.dart'
show LibraryFilteringBinaryPrinter;
+import 'package:kernel/core_types.dart' show CoreTypes;
+
import 'package:kernel/kernel.dart' show Library, Program, loadProgramFromBytes;
import 'package:kernel/target/targets.dart' show Target, TargetFlags, getTarget;
@@ -193,6 +195,7 @@ Future<CompilationResult> parseScriptInFileSystem(
formatUnexpected(patchedSdk, -1, "Patched sdk directory not found."));
}
+ CoreTypes coreTypes;
Program program;
try {
TranslateUri uriTranslator =
@@ -206,6 +209,7 @@ Future<CompilationResult> parseScriptInFileSystem(
kernelTarget.read(fileName);
await dillTarget.buildOutlines();
await kernelTarget.buildOutlines();
+ coreTypes = kernelTarget.loader.coreTypes;
program = await kernelTarget.buildProgram();
if (kernelTarget.errors.isNotEmpty) {
return new CompilationResult.errors(kernelTarget.errors);
@@ -220,8 +224,8 @@ Future<CompilationResult> parseScriptInFileSystem(
// Perform target-specific transformations.
Target target = getTarget("vm", new TargetFlags(strongMode: false));
- target.performModularTransformations(program);
- target.performGlobalTransformations(program);
+ target.performModularTransformations(coreTypes, program);
+ target.performGlobalTransformations(coreTypes, program);
// Write the program to a list of bytes and return it. Do not include
// libraries that have a dart: import URI.
« no previous file with comments | « pkg/analyzer/lib/src/fasta/analyzer_loader.dart ('k') | pkg/front_end/lib/src/fasta/kernel/kernel_outline_shaker.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698