Index: pkg/analyzer_experimental/test/generated/parser_test.dart |
diff --git a/pkg/analyzer_experimental/test/generated/parser_test.dart b/pkg/analyzer_experimental/test/generated/parser_test.dart |
index 41f664624dd508d0d011d8e593ad424ad3779dee..fac917c7094f3b16c603fb30158e9e79297353ea 100644 |
--- a/pkg/analyzer_experimental/test/generated/parser_test.dart |
+++ b/pkg/analyzer_experimental/test/generated/parser_test.dart |
@@ -3669,12 +3669,13 @@ class SimpleParserTest extends ParserTestCase { |
/** |
* Invoke the method [Parser#computeStringValue] with the given argument. |
+ * |
* @param lexeme the argument to the method |
* @return the result of invoking the method |
* @throws Exception if the method could not be invoked or throws an exception |
*/ |
String computeStringValue(String lexeme) { |
- AnalysisErrorListener listener = new AnalysisErrorListener_19(); |
+ AnalysisErrorListener listener = new AnalysisErrorListener_20(); |
Parser parser = new Parser(null, listener); |
return invokeParserMethodImpl(parser, "computeStringValue", <Object> [lexeme], null) as String; |
} |
@@ -3682,6 +3683,7 @@ class SimpleParserTest extends ParserTestCase { |
/** |
* Invoke the method [Parser#createSyntheticIdentifier] with the parser set to the token |
* stream produced by scanning the given source. |
+ * |
* @param source the source to be scanned to produce the token stream being tested |
* @return the result of invoking the method |
* @throws Exception if the method could not be invoked or throws an exception |
@@ -3694,6 +3696,7 @@ class SimpleParserTest extends ParserTestCase { |
/** |
* Invoke the method [Parser#createSyntheticIdentifier] with the parser set to the token |
* stream produced by scanning the given source. |
+ * |
* @param source the source to be scanned to produce the token stream being tested |
* @return the result of invoking the method |
* @throws Exception if the method could not be invoked or throws an exception |
@@ -3706,6 +3709,7 @@ class SimpleParserTest extends ParserTestCase { |
/** |
* Invoke the method [Parser#isFunctionDeclaration] with the parser set to the token |
* stream produced by scanning the given source. |
+ * |
* @param source the source to be scanned to produce the token stream being tested |
* @return the result of invoking the method |
* @throws Exception if the method could not be invoked or throws an exception |
@@ -3718,6 +3722,7 @@ class SimpleParserTest extends ParserTestCase { |
/** |
* Invoke the method [Parser#isFunctionExpression] with the parser set to the token stream |
* produced by scanning the given source. |
+ * |
* @param source the source to be scanned to produce the token stream being tested |
* @return the result of invoking the method |
* @throws Exception if the method could not be invoked or throws an exception |
@@ -3733,6 +3738,7 @@ class SimpleParserTest extends ParserTestCase { |
/** |
* Invoke the method [Parser#isInitializedVariableDeclaration] with the parser set to the |
* token stream produced by scanning the given source. |
+ * |
* @param source the source to be scanned to produce the token stream being tested |
* @return the result of invoking the method |
* @throws Exception if the method could not be invoked or throws an exception |
@@ -3745,6 +3751,7 @@ class SimpleParserTest extends ParserTestCase { |
/** |
* Invoke the method [Parser#isSwitchMember] with the parser set to the token stream |
* produced by scanning the given source. |
+ * |
* @param source the source to be scanned to produce the token stream being tested |
* @return the result of invoking the method |
* @throws Exception if the method could not be invoked or throws an exception |
@@ -3757,6 +3764,7 @@ class SimpleParserTest extends ParserTestCase { |
/** |
* Invoke a "skip" method in [Parser]. The method is assumed to take a token as it's |
* parameter and is given the first token in the scanned source. |
+ * |
* @param methodName the name of the method that should be invoked |
* @param source the source to be processed by the method |
* @return the result of invoking the method |
@@ -5847,7 +5855,7 @@ class SimpleParserTest extends ParserTestCase { |
}); |
} |
} |
-class AnalysisErrorListener_19 implements AnalysisErrorListener { |
+class AnalysisErrorListener_20 implements AnalysisErrorListener { |
void onError(AnalysisError event) { |
JUnitTestCase.fail("Unexpected compilation error: ${event.message} (${event.offset}, ${event.length})"); |
} |
@@ -6295,6 +6303,7 @@ class ASTValidator extends GeneralizingASTVisitor<Object> { |
/** |
* Validate that the given AST node is correctly constructed. |
+ * |
* @param node the AST node being validated |
*/ |
void validate(ASTNode node) { |
@@ -6345,6 +6354,7 @@ class ParserTestCase extends EngineTestCase { |
* |
* The given source is scanned and the parser is initialized to start with the first token in the |
* source before the parse method is invoked. |
+ * |
* @param methodName the name of the parse method that should be invoked to parse the source |
* @param objects the values of the arguments to the method |
* @param source the source to be parsed by the parse method |
@@ -6360,6 +6370,7 @@ class ParserTestCase extends EngineTestCase { |
* |
* The given source is scanned and the parser is initialized to start with the first token in the |
* source before the parse method is invoked. |
+ * |
* @param methodName the name of the parse method that should be invoked to parse the source |
* @param objects the values of the arguments to the method |
* @param source the source to be parsed by the parse method |
@@ -6367,7 +6378,7 @@ class ParserTestCase extends EngineTestCase { |
* @return the result of invoking the method |
* @throws Exception if the method could not be invoked or throws an exception |
* @throws AssertionFailedError if the result is `null` or the errors produced while |
- * scanning and parsing the source do not match the expected errors |
+ * scanning and parsing the source do not match the expected errors |
*/ |
static Object parse3(String methodName, List<Object> objects, String source, List<AnalysisError> errors) { |
GatheringErrorListener listener = new GatheringErrorListener(); |
@@ -6382,6 +6393,7 @@ class ParserTestCase extends EngineTestCase { |
* |
* The given source is scanned and the parser is initialized to start with the first token in the |
* source before the parse method is invoked. |
+ * |
* @param methodName the name of the parse method that should be invoked to parse the source |
* @param objects the values of the arguments to the method |
* @param source the source to be parsed by the parse method |
@@ -6389,7 +6401,7 @@ class ParserTestCase extends EngineTestCase { |
* @return the result of invoking the method |
* @throws Exception if the method could not be invoked or throws an exception |
* @throws AssertionFailedError if the result is `null` or the errors produced while |
- * scanning and parsing the source do not match the expected errors |
+ * scanning and parsing the source do not match the expected errors |
*/ |
static Object parse4(String methodName, List<Object> objects, String source, List<ErrorCode> errorCodes) { |
GatheringErrorListener listener = new GatheringErrorListener(); |
@@ -6403,23 +6415,25 @@ class ParserTestCase extends EngineTestCase { |
* |
* The given source is scanned and the parser is initialized to start with the first token in the |
* source before the parse method is invoked. |
+ * |
* @param methodName the name of the parse method that should be invoked to parse the source |
* @param source the source to be parsed by the parse method |
* @param errorCodes the error codes of the errors that should be generated |
* @return the result of invoking the method |
* @throws Exception if the method could not be invoked or throws an exception |
* @throws AssertionFailedError if the result is `null` or the errors produced while |
- * scanning and parsing the source do not match the expected errors |
+ * scanning and parsing the source do not match the expected errors |
*/ |
static Object parse5(String methodName, String source, List<ErrorCode> errorCodes) => parse4(methodName, _EMPTY_ARGUMENTS, source, errorCodes); |
/** |
* Parse the given source as a compilation unit. |
+ * |
* @param source the source to be parsed |
* @param errorCodes the error codes of the errors that are expected to be found |
* @return the compilation unit that was parsed |
* @throws Exception if the source could not be parsed, if the compilation errors in the source do |
- * not match those that are expected, or if the result would have been `null` |
+ * not match those that are expected, or if the result would have been `null` |
*/ |
static CompilationUnit parseCompilationUnit(String source, List<ErrorCode> errorCodes) { |
GatheringErrorListener listener = new GatheringErrorListener(); |
@@ -6435,11 +6449,12 @@ class ParserTestCase extends EngineTestCase { |
/** |
* Parse the given source as an expression. |
+ * |
* @param source the source to be parsed |
* @param errorCodes the error codes of the errors that are expected to be found |
* @return the expression that was parsed |
* @throws Exception if the source could not be parsed, if the compilation errors in the source do |
- * not match those that are expected, or if the result would have been `null` |
+ * not match those that are expected, or if the result would have been `null` |
*/ |
static Expression parseExpression(String source, List<ErrorCode> errorCodes) { |
GatheringErrorListener listener = new GatheringErrorListener(); |
@@ -6455,11 +6470,12 @@ class ParserTestCase extends EngineTestCase { |
/** |
* Parse the given source as a statement. |
+ * |
* @param source the source to be parsed |
* @param errorCodes the error codes of the errors that are expected to be found |
* @return the statement that was parsed |
* @throws Exception if the source could not be parsed, if the compilation errors in the source do |
- * not match those that are expected, or if the result would have been `null` |
+ * not match those that are expected, or if the result would have been `null` |
*/ |
static Statement parseStatement(String source, List<ErrorCode> errorCodes) { |
GatheringErrorListener listener = new GatheringErrorListener(); |
@@ -6475,13 +6491,14 @@ class ParserTestCase extends EngineTestCase { |
/** |
* Parse the given source as a sequence of statements. |
+ * |
* @param source the source to be parsed |
* @param expectedCount the number of statements that are expected |
* @param errorCodes the error codes of the errors that are expected to be found |
* @return the statements that were parsed |
* @throws Exception if the source could not be parsed, if the number of statements does not match |
- * the expected count, if the compilation errors in the source do not match those that |
- * are expected, or if the result would have been `null` |
+ * the expected count, if the compilation errors in the source do not match those that |
+ * are expected, or if the result would have been `null` |
*/ |
static List<Statement> parseStatements(String source, int expectedCount, List<ErrorCode> errorCodes) { |
GatheringErrorListener listener = new GatheringErrorListener(); |
@@ -6501,6 +6518,7 @@ class ParserTestCase extends EngineTestCase { |
* |
* The given source is scanned and the parser is initialized to start with the first token in the |
* source before the method is invoked. |
+ * |
* @param methodName the name of the method that should be invoked |
* @param objects the values of the arguments to the method |
* @param source the source to be processed by the parse method |
@@ -6508,7 +6526,7 @@ class ParserTestCase extends EngineTestCase { |
* @return the result of invoking the method |
* @throws Exception if the method could not be invoked or throws an exception |
* @throws AssertionFailedError if the result is `null` or the errors produced while |
- * scanning and parsing the source do not match the expected errors |
+ * scanning and parsing the source do not match the expected errors |
*/ |
static Object invokeParserMethod(String methodName, List<Object> objects, String source, GatheringErrorListener listener) { |
StringScanner scanner = new StringScanner(null, source, listener); |
@@ -6527,18 +6545,20 @@ class ParserTestCase extends EngineTestCase { |
* |
* The given source is scanned and the parser is initialized to start with the first token in the |
* source before the method is invoked. |
+ * |
* @param methodName the name of the method that should be invoked |
* @param source the source to be processed by the parse method |
* @param listener the error listener that will be used for both scanning and parsing |
* @return the result of invoking the method |
* @throws Exception if the method could not be invoked or throws an exception |
* @throws AssertionFailedError if the result is `null` or the errors produced while |
- * scanning and parsing the source do not match the expected errors |
+ * scanning and parsing the source do not match the expected errors |
*/ |
static Object invokeParserMethod2(String methodName, String source, GatheringErrorListener listener) => invokeParserMethod(methodName, _EMPTY_ARGUMENTS, source, listener); |
/** |
* Return a CommentAndMetadata object with the given values that can be used for testing. |
+ * |
* @param comment the comment to be wrapped in the object |
* @param annotations the annotations to be wrapped in the object |
* @return a CommentAndMetadata object that can be used for testing |
@@ -6553,6 +6573,7 @@ class ParserTestCase extends EngineTestCase { |
/** |
* Return an empty CommentAndMetadata object that can be used for testing. |
+ * |
* @return an empty CommentAndMetadata object that can be used for testing |
*/ |
CommentAndMetadata emptyCommentAndMetadata() => new CommentAndMetadata(null, new List<Annotation>()); |
@@ -7651,9 +7672,33 @@ class ErrorParserTest extends ParserTestCase { |
CompilationUnit unit = ParserTestCase.parseCompilationUnit("part 'a.dart';\nlibrary l;", [ParserErrorCode.LIBRARY_DIRECTIVE_NOT_FIRST]); |
JUnitTestCase.assertNotNull(unit); |
} |
+ void test_localFunctionDeclarationModifier_abstract() { |
+ ParserTestCase.parseStatement("abstract f() {}", [ParserErrorCode.LOCAL_FUNCTION_DECLARATION_MODIFIER]); |
+ } |
+ void test_localFunctionDeclarationModifier_external() { |
+ ParserTestCase.parseStatement("external f() {}", [ParserErrorCode.LOCAL_FUNCTION_DECLARATION_MODIFIER]); |
+ } |
+ void test_localFunctionDeclarationModifier_factory() { |
+ ParserTestCase.parseStatement("factory f() {}", [ParserErrorCode.LOCAL_FUNCTION_DECLARATION_MODIFIER]); |
+ } |
+ void test_localFunctionDeclarationModifier_static() { |
+ ParserTestCase.parseStatement("static f() {}", [ParserErrorCode.LOCAL_FUNCTION_DECLARATION_MODIFIER]); |
+ } |
void test_missingAssignableSelector_identifiersAssigned() { |
ParserTestCase.parseExpression("x.y = y;", []); |
} |
+ void test_missingAssignableSelector_postfix_minusMinus_literal() { |
+ ParserTestCase.parseExpression("0--", [ParserErrorCode.MISSING_ASSIGNABLE_SELECTOR]); |
+ } |
+ void test_missingAssignableSelector_postfix_plusPlus_literal() { |
+ ParserTestCase.parseExpression("0++", [ParserErrorCode.MISSING_ASSIGNABLE_SELECTOR]); |
+ } |
+ void test_missingAssignableSelector_prefix_minusMinus_literal() { |
+ ParserTestCase.parseExpression("--0", [ParserErrorCode.MISSING_ASSIGNABLE_SELECTOR]); |
+ } |
+ void test_missingAssignableSelector_prefix_plusPlus_literal() { |
+ ParserTestCase.parseExpression("++0", [ParserErrorCode.MISSING_ASSIGNABLE_SELECTOR]); |
+ } |
void test_missingAssignableSelector_primarySelectorPostfix() { |
ParserTestCase.parseExpression("x(y)(z)++", [ParserErrorCode.MISSING_ASSIGNABLE_SELECTOR]); |
} |
@@ -7796,6 +7841,12 @@ class ErrorParserTest extends ParserTestCase { |
void test_nonUserDefinableOperator() { |
ParserTestCase.parse4("parseClassMember", <Object> ["C"], "operator +=(int x) => x + 1;", [ParserErrorCode.NON_USER_DEFINABLE_OPERATOR]); |
} |
+ void test_optionalAfterNormalParameters_named() { |
+ ParserTestCase.parseCompilationUnit("f({a}, b) {}", [ParserErrorCode.NORMAL_BEFORE_OPTIONAL_PARAMETERS]); |
+ } |
+ void test_optionalAfterNormalParameters_positional() { |
+ ParserTestCase.parseCompilationUnit("f([a], b) {}", [ParserErrorCode.NORMAL_BEFORE_OPTIONAL_PARAMETERS]); |
+ } |
void test_positionalAfterNamedArgument() { |
ParserTestCase.parse5("parseArgumentList", "(x: 1, 2)", [ParserErrorCode.POSITIONAL_AFTER_NAMED_ARGUMENT]); |
} |
@@ -7829,6 +7880,9 @@ class ErrorParserTest extends ParserTestCase { |
void test_staticTopLevelDeclaration_class() { |
ParserTestCase.parseCompilationUnit("static class C {}", [ParserErrorCode.STATIC_TOP_LEVEL_DECLARATION]); |
} |
+ void test_staticTopLevelDeclaration_function() { |
+ ParserTestCase.parseCompilationUnit("static f() {}", [ParserErrorCode.STATIC_TOP_LEVEL_DECLARATION]); |
+ } |
void test_staticTopLevelDeclaration_typedef() { |
ParserTestCase.parseCompilationUnit("static typedef F();", [ParserErrorCode.STATIC_TOP_LEVEL_DECLARATION]); |
} |
@@ -8338,10 +8392,42 @@ class ErrorParserTest extends ParserTestCase { |
final __test = new ErrorParserTest(); |
runJUnitTest(__test, __test.test_libraryDirectiveNotFirst_afterPart); |
}); |
+ _ut.test('test_localFunctionDeclarationModifier_abstract', () { |
+ final __test = new ErrorParserTest(); |
+ runJUnitTest(__test, __test.test_localFunctionDeclarationModifier_abstract); |
+ }); |
+ _ut.test('test_localFunctionDeclarationModifier_external', () { |
+ final __test = new ErrorParserTest(); |
+ runJUnitTest(__test, __test.test_localFunctionDeclarationModifier_external); |
+ }); |
+ _ut.test('test_localFunctionDeclarationModifier_factory', () { |
+ final __test = new ErrorParserTest(); |
+ runJUnitTest(__test, __test.test_localFunctionDeclarationModifier_factory); |
+ }); |
+ _ut.test('test_localFunctionDeclarationModifier_static', () { |
+ final __test = new ErrorParserTest(); |
+ runJUnitTest(__test, __test.test_localFunctionDeclarationModifier_static); |
+ }); |
_ut.test('test_missingAssignableSelector_identifiersAssigned', () { |
final __test = new ErrorParserTest(); |
runJUnitTest(__test, __test.test_missingAssignableSelector_identifiersAssigned); |
}); |
+ _ut.test('test_missingAssignableSelector_postfix_minusMinus_literal', () { |
+ final __test = new ErrorParserTest(); |
+ runJUnitTest(__test, __test.test_missingAssignableSelector_postfix_minusMinus_literal); |
+ }); |
+ _ut.test('test_missingAssignableSelector_postfix_plusPlus_literal', () { |
+ final __test = new ErrorParserTest(); |
+ runJUnitTest(__test, __test.test_missingAssignableSelector_postfix_plusPlus_literal); |
+ }); |
+ _ut.test('test_missingAssignableSelector_prefix_minusMinus_literal', () { |
+ final __test = new ErrorParserTest(); |
+ runJUnitTest(__test, __test.test_missingAssignableSelector_prefix_minusMinus_literal); |
+ }); |
+ _ut.test('test_missingAssignableSelector_prefix_plusPlus_literal', () { |
+ final __test = new ErrorParserTest(); |
+ runJUnitTest(__test, __test.test_missingAssignableSelector_prefix_plusPlus_literal); |
+ }); |
_ut.test('test_missingAssignableSelector_primarySelectorPostfix', () { |
final __test = new ErrorParserTest(); |
runJUnitTest(__test, __test.test_missingAssignableSelector_primarySelectorPostfix); |
@@ -8522,6 +8608,14 @@ class ErrorParserTest extends ParserTestCase { |
final __test = new ErrorParserTest(); |
runJUnitTest(__test, __test.test_nonUserDefinableOperator); |
}); |
+ _ut.test('test_optionalAfterNormalParameters_named', () { |
+ final __test = new ErrorParserTest(); |
+ runJUnitTest(__test, __test.test_optionalAfterNormalParameters_named); |
+ }); |
+ _ut.test('test_optionalAfterNormalParameters_positional', () { |
+ final __test = new ErrorParserTest(); |
+ runJUnitTest(__test, __test.test_optionalAfterNormalParameters_positional); |
+ }); |
_ut.test('test_positionalAfterNamedArgument', () { |
final __test = new ErrorParserTest(); |
runJUnitTest(__test, __test.test_positionalAfterNamedArgument); |
@@ -8566,6 +8660,10 @@ class ErrorParserTest extends ParserTestCase { |
final __test = new ErrorParserTest(); |
runJUnitTest(__test, __test.test_staticTopLevelDeclaration_class); |
}); |
+ _ut.test('test_staticTopLevelDeclaration_function', () { |
+ final __test = new ErrorParserTest(); |
+ runJUnitTest(__test, __test.test_staticTopLevelDeclaration_function); |
+ }); |
_ut.test('test_staticTopLevelDeclaration_typedef', () { |
final __test = new ErrorParserTest(); |
runJUnitTest(__test, __test.test_staticTopLevelDeclaration_typedef); |
@@ -8845,6 +8943,7 @@ Map<String, MethodTrampoline> _methodTable_Parser = <String, MethodTrampoline> { |
'validateModifiersForClass_1': new MethodTrampoline(1, (Parser target, arg0) => target.validateModifiersForClass(arg0)), |
'validateModifiersForConstructor_1': new MethodTrampoline(1, (Parser target, arg0) => target.validateModifiersForConstructor(arg0)), |
'validateModifiersForField_1': new MethodTrampoline(1, (Parser target, arg0) => target.validateModifiersForField(arg0)), |
+ 'validateModifiersForFunctionDeclarationStatement_1': new MethodTrampoline(1, (Parser target, arg0) => target.validateModifiersForFunctionDeclarationStatement(arg0)), |
'validateModifiersForGetterOrSetterOrMethod_1': new MethodTrampoline(1, (Parser target, arg0) => target.validateModifiersForGetterOrSetterOrMethod(arg0)), |
'validateModifiersForOperator_1': new MethodTrampoline(1, (Parser target, arg0) => target.validateModifiersForOperator(arg0)), |
'validateModifiersForTopLevelDeclaration_1': new MethodTrampoline(1, (Parser target, arg0) => target.validateModifiersForTopLevelDeclaration(arg0)), |