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

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

Issue 2965393002: Use FastaMessage instead of String. Part 1. (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 side-by-side diff with in-line comments
Download patch
Index: pkg/front_end/lib/src/fasta/kernel/body_builder.dart
diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
index 6bfb7c800abe2be7428b9c22749e0ab91ff327b9..94244964aec4b3df74ed8939b611d2375131ad4f 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -4,13 +4,9 @@
library fasta.body_builder;
-import '../fasta_codes.dart'
- show
- FastaMessage,
- codeConstFieldWithoutInitializer,
- codeExpectedButGot,
- codeExpectedFunctionBody,
- codeFinalFieldWithoutInitializer;
+import '../fasta_codes.dart' show BoundFastaMessage, FastaMessage;
+
+import '../fasta_codes.dart' as fasta;
import '../parser/parser.dart'
show Assert, FormalParameterType, MemberKind, optional;
@@ -956,13 +952,13 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
bool isSetter: false,
bool isStatic: false}) {
String errorName = isSuper ? "super.$name" : name;
- String message;
+ BoundFastaMessage message;
if (isGetter) {
- message = "Getter not found: '$errorName'.";
+ message = fasta.codeGetterNotFound.bind(errorName);
} else if (isSetter) {
- message = "Setter not found: '$errorName'.";
+ message = fasta.codeSetterNotFound.bind(errorName);
} else {
- message = "Method not found: '$errorName'.";
+ message = fasta.codeMethodNotFound.bind(errorName);
}
if (constantExpressionRequired) {
// TODO(ahe): Use error below instead of building a compile-time error,
@@ -977,7 +973,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
isSetter: isSetter,
isStatic: isStatic,
isTopLevel: !isStatic && !isSuper);
- deprecated_warning(message, charOffset);
+ warning(message, charOffset);
return new KernelSyntheticExpression(new Throw(error));
}
}
@@ -1540,8 +1536,8 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
typeArgument = typeArguments.first;
if (typeArguments.length > 1) {
typeArgument = null;
- deprecated_warningNotError(
- "Too many type arguments on List literal.", beginToken.charOffset);
+ warningNotError(
+ fasta.codeListLiteralTooManyTypeArguments, beginToken.charOffset);
}
}
push(new KernelListLiteral(expressions,
@@ -1582,8 +1578,8 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
if (typeArguments.length != 2) {
keyType = null;
valueType = null;
- deprecated_warningNotError(
- "Map literal requires two type arguments.", beginToken.charOffset);
+ warningNotError(
+ fasta.codeListLiteralTypeArgumentMismatch, beginToken.charOffset);
} else {
keyType = typeArguments[0];
valueType = typeArguments[1];
@@ -1634,7 +1630,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
Builder builder = scope.lookup(name, charOffset, uri);
if (builder == null) {
deprecated_warning("Type not found: '$name'.", charOffset);
- return const InvalidType();
+ return const DynamicType();
} else {
return kernelTypeFromBuilder(builder, arguments, charOffset);
}
@@ -1649,8 +1645,8 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
ProblemBuilder problem = builder;
deprecated_addCompileTimeError(charOffset, problem.deprecated_message);
} else {
- deprecated_warningNotError(
- "Not a type: '${builder.fullNameForErrors}'.", charOffset);
+ warningNotError(
+ fasta.codeNotAType.bind(builder.fullNameForErrors), charOffset);
}
// TODO(ahe): Create an error somehow.
return const InvalidType();
@@ -1696,8 +1692,8 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
if (name is TypeDeclarationAccessor) {
push(name.buildType(arguments));
} else if (name is FastaAccessor) {
- deprecated_warningNotError(
- "'${beginToken.lexeme}' isn't a type.", beginToken.charOffset);
+ warningNotError(
+ fasta.codeNotAType.bind(beginToken.lexeme), beginToken.charOffset);
push(const InvalidType());
} else if (name is TypeBuilder) {
push(name.build(library));
@@ -1708,6 +1704,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
} else {
deprecated_internalProblem("Unhandled: '${name.runtimeType}'.");
}
+ // TODO(ahe): Unused code fasta.codeNonInstanceTypeVariableUse.
}
@override
@@ -3024,18 +3021,18 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
@override
void handleRecoverableError(Token token, FastaMessage message) {
bool silent = hasParserError ||
- message.code == codeFinalFieldWithoutInitializer ||
- message.code == codeConstFieldWithoutInitializer;
+ message.code == fasta.codeFinalFieldWithoutInitializer ||
+ message.code == fasta.codeConstFieldWithoutInitializer;
deprecated_addCompileTimeError(message.charOffset, message.message,
silent: silent);
}
@override
Token handleUnrecoverableError(Token token, FastaMessage message) {
- if (enableNative && message.code == codeExpectedFunctionBody) {
+ if (enableNative && message.code == fasta.codeExpectedFunctionBody) {
Token recover = library.loader.target.skipNativeClause(token);
if (recover != null) return recover;
- } else if (message.code == codeExpectedButGot) {
+ } else if (message.code == fasta.codeExpectedButGot) {
String expected = message.arguments["string"];
const List<String> trailing = const <String>[")", "}", ";", ","];
if (trailing.contains(token.stringValue) && trailing.contains(expected)) {
@@ -3086,9 +3083,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
Expression buildAbstractClassInstantiationError(String className,
[int charOffset = -1]) {
- deprecated_warning(
- "The class '$className' is abstract and can't be instantiated.",
- charOffset);
+ warning(fasta.codeAbstractClassInstantiation.bind(className), charOffset);
Builder constructor = library.loader.getAbstractClassInstantiationError();
return new KernelSyntheticExpression(new Throw(buildStaticInvocation(
constructor.target,
@@ -3235,6 +3230,10 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
super.deprecated_warning(message, charOffset);
}
+ void warningNotError(BoundFastaMessage bind, int charOffset) {
+ super.warning(bind, charOffset);
+ }
+
@override
DartType validatedTypeVariableUse(
TypeParameterType type, int offset, bool nonInstanceAccessIsError) {

Powered by Google App Engine
This is Rietveld 408576698