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

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

Issue 2887163003: Move the 'verify' flag to buildProgram(). (Closed)
Patch Set: Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/front_end/lib/src/fasta/fasta.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
index 6d929ed07cf6d0da5336ea7299a3c6c6e2427709..59722bfa24ae88faff8d1c862df3de0eb0eed250 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
@@ -101,7 +101,7 @@ class KernelTarget extends TargetImplementation {
SourceLoader<Library> loader;
Program _program;
- final List errors = [];
+ final List<String> errors = <String>[];
Siggi Cherem (dart-lang) 2017/05/17 20:05:35 btw - in the future I would like to pass in some k
scheglov 2017/05/17 20:58:08 Which one? :-) Sometimes these objects are strings
Siggi Cherem (dart-lang) 2017/05/17 21:08:31 likely a new one :) maybe FastaMessage or some ne
ahe 2017/05/19 10:47:16 What's the purpose of this change?
scheglov 2017/05/19 15:53:53 I think typed collections are better then untyped.
ahe 2017/05/22 09:14:10 I'd appreciate if you tried to gather information
final TypeBuilder dynamicType =
new KernelNamedTypeBuilder("dynamic", null, -1, null);
@@ -119,8 +119,9 @@ class KernelTarget extends TargetImplementation {
void addError(file, int charOffset, String message) {
Uri uri = file is String ? Uri.parse(file) : file;
InputError error = new InputError(uri, charOffset, message);
- print(error.format());
- errors.add(error);
+ String formatterMessage = error.format();
+ print(formatterMessage);
+ errors.add(formatterMessage);
}
SourceLoader<Library> createLoader() =>
@@ -275,7 +276,7 @@ class KernelTarget extends TargetImplementation {
}
@override
- Future<Program> buildProgram() async {
+ Future<Program> buildProgram({bool verify: false}) async {
if (loader.first == null) return null;
if (errors.isNotEmpty) {
return handleInputError(null, null, isFullProgram: true);
@@ -287,6 +288,7 @@ class KernelTarget extends TargetImplementation {
loader.finishNativeMethods();
runBuildTransformations();
+ if (verify) this.verify();
errors.addAll(loader.collectCompileTimeErrors().map((e) => e.format()));
if (errors.isNotEmpty) {
return handleInputError(null, null, isFullProgram: true);
@@ -299,10 +301,9 @@ class KernelTarget extends TargetImplementation {
}
}
- Future<Null> writeProgram(Uri uri, {bool verify: false}) async {
+ Future<Null> writeProgram(Uri uri) async {
if (loader.first == null) return null;
try {
- if (verify) this.verify();
await writeLinkedProgram(uri, _program, isFullProgram: true);
} on InputError catch (e) {
return handleInputError(uri, e, isFullProgram: true);
@@ -715,7 +716,8 @@ class KernelTarget extends TargetImplementation {
}
void verify() {
- errors.addAll(verifyProgram(_program));
+ var verifyErrors = verifyProgram(_program);
+ errors.addAll(verifyErrors.map((error) => error.toString()));
Siggi Cherem (dart-lang) 2017/05/17 20:05:35 minor style suggestion: I generally prefer '$error
scheglov 2017/05/17 20:58:08 Done.
ticker.logMs("Verified program");
}
}
« no previous file with comments | « pkg/front_end/lib/src/fasta/fasta.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698