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) { |