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

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

Issue 2977013002: Report messages instead of just printing. (Closed)
Patch Set: Update expectations. 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 3ca9a1fd9a9676ff7eed822b90572874221ea23c..c976b9323bc5eed32cde456d2dd29fb08c09b0b0 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
@@ -9,6 +9,7 @@ import 'dart:async' show Future;
import 'package:kernel/ast.dart'
show
Arguments,
+ Block,
CanonicalName,
Class,
Constructor,
@@ -30,6 +31,7 @@ import 'package:kernel/ast.dart'
ProcedureKind,
Program,
Source,
+ Statement,
StringLiteral,
SuperInitializer,
Throw,
@@ -45,11 +47,7 @@ import '../../../file_system.dart' show FileSystem;
import '../compiler_context.dart' show CompilerContext;
import '../deprecated_problems.dart'
- show
- deprecated_formatUnexpected,
- deprecated_InputError,
- reportCrash,
- resetCrashReporting;
+ show deprecated_InputError, reportCrash, resetCrashReporting;
import '../dill/dill_target.dart' show DillTarget;
@@ -62,6 +60,8 @@ import '../messages.dart'
import '../problems.dart' show unhandled;
+import '../severity.dart' show Severity;
+
import '../source/source_class_builder.dart' show SourceClassBuilder;
import '../source/source_loader.dart' show SourceLoader;
@@ -103,7 +103,7 @@ class KernelTarget extends TargetImplementation {
Program program;
- final List<String> errors = <String>[];
+ final List<LocatedMessage> errors = <LocatedMessage>[];
final TypeBuilder dynamicType =
new KernelNamedTypeBuilder("dynamic", null, -1, null);
@@ -218,8 +218,8 @@ class KernelTarget extends TargetImplementation {
void handleInputError(deprecated_InputError error, {bool isFullProgram}) {
if (error != null) {
- String message = error.deprecated_format();
- print(message);
+ LocatedMessage message = deprecated_InputError.toMessage(error);
+ context.report(message, Severity.error);
errors.add(message);
}
program = erroneousProgram(isFullProgram);
@@ -309,10 +309,8 @@ class KernelTarget extends TargetImplementation {
}
List<Expression> expressions = <Expression>[];
for (LocatedMessage error in recoverableErrors) {
- String message = deprecated_formatUnexpected(
- error.uri, error.charOffset, error.message);
- errors.add(message);
- expressions.add(new StringLiteral(message));
+ errors.add(error);
+ expressions.add(new StringLiteral(context.format(error, Severity.error)));
}
mainLibrary.library.addMember(new Field(new Name("#errors"),
initializer: new ListLiteral(expressions, isConst: true),
@@ -333,8 +331,9 @@ 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 Block(new List<Statement>.from(errors.map(
+ (LocatedMessage message) => new ExpressionStatement(new Throw(
+ new StringLiteral(context.format(message, Severity.error)))))));
}
library.build(loader.coreLibrary);
return link(<Library>[library.library]);
@@ -633,8 +632,7 @@ class KernelTarget extends TargetImplementation {
}
void verify() {
- var verifyErrors = verifyProgram(program);
- errors.addAll(verifyErrors.map((error) => error.message));
+ errors.addAll(verifyProgram(program));
ticker.logMs("Verified program");
}

Powered by Google App Engine
This is Rietveld 408576698