Index: pkg/front_end/lib/src/testing/compiler_common.dart |
diff --git a/pkg/front_end/lib/src/testing/compiler_common.dart b/pkg/front_end/lib/src/testing/compiler_common.dart |
deleted file mode 100644 |
index 02890026496c70c6b20c21e5a9360440d69e2aaa..0000000000000000000000000000000000000000 |
--- a/pkg/front_end/lib/src/testing/compiler_common.dart |
+++ /dev/null |
@@ -1,123 +0,0 @@ |
-// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE file. |
- |
-/// Common compiler options and helper functions used for testing. |
-library front_end.testing.compiler_options_common; |
- |
-import 'dart:async'; |
- |
-import 'package:front_end/front_end.dart'; |
-import 'package:front_end/memory_file_system.dart'; |
-import 'package:front_end/src/fasta/testing/patched_sdk_location.dart'; |
-import 'package:front_end/src/testing/hybrid_file_system.dart'; |
-import 'package:kernel/ast.dart'; |
- |
-/// Generate kernel for a script. |
-/// |
-/// [scriptOrSources] can be a String, in which case it is the script to be |
-/// compiled, or a Map containing source files. In which case, this function |
-/// compiles the entry whose name is [fileName]. |
-/// |
-/// Wraps [kernelForProgram] with some default testing options (see [setup]). |
-Future<Program> compileScript(dynamic scriptOrSources, |
- {fileName: 'main.dart', |
- List<String> inputSummaries: const [], |
- List<String> linkedDependencies: const [], |
- CompilerOptions options}) async { |
- options ??= new CompilerOptions(); |
- Map<String, dynamic> sources; |
- if (scriptOrSources is String) { |
- sources = {fileName: scriptOrSources}; |
- } else { |
- assert(scriptOrSources is Map); |
- sources = scriptOrSources; |
- } |
- await setup(options, sources, |
- inputSummaries: inputSummaries, linkedDependencies: linkedDependencies); |
- return await kernelForProgram(toTestUri(fileName), options); |
-} |
- |
-/// Generate a program for a modular complation unit. |
-/// |
-/// Wraps [kernelForBuildUnit] with some default testing options (see [setup]). |
-Future<Program> compileUnit(List<String> inputs, Map<String, dynamic> sources, |
- {List<String> inputSummaries: const [], |
- List<String> linkedDependencies: const [], |
- CompilerOptions options}) async { |
- options ??= new CompilerOptions(); |
- await setup(options, sources, |
- inputSummaries: inputSummaries, linkedDependencies: linkedDependencies); |
- return await kernelForBuildUnit(inputs.map(toTestUri).toList(), options); |
-} |
- |
-/// Generate a summary for a modular complation unit. |
-/// |
-/// Wraps [summaryFor] with some default testing options (see [setup]). |
-Future<List<int>> summarize(List<String> inputs, Map<String, dynamic> sources, |
- {List<String> inputSummaries: const [], CompilerOptions options}) async { |
- options ??= new CompilerOptions(); |
- await setup(options, sources, inputSummaries: inputSummaries); |
- return await summaryFor(inputs.map(toTestUri).toList(), options); |
-} |
- |
-/// Defines a default set of options for testing: |
-/// |
-/// * create a hybrid file system that stores [sources] in memory but allows |
-/// access to the physical file system to load the SDK. [sources] can |
-/// contain either source files (value is [String]) or .dill files (value |
-/// is [List<int>]). |
-/// |
-/// * define an empty .packages file |
-/// |
-/// * specify the location of the sdk and sdk summaries based on |
-/// the path where the `patched_sdk` is generated in the sdk-repo. |
-Future<Null> setup(CompilerOptions options, Map<String, dynamic> sources, |
- {List<String> inputSummaries: const [], |
- List<String> linkedDependencies: const []}) async { |
- var fs = new MemoryFileSystem(_defaultDir); |
- sources.forEach((name, data) { |
- var entity = fs.entityForUri(toTestUri(name)); |
- if (data is String) { |
- entity.writeAsStringSync(data); |
- } else { |
- entity.writeAsBytesSync(data); |
- } |
- }); |
- fs.entityForUri(toTestUri('.packages')).writeAsStringSync(''); |
- options |
- ..verify = true |
- ..fileSystem = new HybridFileSystem(fs) |
- ..inputSummaries = inputSummaries.map(toTestUri).toList() |
- ..linkedDependencies = linkedDependencies.map(toTestUri).toList() |
- ..packagesFileUri = toTestUri('.packages'); |
- |
- if (options.sdkSummary == null) { |
- options.sdkRoot = await computePatchedSdk(); |
- } |
-} |
- |
-/// A fake absolute directory used as the root of a memory-file system in the |
-/// helpers above. |
-Uri _defaultDir = Uri.parse('file:///a/b/c/'); |
- |
-/// Convert relative file paths into an absolute Uri as expected by the test |
-/// helpers above. |
-Uri toTestUri(String relativePath) => _defaultDir.resolve(relativePath); |
- |
-/// A map defining the location of core libraries that purposely provides |
-/// invalid Uris. Used by tests that want to ensure that the sdk libraries are |
-/// not loaded from sources, but read from a .dill file. |
-Map<String, Uri> invalidCoreLibs = { |
- 'core': Uri.parse('file:///non_existing_file/core.dart'), |
- 'async': Uri.parse('file:///non_existing_file/async.dart'), |
-}; |
- |
-bool isDartCoreLibrary(Library lib) => isDartCore(lib.importUri); |
-bool isDartCore(Uri uri) => uri.scheme == 'dart' && uri.path == 'core'; |
- |
-/// Find a library in [program] whose Uri ends with the given [suffix] |
-Library findLibrary(Program program, String suffix) { |
- return program.libraries |
- .firstWhere((lib) => lib.importUri.path.endsWith(suffix)); |
-} |