| 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 |