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 2d6acf9fd789c5619487c8d4c533c61b16ddafff..b586e72e2681594d44a895338d35265af4eb3d4e 100644 |
--- a/pkg/front_end/lib/src/fasta/fasta.dart |
+++ b/pkg/front_end/lib/src/fasta/fasta.dart |
@@ -184,7 +184,7 @@ Future<CompilationResult> parseScript( |
Future<CompilationResult> parseScriptInFileSystem( |
Uri fileName, FileSystem fileSystem, Uri packages, Uri patchedSdk, |
{bool verbose: false, bool strongMode: false, String backendTarget}) async { |
- backendTarget ??= "vm"; |
+ backendTarget ??= "vm_fasta"; |
try { |
if (!await fileSystem.entityForUri(fileName).exists()) { |
return new CompilationResult.error( |
@@ -201,8 +201,9 @@ Future<CompilationResult> parseScriptInFileSystem( |
TranslateUri uriTranslator = |
await TranslateUri.parse(fileSystem, patchedSdk, packages: packages); |
final Ticker ticker = new Ticker(isVerbose: verbose); |
- final DillTarget dillTarget = |
- new DillTarget(ticker, uriTranslator, backendTarget); |
+ final DillTarget dillTarget = new DillTarget( |
+ ticker, uriTranslator, backendTarget, |
+ flags: new TargetFlags(strongMode: strongMode)); |
_appendDillForUri(dillTarget, patchedSdk.resolve('platform.dill')); |
final KernelTarget kernelTarget = |
new KernelTarget(fileSystem, dillTarget, uriTranslator, strongMode); |
@@ -223,8 +224,8 @@ Future<CompilationResult> parseScriptInFileSystem( |
} |
// Perform target-specific transformations. |
- Target target = getTarget("vm", new TargetFlags(strongMode: false)); |
- target.performModularTransformations(coreTypes, program); |
+ Target target = getTarget("vm_fasta", new TargetFlags(strongMode: false)); |
+ target.performModularTransformationsOnProgram(coreTypes, program); |
Siggi Cherem (dart-lang)
2017/06/01 18:29:31
dbc - do we still need this call? (I'm thinking th
Dmitry Stefantsov
2017/06/02 07:52:52
Good catch! I've added backendTarget.performGlobal
|
target.performGlobalTransformations(coreTypes, program); |
// Write the program to a list of bytes and return it. Do not include |
@@ -245,9 +246,14 @@ Future<CompilationResult> parseScriptInFileSystem( |
} |
Future compilePlatform(Uri patchedSdk, Uri fullOutput, |
- {Uri outlineOutput, Uri packages, bool verbose: false}) async { |
+ {Uri outlineOutput, |
+ Uri packages, |
+ bool verbose: false, |
+ String backendTarget}) async { |
+ backendTarget ??= "vm_fasta"; |
Ticker ticker = new Ticker(isVerbose: verbose); |
await CompilerCommandLine.withGlobalOptions("", [""], (CompilerContext c) { |
+ c.options.options["--target"] = backendTarget; |
c.options.options["--packages"] = packages; |
if (verbose) { |
c.options.options["--verbose"] = true; |
@@ -264,7 +270,7 @@ Future writeDepsFile(Uri script, Uri depsFile, Uri output, |
Iterable<Uri> extraDependencies, |
bool verbose: false, |
String backendTarget}) async { |
- backendTarget ??= "vm"; |
+ backendTarget ??= "vm_fasta"; |
Ticker ticker = new Ticker(isVerbose: verbose); |
await CompilerCommandLine.withGlobalOptions("", [""], |
(CompilerContext c) async { |
@@ -277,8 +283,8 @@ Future writeDepsFile(Uri script, Uri depsFile, Uri output, |
TranslateUri uriTranslator = await TranslateUri.parse(c.fileSystem, sdk, |
packages: c.options.packages); |
ticker.logMs("Read packages file"); |
- DillTarget dillTarget = |
- new DillTarget(ticker, uriTranslator, backendTarget); |
+ DillTarget dillTarget = new DillTarget(ticker, uriTranslator, backendTarget, |
+ flags: new TargetFlags(strongMode: false)); |
_appendDillForUri(dillTarget, platform); |
KernelTarget kernelTarget = new KernelTarget(PhysicalFileSystem.instance, |
dillTarget, uriTranslator, false, c.uriToSource); |