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

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

Issue 2924363002: Improve error messages. (Closed)
Patch Set: Updates after testing. Created 3 years, 6 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.kernel_target; 5 library fasta.kernel_target;
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
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 KernelTarget( 102 KernelTarget(
103 this.fileSystem, DillTarget dillTarget, TranslateUri uriTranslator, 103 this.fileSystem, DillTarget dillTarget, TranslateUri uriTranslator,
104 [Map<String, Source> uriToSource]) 104 [Map<String, Source> uriToSource])
105 : dillTarget = dillTarget, 105 : dillTarget = dillTarget,
106 uriToSource = uriToSource ?? CompilerContext.current.uriToSource, 106 uriToSource = uriToSource ?? CompilerContext.current.uriToSource,
107 super(dillTarget.ticker, uriTranslator, dillTarget.backendTarget) { 107 super(dillTarget.ticker, uriTranslator, dillTarget.backendTarget) {
108 resetCrashReporting(); 108 resetCrashReporting();
109 loader = createLoader(); 109 loader = createLoader();
110 } 110 }
111 111
112 bool get hasErrors {
113 return errors.isNotEmpty || loader.collectCompileTimeErrors().isNotEmpty;
114 }
115
112 void addError(file, int charOffset, String message) { 116 void addError(file, int charOffset, String message) {
113 Uri uri = file is String ? Uri.parse(file) : file; 117 Uri uri = file is String ? Uri.parse(file) : file;
114 InputError error = new InputError(uri, charOffset, message); 118 InputError error = new InputError(uri, charOffset, message);
115 String formatterMessage = error.format(); 119 String formatterMessage = error.format();
116 print(formatterMessage); 120 print(formatterMessage);
117 errors.add(formatterMessage); 121 errors.add(formatterMessage);
118 } 122 }
119 123
120 SourceLoader<Library> createLoader() => 124 SourceLoader<Library> createLoader() =>
121 new SourceLoader<Library>(fileSystem, this); 125 new SourceLoader<Library>(fileSystem, this);
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 handleInputError(null, 278 handleInputError(null,
275 isFullProgram: true, trimDependencies: trimDependencies); 279 isFullProgram: true, trimDependencies: trimDependencies);
276 return program; 280 return program;
277 } 281 }
278 282
279 try { 283 try {
280 await loader.buildBodies(); 284 await loader.buildBodies();
281 loader.finishStaticInvocations(); 285 loader.finishStaticInvocations();
282 finishAllConstructors(); 286 finishAllConstructors();
283 loader.finishNativeMethods(); 287 loader.finishNativeMethods();
284 runBuildTransformations(); 288 if (!hasErrors) {
289 runBuildTransformations();
ahe 2017/06/09 08:13:14 The parser reports a recoverable error on code lik
290 }
285 291
286 if (verify) this.verify(); 292 if (verify) this.verify();
287 errors.addAll(loader.collectCompileTimeErrors().map((e) => e.format())); 293 errors.addAll(loader.collectCompileTimeErrors().map((e) => e.format()));
288 if (errors.isNotEmpty) { 294 if (errors.isNotEmpty) {
289 handleInputError(null, 295 handleInputError(null,
290 isFullProgram: true, trimDependencies: trimDependencies); 296 isFullProgram: true, trimDependencies: trimDependencies);
291 } 297 }
292 } on InputError catch (e) { 298 } on InputError catch (e) {
293 handleInputError(e, 299 handleInputError(e,
294 isFullProgram: true, trimDependencies: trimDependencies); 300 isFullProgram: true, trimDependencies: trimDependencies);
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after
700 } 706 }
701 for (Constructor constructor in superclass.constructors) { 707 for (Constructor constructor in superclass.constructors) {
702 if (constructor.name.name.isEmpty) { 708 if (constructor.name.name.isEmpty) {
703 return constructor.function.requiredParameterCount == 0 709 return constructor.function.requiredParameterCount == 0
704 ? constructor 710 ? constructor
705 : null; 711 : null;
706 } 712 }
707 } 713 }
708 return null; 714 return null;
709 } 715 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698