OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE.md file. | 3 // BSD-style license that can be found in the LICENSE.md file. |
4 | 4 |
5 library fasta.testing.suite; | 5 library fasta.testing.suite; |
6 | 6 |
7 import 'dart:async' show Future; | 7 import 'dart:async' show Future; |
8 | 8 |
9 import 'dart:io' show File; | 9 import 'dart:io' show File; |
10 | 10 |
11 import 'dart:convert' show JSON; | 11 import 'dart:convert' show JSON; |
12 | 12 |
13 import 'package:front_end/physical_file_system.dart' show PhysicalFileSystem; | 13 import 'package:front_end/physical_file_system.dart' show PhysicalFileSystem; |
14 | 14 |
| 15 import 'package:front_end/src/base/libraries_spec.dart' |
| 16 show TargetLibrariesSpecification; |
| 17 |
15 import 'package:front_end/src/fasta/testing/validating_instrumentation.dart' | 18 import 'package:front_end/src/fasta/testing/validating_instrumentation.dart' |
16 show ValidatingInstrumentation; | 19 show ValidatingInstrumentation; |
17 | 20 |
18 import 'package:front_end/src/fasta/testing/patched_sdk_location.dart' | 21 import 'package:front_end/src/fasta/testing/patched_sdk_location.dart' |
19 show computeDartVm, computePatchedSdk; | 22 show computeDartVm, computePatchedSdk; |
20 import 'package:front_end/src/fasta/uri_translator_impl.dart'; | 23 import 'package:front_end/src/fasta/uri_translator_impl.dart'; |
21 | 24 |
22 import 'package:kernel/ast.dart' show Library, Program; | 25 import 'package:kernel/ast.dart' show Library, Program; |
23 | 26 |
24 import 'package:testing/testing.dart' | 27 import 'package:testing/testing.dart' |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 loadProgramFromBytes(new File.fromUri(outlineUri).readAsBytesSync()); | 151 loadProgramFromBytes(new File.fromUri(outlineUri).readAsBytesSync()); |
149 } | 152 } |
150 return outline; | 153 return outline; |
151 } | 154 } |
152 | 155 |
153 static Future<FastaContext> create( | 156 static Future<FastaContext> create( |
154 Chain suite, Map<String, String> environment) async { | 157 Chain suite, Map<String, String> environment) async { |
155 Uri sdk = await computePatchedSdk(); | 158 Uri sdk = await computePatchedSdk(); |
156 Uri vm = computeDartVm(sdk); | 159 Uri vm = computeDartVm(sdk); |
157 Uri packages = Uri.base.resolve(".packages"); | 160 Uri packages = Uri.base.resolve(".packages"); |
158 UriTranslator uriTranslator = await UriTranslatorImpl | 161 var options = new ProcessedOptions(new CompilerOptions() |
159 .parse(PhysicalFileSystem.instance, sdk, packages: packages); | 162 ..sdkRoot = sdk |
| 163 ..packagesFileUri = packages); |
| 164 UriTranslator uriTranslator = await options.getUriTranslator(); |
160 bool strongMode = environment.containsKey(STRONG_MODE); | 165 bool strongMode = environment.containsKey(STRONG_MODE); |
161 bool updateExpectations = environment["updateExpectations"] == "true"; | 166 bool updateExpectations = environment["updateExpectations"] == "true"; |
162 bool updateComments = environment["updateComments"] == "true"; | 167 bool updateComments = environment["updateComments"] == "true"; |
163 bool skipVm = environment["skipVm"] == "true"; | 168 bool skipVm = environment["skipVm"] == "true"; |
164 String astKindString = environment[AST_KIND_INDEX]; | 169 String astKindString = environment[AST_KIND_INDEX]; |
165 AstKind astKind = | 170 AstKind astKind = |
166 astKindString == null ? null : AstKind.values[int.parse(astKindString)]; | 171 astKindString == null ? null : AstKind.values[int.parse(astKindString)]; |
167 return new FastaContext( | 172 return new FastaContext( |
168 vm, | 173 vm, |
169 strongMode, | 174 strongMode, |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
235 CompilerContext.current.disableColors(); | 240 CompilerContext.current.disableColors(); |
236 Program platformOutline = await context.loadPlatformOutline(); | 241 Program platformOutline = await context.loadPlatformOutline(); |
237 Ticker ticker = new Ticker(); | 242 Ticker ticker = new Ticker(); |
238 DillTarget dillTarget = new DillTarget(ticker, context.uriTranslator, | 243 DillTarget dillTarget = new DillTarget(ticker, context.uriTranslator, |
239 new TestVmFastaTarget(new TargetFlags(strongMode: strongMode))); | 244 new TestVmFastaTarget(new TargetFlags(strongMode: strongMode))); |
240 platformOutline.unbindCanonicalNames(); | 245 platformOutline.unbindCanonicalNames(); |
241 dillTarget.loader.appendLibraries(platformOutline); | 246 dillTarget.loader.appendLibraries(platformOutline); |
242 // We create a new URI translator to avoid reading platform libraries from | 247 // We create a new URI translator to avoid reading platform libraries from |
243 // file system. | 248 // file system. |
244 UriTranslatorImpl uriTranslator = new UriTranslatorImpl( | 249 UriTranslatorImpl uriTranslator = new UriTranslatorImpl( |
245 const <String, Uri>{}, | 250 const TargetLibrariesSpecification('vm'), |
246 const <String, List<Uri>>{}, | |
247 context.uriTranslator.packages); | 251 context.uriTranslator.packages); |
248 KernelTarget sourceTarget = astKind == AstKind.Analyzer | 252 KernelTarget sourceTarget = astKind == AstKind.Analyzer |
249 ? new AnalyzerTarget(dillTarget, uriTranslator, strongMode) | 253 ? new AnalyzerTarget(dillTarget, uriTranslator, strongMode) |
250 : new KernelTarget( | 254 : new KernelTarget( |
251 PhysicalFileSystem.instance, false, dillTarget, uriTranslator); | 255 PhysicalFileSystem.instance, false, dillTarget, uriTranslator); |
252 | 256 |
253 Program p; | 257 Program p; |
254 try { | 258 try { |
255 sourceTarget.read(description.uri); | 259 sourceTarget.read(description.uri); |
256 await dillTarget.buildOutlines(); | 260 await dillTarget.buildOutlines(); |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
320 } | 324 } |
321 } | 325 } |
322 | 326 |
323 void performGlobalTransformations(CoreTypes coreTypes, Program program, | 327 void performGlobalTransformations(CoreTypes coreTypes, Program program, |
324 {void logger(String msg)}) { | 328 {void logger(String msg)}) { |
325 if (enabled) { | 329 if (enabled) { |
326 super.performGlobalTransformations(coreTypes, program, logger: logger); | 330 super.performGlobalTransformations(coreTypes, program, logger: logger); |
327 } | 331 } |
328 } | 332 } |
329 } | 333 } |
OLD | NEW |