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

Unified Diff: pkg/front_end/lib/src/fasta/parser/parser.dart

Issue 2964933002: Import message codes by prefix. (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
« no previous file with comments | « no previous file | 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/parser/parser.dart
diff --git a/pkg/front_end/lib/src/fasta/parser/parser.dart b/pkg/front_end/lib/src/fasta/parser/parser.dart
index e6cc5df476074cec4ea0c8ff5697de02870fb518..4529c426be861e14c1cee3ac4a46906801b0486f 100644
--- a/pkg/front_end/lib/src/fasta/parser/parser.dart
+++ b/pkg/front_end/lib/src/fasta/parser/parser.dart
@@ -4,66 +4,9 @@
library fasta.parser.parser;
-import '../fasta_codes.dart'
- show
- FastaCode,
- FastaMessage,
- codeAbstractNotSync,
- codeAsciiControlCharacter,
- codeAssertAsExpression,
- codeAssertExtraneousArgument,
- codeAsyncAsIdentifier,
- codeAwaitAsIdentifier,
- codeAwaitForNotAsync,
- codeAwaitNotAsync,
- codeBuiltInIdentifierAsType,
- codeBuiltInIdentifierInDeclaration,
- codeCatchSyntax,
- codeConstFieldWithoutInitializer,
- codeEmptyNamedParameterList,
- codeEmptyOptionalParameterList,
- codeEncoding,
- codeExpectedBlockToSkip,
- codeExpectedBody,
- codeExpectedButGot,
- codeExpectedClassBody,
- codeExpectedClassBodyToSkip,
- codeExpectedDeclaration,
- codeExpectedExpression,
- codeExpectedFunctionBody,
- codeExpectedIdentifier,
- codeExpectedOpenParens,
- codeExpectedString,
- codeExtraneousModifier,
- codeFactoryNotSync,
- codeFinalFieldWithoutInitializer,
- codeFunctionTypeDefaultValue,
- codeGeneratorReturnsValue,
- codeGetterWithFormals,
- codeInvalidAwaitFor,
- codeInvalidInlineFunctionType,
- codeInvalidSyncModifier,
- codeInvalidVoid,
- codeMetadataTypeArguments,
- codeNoFormals,
- codeNonAsciiIdentifier,
- codeNonAsciiWhitespace,
- codeOnlyTry,
- codePositionalParameterWithEquals,
- codePrivateNamedParameter,
- codeRequiredParameterWithDefault,
- codeSetterNotSync,
- codeStackOverflow,
- codeSuperNullAware,
- codeTypeAfterVar,
- codeTypeRequired,
- codeUnexpectedToken,
- codeUnmatchedToken,
- codeUnspecified,
- codeUnsupportedPrefixPlus,
- codeUnterminatedString,
- codeYieldAsIdentifier,
- codeYieldNotGenerator;
+import '../fasta_codes.dart' show FastaCode, FastaMessage;
+
+import '../fasta_codes.dart' as fasta;
import '../scanner.dart' show ErrorToken, Token;
@@ -298,8 +241,8 @@ enum TypeContinuation {
///
/// When attempting to parse this function, the parser eventually calls
/// [parseFunctionBody]. This method will report an unrecoverable error to the
-/// listener with the code [codeExpectedFunctionBody]. The listener can then
-/// look at the error code and the token and use the methods in
+/// listener with the code [fasta.codeExpectedFunctionBody]. The listener can
+/// then look at the error code and the token and use the methods in
/// [dart_vm_native.dart](dart_vm_native.dart) to parse the native syntax.
///
/// #### Implementation of Diet Parsing
@@ -631,7 +574,7 @@ class Parser {
token =
parseQualifiedRestOpt(token, IdentifierContext.metadataContinuation);
if (optional("<", token)) {
- reportRecoverableErrorCode(token, codeMetadataTypeArguments);
+ reportRecoverableErrorCode(token, fasta.codeMetadataTypeArguments);
}
token = parseTypeArgumentsOpt(token);
Token period = null;
@@ -696,11 +639,11 @@ class Parser {
listener.beginOptionalFormalParameters(token);
if (!optional('(', token)) {
if (optional(';', token)) {
- reportRecoverableErrorCode(token, codeExpectedOpenParens);
+ reportRecoverableErrorCode(token, fasta.codeExpectedOpenParens);
return token;
}
return reportUnrecoverableErrorCodeWithString(
- token, codeExpectedButGot, "(")
+ token, fasta.codeExpectedButGot, "(")
.next;
}
BeginToken beginGroupToken = token;
@@ -733,7 +676,7 @@ class Parser {
break;
} else if (identical(value, '[]')) {
--parameterCount;
- reportRecoverableErrorCode(token, codeEmptyOptionalParameterList);
+ reportRecoverableErrorCode(token, fasta.codeEmptyOptionalParameterList);
token = token.next;
break;
}
@@ -775,7 +718,7 @@ class Parser {
}
}
if (isNamedParameter && nameToken.lexeme.startsWith("_")) {
- reportRecoverableErrorCode(nameToken, codePrivateNamedParameter);
+ reportRecoverableErrorCode(nameToken, fasta.codePrivateNamedParameter);
}
token = listener.injectGenericCommentTypeList(token);
@@ -790,7 +733,7 @@ class Parser {
// int Function(int bar(String x)).
if (memberKind == MemberKind.GeneralizedFunctionType) {
reportRecoverableErrorCode(
- inlineFunctionTypeStart, codeInvalidInlineFunctionType);
+ inlineFunctionTypeStart, fasta.codeInvalidInlineFunctionType);
}
} else if (optional('<', token)) {
Token inlineFunctionTypeStart = token;
@@ -803,7 +746,7 @@ class Parser {
// int Function(int bar(String x)).
if (memberKind == MemberKind.GeneralizedFunctionType) {
reportRecoverableErrorCode(
- inlineFunctionTypeStart, codeInvalidInlineFunctionType);
+ inlineFunctionTypeStart, fasta.codeInvalidInlineFunctionType);
}
}
String value = token.stringValue;
@@ -812,13 +755,16 @@ class Parser {
token = parseExpression(token.next);
listener.handleValuedFormalParameter(equal, token);
if (parameterKind.isRequired) {
- reportRecoverableErrorCode(equal, codeRequiredParameterWithDefault);
+ reportRecoverableErrorCode(
+ equal, fasta.codeRequiredParameterWithDefault);
} else if (parameterKind.isPositional && identical(':', value)) {
- reportRecoverableErrorCode(equal, codePositionalParameterWithEquals);
+ reportRecoverableErrorCode(
+ equal, fasta.codePositionalParameterWithEquals);
} else if (inFunctionType ||
memberKind == MemberKind.FunctionTypeAlias ||
memberKind == MemberKind.FunctionTypedParameter) {
- reportRecoverableErrorCode(equal.next, codeFunctionTypeDefaultValue);
+ reportRecoverableErrorCode(
+ equal.next, fasta.codeFunctionTypeDefaultValue);
}
} else {
listener.handleFormalParameterWithoutValue(token);
@@ -850,8 +796,8 @@ class Parser {
reportRecoverableErrorCode(
token,
isNamed
- ? codeEmptyNamedParameterList
- : codeEmptyOptionalParameterList);
+ ? fasta.codeEmptyNamedParameterList
+ : fasta.codeEmptyOptionalParameterList);
}
listener.endOptionalFormalParameters(parameterCount, begin, token);
if (isNamed) {
@@ -980,7 +926,8 @@ class Parser {
Token skipBlock(Token token) {
if (!optional('{', token)) {
- return reportUnrecoverableErrorCode(token, codeExpectedBlockToSkip).next;
+ return reportUnrecoverableErrorCode(token, fasta.codeExpectedBlockToSkip)
+ .next;
}
BeginToken beginGroupToken = token;
Token endGroup = beginGroupToken.endGroup;
@@ -1083,7 +1030,8 @@ class Parser {
Token parseStringPart(Token token) {
if (token.kind != STRING_TOKEN) {
token =
- reportUnrecoverableErrorCodeWithToken(token, codeExpectedString).next;
+ reportUnrecoverableErrorCodeWithToken(token, fasta.codeExpectedString)
+ .next;
}
listener.handleStringPart(token);
return token.next;
@@ -1092,26 +1040,27 @@ class Parser {
Token parseIdentifier(Token token, IdentifierContext context) {
if (!token.isIdentifier) {
if (optional("void", token)) {
- reportRecoverableErrorCode(token, codeInvalidVoid);
+ reportRecoverableErrorCode(token, fasta.codeInvalidVoid);
} else {
- token =
- reportUnrecoverableErrorCodeWithToken(token, codeExpectedIdentifier)
- .next;
+ token = reportUnrecoverableErrorCodeWithToken(
+ token, fasta.codeExpectedIdentifier)
+ .next;
}
} else if (token.type.isBuiltIn && !context.isBuiltInIdentifierAllowed) {
if (context.inDeclaration) {
reportRecoverableErrorCodeWithToken(
- token, codeBuiltInIdentifierInDeclaration);
+ token, fasta.codeBuiltInIdentifierInDeclaration);
} else if (!optional("dynamic", token)) {
- reportRecoverableErrorCodeWithToken(token, codeBuiltInIdentifierAsType);
+ reportRecoverableErrorCodeWithToken(
+ token, fasta.codeBuiltInIdentifierAsType);
}
} else if (!inPlainSync && token.type.isPseudo) {
if (optional('await', token)) {
- reportRecoverableErrorCode(token, codeAwaitAsIdentifier);
+ reportRecoverableErrorCode(token, fasta.codeAwaitAsIdentifier);
} else if (optional('yield', token)) {
- reportRecoverableErrorCode(token, codeYieldAsIdentifier);
+ reportRecoverableErrorCode(token, fasta.codeYieldAsIdentifier);
} else if (optional('async', token)) {
- reportRecoverableErrorCode(token, codeAsyncAsIdentifier);
+ reportRecoverableErrorCode(token, fasta.codeAsyncAsIdentifier);
}
}
listener.handleIdentifier(token, context);
@@ -1121,7 +1070,7 @@ class Parser {
Token expect(String string, Token token) {
if (!identical(string, token.stringValue)) {
return reportUnrecoverableErrorCodeWithString(
- token, codeExpectedButGot, string)
+ token, fasta.codeExpectedButGot, string)
.next;
}
return token.next;
@@ -1538,7 +1487,7 @@ class Parser {
Link<Token> identifiers = findMemberName(token);
if (identifiers.isEmpty) {
return reportUnrecoverableErrorCodeWithToken(
- start, codeExpectedDeclaration)
+ start, fasta.codeExpectedDeclaration)
.next;
}
Token afterName = identifiers.head;
@@ -1546,7 +1495,7 @@ class Parser {
if (identifiers.isEmpty) {
return reportUnrecoverableErrorCodeWithToken(
- start, codeExpectedDeclaration)
+ start, fasta.codeExpectedDeclaration)
.next;
}
Token name = identifiers.head;
@@ -1618,7 +1567,7 @@ class Parser {
isVariable: true);
if (token != name) {
- reportRecoverableErrorCodeWithToken(token, codeExtraneousModifier);
+ reportRecoverableErrorCodeWithToken(token, fasta.codeExtraneousModifier);
token = name;
}
@@ -1656,7 +1605,8 @@ class Parser {
if (externalModifier == null && optional('external', modifier)) {
externalModifier = modifier;
} else {
- reportRecoverableErrorCodeWithToken(modifier, codeExtraneousModifier);
+ reportRecoverableErrorCodeWithToken(
+ modifier, fasta.codeExtraneousModifier);
}
}
if (externalModifier != null) {
@@ -1687,7 +1637,7 @@ class Parser {
Token asyncToken = token;
token = parseAsyncModifier(token);
if (getOrSet != null && !inPlainSync && optional("set", getOrSet)) {
- reportRecoverableErrorCode(asyncToken, codeSetterNotSync);
+ reportRecoverableErrorCode(asyncToken, fasta.codeSetterNotSync);
}
token = parseFunctionBody(token, false, externalModifier != null);
asyncState = savedAsyncModifier;
@@ -1700,10 +1650,10 @@ class Parser {
void checkFormals(bool isGetter, Token name, Token token) {
if (optional("(", token)) {
if (isGetter) {
- reportRecoverableErrorCode(token, codeGetterWithFormals);
+ reportRecoverableErrorCode(token, fasta.codeGetterWithFormals);
}
} else if (!isGetter) {
- reportRecoverableErrorCodeWithToken(name, codeNoFormals);
+ reportRecoverableErrorCodeWithToken(name, fasta.codeNoFormals);
}
}
@@ -1828,7 +1778,7 @@ class Parser {
}
if (!optional('(', token)) {
if (optional(';', token)) {
- reportRecoverableErrorCode(token, codeExpectedOpenParens);
+ reportRecoverableErrorCode(token, fasta.codeExpectedOpenParens);
}
token = expect("(", token);
}
@@ -1855,9 +1805,11 @@ class Parser {
} else {
if (varFinalOrConst != null) {
if (optional("const", varFinalOrConst)) {
- reportRecoverableErrorCode(name, codeConstFieldWithoutInitializer);
+ reportRecoverableErrorCode(
+ name, fasta.codeConstFieldWithoutInitializer);
} else if (isTopLevel && optional("final", varFinalOrConst)) {
- reportRecoverableErrorCode(name, codeFinalFieldWithoutInitializer);
+ reportRecoverableErrorCode(
+ name, fasta.codeFinalFieldWithoutInitializer);
}
}
listener.handleNoFieldInitializer(token);
@@ -1917,9 +1869,9 @@ class Parser {
if (identical(token.kind, STRING_TOKEN)) {
return parseLiteralString(token);
} else {
- reportRecoverableErrorCodeWithToken(token, codeExpectedString);
+ reportRecoverableErrorCodeWithToken(token, fasta.codeExpectedString);
return parseRecoverExpression(
- token, codeExpectedString.format(uri, token.charOffset, token));
+ token, fasta.codeExpectedString.format(uri, token.charOffset, token));
}
}
@@ -1997,33 +1949,33 @@ class Parser {
if (optional("var", token)) {
if (!isVariable && parameterKind == null) {
reportRecoverableErrorCodeWithToken(
- token, codeExtraneousModifier);
+ token, fasta.codeExtraneousModifier);
}
hasVar = true;
typeRequired = false;
} else if (optional("final", token)) {
if (!isVariable && parameterKind == null) {
reportRecoverableErrorCodeWithToken(
- token, codeExtraneousModifier);
+ token, fasta.codeExtraneousModifier);
}
typeRequired = false;
} else if (optional("const", token)) {
if (!isVariable) {
reportRecoverableErrorCodeWithToken(
- token, codeExtraneousModifier);
+ token, fasta.codeExtraneousModifier);
}
typeRequired = false;
} else if (optional("static", token)) {
if (parameterKind != null) {
reportRecoverableErrorCodeWithToken(
- token, codeExtraneousModifier);
+ token, fasta.codeExtraneousModifier);
} else if (memberKind == MemberKind.NonStaticMethod) {
memberKind = MemberKind.StaticMethod;
} else if (memberKind == MemberKind.NonStaticField) {
memberKind = MemberKind.StaticField;
} else {
reportRecoverableErrorCodeWithToken(
- token, codeExtraneousModifier);
+ token, fasta.codeExtraneousModifier);
token = token.next;
continue;
}
@@ -2034,7 +1986,7 @@ class Parser {
case MemberKind.TopLevelField:
case MemberKind.TopLevelMethod:
reportRecoverableErrorCodeWithToken(
- token, codeExtraneousModifier);
+ token, fasta.codeExtraneousModifier);
token = token.next;
continue;
@@ -2051,7 +2003,7 @@ class Parser {
default:
reportRecoverableErrorCodeWithToken(
- token, codeExtraneousModifier);
+ token, fasta.codeExtraneousModifier);
token = token.next;
continue;
}
@@ -2059,7 +2011,8 @@ class Parser {
token = parseModifier(token);
count++;
} else {
- reportRecoverableErrorCodeWithToken(token, codeExtraneousModifier);
+ reportRecoverableErrorCodeWithToken(
+ token, fasta.codeExtraneousModifier);
token = token.next;
}
} else {
@@ -2075,10 +2028,10 @@ class Parser {
? TypeContinuation.Optional
: TypeContinuation.Required);
if (typeRequired && beforeType == token) {
- reportRecoverableErrorCode(token, codeTypeRequired);
+ reportRecoverableErrorCode(token, fasta.codeTypeRequired);
}
if (hasVar && beforeType != token) {
- reportRecoverableErrorCode(beforeType, codeTypeAfterVar);
+ reportRecoverableErrorCode(beforeType, fasta.codeTypeAfterVar);
}
return token;
}
@@ -2086,7 +2039,7 @@ class Parser {
Token skipClassBody(Token token) {
if (!optional('{', token)) {
return reportUnrecoverableErrorCodeWithToken(
- token, codeExpectedClassBodyToSkip)
+ token, fasta.codeExpectedClassBodyToSkip)
.next;
}
BeginToken beginGroupToken = token;
@@ -2101,9 +2054,9 @@ class Parser {
Token begin = token;
listener.beginClassBody(token);
if (!optional('{', token)) {
- token =
- reportUnrecoverableErrorCodeWithToken(token, codeExpectedClassBody)
- .next;
+ token = reportUnrecoverableErrorCodeWithToken(
+ token, fasta.codeExpectedClassBody)
+ .next;
}
token = token.next;
int count = 0;
@@ -2141,7 +2094,7 @@ class Parser {
Link<Token> identifiers = findMemberName(token);
if (identifiers.isEmpty) {
return reportUnrecoverableErrorCodeWithToken(
- start, codeExpectedDeclaration)
+ start, fasta.codeExpectedDeclaration)
.next;
}
Token afterName = identifiers.head;
@@ -2149,7 +2102,7 @@ class Parser {
if (identifiers.isEmpty) {
return reportUnrecoverableErrorCodeWithToken(
- start, codeExpectedDeclaration)
+ start, fasta.codeExpectedDeclaration)
.next;
}
Token name = identifiers.head;
@@ -2233,7 +2186,8 @@ class Parser {
for (; !tokens.isEmpty; tokens = tokens.tail) {
Token token = tokens.head;
if (optional("abstract", token)) {
- reportRecoverableErrorCodeWithToken(token, codeExtraneousModifier);
+ reportRecoverableErrorCodeWithToken(
+ token, fasta.codeExtraneousModifier);
continue;
}
int order = modifierOrder(token);
@@ -2242,11 +2196,11 @@ class Parser {
currentOrder = order;
if (optional("var", token)) {
reportRecoverableErrorCodeWithToken(
- token, codeExtraneousModifier);
+ token, fasta.codeExtraneousModifier);
} else if (optional("const", token)) {
if (getOrSet != null) {
reportRecoverableErrorCodeWithToken(
- token, codeExtraneousModifier);
+ token, fasta.codeExtraneousModifier);
continue;
}
} else if (optional("external", token)) {
@@ -2258,12 +2212,13 @@ class Parser {
getOrSet == null ||
optional("get", getOrSet)) {
reportRecoverableErrorCodeWithToken(
- token, codeExtraneousModifier);
+ token, fasta.codeExtraneousModifier);
continue;
}
}
} else {
- reportRecoverableErrorCodeWithToken(token, codeExtraneousModifier);
+ reportRecoverableErrorCodeWithToken(
+ token, fasta.codeExtraneousModifier);
continue;
}
} else {
@@ -2288,7 +2243,7 @@ class Parser {
token = parseOperatorName(name);
if (staticModifier != null) {
reportRecoverableErrorCodeWithToken(
- staticModifier, codeExtraneousModifier);
+ staticModifier, fasta.codeExtraneousModifier);
}
} else {
token = parseIdentifier(name, IdentifierContext.methodDeclaration);
@@ -2314,7 +2269,7 @@ class Parser {
Token asyncToken = token;
token = parseAsyncModifier(token);
if (getOrSet != null && !inPlainSync && optional("set", getOrSet)) {
- reportRecoverableErrorCode(asyncToken, codeSetterNotSync);
+ reportRecoverableErrorCode(asyncToken, fasta.codeSetterNotSync);
}
if (optional('=', token)) {
token = parseRedirectingFactoryBody(token);
@@ -2348,7 +2303,7 @@ class Parser {
Token asyncToken = token;
token = parseAsyncModifier(token);
if (!inPlainSync) {
- reportRecoverableErrorCode(asyncToken, codeFactoryNotSync);
+ reportRecoverableErrorCode(asyncToken, fasta.codeFactoryNotSync);
}
if (optional('=', token)) {
token = parseRedirectingFactoryBody(token);
@@ -2468,7 +2423,7 @@ class Parser {
String value = token.stringValue;
if (identical(value, ';')) {
if (!allowAbstract) {
- reportRecoverableErrorCode(token, codeExpectedBody);
+ reportRecoverableErrorCode(token, fasta.codeExpectedBody);
}
listener.handleNoFunctionBody(token);
} else {
@@ -2477,7 +2432,7 @@ class Parser {
expectSemicolon(token);
listener.handleFunctionBodySkipped(token, true);
} else if (identical(value, '=')) {
- reportRecoverableErrorCode(token, codeExpectedBody);
+ reportRecoverableErrorCode(token, fasta.codeExpectedBody);
token = parseExpression(token.next);
expectSemicolon(token);
listener.handleFunctionBodySkipped(token, true);
@@ -2492,7 +2447,7 @@ class Parser {
Token parseFunctionBody(Token token, bool isExpression, bool allowAbstract) {
if (optional(';', token)) {
if (!allowAbstract) {
- reportRecoverableErrorCode(token, codeExpectedBody);
+ reportRecoverableErrorCode(token, fasta.codeExpectedBody);
}
listener.handleEmptyFunctionBody(token);
return token;
@@ -2509,7 +2464,7 @@ class Parser {
} else if (optional('=', token)) {
Token begin = token;
// Recover from a bad factory method.
- reportRecoverableErrorCode(token, codeExpectedBody);
+ reportRecoverableErrorCode(token, fasta.codeExpectedBody);
token = parseExpression(token.next);
if (!isExpression) {
expectSemicolon(token);
@@ -2522,9 +2477,9 @@ class Parser {
Token begin = token;
int statementCount = 0;
if (!optional('{', token)) {
- token =
- reportUnrecoverableErrorCodeWithToken(token, codeExpectedFunctionBody)
- .next;
+ token = reportUnrecoverableErrorCodeWithToken(
+ token, fasta.codeExpectedFunctionBody)
+ .next;
listener.handleInvalidFunctionBody(token);
return token;
}
@@ -2582,14 +2537,14 @@ class Parser {
star = token;
token = token.next;
} else {
- reportRecoverableErrorCode(async, codeInvalidSyncModifier);
+ reportRecoverableErrorCode(async, fasta.codeInvalidSyncModifier);
}
}
listener.handleAsyncModifier(async, star);
if (inGenerator && optional('=>', token)) {
- reportRecoverableErrorCode(token, codeGeneratorReturnsValue);
+ reportRecoverableErrorCode(token, fasta.codeGeneratorReturnsValue);
} else if (!inPlainSync && optional(';', token)) {
- reportRecoverableErrorCode(token, codeAbstractNotSync);
+ reportRecoverableErrorCode(token, fasta.codeAbstractNotSync);
}
return token;
}
@@ -2600,7 +2555,7 @@ class Parser {
// This happens for degenerate programs, for example, a lot of nested
// if-statements. The language test deep_nesting2_negative_test, for
// example, provokes this.
- return reportUnrecoverableErrorCode(token, codeStackOverflow).next;
+ return reportUnrecoverableErrorCode(token, fasta.codeStackOverflow).next;
}
Token result = parseStatementX(token);
statementDepth--;
@@ -2621,7 +2576,7 @@ class Parser {
return parseIfStatement(token);
} else if (identical(value, 'await') && optional('for', token.next)) {
if (!inAsync) {
- reportRecoverableErrorCode(token, codeAwaitForNotAsync);
+ reportRecoverableErrorCode(token, fasta.codeAwaitForNotAsync);
}
return parseForStatement(token, token.next);
} else if (identical(value, 'for')) {
@@ -2659,7 +2614,7 @@ class Parser {
return parseYieldStatement(token);
case AsyncModifier.Async:
- reportRecoverableErrorCode(token, codeYieldNotGenerator);
+ reportRecoverableErrorCode(token, fasta.codeYieldNotGenerator);
return parseYieldStatement(token);
}
throw "Internal error: Unknown asyncState: '$asyncState'.";
@@ -2699,7 +2654,7 @@ class Parser {
} else {
token = parseExpression(token);
if (inGenerator) {
- reportRecoverableErrorCode(begin.next, codeGeneratorReturnsValue);
+ reportRecoverableErrorCode(begin.next, fasta.codeGeneratorReturnsValue);
}
listener.endReturnStatement(true, begin, token);
}
@@ -2821,7 +2776,7 @@ class Parser {
// This happens in degenerate programs, for example, with a lot of nested
// list literals. This is provoked by, for examaple, the language test
// deep_nesting1_negative_test.
- return reportUnrecoverableErrorCode(token, codeStackOverflow).next;
+ return reportUnrecoverableErrorCode(token, fasta.codeStackOverflow).next;
}
listener.beginExpression(token);
Token result = optional('throw', token)
@@ -2962,7 +2917,7 @@ class Parser {
}
} else if (identical(value, '+')) {
// Dart no longer allows prefix-plus.
- reportRecoverableErrorCode(token, codeUnsupportedPrefixPlus);
+ reportRecoverableErrorCode(token, fasta.codeUnsupportedPrefixPlus);
return parseUnaryExpression(token.next, allowCascades);
} else if ((identical(value, '!')) ||
(identical(value, '-')) ||
@@ -3065,7 +3020,8 @@ class Parser {
}
Token expressionExpected(Token token) {
- token = reportUnrecoverableErrorCodeWithToken(token, codeExpectedExpression)
+ token = reportUnrecoverableErrorCodeWithToken(
+ token, fasta.codeExpectedExpression)
.next;
listener.handleInvalidExpression(token);
return token;
@@ -3130,7 +3086,7 @@ class Parser {
token = parseArguments(token);
listener.endSend(beginToken, token);
} else if (optional("?.", token)) {
- reportRecoverableErrorCode(token, codeSuperNullAware);
+ reportRecoverableErrorCode(token, fasta.codeSuperNullAware);
}
return token;
}
@@ -3606,7 +3562,7 @@ class Parser {
return parseForInRest(awaitToken, forKeyword, leftParenthesis, token);
} else {
if (awaitToken != null) {
- reportRecoverableErrorCode(awaitToken, codeInvalidAwaitFor);
+ reportRecoverableErrorCode(awaitToken, fasta.codeInvalidAwaitFor);
}
return parseForRest(forKeyword, leftParenthesis, token);
}
@@ -3712,7 +3668,7 @@ class Parser {
listener.beginAwaitExpression(awaitToken);
token = expect('await', token);
if (!inAsync) {
- reportRecoverableErrorCode(awaitToken, codeAwaitNotAsync);
+ reportRecoverableErrorCode(awaitToken, fasta.codeAwaitNotAsync);
}
token = parsePrecedenceExpression(token, POSTFIX_PRECEDENCE, allowCascades);
listener.endAwaitExpression(awaitToken, token);
@@ -3771,15 +3727,15 @@ class Parser {
if (!optional("(", openParens)) {
// Handled below by parseFormalParameters.
} else if (!exceptionName.isIdentifier) {
- reportRecoverableErrorCode(exceptionName, codeCatchSyntax);
+ reportRecoverableErrorCode(exceptionName, fasta.codeCatchSyntax);
} else if (optional(")", commaOrCloseParens)) {
// OK: `catch (identifier)`.
} else if (!optional(",", commaOrCloseParens)) {
- reportRecoverableErrorCode(exceptionName, codeCatchSyntax);
+ reportRecoverableErrorCode(exceptionName, fasta.codeCatchSyntax);
} else if (!traceName.isIdentifier) {
- reportRecoverableErrorCode(exceptionName, codeCatchSyntax);
+ reportRecoverableErrorCode(exceptionName, fasta.codeCatchSyntax);
} else if (!optional(")", closeParens)) {
- reportRecoverableErrorCode(exceptionName, codeCatchSyntax);
+ reportRecoverableErrorCode(exceptionName, fasta.codeCatchSyntax);
}
token = parseFormalParameters(token.next, MemberKind.Catch);
}
@@ -3797,7 +3753,7 @@ class Parser {
listener.handleFinallyBlock(finallyKeyword);
} else {
if (catchCount == 0) {
- reportRecoverableErrorCode(tryKeyword, codeOnlyTry);
+ reportRecoverableErrorCode(tryKeyword, fasta.codeOnlyTry);
}
}
listener.endTryStatement(catchCount, tryKeyword, finallyKeyword);
@@ -3879,7 +3835,7 @@ class Parser {
if (expressionCount == 0) {
// TODO(ahe): This is probably easy to recover from.
reportUnrecoverableErrorCodeWithString(
- token, codeExpectedButGot, "case");
+ token, fasta.codeExpectedButGot, "case");
}
break;
}
@@ -3939,10 +3895,11 @@ class Parser {
token = token.next;
Token begin = token;
token = parseExpression(token);
- listener.handleExtraneousExpression(
- begin, codeAssertExtraneousArgument.format(uri, token.charOffset));
+ listener.handleExtraneousExpression(begin,
+ fasta.codeAssertExtraneousArgument.format(uri, token.charOffset));
}
- reportRecoverableErrorCode(firstExtra, codeAssertExtraneousArgument);
+ reportRecoverableErrorCode(
+ firstExtra, fasta.codeAssertExtraneousArgument);
}
Token rightParenthesis = token;
token = expect(')', token);
@@ -3950,7 +3907,7 @@ class Parser {
listener.endAssert(assertKeyword, kind, leftParenthesis, commaToken,
rightParenthesis, token);
if (kind == Assert.Expression) {
- reportRecoverableErrorCode(assertKeyword, codeAssertAsExpression);
+ reportRecoverableErrorCode(assertKeyword, fasta.codeAssertAsExpression);
}
return token;
}
@@ -4001,27 +3958,27 @@ class Parser {
Token reportErrorToken(ErrorToken token, bool isRecoverable) {
FastaCode code = token.errorCode;
FastaMessage message;
- if (code == codeAsciiControlCharacter) {
- message = codeAsciiControlCharacter.format(
- uri, token.charOffset, token.character);
- } else if (code == codeNonAsciiWhitespace) {
- message =
- codeNonAsciiWhitespace.format(uri, token.charOffset, token.character);
- } else if (code == codeEncoding) {
- message = codeEncoding.format(uri, token.charOffset);
- } else if (code == codeNonAsciiIdentifier) {
- message = codeNonAsciiIdentifier.format(uri, token.charOffset,
+ if (code == fasta.codeAsciiControlCharacter) {
+ message = fasta.codeAsciiControlCharacter
+ .format(uri, token.charOffset, token.character);
+ } else if (code == fasta.codeNonAsciiWhitespace) {
+ message = fasta.codeNonAsciiWhitespace
+ .format(uri, token.charOffset, token.character);
+ } else if (code == fasta.codeEncoding) {
+ message = fasta.codeEncoding.format(uri, token.charOffset);
+ } else if (code == fasta.codeNonAsciiIdentifier) {
+ message = fasta.codeNonAsciiIdentifier.format(uri, token.charOffset,
new String.fromCharCodes([token.character]), token.character);
- } else if (code == codeUnterminatedString) {
- message =
- codeUnterminatedString.format(uri, token.charOffset, token.start);
- } else if (code == codeUnmatchedToken) {
+ } else if (code == fasta.codeUnterminatedString) {
+ message = fasta.codeUnterminatedString
+ .format(uri, token.charOffset, token.start);
+ } else if (code == fasta.codeUnmatchedToken) {
Token begin = token.begin;
- message = codeUnmatchedToken.format(
- uri, token.charOffset, closeBraceFor(begin.lexeme), begin);
- } else if (code == codeUnspecified) {
- message =
- codeUnspecified.format(uri, token.charOffset, token.assertionMessage);
+ message = fasta.codeUnmatchedToken
+ .format(uri, token.charOffset, closeBraceFor(begin.lexeme), begin);
+ } else if (code == fasta.codeUnspecified) {
+ message = fasta.codeUnspecified
+ .format(uri, token.charOffset, token.assertionMessage);
} else {
message = code.format(uri, token.charOffset);
}
@@ -4037,13 +3994,13 @@ class Parser {
Token reportUnmatchedToken(BeginToken token) {
return reportUnrecoverableError(
token,
- () => codeUnmatchedToken.format(
- uri, token.charOffset, closeBraceFor(token.lexeme), token));
+ () => fasta.codeUnmatchedToken
+ .format(uri, token.charOffset, closeBraceFor(token.lexeme), token));
}
Token reportUnexpectedToken(Token token) {
- return reportUnrecoverableError(
- token, () => codeUnexpectedToken.format(uri, token.charOffset, token));
+ return reportUnrecoverableError(token,
+ () => fasta.codeUnexpectedToken.format(uri, token.charOffset, token));
}
void reportRecoverableErrorCode(Token token, FastaCode<NoArgument> code) {
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698