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

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

Issue 2979623002: Use messages for (some) public API errors (Closed)
Patch Set: wrap - verification error still pending 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 side-by-side diff with in-line comments
Download patch
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 31200547b5e0ad5e4769f939bda2f432993e8ad2..31f0df5cba96ff2f8c8472cbf1234bcfd791fc17 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
@@ -97,7 +97,7 @@ class KernelTarget extends TargetImplementation {
Program program;
- final List<String> errors = <String>[];
+ final List<LocatedMessage> errors = <LocatedMessage>[];
Siggi Cherem (dart-lang) 2017/07/12 00:35:15 note: this is now possible because I made deprecat
ahe 2017/07/12 13:14:43 I'd like to hold back on this change. I'm pretty c
Siggi Cherem (dart-lang) 2017/07/12 21:54:59 OK, I reverted this.
final TypeBuilder dynamicType =
new KernelNamedTypeBuilder("dynamic", null, -1, null);
@@ -120,9 +120,8 @@ class KernelTarget extends TargetImplementation {
Uri uri = file is String ? Uri.parse(file) : file;
deprecated_InputError error =
new deprecated_InputError(uri, charOffset, message);
- String formatterMessage = error.deprecated_format();
- print(formatterMessage);
- errors.add(formatterMessage);
+ errors.add(error);
+ print(error.deprecated_format());
ahe 2017/07/12 13:14:43 I'm pretty close to removing this and all the othe
Siggi Cherem (dart-lang) 2017/07/12 21:54:59 fantastic!, reverted to prevent conflicts.
}
SourceLoader<Library> createLoader() =>
@@ -220,9 +219,8 @@ class KernelTarget extends TargetImplementation {
void handleInputError(deprecated_InputError error, {bool isFullProgram}) {
if (error != null) {
- String message = error.deprecated_format();
- print(message);
- errors.add(message);
+ errors.add(error);
+ print(error.deprecated_format());
}
program = erroneousProgram(isFullProgram);
}
@@ -311,9 +309,9 @@ class KernelTarget extends TargetImplementation {
}
List<Expression> expressions = <Expression>[];
for (LocatedMessage error in recoverableErrors) {
+ errors.add(error);
String message = deprecated_formatUnexpected(
error.uri, error.charOffset, error.message);
- errors.add(message);
expressions.add(new StringLiteral(message));
}
mainLibrary.library.addMember(new Field(new Name("#errors"),
@@ -335,8 +333,8 @@ class KernelTarget extends TargetImplementation {
KernelProcedureBuilder mainBuilder = new KernelProcedureBuilder(null, 0,
null, "main", null, null, ProcedureKind.Method, library, -1, -1, -1);
library.addBuilder(mainBuilder.name, mainBuilder, -1);
- mainBuilder.body = new ExpressionStatement(
- new Throw(new StringLiteral("${errors.join('\n')}")));
+ mainBuilder.body = new ExpressionStatement(new Throw(
+ new StringLiteral("${errors.map((e) => e.message).join('\n')}")));
Siggi Cherem (dart-lang) 2017/07/12 00:35:15 this changes the generated code a bit, one of our
ahe 2017/07/12 13:14:43 What's currently stored in the .expect files helps
Siggi Cherem (dart-lang) 2017/07/12 21:54:59 reverted this for now as well
}
library.build(loader.coreLibrary);
return link(<Library>[library.library]);
@@ -639,7 +637,7 @@ class KernelTarget extends TargetImplementation {
void verify() {
var verifyErrors = verifyProgram(program);
- errors.addAll(verifyErrors.map((error) => '$error'));
+ errors.addAll(verifyErrors);
ticker.logMs("Verified program");
}

Powered by Google App Engine
This is Rietveld 408576698