Index: pkg/analyzer/test/generated/parser_test.dart |
diff --git a/pkg/analyzer/test/generated/parser_test.dart b/pkg/analyzer/test/generated/parser_test.dart |
index 316530fec45080d3bad9238b44f4897efdfdc351..72cfe3cea61fd605a93d5fe859e14a865cc46dad 100644 |
--- a/pkg/analyzer/test/generated/parser_test.dart |
+++ b/pkg/analyzer/test/generated/parser_test.dart |
@@ -2064,6 +2064,14 @@ void f() { |
*/ |
@reflectiveTest |
class ErrorParserTest extends ParserTestCase with ErrorParserTestMixin { |
+ void test_missingIdentifier_number() { |
+ createParser('1'); |
+ SimpleIdentifier expression = parser.parseSimpleIdentifier(); |
+ expectNotNullIfNoErrors(expression); |
+ listener.assertErrorsWithCodes([ParserErrorCode.MISSING_IDENTIFIER]); |
+ expect(expression.isSynthetic, isTrue); |
+ } |
+ |
void test_nullableTypeInExtends() { |
enableNnbd = true; |
createParser('extends B?'); |
@@ -2517,8 +2525,8 @@ abstract class ErrorParserTestMixin implements AbstractParserTestCase { |
} |
void test_duplicateLabelInSwitchStatement() { |
- createParser('switch (e) {l1: case 0: break; l1: case 1: break;}'); |
- SwitchStatement statement = parser.parseSwitchStatement(); |
+ SwitchStatement statement = |
+ parseStatement('switch (e) {l1: case 0: break; l1: case 1: break;}'); |
expectNotNullIfNoErrors(statement); |
listener.assertErrorsWithCodes( |
[ParserErrorCode.DUPLICATE_LABEL_IN_SWITCH_STATEMENT]); |
@@ -2557,8 +2565,7 @@ class Foo { |
} |
void test_expectedCaseOrDefault() { |
- createParser('switch (e) {break;}'); |
- SwitchStatement statement = parser.parseSwitchStatement(); |
+ SwitchStatement statement = parseStatement('switch (e) {break;}'); |
expectNotNullIfNoErrors(statement); |
listener.assertErrorsWithCodes([ParserErrorCode.EXPECTED_CASE_OR_DEFAULT]); |
} |
@@ -2614,26 +2621,24 @@ class Foo { |
} |
void test_expectedInterpolationIdentifier() { |
- createParser("'\$x\$'"); |
- StringLiteral literal = parser.parseStringLiteral(); |
- expectNotNullIfNoErrors(literal); |
- listener.assertErrorsWithCodes([ |
+ StringLiteral literal = parseExpression("'\$x\$'", [ |
fe.Scanner.useFasta |
? ScannerErrorCode.MISSING_IDENTIFIER |
: ParserErrorCode.MISSING_IDENTIFIER |
]); |
+ expectNotNullIfNoErrors(literal); |
} |
void test_expectedInterpolationIdentifier_emptyString() { |
// The scanner inserts an empty string token between the two $'s; we need to |
// make sure that the MISSING_IDENTIFIER error that is generated has a |
// nonzero width so that it will show up in the editor UI. |
- createParser("'\$\$foo'"); |
- StringLiteral literal = parser.parseStringLiteral(); |
+ StringLiteral literal = parseExpression( |
+ "'\$\$foo'", |
+ fe.Scanner.useFasta |
+ ? [ScannerErrorCode.MISSING_IDENTIFIER] |
+ : [ParserErrorCode.MISSING_IDENTIFIER]); |
expectNotNullIfNoErrors(literal); |
- listener.assertErrors(fe.Scanner.useFasta |
- ? [new AnalysisError(null, 2, 1, ScannerErrorCode.MISSING_IDENTIFIER)] |
- : [new AnalysisError(null, 2, 1, ParserErrorCode.MISSING_IDENTIFIER)]); |
} |
@failingTest |
@@ -2652,8 +2657,7 @@ class Foo { |
} |
void test_expectedStringLiteral() { |
- createParser('1'); |
- StringLiteral literal = parser.parseStringLiteral(); |
+ StringLiteral literal = parseStringLiteral('1'); |
expectNotNullIfNoErrors(literal); |
listener.assertErrorsWithCodes([ParserErrorCode.EXPECTED_STRING_LITERAL]); |
expect(literal.isSynthetic, isTrue); |
@@ -3103,25 +3107,22 @@ class Wrong<T> { |
} |
void test_initializedVariableInForEach() { |
- createParser('for (int a = 0 in foo) {}'); |
- Statement statement = parser.parseForStatement(); |
+ Statement statement = parseStatement('for (int a = 0 in foo) {}'); |
expectNotNullIfNoErrors(statement); |
listener.assertErrorsWithCodes( |
[ParserErrorCode.INITIALIZED_VARIABLE_IN_FOR_EACH]); |
} |
void test_invalidAwaitInFor() { |
- createParser('await for (; ;) {}'); |
- Statement statement = parser.parseForStatement(); |
+ Statement statement = parseStatement('await for (; ;) {}'); |
expectNotNullIfNoErrors(statement); |
listener.assertErrorsWithCodes([ParserErrorCode.INVALID_AWAIT_IN_FOR]); |
} |
void test_invalidCodePoint() { |
- createParser("'\\u{110000}'"); |
- StringLiteral literal = parser.parseStringLiteral(); |
+ StringLiteral literal = |
+ parseExpression("'\\u{110000}'", [ParserErrorCode.INVALID_CODE_POINT]); |
expectNotNullIfNoErrors(literal); |
- listener.assertErrorsWithCodes([ParserErrorCode.INVALID_CODE_POINT]); |
} |
@failingTest |
@@ -3166,28 +3167,24 @@ class Wrong<T> { |
} |
void test_invalidHexEscape_invalidDigit() { |
- createParser("'\\x0 a'"); |
- StringLiteral literal = parser.parseStringLiteral(); |
+ StringLiteral literal = |
+ parseExpression("'\\x0 a'", [ParserErrorCode.INVALID_HEX_ESCAPE]); |
expectNotNullIfNoErrors(literal); |
- listener.assertErrorsWithCodes([ParserErrorCode.INVALID_HEX_ESCAPE]); |
} |
void test_invalidHexEscape_tooFewDigits() { |
- createParser("'\\x0'"); |
- StringLiteral literal = parser.parseStringLiteral(); |
+ StringLiteral literal = |
+ parseExpression("'\\x0'", [ParserErrorCode.INVALID_HEX_ESCAPE]); |
expectNotNullIfNoErrors(literal); |
- listener.assertErrorsWithCodes([ParserErrorCode.INVALID_HEX_ESCAPE]); |
} |
void test_invalidInterpolationIdentifier_startWithDigit() { |
- createParser("'\$1'"); |
- StringLiteral literal = parser.parseStringLiteral(); |
- expectNotNullIfNoErrors(literal); |
- listener.assertErrorsWithCodes([ |
+ StringLiteral literal = parseExpression("'\$1'", [ |
fe.Scanner.useFasta |
? ScannerErrorCode.MISSING_IDENTIFIER |
: ParserErrorCode.MISSING_IDENTIFIER |
]); |
+ expectNotNullIfNoErrors(literal); |
} |
void test_invalidLiteralInConfiguration() { |
@@ -3438,11 +3435,9 @@ class Wrong<T> { |
} |
void test_missingAssignableSelector_superPrimaryExpression() { |
- createParser('super'); |
- Expression expression = parser.parsePrimaryExpression(); |
+ Expression expression = |
+ parseExpression('super', [ParserErrorCode.MISSING_ASSIGNABLE_SELECTOR]); |
expectNotNullIfNoErrors(expression); |
- listener |
- .assertErrorsWithCodes([ParserErrorCode.MISSING_ASSIGNABLE_SELECTOR]); |
expect(expression, new isInstanceOf<SuperExpression>()); |
SuperExpression superExpression = expression; |
expect(superExpression.superKeyword, isNotNull); |
@@ -3453,8 +3448,7 @@ class Wrong<T> { |
} |
void test_missingCatchOrFinally() { |
- createParser('try {}'); |
- TryStatement statement = parser.parseTryStatement(); |
+ TryStatement statement = parseStatement('try {}'); |
expectNotNullIfNoErrors(statement); |
listener.assertErrorsWithCodes([ParserErrorCode.MISSING_CATCH_OR_FINALLY]); |
expect(statement, isNotNull); |
@@ -3500,17 +3494,9 @@ class Wrong<T> { |
listener.assertErrorsWithCodes([ParserErrorCode.MISSING_ENUM_BODY]); |
} |
- void test_missingExpressionInThrow_withCascade() { |
- createParser('throw;'); |
- ThrowExpression expression = parser.parseThrowExpression(); |
- expectNotNullIfNoErrors(expression); |
- listener |
- .assertErrorsWithCodes([ParserErrorCode.MISSING_EXPRESSION_IN_THROW]); |
- } |
- |
- void test_missingExpressionInThrow_withoutCascade() { |
- createParser('throw;'); |
- ThrowExpression expression = parser.parseThrowExpressionWithoutCascade(); |
+ void test_missingExpressionInThrow() { |
+ ThrowExpression expression = |
+ (parseStatement('throw;') as ExpressionStatement).expression; |
expectNotNullIfNoErrors(expression); |
listener |
.assertErrorsWithCodes([ParserErrorCode.MISSING_EXPRESSION_IN_THROW]); |
@@ -3618,14 +3604,6 @@ class Wrong<T> { |
listener.assertErrorsWithCodes([ParserErrorCode.MISSING_IDENTIFIER]); |
} |
- void test_missingIdentifier_number() { |
- createParser('1'); |
- SimpleIdentifier expression = parser.parseSimpleIdentifier(); |
- expectNotNullIfNoErrors(expression); |
- listener.assertErrorsWithCodes([ParserErrorCode.MISSING_IDENTIFIER]); |
- expect(expression.isSynthetic, isTrue); |
- } |
- |
void test_missingIdentifierForParameterGroup() { |
createParser('(,)'); |
FormalParameterList list = parser.parseFormalParameterList(); |
@@ -3679,9 +3657,9 @@ class Wrong<T> { |
} |
void test_missingNameForNamedParameter_colon() { |
- createParser('int : 0'); |
+ createParser('({int : 0})'); |
FormalParameter parameter = |
- parser.parseFormalParameter(ParameterKind.NAMED, inFunctionType: true); |
+ parser.parseFormalParameterList(inFunctionType: true).parameters[0]; |
expectNotNullIfNoErrors(parameter); |
listener.assertErrorsWithCodes([ |
ParserErrorCode.DEFAULT_VALUE_IN_FUNCTION_TYPE, |
@@ -3691,9 +3669,9 @@ class Wrong<T> { |
} |
void test_missingNameForNamedParameter_equals() { |
- createParser('int = 0'); |
+ createParser('({int = 0})'); |
FormalParameter parameter = |
- parser.parseFormalParameter(ParameterKind.NAMED, inFunctionType: true); |
+ parser.parseFormalParameterList(inFunctionType: true).parameters[0]; |
expectNotNullIfNoErrors(parameter); |
listener.assertErrorsWithCodes([ |
ParserErrorCode.DEFAULT_VALUE_IN_FUNCTION_TYPE, |
@@ -3703,9 +3681,9 @@ class Wrong<T> { |
} |
void test_missingNameForNamedParameter_noDefault() { |
- createParser('int'); |
+ createParser('({int})'); |
FormalParameter parameter = |
- parser.parseFormalParameter(ParameterKind.NAMED, inFunctionType: true); |
+ parser.parseFormalParameterList(inFunctionType: true).parameters[0]; |
expectNotNullIfNoErrors(parameter); |
listener.assertErrorsWithCodes( |
[ParserErrorCode.MISSING_NAME_FOR_NAMED_PARAMETER]); |
@@ -3784,8 +3762,7 @@ class Wrong<T> { |
} |
void test_missingVariableInForEach() { |
- createParser('for (a < b in foo) {}'); |
- Statement statement = parser.parseForStatement(); |
+ Statement statement = parseStatement('for (a < b in foo) {}'); |
expectNotNullIfNoErrors(statement); |
listener |
.assertErrorsWithCodes([ParserErrorCode.MISSING_VARIABLE_IN_FOR_EACH]); |
@@ -3846,8 +3823,7 @@ class Wrong<T> { |
} |
void test_multipleVariablesInForEach() { |
- createParser('for (int a, b in foo) {}'); |
- Statement statement = parser.parseForStatement(); |
+ Statement statement = parseStatement('for (int a, b in foo) {}'); |
expectNotNullIfNoErrors(statement); |
listener.assertErrorsWithCodes( |
[ParserErrorCode.MULTIPLE_VARIABLES_IN_FOR_EACH]); |
@@ -4121,17 +4097,16 @@ m() { |
} |
void test_switchHasCaseAfterDefaultCase() { |
- createParser('switch (a) {default: return 0; case 1: return 1;}'); |
- SwitchStatement statement = parser.parseSwitchStatement(); |
+ SwitchStatement statement = |
+ parseStatement('switch (a) {default: return 0; case 1: return 1;}'); |
expectNotNullIfNoErrors(statement); |
listener.assertErrorsWithCodes( |
[ParserErrorCode.SWITCH_HAS_CASE_AFTER_DEFAULT_CASE]); |
} |
void test_switchHasCaseAfterDefaultCase_repeated() { |
- createParser( |
+ SwitchStatement statement = parseStatement( |
'switch (a) {default: return 0; case 1: return 1; case 2: return 2;}'); |
- SwitchStatement statement = parser.parseSwitchStatement(); |
expectNotNullIfNoErrors(statement); |
listener.assertErrorsWithCodes([ |
ParserErrorCode.SWITCH_HAS_CASE_AFTER_DEFAULT_CASE, |
@@ -4140,17 +4115,16 @@ m() { |
} |
void test_switchHasMultipleDefaultCases() { |
- createParser('switch (a) {default: return 0; default: return 1;}'); |
- SwitchStatement statement = parser.parseSwitchStatement(); |
+ SwitchStatement statement = |
+ parseStatement('switch (a) {default: return 0; default: return 1;}'); |
expectNotNullIfNoErrors(statement); |
listener.assertErrorsWithCodes( |
[ParserErrorCode.SWITCH_HAS_MULTIPLE_DEFAULT_CASES]); |
} |
void test_switchHasMultipleDefaultCases_repeated() { |
- createParser( |
+ SwitchStatement statement = parseStatement( |
'switch (a) {default: return 0; default: return 1; default: return 2;}'); |
- SwitchStatement statement = parser.parseSwitchStatement(); |
expectNotNullIfNoErrors(statement); |
listener.assertErrorsWithCodes([ |
ParserErrorCode.SWITCH_HAS_MULTIPLE_DEFAULT_CASES, |
@@ -4411,8 +4385,8 @@ void main() { |
} |
void test_voidParameter() { |
- createParser('void a)'); |
- NormalFormalParameter parameter = parser.parseNormalFormalParameter(); |
+ NormalFormalParameter parameter = |
+ parseFormalParameterList('(void a)').parameters[0]; |
expectNotNullIfNoErrors(parameter); |
listener.assertNoErrors(); |
} |