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

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

Issue 2970273004: Deprecate all diagnostics methods that use strings. (Closed)
Patch Set: Created 3 years, 5 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; 5 library fasta;
6 6
7 import 'dart:async' show Future; 7 import 'dart:async' show Future;
8 8
9 import 'dart:convert' show JSON; 9 import 'dart:convert' show JSON;
10 10
11 import 'dart:io' show BytesBuilder, Directory, File, exitCode; 11 import 'dart:io' show BytesBuilder, Directory, File, exitCode;
12 12
13 import 'package:front_end/file_system.dart'; 13 import 'package:front_end/file_system.dart';
14 import 'package:front_end/physical_file_system.dart'; 14 import 'package:front_end/physical_file_system.dart';
15 import 'package:front_end/src/fasta/kernel/utils.dart'; 15 import 'package:front_end/src/fasta/kernel/utils.dart';
16 import 'package:kernel/binary/ast_to_binary.dart' 16 import 'package:kernel/binary/ast_to_binary.dart'
17 show LibraryFilteringBinaryPrinter; 17 show LibraryFilteringBinaryPrinter;
18 18
19 import 'package:kernel/kernel.dart' show Library, Program, loadProgramFromBytes; 19 import 'package:kernel/kernel.dart' show Library, Program, loadProgramFromBytes;
20 20
21 import 'package:kernel/target/targets.dart' show Target; 21 import 'package:kernel/target/targets.dart' show Target;
22 22
23 import 'compiler_command_line.dart' show CompilerCommandLine; 23 import 'compiler_command_line.dart' show CompilerCommandLine;
24 24
25 import 'compiler_context.dart' show CompilerContext; 25 import 'compiler_context.dart' show CompilerContext;
26 26
27 import 'errors.dart' show InputError, formatUnexpected, inputError, reportCrash; 27 import 'deprecated_problems.dart'
28 show
29 deprecated_InputError,
30 deprecated_formatUnexpected,
31 deprecated_inputError,
32 reportCrash;
28 33
29 import 'kernel/kernel_target.dart' show KernelTarget; 34 import 'kernel/kernel_target.dart' show KernelTarget;
30 35
31 import 'dill/dill_target.dart' show DillTarget; 36 import 'dill/dill_target.dart' show DillTarget;
32 37
33 import 'compile_platform.dart' show compilePlatformInternal; 38 import 'compile_platform.dart' show compilePlatformInternal;
34 39
35 import 'ticker.dart' show Ticker; 40 import 'ticker.dart' show Ticker;
36 41
37 import 'translate_uri.dart' show TranslateUri; 42 import 'translate_uri.dart' show TranslateUri;
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 try { 80 try {
76 return await CompilerCommandLine.withGlobalOptions("outline", arguments, 81 return await CompilerCommandLine.withGlobalOptions("outline", arguments,
77 (CompilerContext c) async { 82 (CompilerContext c) async {
78 if (c.options.verbose) { 83 if (c.options.verbose) {
79 print("Building outlines for ${arguments.join(' ')}"); 84 print("Building outlines for ${arguments.join(' ')}");
80 } 85 }
81 CompileTask task = 86 CompileTask task =
82 new CompileTask(c, new Ticker(isVerbose: c.options.verbose)); 87 new CompileTask(c, new Ticker(isVerbose: c.options.verbose));
83 return await task.buildOutline(c.options.output); 88 return await task.buildOutline(c.options.output);
84 }); 89 });
85 } on InputError catch (e) { 90 } on deprecated_InputError catch (e) {
86 exitCode = 1; 91 exitCode = 1;
87 print(e.format()); 92 print(e.deprecated_format());
88 return null; 93 return null;
89 } 94 }
90 } 95 }
91 96
92 Future<Uri> compile(List<String> arguments) async { 97 Future<Uri> compile(List<String> arguments) async {
93 try { 98 try {
94 return await CompilerCommandLine.withGlobalOptions("compile", arguments, 99 return await CompilerCommandLine.withGlobalOptions("compile", arguments,
95 (CompilerContext c) async { 100 (CompilerContext c) async {
96 if (c.options.verbose) { 101 if (c.options.verbose) {
97 print("Compiling directly to Kernel: ${arguments.join(' ')}"); 102 print("Compiling directly to Kernel: ${arguments.join(' ')}");
98 } 103 }
99 CompileTask task = 104 CompileTask task =
100 new CompileTask(c, new Ticker(isVerbose: c.options.verbose)); 105 new CompileTask(c, new Ticker(isVerbose: c.options.verbose));
101 return await task.compile(); 106 return await task.compile();
102 }); 107 });
103 } on InputError catch (e) { 108 } on deprecated_InputError catch (e) {
104 exitCode = 1; 109 exitCode = 1;
105 print(e.format()); 110 print(e.deprecated_format());
106 return null; 111 return null;
107 } 112 }
108 } 113 }
109 114
110 class CompileTask { 115 class CompileTask {
111 final CompilerContext c; 116 final CompilerContext c;
112 final Ticker ticker; 117 final Ticker ticker;
113 118
114 CompileTask(this.c, this.ticker); 119 CompileTask(this.c, this.ticker);
115 120
(...skipping 20 matching lines...) Expand all
136 Uri platform = c.options.platform; 141 Uri platform = c.options.platform;
137 if (platform != null) { 142 if (platform != null) {
138 _appendDillForUri(dillTarget, platform); 143 _appendDillForUri(dillTarget, platform);
139 } 144 }
140 String argument = c.options.arguments.first; 145 String argument = c.options.arguments.first;
141 Uri uri = Uri.base.resolve(argument); 146 Uri uri = Uri.base.resolve(argument);
142 String path = uriTranslator.translate(uri)?.path ?? argument; 147 String path = uriTranslator.translate(uri)?.path ?? argument;
143 if (path.endsWith(".dart")) { 148 if (path.endsWith(".dart")) {
144 kernelTarget.read(uri); 149 kernelTarget.read(uri);
145 } else { 150 } else {
146 inputError(uri, -1, "Unexpected input: $uri"); 151 deprecated_inputError(uri, -1, "Unexpected input: $uri");
147 } 152 }
148 await dillTarget.buildOutlines(); 153 await dillTarget.buildOutlines();
149 var outline = await kernelTarget.buildOutlines(); 154 var outline = await kernelTarget.buildOutlines();
150 if (c.options.dumpIr && output != null) { 155 if (c.options.dumpIr && output != null) {
151 printProgramText(outline, libraryFilter: kernelTarget.isSourceLibrary); 156 printProgramText(outline, libraryFilter: kernelTarget.isSourceLibrary);
152 } 157 }
153 if (output != null) { 158 if (output != null) {
154 await writeProgramToFile(outline, output); 159 await writeProgramToFile(outline, output);
155 ticker.logMs("Wrote outline to ${output.toFilePath()}"); 160 ticker.logMs("Wrote outline to ${output.toFilePath()}");
156 } 161 }
(...skipping 21 matching lines...) Expand all
178 packages, patchedSdk, backendTarget, 183 packages, patchedSdk, backendTarget,
179 verbose: verbose); 184 verbose: verbose);
180 } 185 }
181 186
182 Future<CompilationResult> parseScriptInFileSystem(Uri fileName, 187 Future<CompilationResult> parseScriptInFileSystem(Uri fileName,
183 FileSystem fileSystem, Uri packages, Uri patchedSdk, Target backendTarget, 188 FileSystem fileSystem, Uri packages, Uri patchedSdk, Target backendTarget,
184 {bool verbose: false}) async { 189 {bool verbose: false}) async {
185 try { 190 try {
186 if (!await fileSystem.entityForUri(fileName).exists()) { 191 if (!await fileSystem.entityForUri(fileName).exists()) {
187 return new CompilationResult.error( 192 return new CompilationResult.error(
188 formatUnexpected(fileName, -1, "No such file.")); 193 deprecated_formatUnexpected(fileName, -1, "No such file."));
189 } 194 }
190 if (!await new Directory.fromUri(patchedSdk).exists()) { 195 if (!await new Directory.fromUri(patchedSdk).exists()) {
191 return new CompilationResult.error( 196 return new CompilationResult.error(deprecated_formatUnexpected(
192 formatUnexpected(patchedSdk, -1, "Patched sdk directory not found.")); 197 patchedSdk, -1, "Patched sdk directory not found."));
193 } 198 }
194 199
195 Program program; 200 Program program;
196 try { 201 try {
197 TranslateUri uriTranslator = 202 TranslateUri uriTranslator =
198 await TranslateUri.parse(fileSystem, patchedSdk, packages: packages); 203 await TranslateUri.parse(fileSystem, patchedSdk, packages: packages);
199 final Ticker ticker = new Ticker(isVerbose: verbose); 204 final Ticker ticker = new Ticker(isVerbose: verbose);
200 final DillTarget dillTarget = 205 final DillTarget dillTarget =
201 new DillTarget(ticker, uriTranslator, backendTarget); 206 new DillTarget(ticker, uriTranslator, backendTarget);
202 _appendDillForUri(dillTarget, patchedSdk.resolve('platform.dill')); 207 _appendDillForUri(dillTarget, patchedSdk.resolve('platform.dill'));
203 final KernelTarget kernelTarget = 208 final KernelTarget kernelTarget =
204 new KernelTarget(fileSystem, dillTarget, uriTranslator); 209 new KernelTarget(fileSystem, dillTarget, uriTranslator);
205 kernelTarget.read(fileName); 210 kernelTarget.read(fileName);
206 await dillTarget.buildOutlines(); 211 await dillTarget.buildOutlines();
207 await kernelTarget.buildOutlines(); 212 await kernelTarget.buildOutlines();
208 program = await kernelTarget.buildProgram(); 213 program = await kernelTarget.buildProgram();
209 if (kernelTarget.errors.isNotEmpty) { 214 if (kernelTarget.errors.isNotEmpty) {
210 return new CompilationResult.errors(kernelTarget.errors); 215 return new CompilationResult.errors(kernelTarget.errors);
211 } 216 }
212 } on InputError catch (e) { 217 } on deprecated_InputError catch (e) {
213 return new CompilationResult.error(e.format()); 218 return new CompilationResult.error(e.deprecated_format());
214 } 219 }
215 220
216 if (program.mainMethod == null) { 221 if (program.mainMethod == null) {
217 return new CompilationResult.error("No 'main' method found."); 222 return new CompilationResult.error("No 'main' method found.");
218 } 223 }
219 224
220 // Write the program to a list of bytes and return it. Do not include 225 // Write the program to a list of bytes and return it. Do not include
221 // libraries that have a dart: import URI. 226 // libraries that have a dart: import URI.
222 // 227 //
223 // TODO(kmillikin): This is intended to exclude platform libraries that are 228 // TODO(kmillikin): This is intended to exclude platform libraries that are
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 final BytesBuilder builder = new BytesBuilder(); 309 final BytesBuilder builder = new BytesBuilder();
305 310
306 void add(List<int> data) { 311 void add(List<int> data) {
307 builder.add(data); 312 builder.add(data);
308 } 313 }
309 314
310 void close() { 315 void close() {
311 // Nothing to do. 316 // Nothing to do.
312 } 317 }
313 } 318 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698