| Index: pkg/front_end/lib/src/fasta/compile_platform_dartk.dart
|
| diff --git a/pkg/front_end/lib/src/fasta/compile_platform_dartk.dart b/pkg/front_end/lib/src/fasta/compile_platform_dartk.dart
|
| deleted file mode 100644
|
| index f494e05f60b696d049ddfb00e6e69115d219bbb2..0000000000000000000000000000000000000000
|
| --- a/pkg/front_end/lib/src/fasta/compile_platform_dartk.dart
|
| +++ /dev/null
|
| @@ -1,119 +0,0 @@
|
| -// Copyright (c) 2016, 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.
|
| -
|
| -library fasta.compile_platform;
|
| -
|
| -import 'dart:async' show Future;
|
| -
|
| -import 'dart:io' show File, IOSink;
|
| -
|
| -import 'package:analyzer/src/generated/source.dart' show Source;
|
| -
|
| -import 'package:analyzer/dart/element/element.dart'
|
| - show ExportElement, LibraryElement;
|
| -
|
| -import 'package:kernel/ast.dart'
|
| - show Field, Library, Name, Program, StringLiteral;
|
| -
|
| -import 'package:kernel/binary/ast_to_binary.dart' show BinaryPrinter;
|
| -
|
| -import 'package:kernel/analyzer/loader.dart'
|
| - show DartLoader, DartOptions, createDartSdk;
|
| -
|
| -import 'package:kernel/target/targets.dart' show Target, TargetFlags, getTarget;
|
| -
|
| -import 'package:kernel/ast.dart' show Program;
|
| -
|
| -import 'environment_variable.dart'
|
| - show EnvironmentVariableDirectory, fileExists;
|
| -
|
| -import 'errors.dart' show inputError;
|
| -
|
| -const EnvironmentVariableSdk dartAotSdk = const EnvironmentVariableSdk(
|
| - "DART_AOT_SDK",
|
| - "The environment variable 'DART_AOT_SDK' should point to a patched SDK.");
|
| -
|
| -class EnvironmentVariableSdk extends EnvironmentVariableDirectory {
|
| - const EnvironmentVariableSdk(String name, String what) : super(name, what);
|
| -
|
| - Future<Null> validate(String value) async {
|
| - Uri sdk = Uri.base.resolveUri(new Uri.directory(value));
|
| - const String asyncDart = "lib/async/async.dart";
|
| - if (!await fileExists(sdk, asyncDart)) {
|
| - inputError(
|
| - null,
|
| - null,
|
| - "The environment variable '$name' has the value '$value', "
|
| - "that's a directory that doesn't contain '$asyncDart'. $what");
|
| - }
|
| - const String asyncSources = "lib/async/async_sources.gypi";
|
| - if (await fileExists(sdk, asyncSources)) {
|
| - inputError(
|
| - null,
|
| - null,
|
| - "The environment variable '$name' has the value '$value', "
|
| - "that's a directory that contains '$asyncSources', so it isn't a "
|
| - "patched SDK. $what");
|
| - }
|
| - return null;
|
| - }
|
| -}
|
| -
|
| -main(List<String> arguments) async {
|
| - Uri output = Uri.base.resolveUri(new Uri.file(arguments.single));
|
| - DartOptions options = new DartOptions(
|
| - strongMode: false, sdk: await dartAotSdk.value, packagePath: null);
|
| - Program program = new Program();
|
| - DartLoader loader = new DartLoader(program, options, null,
|
| - ignoreRedirectingFactories: false,
|
| - dartSdk: createDartSdk(options.sdk, strongMode: options.strongMode));
|
| - Target target =
|
| - getTarget("vm", new TargetFlags(strongMode: options.strongMode));
|
| - loader.loadProgram(Uri.base.resolve("pkg/fasta/test/platform.dart"),
|
| - target: target);
|
| - if (loader.errors.isNotEmpty) {
|
| - inputError(null, null, loader.errors.join("\n"));
|
| - }
|
| - Library mainLibrary = program.mainMethod.enclosingLibrary;
|
| - program.uriToSource.remove(mainLibrary.fileUri);
|
| - program = new Program(
|
| - program.libraries
|
| - .where((Library l) => l.importUri.scheme == "dart")
|
| - .toList(),
|
| - program.uriToSource);
|
| - target.performModularTransformations(program);
|
| - target.performGlobalTransformations(program);
|
| - for (LibraryElement analyzerLibrary in loader.libraryElements) {
|
| - Library library = loader.getLibraryReference(analyzerLibrary);
|
| - StringBuffer sb = new StringBuffer();
|
| - if (analyzerLibrary.exports.isNotEmpty) {
|
| - Source source;
|
| - int offset;
|
| - for (ExportElement export in analyzerLibrary.exports) {
|
| - source ??= export.source;
|
| - offset ??= export.nameOffset;
|
| - Uri uri = export.exportedLibrary.source.uri;
|
| - sb.write("export '");
|
| - sb.write(uri);
|
| - sb.write("'");
|
| - if (export.combinators.isNotEmpty) {
|
| - sb.write(" ");
|
| - sb.writeAll(export.combinators, " ");
|
| - }
|
| - sb.write(";");
|
| - }
|
| - Name exports = new Name("_exports#", library);
|
| - StringLiteral literal = new StringLiteral("$sb")..fileOffset = offset;
|
| - library.addMember(new Field(exports,
|
| - isStatic: true,
|
| - isConst: true,
|
| - initializer: literal,
|
| - fileUri: "${new Uri.file(source.fullName)}")..fileOffset = offset);
|
| - }
|
| - }
|
| -
|
| - IOSink sink = new File.fromUri(output).openWrite();
|
| - new BinaryPrinter(sink).writeProgramFile(program);
|
| - await sink.close();
|
| -}
|
|
|