Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(257)

Side by Side Diff: pkg/front_end/lib/src/fasta/compile_platform_dartk.dart

Issue 2718113003: Run dartfmt on pkg/front_end/lib. (Closed)
Patch Set: Rerun after merging. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library fasta.compile_platform; 5 library fasta.compile_platform;
6 6
7 import 'dart:async' show 7 import 'dart:async' show Future;
8 Future;
9 8
10 import 'dart:io' show 9 import 'dart:io' show File, IOSink;
11 File,
12 IOSink;
13 10
14 import 'package:analyzer/src/generated/source.dart' show 11 import 'package:analyzer/src/generated/source.dart' show Source;
15 Source;
16 12
17 import 'package:analyzer/dart/element/element.dart' show 13 import 'package:analyzer/dart/element/element.dart'
18 ExportElement, 14 show ExportElement, LibraryElement;
19 LibraryElement;
20 15
21 import 'package:kernel/ast.dart' show 16 import 'package:kernel/ast.dart'
22 Field, 17 show Field, Library, Name, Program, StringLiteral;
23 Library,
24 Name,
25 Program,
26 StringLiteral;
27 18
28 import 'package:kernel/binary/ast_to_binary.dart' show 19 import 'package:kernel/binary/ast_to_binary.dart' show BinaryPrinter;
29 BinaryPrinter;
30 20
31 import 'package:kernel/analyzer/loader.dart' show 21 import 'package:kernel/analyzer/loader.dart'
32 DartLoader, 22 show DartLoader, DartOptions, createDartSdk;
33 DartOptions,
34 createDartSdk;
35 23
36 import 'package:kernel/target/targets.dart' show 24 import 'package:kernel/target/targets.dart' show Target, TargetFlags, getTarget;
37 Target,
38 TargetFlags,
39 getTarget;
40 25
41 import 'package:kernel/ast.dart' show 26 import 'package:kernel/ast.dart' show Program;
42 Program;
43 27
44 import 'environment_variable.dart' show 28 import 'environment_variable.dart'
45 EnvironmentVariableDirectory, 29 show EnvironmentVariableDirectory, fileExists;
46 fileExists;
47 30
48 import 'errors.dart' show 31 import 'errors.dart' show inputError;
49 inputError;
50 32
51 const EnvironmentVariableSdk dartAotSdk = const EnvironmentVariableSdk( 33 const EnvironmentVariableSdk dartAotSdk = const EnvironmentVariableSdk(
52 "DART_AOT_SDK", 34 "DART_AOT_SDK",
53 "The environment variable 'DART_AOT_SDK' should point to a patched SDK."); 35 "The environment variable 'DART_AOT_SDK' should point to a patched SDK.");
54 36
55 class EnvironmentVariableSdk extends EnvironmentVariableDirectory { 37 class EnvironmentVariableSdk extends EnvironmentVariableDirectory {
56 const EnvironmentVariableSdk(String name, String what) 38 const EnvironmentVariableSdk(String name, String what) : super(name, what);
57 : super(name, what);
58 39
59 Future<Null> validate(String value) async { 40 Future<Null> validate(String value) async {
60 Uri sdk = Uri.base.resolveUri(new Uri.directory(value)); 41 Uri sdk = Uri.base.resolveUri(new Uri.directory(value));
61 const String asyncDart = "lib/async/async.dart"; 42 const String asyncDart = "lib/async/async.dart";
62 if (!await fileExists(sdk, asyncDart)) { 43 if (!await fileExists(sdk, asyncDart)) {
63 inputError(null, null, 44 inputError(
45 null,
46 null,
64 "The environment variable '$name' has the value '$value', " 47 "The environment variable '$name' has the value '$value', "
65 "that's a directory that doesn't contain '$asyncDart'. $what"); 48 "that's a directory that doesn't contain '$asyncDart'. $what");
66 } 49 }
67 const String asyncSources = "lib/async/async_sources.gypi"; 50 const String asyncSources = "lib/async/async_sources.gypi";
68 if (await fileExists(sdk, asyncSources)) { 51 if (await fileExists(sdk, asyncSources)) {
69 inputError(null, null, 52 inputError(
53 null,
54 null,
70 "The environment variable '$name' has the value '$value', " 55 "The environment variable '$name' has the value '$value', "
71 "that's a directory that contains '$asyncSources', so it isn't a " 56 "that's a directory that contains '$asyncSources', so it isn't a "
72 "patched SDK. $what"); 57 "patched SDK. $what");
73 } 58 }
74 return null; 59 return null;
75 } 60 }
76 } 61 }
77 62
78 main(List<String> arguments) async { 63 main(List<String> arguments) async {
79 Uri output = Uri.base.resolveUri(new Uri.file(arguments.single)); 64 Uri output = Uri.base.resolveUri(new Uri.file(arguments.single));
80 DartOptions options = new DartOptions( 65 DartOptions options = new DartOptions(
81 strongMode: false, sdk: await dartAotSdk.value, packagePath: null); 66 strongMode: false, sdk: await dartAotSdk.value, packagePath: null);
82 Program program = new Program(); 67 Program program = new Program();
83 DartLoader loader = new DartLoader(program, options, null, 68 DartLoader loader = new DartLoader(program, options, null,
84 ignoreRedirectingFactories: false, 69 ignoreRedirectingFactories: false,
85 dartSdk: createDartSdk(options.sdk, strongMode: options.strongMode)); 70 dartSdk: createDartSdk(options.sdk, strongMode: options.strongMode));
86 Target target = getTarget( 71 Target target =
87 "vm", new TargetFlags(strongMode: options.strongMode)); 72 getTarget("vm", new TargetFlags(strongMode: options.strongMode));
88 loader.loadProgram( 73 loader.loadProgram(Uri.base.resolve("pkg/fasta/test/platform.dart"),
89 Uri.base.resolve("pkg/fasta/test/platform.dart"), target: target); 74 target: target);
90 if (loader.errors.isNotEmpty) { 75 if (loader.errors.isNotEmpty) {
91 inputError(null, null, loader.errors.join("\n")); 76 inputError(null, null, loader.errors.join("\n"));
92 } 77 }
93 Library mainLibrary = program.mainMethod.enclosingLibrary; 78 Library mainLibrary = program.mainMethod.enclosingLibrary;
94 program.uriToSource.remove(mainLibrary.fileUri); 79 program.uriToSource.remove(mainLibrary.fileUri);
95 program = new Program( 80 program = new Program(
96 program.libraries.where( 81 program.libraries
97 (Library l) => l.importUri.scheme == "dart").toList(), 82 .where((Library l) => l.importUri.scheme == "dart")
83 .toList(),
98 program.uriToSource); 84 program.uriToSource);
99 target.performModularTransformations(program); 85 target.performModularTransformations(program);
100 target.performGlobalTransformations(program); 86 target.performGlobalTransformations(program);
101 for (LibraryElement analyzerLibrary in loader.libraryElements) { 87 for (LibraryElement analyzerLibrary in loader.libraryElements) {
102 Library library = loader.getLibraryReference(analyzerLibrary); 88 Library library = loader.getLibraryReference(analyzerLibrary);
103 StringBuffer sb = new StringBuffer(); 89 StringBuffer sb = new StringBuffer();
104 if (analyzerLibrary.exports.isNotEmpty) { 90 if (analyzerLibrary.exports.isNotEmpty) {
105 Source source; 91 Source source;
106 int offset; 92 int offset;
107 for (ExportElement export in analyzerLibrary.exports) { 93 for (ExportElement export in analyzerLibrary.exports) {
108 source ??= export.source; 94 source ??= export.source;
109 offset ??= export.nameOffset; 95 offset ??= export.nameOffset;
110 Uri uri = export.exportedLibrary.source.uri; 96 Uri uri = export.exportedLibrary.source.uri;
111 sb.write("export '"); 97 sb.write("export '");
112 sb.write(uri); 98 sb.write(uri);
113 sb.write("'"); 99 sb.write("'");
114 if (export.combinators.isNotEmpty) { 100 if (export.combinators.isNotEmpty) {
115 sb.write(" "); 101 sb.write(" ");
116 sb.writeAll(export.combinators, " "); 102 sb.writeAll(export.combinators, " ");
117 } 103 }
118 sb.write(";"); 104 sb.write(";");
119 } 105 }
120 Name exports = new Name("_exports#", library); 106 Name exports = new Name("_exports#", library);
121 StringLiteral literal = new StringLiteral("$sb") 107 StringLiteral literal = new StringLiteral("$sb")..fileOffset = offset;
122 ..fileOffset = offset; 108 library.addMember(new Field(exports,
123 library.addMember(new Field(exports, isStatic: true, isConst: true, 109 isStatic: true,
124 initializer: literal, fileUri: "${new Uri.file(source.fullName)}") 110 isConst: true,
125 ..fileOffset = offset); 111 initializer: literal,
112 fileUri: "${new Uri.file(source.fullName)}")..fileOffset = offset);
126 } 113 }
127 } 114 }
128 115
129 IOSink sink = new File.fromUri(output).openWrite(); 116 IOSink sink = new File.fromUri(output).openWrite();
130 new BinaryPrinter(sink).writeProgramFile(program); 117 new BinaryPrinter(sink).writeProgramFile(program);
131 await sink.close(); 118 await sink.close();
132 } 119 }
OLDNEW
« no previous file with comments | « pkg/front_end/lib/src/fasta/compile_platform.dart ('k') | pkg/front_end/lib/src/fasta/compiler_command_line.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698