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

Unified Diff: pkg/analyzer/test/generated/parser_test.dart

Issue 2356653003: Finish removing MethodTrampoline (Closed)
Patch Set: Created 4 years, 3 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 | « pkg/analyzer/lib/src/generated/parser.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 76aef3540d66d7a68e56b13843577616eb39f859..cfea45d3ca505da02faf4edbe3630d9d2542e309 100644
--- a/pkg/analyzer/test/generated/parser_test.dart
+++ b/pkg/analyzer/test/generated/parser_test.dart
@@ -1157,10 +1157,11 @@ class Foo {
}
void test_expectedExecutable_topLevel_eof() {
- parse(
- "parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()],
- "x",
+ createParser('x');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertErrors(
[new AnalysisError(null, 0, 1, ParserErrorCode.EXPECTED_EXECUTABLE)]);
}
@@ -1175,7 +1176,10 @@ class Foo {
// 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.
- parse("parseStringLiteral", <Object>[], "'\$\$foo'",
+ createParser("'\$\$foo'");
+ StringLiteral literal = parser.parseStringLiteral();
+ expectNotNullIfNoErrors(literal);
+ listener.assertErrors(
[new AnalysisError(null, 2, 1, ParserErrorCode.MISSING_IDENTIFIER)]);
}
@@ -2778,7 +2782,10 @@ void main() {
@reflectiveTest
class NonErrorParserTest extends ParserTestCase {
void test_constFactory_external() {
- parse("parseClassMember", <Object>["C"], "external const factory C();");
+ createParser('external const factory C();');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
}
void test_staticMethod_notParsingFunctionBodies() {
@@ -2796,11 +2803,6 @@ class NonErrorParserTest extends ParserTestCase {
class ParserTestCase extends EngineTestCase {
/**
- * An empty list of objects used as arguments to zero-argument methods.
- */
- static const List<Object> _EMPTY_ARGUMENTS = const <Object>[];
-
- /**
* A flag indicating whether parser is to parse function bodies.
*/
static bool parseFunctionBodies = true;
@@ -2909,73 +2911,6 @@ class ParserTestCase extends EngineTestCase {
}
/**
- * Invoke a method in [Parser]. The method is assumed to have the given number and type of
- * parameters and will be invoked with the given arguments.
- *
- * 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
- * @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
- */
- Object invokeParserMethod(
- String methodName, List<Object> objects, String source) {
- createParser(source);
- Object result = invokeParserMethodImpl(parser, methodName, objects);
- expectNotNullIfNoErrors(result);
- return result;
- }
-
- /**
- * Invoke a parse method in [Parser]. The method is assumed to have the given number and
- * type of parameters and will be invoked with the given arguments.
- *
- * 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
- * @param errors 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
- */
- Object parse(String methodName, List<Object> objects, String source,
- [List<AnalysisError> errors = AnalysisError.NO_ERRORS]) {
- Object result = invokeParserMethod(methodName, objects, source);
- listener.assertErrors(errors);
- return result;
- }
-
- /**
- * Invoke a parse method in [Parser]. The method is assumed to have no arguments.
- *
- * 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
- */
- Object parse4(String methodName, String source,
- [List<ErrorCode> errorCodes = ErrorCode.EMPTY_LIST]) {
- Object result = invokeParserMethod(methodName, _EMPTY_ARGUMENTS, source);
- listener.assertErrorsWithCodes(errorCodes);
- return result;
- }
-
- /**
* Parse the given [source] as a compilation unit. Throw an 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`.
@@ -3002,7 +2937,7 @@ class ParserTestCase extends EngineTestCase {
[List<ErrorCode> errorCodes = ErrorCode.EMPTY_LIST]) {
createParser(source);
Expression expression = parser.parseExpression2();
- expect(expression, isNotNull);
+ expectNotNullIfNoErrors(expression);
listener.assertErrorsWithCodes(errorCodes);
return expression;
}
@@ -4297,8 +4232,10 @@ class SimpleParserTest extends ParserTestCase {
// This test requires better error recovery than we currently have. In
// particular, we need to be able to distinguish between an await expression
// in the wrong context, and the use of 'await' as an identifier.
- MethodDeclaration method = parse(
- "parseClassMember", <Object>["C"], "m() { return await x + await y; }");
+ createParser('m() { return await x + await y; }');
+ MethodDeclaration method = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(method);
+ listener.assertNoErrors();
FunctionBody body = method.body;
EngineTestCase.assertInstanceOf(
(obj) => obj is BlockFunctionBody, BlockFunctionBody, body);
@@ -4317,8 +4254,10 @@ class SimpleParserTest extends ParserTestCase {
void fail_parseCommentReference_this() {
// This fails because we are returning null from the method and asserting
// that the return value is not null.
- CommentReference reference =
- parse("parseCommentReference", <Object>["this", 5], "");
+ createParser('');
+ CommentReference reference = parser.parseCommentReference('this', 5);
+ expectNotNullIfNoErrors(reference);
+ listener.assertNoErrors();
SimpleIdentifier identifier = EngineTestCase.assertInstanceOf(
(obj) => obj is SimpleIdentifier,
SimpleIdentifier,
@@ -4420,7 +4359,10 @@ class SimpleParserTest extends ParserTestCase {
}
void test_constFactory() {
- parse("parseClassMember", <Object>["C"], "const factory C() = A;");
+ createParser('const factory C() = A;');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
}
void test_createSyntheticIdentifier() {
@@ -4898,8 +4840,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseAssignableExpression_expression_args_dot() {
- PropertyAccess propertyAccess =
- parse("parseAssignableExpression", <Object>[false], "(x)(y).z");
+ createParser('(x)(y).z');
+ Expression expression = parser.parseAssignableExpression(false);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<PropertyAccess>());
+ PropertyAccess propertyAccess = expression;
FunctionExpressionInvocation invocation =
propertyAccess.target as FunctionExpressionInvocation;
expect(invocation.function, isNotNull);
@@ -4914,8 +4860,12 @@ class SimpleParserTest extends ParserTestCase {
void
test_parseAssignableExpression_expression_args_dot_typeParameterComments() {
enableGenericMethodComments = true;
- PropertyAccess propertyAccess =
- parse("parseAssignableExpression", <Object>[false], "(x)/*<F>*/(y).z");
+ createParser('(x)/*<F>*/(y).z');
+ Expression expression = parser.parseAssignableExpression(false);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<PropertyAccess>());
+ PropertyAccess propertyAccess = expression;
FunctionExpressionInvocation invocation =
propertyAccess.target as FunctionExpressionInvocation;
expect(invocation.function, isNotNull);
@@ -4929,8 +4879,12 @@ class SimpleParserTest extends ParserTestCase {
void test_parseAssignableExpression_expression_args_dot_typeParameters() {
enableGenericMethods = true;
- PropertyAccess propertyAccess =
- parse("parseAssignableExpression", <Object>[false], "(x)<F>(y).z");
+ createParser('(x)<F>(y).z');
+ Expression expression = parser.parseAssignableExpression(false);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<PropertyAccess>());
+ PropertyAccess propertyAccess = expression;
FunctionExpressionInvocation invocation =
propertyAccess.target as FunctionExpressionInvocation;
expect(invocation.function, isNotNull);
@@ -4943,39 +4897,59 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseAssignableExpression_expression_dot() {
- PropertyAccess propertyAccess =
- parse("parseAssignableExpression", <Object>[false], "(x).y");
+ createParser('(x).y');
+ Expression expression = parser.parseAssignableExpression(false);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<PropertyAccess>());
+ PropertyAccess propertyAccess = expression;
expect(propertyAccess.target, isNotNull);
expect(propertyAccess.operator.type, TokenType.PERIOD);
expect(propertyAccess.propertyName, isNotNull);
}
void test_parseAssignableExpression_expression_index() {
- IndexExpression expression =
- parse("parseAssignableExpression", <Object>[false], "(x)[y]");
- expect(expression.target, isNotNull);
- expect(expression.leftBracket, isNotNull);
- expect(expression.index, isNotNull);
- expect(expression.rightBracket, isNotNull);
+ createParser('(x)[y]');
+ Expression expression = parser.parseAssignableExpression(false);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<IndexExpression>());
+ IndexExpression indexExpression = expression;
+ expect(indexExpression.target, isNotNull);
+ expect(indexExpression.leftBracket, isNotNull);
+ expect(indexExpression.index, isNotNull);
+ expect(indexExpression.rightBracket, isNotNull);
}
void test_parseAssignableExpression_expression_question_dot() {
- PropertyAccess propertyAccess =
- parse("parseAssignableExpression", <Object>[false], "(x)?.y");
+ createParser('(x)?.y');
+ Expression expression = parser.parseAssignableExpression(false);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<PropertyAccess>());
+ PropertyAccess propertyAccess = expression;
expect(propertyAccess.target, isNotNull);
expect(propertyAccess.operator.type, TokenType.QUESTION_PERIOD);
expect(propertyAccess.propertyName, isNotNull);
}
void test_parseAssignableExpression_identifier() {
- SimpleIdentifier identifier =
- parse("parseAssignableExpression", <Object>[false], "x");
+ createParser('x');
+ Expression expression = parser.parseAssignableExpression(false);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<SimpleIdentifier>());
+ SimpleIdentifier identifier = expression;
expect(identifier, isNotNull);
}
void test_parseAssignableExpression_identifier_args_dot() {
- PropertyAccess propertyAccess =
- parse("parseAssignableExpression", <Object>[false], "x(y).z");
+ createParser('x(y).z');
+ Expression expression = parser.parseAssignableExpression(false);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<PropertyAccess>());
+ PropertyAccess propertyAccess = expression;
MethodInvocation invocation = propertyAccess.target as MethodInvocation;
expect(invocation.methodName.name, "x");
expect(invocation.typeArguments, isNull);
@@ -4989,8 +4963,12 @@ class SimpleParserTest extends ParserTestCase {
void
test_parseAssignableExpression_identifier_args_dot_typeParameterComments() {
enableGenericMethodComments = true;
- PropertyAccess propertyAccess =
- parse("parseAssignableExpression", <Object>[false], "x/*<E>*/(y).z");
+ createParser('x/*<E>*/(y).z');
+ Expression expression = parser.parseAssignableExpression(false);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<PropertyAccess>());
+ PropertyAccess propertyAccess = expression;
MethodInvocation invocation = propertyAccess.target as MethodInvocation;
expect(invocation.methodName.name, "x");
expect(invocation.typeArguments, isNotNull);
@@ -5003,8 +4981,12 @@ class SimpleParserTest extends ParserTestCase {
void test_parseAssignableExpression_identifier_args_dot_typeParameters() {
enableGenericMethods = true;
- PropertyAccess propertyAccess =
- parse("parseAssignableExpression", <Object>[false], "x<E>(y).z");
+ createParser('x<E>(y).z');
+ Expression expression = parser.parseAssignableExpression(false);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<PropertyAccess>());
+ PropertyAccess propertyAccess = expression;
MethodInvocation invocation = propertyAccess.target as MethodInvocation;
expect(invocation.methodName.name, "x");
expect(invocation.typeArguments, isNotNull);
@@ -5016,8 +4998,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseAssignableExpression_identifier_dot() {
- PropertyAccess propertyAccess =
- parse("parseAssignableExpression", <Object>[false], "x.y");
+ createParser('x.y');
+ Expression expression = parser.parseAssignableExpression(false);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<PropertyAccess>());
+ PropertyAccess propertyAccess = expression;
expect(propertyAccess.target, isNotNull);
expect(propertyAccess.operator, isNotNull);
expect(propertyAccess.operator.type, TokenType.PERIOD);
@@ -5025,25 +5011,37 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseAssignableExpression_identifier_index() {
- IndexExpression expression =
- parse("parseAssignableExpression", <Object>[false], "x[y]");
- expect(expression.target, isNotNull);
- expect(expression.leftBracket, isNotNull);
- expect(expression.index, isNotNull);
- expect(expression.rightBracket, isNotNull);
+ createParser('x[y]');
+ Expression expression = parser.parseAssignableExpression(false);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<IndexExpression>());
+ IndexExpression indexExpression = expression;
+ expect(indexExpression.target, isNotNull);
+ expect(indexExpression.leftBracket, isNotNull);
+ expect(indexExpression.index, isNotNull);
+ expect(indexExpression.rightBracket, isNotNull);
}
void test_parseAssignableExpression_identifier_question_dot() {
- PropertyAccess propertyAccess =
- parse("parseAssignableExpression", <Object>[false], "x?.y");
+ createParser('x?.y');
+ Expression expression = parser.parseAssignableExpression(false);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<PropertyAccess>());
+ PropertyAccess propertyAccess = expression;
expect(propertyAccess.target, isNotNull);
expect(propertyAccess.operator.type, TokenType.QUESTION_PERIOD);
expect(propertyAccess.propertyName, isNotNull);
}
void test_parseAssignableExpression_super_dot() {
- PropertyAccess propertyAccess =
- parse("parseAssignableExpression", <Object>[false], "super.y");
+ createParser('super.y');
+ Expression expression = parser.parseAssignableExpression(false);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<PropertyAccess>());
+ PropertyAccess propertyAccess = expression;
EngineTestCase.assertInstanceOf((obj) => obj is SuperExpression,
SuperExpression, propertyAccess.target);
expect(propertyAccess.operator, isNotNull);
@@ -5051,41 +5049,61 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseAssignableExpression_super_index() {
- IndexExpression expression =
- parse("parseAssignableExpression", <Object>[false], "super[y]");
- EngineTestCase.assertInstanceOf(
- (obj) => obj is SuperExpression, SuperExpression, expression.target);
- expect(expression.leftBracket, isNotNull);
- expect(expression.index, isNotNull);
- expect(expression.rightBracket, isNotNull);
+ createParser('super[y]');
+ Expression expression = parser.parseAssignableExpression(false);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<IndexExpression>());
+ IndexExpression indexExpression = expression;
+ expect(indexExpression.target, new isInstanceOf<SuperExpression>());
+ expect(indexExpression.leftBracket, isNotNull);
+ expect(indexExpression.index, isNotNull);
+ expect(indexExpression.rightBracket, isNotNull);
}
void test_parseAssignableSelector_dot() {
- PropertyAccess selector =
- parse("parseAssignableSelector", <Object>[null, true], ".x");
- expect(selector.operator.type, TokenType.PERIOD);
- expect(selector.propertyName, isNotNull);
+ createParser('.x');
+ Expression expression = parser.parseAssignableSelector(null, true);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<PropertyAccess>());
+ PropertyAccess propertyAccess = expression;
+ expect(propertyAccess.operator.type, TokenType.PERIOD);
+ expect(propertyAccess.propertyName, isNotNull);
}
void test_parseAssignableSelector_index() {
- IndexExpression selector =
- parse("parseAssignableSelector", <Object>[null, true], "[x]");
- expect(selector.leftBracket, isNotNull);
- expect(selector.index, isNotNull);
- expect(selector.rightBracket, isNotNull);
+ createParser('[x]');
+ Expression expression = parser.parseAssignableSelector(null, true);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<IndexExpression>());
+ IndexExpression indexExpression = expression;
+ expect(indexExpression.leftBracket, isNotNull);
+ expect(indexExpression.index, isNotNull);
+ expect(indexExpression.rightBracket, isNotNull);
}
void test_parseAssignableSelector_none() {
- SimpleIdentifier selector = parse("parseAssignableSelector",
- <Object>[new SimpleIdentifier(null), true], ";");
- expect(selector, isNotNull);
+ createParser(';');
+ Expression expression =
+ parser.parseAssignableSelector(new SimpleIdentifier(null), true);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<SimpleIdentifier>());
+ SimpleIdentifier identifier = expression;
+ expect(identifier, isNotNull);
}
void test_parseAssignableSelector_question_dot() {
- PropertyAccess selector =
- parse("parseAssignableSelector", <Object>[null, true], "?.x");
- expect(selector.operator.type, TokenType.QUESTION_PERIOD);
- expect(selector.propertyName, isNotNull);
+ createParser('?.x');
+ Expression expression = parser.parseAssignableSelector(null, true);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<PropertyAccess>());
+ PropertyAccess propertyAccess = expression;
+ expect(propertyAccess.operator.type, TokenType.QUESTION_PERIOD);
+ expect(propertyAccess.propertyName, isNotNull);
}
void test_parseAwaitExpression() {
@@ -5098,8 +5116,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseAwaitExpression_asStatement_inAsync() {
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "m() async { await x; }");
+ createParser('m() async { await x; }');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
FunctionBody body = method.body;
EngineTestCase.assertInstanceOf(
(obj) => obj is BlockFunctionBody, BlockFunctionBody, body);
@@ -5114,8 +5136,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseAwaitExpression_asStatement_inSync() {
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "m() { await x; }");
+ createParser('m() { await x; }');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
FunctionBody body = method.body;
EngineTestCase.assertInstanceOf(
(obj) => obj is BlockFunctionBody, BlockFunctionBody, body);
@@ -5591,13 +5617,14 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassDeclaration_abstract() {
- ClassDeclaration declaration = parse(
- "parseClassDeclaration",
- <Object>[
- emptyCommentAndMetadata(),
- TokenFactory.tokenFromKeyword(Keyword.ABSTRACT)
- ],
- "class A {}");
+ createParser('class A {}');
+ CompilationUnitMember member = parser.parseClassDeclaration(
+ emptyCommentAndMetadata(),
+ TokenFactory.tokenFromKeyword(Keyword.ABSTRACT));
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ClassDeclaration>());
+ ClassDeclaration declaration = member;
expect(declaration.documentationComment, isNull);
expect(declaration.abstractKeyword, isNotNull);
expect(declaration.extendsClause, isNull);
@@ -5611,8 +5638,13 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassDeclaration_empty() {
- ClassDeclaration declaration = parse("parseClassDeclaration",
- <Object>[emptyCommentAndMetadata(), null], "class A {}");
+ createParser('class A {}');
+ CompilationUnitMember member =
+ parser.parseClassDeclaration(emptyCommentAndMetadata(), null);
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ClassDeclaration>());
+ ClassDeclaration declaration = member;
expect(declaration.documentationComment, isNull);
expect(declaration.abstractKeyword, isNull);
expect(declaration.extendsClause, isNull);
@@ -5626,8 +5658,13 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassDeclaration_extends() {
- ClassDeclaration declaration = parse("parseClassDeclaration",
- <Object>[emptyCommentAndMetadata(), null], "class A extends B {}");
+ createParser('class A extends B {}');
+ CompilationUnitMember member =
+ parser.parseClassDeclaration(emptyCommentAndMetadata(), null);
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ClassDeclaration>());
+ ClassDeclaration declaration = member;
expect(declaration.documentationComment, isNull);
expect(declaration.abstractKeyword, isNull);
expect(declaration.extendsClause, isNotNull);
@@ -5641,10 +5678,13 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassDeclaration_extendsAndImplements() {
- ClassDeclaration declaration = parse(
- "parseClassDeclaration",
- <Object>[emptyCommentAndMetadata(), null],
- "class A extends B implements C {}");
+ createParser('class A extends B implements C {}');
+ CompilationUnitMember member =
+ parser.parseClassDeclaration(emptyCommentAndMetadata(), null);
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ClassDeclaration>());
+ ClassDeclaration declaration = member;
expect(declaration.documentationComment, isNull);
expect(declaration.abstractKeyword, isNull);
expect(declaration.extendsClause, isNotNull);
@@ -5658,10 +5698,13 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassDeclaration_extendsAndWith() {
- ClassDeclaration declaration = parse(
- "parseClassDeclaration",
- <Object>[emptyCommentAndMetadata(), null],
- "class A extends B with C {}");
+ createParser('class A extends B with C {}');
+ CompilationUnitMember member =
+ parser.parseClassDeclaration(emptyCommentAndMetadata(), null);
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ClassDeclaration>());
+ ClassDeclaration declaration = member;
expect(declaration.documentationComment, isNull);
expect(declaration.abstractKeyword, isNull);
expect(declaration.classKeyword, isNotNull);
@@ -5676,10 +5719,13 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassDeclaration_extendsAndWithAndImplements() {
- ClassDeclaration declaration = parse(
- "parseClassDeclaration",
- <Object>[emptyCommentAndMetadata(), null],
- "class A extends B with C implements D {}");
+ createParser('class A extends B with C implements D {}');
+ CompilationUnitMember member =
+ parser.parseClassDeclaration(emptyCommentAndMetadata(), null);
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ClassDeclaration>());
+ ClassDeclaration declaration = member;
expect(declaration.documentationComment, isNull);
expect(declaration.abstractKeyword, isNull);
expect(declaration.classKeyword, isNotNull);
@@ -5694,8 +5740,13 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassDeclaration_implements() {
- ClassDeclaration declaration = parse("parseClassDeclaration",
- <Object>[emptyCommentAndMetadata(), null], "class A implements C {}");
+ createParser('class A implements C {}');
+ CompilationUnitMember member =
+ parser.parseClassDeclaration(emptyCommentAndMetadata(), null);
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ClassDeclaration>());
+ ClassDeclaration declaration = member;
expect(declaration.documentationComment, isNull);
expect(declaration.abstractKeyword, isNull);
expect(declaration.extendsClause, isNull);
@@ -5709,10 +5760,13 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassDeclaration_native() {
- ClassDeclaration declaration = parse(
- "parseClassDeclaration",
- <Object>[emptyCommentAndMetadata(), null],
- "class A native 'nativeValue' {}");
+ createParser('class A native "nativeValue" {}');
+ CompilationUnitMember member =
+ parser.parseClassDeclaration(emptyCommentAndMetadata(), null);
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ClassDeclaration>());
+ ClassDeclaration declaration = member;
NativeClause nativeClause = declaration.nativeClause;
expect(nativeClause, isNotNull);
expect(nativeClause.nativeKeyword, isNotNull);
@@ -5722,8 +5776,13 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassDeclaration_nonEmpty() {
- ClassDeclaration declaration = parse("parseClassDeclaration",
- <Object>[emptyCommentAndMetadata(), null], "class A {var f;}");
+ createParser('class A {var f;}');
+ CompilationUnitMember member =
+ parser.parseClassDeclaration(emptyCommentAndMetadata(), null);
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ClassDeclaration>());
+ ClassDeclaration declaration = member;
expect(declaration.documentationComment, isNull);
expect(declaration.abstractKeyword, isNull);
expect(declaration.extendsClause, isNull);
@@ -5737,10 +5796,13 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassDeclaration_typeAlias_implementsC() {
- ClassTypeAlias typeAlias = parse(
- "parseClassDeclaration",
- <Object>[emptyCommentAndMetadata(), null],
- "class A = Object with B implements C;");
+ createParser('class A = Object with B implements C;');
+ CompilationUnitMember member =
+ parser.parseClassDeclaration(emptyCommentAndMetadata(), null);
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ClassTypeAlias>());
+ ClassTypeAlias typeAlias = member;
expect(typeAlias.typedefKeyword, isNotNull);
expect(typeAlias.name, isNotNull);
expect(typeAlias.typeParameters, isNull);
@@ -5752,8 +5814,13 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassDeclaration_typeAlias_withB() {
- ClassTypeAlias typeAlias = parse("parseClassDeclaration",
- <Object>[emptyCommentAndMetadata(), null], "class A = Object with B;");
+ createParser('class A = Object with B;');
+ CompilationUnitMember member =
+ parser.parseClassDeclaration(emptyCommentAndMetadata(), null);
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ClassTypeAlias>());
+ ClassTypeAlias typeAlias = member;
expect(typeAlias.typedefKeyword, isNotNull);
expect(typeAlias.name, isNotNull);
expect(typeAlias.typeParameters, isNull);
@@ -5765,8 +5832,13 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassDeclaration_typeParameters() {
- ClassDeclaration declaration = parse("parseClassDeclaration",
- <Object>[emptyCommentAndMetadata(), null], "class A<B> {}");
+ createParser('class A<B> {}');
+ CompilationUnitMember member =
+ parser.parseClassDeclaration(emptyCommentAndMetadata(), null);
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ClassDeclaration>());
+ ClassDeclaration declaration = member;
expect(declaration.documentationComment, isNull);
expect(declaration.abstractKeyword, isNull);
expect(declaration.extendsClause, isNull);
@@ -5783,8 +5855,12 @@ class SimpleParserTest extends ParserTestCase {
void test_parseClassMember_constructor_withInitializers() {
// TODO(brianwilkerson) Test other kinds of class members: fields, getters
// and setters.
- ConstructorDeclaration constructor = parse("parseClassMember",
- <Object>["C"], "C(_, _\$, this.__) : _a = _ + _\$ {}");
+ createParser('C(_, _\$, this.__) : _a = _ + _\$ {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ConstructorDeclaration>());
+ ConstructorDeclaration constructor = member;
expect(constructor.body, isNotNull);
expect(constructor.separator, isNotNull);
expect(constructor.externalKeyword, isNull);
@@ -5798,7 +5874,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_field_instance_prefixedType() {
- FieldDeclaration field = parse("parseClassMember", <Object>["C"], "p.A f;");
+ createParser('p.A f;');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FieldDeclaration>());
+ FieldDeclaration field = member;
expect(field.documentationComment, isNull);
expect(field.metadata, hasLength(0));
expect(field.staticKeyword, isNull);
@@ -5811,8 +5892,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_field_namedGet() {
- FieldDeclaration field =
- parse("parseClassMember", <Object>["C"], "var get;");
+ createParser('var get;');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FieldDeclaration>());
+ FieldDeclaration field = member;
expect(field.documentationComment, isNull);
expect(field.metadata, hasLength(0));
expect(field.staticKeyword, isNull);
@@ -5825,8 +5910,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_field_namedOperator() {
- FieldDeclaration field =
- parse("parseClassMember", <Object>["C"], "var operator;");
+ createParser('var operator;');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FieldDeclaration>());
+ FieldDeclaration field = member;
expect(field.documentationComment, isNull);
expect(field.metadata, hasLength(0));
expect(field.staticKeyword, isNull);
@@ -5839,8 +5928,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_field_namedOperator_withAssignment() {
- FieldDeclaration field =
- parse("parseClassMember", <Object>["C"], "var operator = (5);");
+ createParser('var operator = (5);');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FieldDeclaration>());
+ FieldDeclaration field = member;
expect(field.documentationComment, isNull);
expect(field.metadata, hasLength(0));
expect(field.staticKeyword, isNull);
@@ -5854,8 +5947,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_field_namedSet() {
- FieldDeclaration field =
- parse("parseClassMember", <Object>["C"], "var set;");
+ createParser('var set;');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FieldDeclaration>());
+ FieldDeclaration field = member;
expect(field.documentationComment, isNull);
expect(field.metadata, hasLength(0));
expect(field.staticKeyword, isNull);
@@ -5868,8 +5965,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_getter_void() {
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "void get g {}");
+ createParser('void get g {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
expect(method.documentationComment, isNull);
expect(method.externalKeyword, isNull);
expect(method.modifierKeyword, isNull);
@@ -5882,8 +5983,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_method_external() {
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "external m();");
+ createParser('external m();');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
expect(method.body, isNotNull);
expect(method.documentationComment, isNull);
expect(method.externalKeyword, isNotNull);
@@ -5897,8 +6002,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_method_external_withTypeAndArgs() {
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "external int m(int a);");
+ createParser('external int m(int a);');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
expect(method.body, isNotNull);
expect(method.documentationComment, isNull);
expect(method.externalKeyword, isNotNull);
@@ -5913,8 +6022,12 @@ class SimpleParserTest extends ParserTestCase {
void test_parseClassMember_method_generic_comment_noReturnType() {
enableGenericMethodComments = true;
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "m/*<T>*/() {}");
+ createParser('m/*<T>*/() {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
expect(method.documentationComment, isNull);
expect(method.externalKeyword, isNull);
expect(method.modifierKeyword, isNull);
@@ -5929,12 +6042,16 @@ class SimpleParserTest extends ParserTestCase {
void test_parseClassMember_method_generic_comment_returnType() {
enableGenericMethodComments = true;
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "/*=T*/ m/*<T>*/() {}");
- expect(method.documentationComment, isNull);
- expect(method.externalKeyword, isNull);
- expect(method.modifierKeyword, isNull);
- expect(method.propertyKeyword, isNull);
+ createParser('/*=T*/ m/*<T>*/() {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
+ expect(method.documentationComment, isNull);
+ expect(method.externalKeyword, isNull);
+ expect(method.modifierKeyword, isNull);
+ expect(method.propertyKeyword, isNull);
expect(method.returnType.name.name, 'T');
expect(method.name, isNotNull);
expect(method.operatorKeyword, isNull);
@@ -5945,8 +6062,12 @@ class SimpleParserTest extends ParserTestCase {
void test_parseClassMember_method_generic_comment_returnType_bound() {
enableGenericMethodComments = true;
- MethodDeclaration method = parse("parseClassMember", <Object>["C"],
- "num/*=T*/ m/*<T extends num>*/() {}");
+ createParser('num/*=T*/ m/*<T extends num>*/() {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
expect(method.documentationComment, isNull);
expect(method.externalKeyword, isNull);
expect(method.modifierKeyword, isNull);
@@ -5965,8 +6086,12 @@ class SimpleParserTest extends ParserTestCase {
void test_parseClassMember_method_generic_comment_void() {
enableGenericMethodComments = true;
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "void m/*<T>*/() {}");
+ createParser('void m/*<T>*/() {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
expect(method.documentationComment, isNull);
expect(method.externalKeyword, isNull);
expect(method.modifierKeyword, isNull);
@@ -5981,8 +6106,12 @@ class SimpleParserTest extends ParserTestCase {
void test_parseClassMember_method_generic_noReturnType() {
enableGenericMethods = true;
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "m<T>() {}");
+ createParser('m<T>() {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
expect(method.documentationComment, isNull);
expect(method.externalKeyword, isNull);
expect(method.modifierKeyword, isNull);
@@ -5997,8 +6126,12 @@ class SimpleParserTest extends ParserTestCase {
void test_parseClassMember_method_generic_returnType() {
enableGenericMethods = true;
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "T m<T>() {}");
+ createParser('T m<T>() {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
expect(method.documentationComment, isNull);
expect(method.externalKeyword, isNull);
expect(method.modifierKeyword, isNull);
@@ -6013,8 +6146,12 @@ class SimpleParserTest extends ParserTestCase {
void test_parseClassMember_method_generic_void() {
enableGenericMethods = true;
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "void m<T>() {}");
+ createParser('void m<T>() {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
expect(method.documentationComment, isNull);
expect(method.externalKeyword, isNull);
expect(method.modifierKeyword, isNull);
@@ -6028,8 +6165,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_method_get_noType() {
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "get() {}");
+ createParser('get() {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
expect(method.documentationComment, isNull);
expect(method.externalKeyword, isNull);
expect(method.modifierKeyword, isNull);
@@ -6043,8 +6184,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_method_get_type() {
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "int get() {}");
+ createParser('int get() {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
expect(method.documentationComment, isNull);
expect(method.externalKeyword, isNull);
expect(method.modifierKeyword, isNull);
@@ -6058,8 +6203,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_method_get_void() {
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "void get() {}");
+ createParser('void get() {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
expect(method.documentationComment, isNull);
expect(method.externalKeyword, isNull);
expect(method.modifierKeyword, isNull);
@@ -6073,8 +6222,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_method_operator_noType() {
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "operator() {}");
+ createParser('operator() {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
expect(method.documentationComment, isNull);
expect(method.externalKeyword, isNull);
expect(method.modifierKeyword, isNull);
@@ -6088,8 +6241,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_method_operator_type() {
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "int operator() {}");
+ createParser('int operator() {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
expect(method.documentationComment, isNull);
expect(method.externalKeyword, isNull);
expect(method.modifierKeyword, isNull);
@@ -6103,8 +6260,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_method_operator_void() {
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "void operator() {}");
+ createParser('void operator() {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
expect(method.documentationComment, isNull);
expect(method.externalKeyword, isNull);
expect(method.modifierKeyword, isNull);
@@ -6118,8 +6279,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_method_returnType_parameterized() {
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "p.A m() {}");
+ createParser('p.A m() {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
expect(method.documentationComment, isNull);
expect(method.externalKeyword, isNull);
expect(method.modifierKeyword, isNull);
@@ -6133,8 +6298,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_method_set_noType() {
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "set() {}");
+ createParser('set() {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
expect(method.documentationComment, isNull);
expect(method.externalKeyword, isNull);
expect(method.modifierKeyword, isNull);
@@ -6148,8 +6317,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_method_set_type() {
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "int set() {}");
+ createParser('int set() {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
expect(method.documentationComment, isNull);
expect(method.externalKeyword, isNull);
expect(method.modifierKeyword, isNull);
@@ -6163,8 +6336,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_method_set_void() {
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "void set() {}");
+ createParser('void set() {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
expect(method.documentationComment, isNull);
expect(method.externalKeyword, isNull);
expect(method.modifierKeyword, isNull);
@@ -6178,8 +6355,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_method_trailing_commas() {
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "void f(int x, int y,) {}");
+ createParser('void f(int x, int y,) {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
expect(method.documentationComment, isNull);
expect(method.externalKeyword, isNull);
expect(method.modifierKeyword, isNull);
@@ -6193,8 +6374,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_operator_index() {
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "int operator [](int i) {}");
+ createParser('int operator [](int i) {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
expect(method.documentationComment, isNull);
expect(method.externalKeyword, isNull);
expect(method.modifierKeyword, isNull);
@@ -6208,8 +6393,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_operator_indexAssign() {
- MethodDeclaration method =
- parse("parseClassMember", <Object>["C"], "int operator []=(int i) {}");
+ createParser('int operator []=(int i) {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<MethodDeclaration>());
+ MethodDeclaration method = member;
expect(method.documentationComment, isNull);
expect(method.externalKeyword, isNull);
expect(method.modifierKeyword, isNull);
@@ -6223,8 +6412,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_redirectingFactory_const() {
- ConstructorDeclaration constructor =
- parse("parseClassMember", <Object>["C"], "const factory C() = B;");
+ createParser('const factory C() = B;');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ConstructorDeclaration>());
+ ConstructorDeclaration constructor = member;
expect(constructor.externalKeyword, isNull);
expect(constructor.constKeyword, isNotNull);
expect(constructor.factoryKeyword, isNotNull);
@@ -6239,8 +6432,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassMember_redirectingFactory_nonConst() {
- ConstructorDeclaration constructor =
- parse("parseClassMember", <Object>["C"], "factory C() = B;");
+ createParser('factory C() = B;');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ConstructorDeclaration>());
+ ConstructorDeclaration constructor = member;
expect(constructor.externalKeyword, isNull);
expect(constructor.constKeyword, isNull);
expect(constructor.factoryKeyword, isNotNull);
@@ -6257,10 +6454,11 @@ class SimpleParserTest extends ParserTestCase {
void test_parseClassTypeAlias_abstract() {
Token classToken = TokenFactory.tokenFromKeyword(Keyword.CLASS);
Token abstractToken = TokenFactory.tokenFromKeyword(Keyword.ABSTRACT);
- ClassTypeAlias classTypeAlias = parse(
- "parseClassTypeAlias",
- <Object>[emptyCommentAndMetadata(), abstractToken, classToken],
- "A = B with C;");
+ createParser('A = B with C;');
+ ClassTypeAlias classTypeAlias = parser.parseClassTypeAlias(
+ emptyCommentAndMetadata(), abstractToken, classToken);
+ expectNotNullIfNoErrors(classTypeAlias);
+ listener.assertNoErrors();
expect(classTypeAlias.typedefKeyword, isNotNull);
expect(classTypeAlias.name.name, "A");
expect(classTypeAlias.equals, isNotNull);
@@ -6272,11 +6470,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassTypeAlias_implements() {
- Token token = TokenFactory.tokenFromKeyword(Keyword.CLASS);
- ClassTypeAlias classTypeAlias = parse(
- "parseClassTypeAlias",
- <Object>[emptyCommentAndMetadata(), null, token],
- "A = B with C implements D;");
+ Token classToken = TokenFactory.tokenFromKeyword(Keyword.CLASS);
+ createParser('A = B with C implements D;');
+ ClassTypeAlias classTypeAlias =
+ parser.parseClassTypeAlias(emptyCommentAndMetadata(), null, classToken);
+ expectNotNullIfNoErrors(classTypeAlias);
+ listener.assertNoErrors();
expect(classTypeAlias.typedefKeyword, isNotNull);
expect(classTypeAlias.name.name, "A");
expect(classTypeAlias.equals, isNotNull);
@@ -6288,9 +6487,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassTypeAlias_with() {
- Token token = TokenFactory.tokenFromKeyword(Keyword.CLASS);
- ClassTypeAlias classTypeAlias = parse("parseClassTypeAlias",
- <Object>[emptyCommentAndMetadata(), null, token], "A = B with C;");
+ Token classToken = TokenFactory.tokenFromKeyword(Keyword.CLASS);
+ createParser('A = B with C;');
+ ClassTypeAlias classTypeAlias =
+ parser.parseClassTypeAlias(emptyCommentAndMetadata(), null, classToken);
+ expectNotNullIfNoErrors(classTypeAlias);
+ listener.assertNoErrors();
expect(classTypeAlias.typedefKeyword, isNotNull);
expect(classTypeAlias.name.name, "A");
expect(classTypeAlias.equals, isNotNull);
@@ -6302,11 +6504,12 @@ class SimpleParserTest extends ParserTestCase {
}
void test_parseClassTypeAlias_with_implements() {
- Token token = TokenFactory.tokenFromKeyword(Keyword.CLASS);
- ClassTypeAlias classTypeAlias = parse(
- "parseClassTypeAlias",
- <Object>[emptyCommentAndMetadata(), null, token],
- "A = B with C implements D;");
+ Token classToken = TokenFactory.tokenFromKeyword(Keyword.CLASS);
+ createParser('A = B with C implements D;');
+ ClassTypeAlias classTypeAlias =
+ parser.parseClassTypeAlias(emptyCommentAndMetadata(), null, classToken);
+ expectNotNullIfNoErrors(classTypeAlias);
+ listener.assertNoErrors();
expect(classTypeAlias.typedefKeyword, isNotNull);
expect(classTypeAlias.name.name, "A");
expect(classTypeAlias.equals, isNotNull);
@@ -6481,12 +6684,12 @@ void''');
}
void test_parseCommentReference_new_prefixed() {
- CommentReference reference =
- parse("parseCommentReference", <Object>["new a.b", 7], "");
- PrefixedIdentifier prefixedIdentifier = EngineTestCase.assertInstanceOf(
- (obj) => obj is PrefixedIdentifier,
- PrefixedIdentifier,
- reference.identifier);
+ createParser('');
+ CommentReference reference = parser.parseCommentReference('new a.b', 7);
+ expectNotNullIfNoErrors(reference);
+ listener.assertNoErrors();
+ expect(reference.identifier, new isInstanceOf<PrefixedIdentifier>());
+ PrefixedIdentifier prefixedIdentifier = reference.identifier;
SimpleIdentifier prefix = prefixedIdentifier.prefix;
expect(prefix.token, isNotNull);
expect(prefix.name, "a");
@@ -6499,36 +6702,37 @@ void''');
}
void test_parseCommentReference_new_simple() {
- CommentReference reference =
- parse("parseCommentReference", <Object>["new a", 5], "");
- SimpleIdentifier identifier = EngineTestCase.assertInstanceOf(
- (obj) => obj is SimpleIdentifier,
- SimpleIdentifier,
- reference.identifier);
+ createParser('');
+ CommentReference reference = parser.parseCommentReference('new a', 5);
+ expectNotNullIfNoErrors(reference);
+ listener.assertNoErrors();
+ expect(reference.identifier, new isInstanceOf<SimpleIdentifier>());
+ SimpleIdentifier identifier = reference.identifier;
expect(identifier.token, isNotNull);
expect(identifier.name, "a");
expect(identifier.offset, 9);
}
void test_parseCommentReference_operator_withKeyword_notPrefixed() {
- CommentReference reference =
- parse("parseCommentReference", <Object>["operator ==", 5], "");
- SimpleIdentifier identifier = EngineTestCase.assertInstanceOf(
- (obj) => obj is SimpleIdentifier,
- SimpleIdentifier,
- reference.identifier);
+ createParser('');
+ CommentReference reference = parser.parseCommentReference('operator ==', 5);
+ expectNotNullIfNoErrors(reference);
+ listener.assertNoErrors();
+ expect(reference.identifier, new isInstanceOf<SimpleIdentifier>());
+ SimpleIdentifier identifier = reference.identifier;
expect(identifier.token, isNotNull);
expect(identifier.name, "==");
expect(identifier.offset, 14);
}
void test_parseCommentReference_operator_withKeyword_prefixed() {
+ createParser('');
CommentReference reference =
- parse("parseCommentReference", <Object>["Object.operator==", 7], "");
- PrefixedIdentifier prefixedIdentifier = EngineTestCase.assertInstanceOf(
- (obj) => obj is PrefixedIdentifier,
- PrefixedIdentifier,
- reference.identifier);
+ parser.parseCommentReference('Object.operator==', 7);
+ expectNotNullIfNoErrors(reference);
+ listener.assertNoErrors();
+ expect(reference.identifier, new isInstanceOf<PrefixedIdentifier>());
+ PrefixedIdentifier prefixedIdentifier = reference.identifier;
SimpleIdentifier prefix = prefixedIdentifier.prefix;
expect(prefix.token, isNotNull);
expect(prefix.name, "Object");
@@ -6541,24 +6745,24 @@ void''');
}
void test_parseCommentReference_operator_withoutKeyword_notPrefixed() {
- CommentReference reference =
- parse("parseCommentReference", <Object>["==", 5], "");
- SimpleIdentifier identifier = EngineTestCase.assertInstanceOf(
- (obj) => obj is SimpleIdentifier,
- SimpleIdentifier,
- reference.identifier);
+ createParser('');
+ CommentReference reference = parser.parseCommentReference('==', 5);
+ expectNotNullIfNoErrors(reference);
+ listener.assertNoErrors();
+ expect(reference.identifier, new isInstanceOf<SimpleIdentifier>());
+ SimpleIdentifier identifier = reference.identifier;
expect(identifier.token, isNotNull);
expect(identifier.name, "==");
expect(identifier.offset, 5);
}
void test_parseCommentReference_operator_withoutKeyword_prefixed() {
- CommentReference reference =
- parse("parseCommentReference", <Object>["Object.==", 7], "");
- PrefixedIdentifier prefixedIdentifier = EngineTestCase.assertInstanceOf(
- (obj) => obj is PrefixedIdentifier,
- PrefixedIdentifier,
- reference.identifier);
+ createParser('');
+ CommentReference reference = parser.parseCommentReference('Object.==', 7);
+ expectNotNullIfNoErrors(reference);
+ listener.assertNoErrors();
+ expect(reference.identifier, new isInstanceOf<PrefixedIdentifier>());
+ PrefixedIdentifier prefixedIdentifier = reference.identifier;
SimpleIdentifier prefix = prefixedIdentifier.prefix;
expect(prefix.token, isNotNull);
expect(prefix.name, "Object");
@@ -6571,12 +6775,12 @@ void''');
}
void test_parseCommentReference_prefixed() {
- CommentReference reference =
- parse("parseCommentReference", <Object>["a.b", 7], "");
- PrefixedIdentifier prefixedIdentifier = EngineTestCase.assertInstanceOf(
- (obj) => obj is PrefixedIdentifier,
- PrefixedIdentifier,
- reference.identifier);
+ createParser('');
+ CommentReference reference = parser.parseCommentReference('a.b', 7);
+ expectNotNullIfNoErrors(reference);
+ listener.assertNoErrors();
+ expect(reference.identifier, new isInstanceOf<PrefixedIdentifier>());
+ PrefixedIdentifier prefixedIdentifier = reference.identifier;
SimpleIdentifier prefix = prefixedIdentifier.prefix;
expect(prefix.token, isNotNull);
expect(prefix.name, "a");
@@ -6589,24 +6793,24 @@ void''');
}
void test_parseCommentReference_simple() {
- CommentReference reference =
- parse("parseCommentReference", <Object>["a", 5], "");
- SimpleIdentifier identifier = EngineTestCase.assertInstanceOf(
- (obj) => obj is SimpleIdentifier,
- SimpleIdentifier,
- reference.identifier);
+ createParser('');
+ CommentReference reference = parser.parseCommentReference('a', 5);
+ expectNotNullIfNoErrors(reference);
+ listener.assertNoErrors();
+ expect(reference.identifier, new isInstanceOf<SimpleIdentifier>());
+ SimpleIdentifier identifier = reference.identifier;
expect(identifier.token, isNotNull);
expect(identifier.name, "a");
expect(identifier.offset, 5);
}
void test_parseCommentReference_synthetic() {
- CommentReference reference =
- parse("parseCommentReference", <Object>["", 5], "");
- SimpleIdentifier identifier = EngineTestCase.assertInstanceOf(
- (obj) => obj is SimpleIdentifier,
- SimpleIdentifier,
- reference.identifier);
+ createParser('');
+ CommentReference reference = parser.parseCommentReference('', 5);
+ expectNotNullIfNoErrors(reference);
+ listener.assertNoErrors();
+ expect(reference.identifier, new isInstanceOf<SimpleIdentifier>());
+ SimpleIdentifier identifier = reference.identifier;
expect(identifier, isNotNull);
expect(identifier.isSynthetic, isTrue);
expect(identifier.token, isNotNull);
@@ -6622,9 +6826,10 @@ void''');
DocumentationCommentToken token = new DocumentationCommentToken(
TokenType.MULTI_LINE_COMMENT, "/** xxx [a] yyy [bb] zzz */", 3);
List<DocumentationCommentToken> tokens = <DocumentationCommentToken>[token];
- List<CommentReference> references =
- parse("parseCommentReferences", <Object>[tokens], "")
- as List<CommentReference>;
+ createParser('');
+ List<CommentReference> references = parser.parseCommentReferences(tokens);
+ expectNotNullIfNoErrors(references);
+ listener.assertNoErrors();
List<Token> tokenReferences = token.references;
expect(references, hasLength(2));
expect(tokenReferences, hasLength(2));
@@ -6653,12 +6858,11 @@ void''');
void test_parseCommentReferences_notClosed_noIdentifier() {
DocumentationCommentToken docToken = new DocumentationCommentToken(
TokenType.MULTI_LINE_COMMENT, "/** [ some text", 5);
- List<CommentReference> references = parse(
- "parseCommentReferences",
- <Object>[
- <DocumentationCommentToken>[docToken]
- ],
- "") as List<CommentReference>;
+ createParser('');
+ List<CommentReference> references =
+ parser.parseCommentReferences(<DocumentationCommentToken>[docToken]);
+ expectNotNullIfNoErrors(references);
+ listener.assertNoErrors();
expect(docToken.references, hasLength(1));
expect(references, hasLength(1));
Token referenceToken = docToken.references[0];
@@ -6677,12 +6881,11 @@ void''');
void test_parseCommentReferences_notClosed_withIdentifier() {
DocumentationCommentToken docToken = new DocumentationCommentToken(
TokenType.MULTI_LINE_COMMENT, "/** [namePrefix some text", 5);
- List<CommentReference> references = parse(
- "parseCommentReferences",
- <Object>[
- <DocumentationCommentToken>[docToken]
- ],
- "") as List<CommentReference>;
+ createParser('');
+ List<CommentReference> references =
+ parser.parseCommentReferences(<DocumentationCommentToken>[docToken]);
+ expectNotNullIfNoErrors(references);
+ listener.assertNoErrors();
expect(docToken.references, hasLength(1));
expect(references, hasLength(1));
Token referenceToken = docToken.references[0];
@@ -6705,9 +6908,10 @@ void''');
new DocumentationCommentToken(
TokenType.SINGLE_LINE_COMMENT, "/// x [c]", 28)
];
- List<CommentReference> references =
- parse("parseCommentReferences", <Object>[tokens], "")
- as List<CommentReference>;
+ createParser('');
+ List<CommentReference> references = parser.parseCommentReferences(tokens);
+ expectNotNullIfNoErrors(references);
+ listener.assertNoErrors();
expect(references, hasLength(3));
CommentReference reference = references[0];
expect(reference, isNotNull);
@@ -6728,9 +6932,10 @@ void''');
new DocumentationCommentToken(TokenType.MULTI_LINE_COMMENT,
"/**\n * a[i]\n * non-code line\n */", 3)
];
- List<CommentReference> references =
- parse("parseCommentReferences", <Object>[tokens], "")
- as List<CommentReference>;
+ createParser('');
+ List<CommentReference> references = parser.parseCommentReferences(tokens);
+ expectNotNullIfNoErrors(references);
+ listener.assertNoErrors();
expect(references, isEmpty);
}
@@ -6741,9 +6946,10 @@ void''');
new DocumentationCommentToken(
TokenType.SINGLE_LINE_COMMENT, "/// a[i] == b[i]", 0)
];
- List<CommentReference> references =
- parse("parseCommentReferences", <Object>[tokens], "")
- as List<CommentReference>;
+ createParser('');
+ List<CommentReference> references = parser.parseCommentReferences(tokens);
+ expectNotNullIfNoErrors(references);
+ listener.assertNoErrors();
expect(references, isEmpty);
}
@@ -6752,9 +6958,10 @@ void''');
new DocumentationCommentToken(
TokenType.MULTI_LINE_COMMENT, "/** [:xxx [a] yyy:] [b] zzz */", 3)
];
- List<CommentReference> references =
- parse("parseCommentReferences", <Object>[tokens], "")
- as List<CommentReference>;
+ createParser('');
+ List<CommentReference> references = parser.parseCommentReferences(tokens);
+ expectNotNullIfNoErrors(references);
+ listener.assertNoErrors();
expect(references, hasLength(1));
CommentReference reference = references[0];
expect(reference, isNotNull);
@@ -6767,9 +6974,10 @@ void''');
new DocumentationCommentToken(
TokenType.MULTI_LINE_COMMENT, "/** `a[i]` and [b] */", 0)
];
- List<CommentReference> references =
- parse("parseCommentReferences", <Object>[tokens], "")
- as List<CommentReference>;
+ createParser('');
+ List<CommentReference> references = parser.parseCommentReferences(tokens);
+ expectNotNullIfNoErrors(references);
+ listener.assertNoErrors();
expect(references, hasLength(1));
CommentReference reference = references[0];
expect(reference, isNotNull);
@@ -6792,9 +7000,10 @@ void''');
''',
3)
];
- List<CommentReference> references =
- parse("parseCommentReferences", <Object>[tokens], "")
- as List<CommentReference>;
+ createParser('');
+ List<CommentReference> references = parser.parseCommentReferences(tokens);
+ expectNotNullIfNoErrors(references);
+ listener.assertNoErrors();
expect(references, isEmpty);
}
@@ -6811,9 +7020,10 @@ void''');
.map((line) => new DocumentationCommentToken(
TokenType.SINGLE_LINE_COMMENT, line, 0))
.toList();
- List<CommentReference> references =
- parse("parseCommentReferences", <Object>[tokens], "")
- as List<CommentReference>;
+ createParser('');
+ List<CommentReference> references = parser.parseCommentReferences(tokens);
+ expectNotNullIfNoErrors(references);
+ listener.assertNoErrors();
expect(references, isEmpty);
}
@@ -6822,9 +7032,10 @@ void''');
new DocumentationCommentToken(
TokenType.MULTI_LINE_COMMENT, "/** `a[i] and [b] */", 0)
];
- List<CommentReference> references =
- parse("parseCommentReferences", <Object>[tokens], "")
- as List<CommentReference>;
+ createParser('');
+ List<CommentReference> references = parser.parseCommentReferences(tokens);
+ expectNotNullIfNoErrors(references);
+ listener.assertNoErrors();
expect(references, hasLength(2));
}
@@ -6833,9 +7044,10 @@ void''');
new DocumentationCommentToken(TokenType.MULTI_LINE_COMMENT,
"/**\n * a[i]\n * xxx [i] zzz\n */", 3)
];
- List<CommentReference> references =
- parse("parseCommentReferences", <Object>[tokens], "")
- as List<CommentReference>;
+ createParser('');
+ List<CommentReference> references = parser.parseCommentReferences(tokens);
+ expectNotNullIfNoErrors(references);
+ listener.assertNoErrors();
expect(references, hasLength(1));
CommentReference reference = references[0];
expect(reference, isNotNull);
@@ -6848,9 +7060,10 @@ void''');
new DocumentationCommentToken(TokenType.MULTI_LINE_COMMENT,
"/** [a]: http://www.google.com (Google) [b] zzz */", 3)
];
- List<CommentReference> references =
- parse("parseCommentReferences", <Object>[tokens], "")
- as List<CommentReference>;
+ createParser('');
+ List<CommentReference> references = parser.parseCommentReferences(tokens);
+ expectNotNullIfNoErrors(references);
+ listener.assertNoErrors();
expect(references, hasLength(1));
CommentReference reference = references[0];
expect(reference, isNotNull);
@@ -6863,9 +7076,10 @@ void''');
new DocumentationCommentToken(TokenType.MULTI_LINE_COMMENT,
"/** [a](http://www.google.com) [b] zzz */", 3)
];
- List<CommentReference> references =
- parse("parseCommentReferences", <Object>[tokens], "")
- as List<CommentReference>;
+ createParser('');
+ List<CommentReference> references = parser.parseCommentReferences(tokens);
+ expectNotNullIfNoErrors(references);
+ listener.assertNoErrors();
expect(references, hasLength(1));
CommentReference reference = references[0];
expect(reference, isNotNull);
@@ -6878,9 +7092,10 @@ void''');
new DocumentationCommentToken(
TokenType.MULTI_LINE_COMMENT, "/** [a][c] [b] zzz */", 3)
];
- List<CommentReference> references =
- parse("parseCommentReferences", <Object>[tokens], "")
- as List<CommentReference>;
+ createParser('');
+ List<CommentReference> references = parser.parseCommentReferences(tokens);
+ expectNotNullIfNoErrors(references);
+ listener.assertNoErrors();
expect(references, hasLength(1));
CommentReference reference = references[0];
expect(reference, isNotNull);
@@ -7017,57 +7232,86 @@ void''');
}
void test_parseCompilationUnitMember_abstractAsPrefix() {
- TopLevelVariableDeclaration declaration = parse(
- "parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()],
- "abstract.A _abstract = new abstract.A();");
+ createParser('abstract.A _abstract = new abstract.A();');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<TopLevelVariableDeclaration>());
+ TopLevelVariableDeclaration declaration = member;
expect(declaration.semicolon, isNotNull);
expect(declaration.variables, isNotNull);
}
void test_parseCompilationUnitMember_class() {
- ClassDeclaration declaration = parse("parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()], "class A {}");
+ createParser('class A {}');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ClassDeclaration>());
+ ClassDeclaration declaration = member;
expect(declaration.name.name, "A");
expect(declaration.members, hasLength(0));
}
void test_parseCompilationUnitMember_classTypeAlias() {
- ClassTypeAlias alias = parse("parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()], "abstract class A = B with C;");
- expect(alias.name.name, "A");
- expect(alias.abstractKeyword, isNotNull);
+ createParser('abstract class A = B with C;');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ClassTypeAlias>());
+ ClassTypeAlias declaration = member;
+ expect(declaration.name.name, "A");
+ expect(declaration.abstractKeyword, isNotNull);
}
void test_parseCompilationUnitMember_constVariable() {
- TopLevelVariableDeclaration declaration = parse(
- "parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()],
- "const int x = 0;");
- expect(declaration.semicolon, isNotNull);
- expect(declaration.variables, isNotNull);
- }
+ createParser('const int x = 0;');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<TopLevelVariableDeclaration>());
+ TopLevelVariableDeclaration declaration = member;
+ expect(declaration.semicolon, isNotNull);
+ expect(declaration.variables, isNotNull);
+ }
void test_parseCompilationUnitMember_finalVariable() {
- TopLevelVariableDeclaration declaration = parse(
- "parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()],
- "final x = 0;");
+ createParser('final x = 0;');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<TopLevelVariableDeclaration>());
+ TopLevelVariableDeclaration declaration = member;
expect(declaration.semicolon, isNotNull);
expect(declaration.variables, isNotNull);
}
void test_parseCompilationUnitMember_function_external_noType() {
- FunctionDeclaration declaration = parse("parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()], "external f();");
+ createParser('external f();');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FunctionDeclaration>());
+ FunctionDeclaration declaration = member;
expect(declaration.externalKeyword, isNotNull);
expect(declaration.functionExpression, isNotNull);
expect(declaration.propertyKeyword, isNull);
}
void test_parseCompilationUnitMember_function_external_type() {
- FunctionDeclaration declaration = parse("parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()], "external int f();");
+ createParser('external int f();');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FunctionDeclaration>());
+ FunctionDeclaration declaration = member;
expect(declaration.externalKeyword, isNotNull);
expect(declaration.functionExpression, isNotNull);
expect(declaration.propertyKeyword, isNull);
@@ -7075,8 +7319,13 @@ void''');
void test_parseCompilationUnitMember_function_generic_noReturnType() {
enableGenericMethods = true;
- FunctionDeclaration declaration = parse("parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()], "f<E>() {}");
+ createParser('f<E>() {}');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FunctionDeclaration>());
+ FunctionDeclaration declaration = member;
expect(declaration.returnType, isNull);
expect(declaration.functionExpression.typeParameters, isNotNull);
}
@@ -7084,112 +7333,187 @@ void''');
void
test_parseCompilationUnitMember_function_generic_noReturnType_annotated() {
enableGenericMethods = true;
- FunctionDeclaration declaration = parse("parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()], "f<@a E>() {}");
+ createParser('f<@a E>() {}');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FunctionDeclaration>());
+ FunctionDeclaration declaration = member;
expect(declaration.returnType, isNull);
expect(declaration.functionExpression.typeParameters, isNotNull);
}
void test_parseCompilationUnitMember_function_generic_returnType() {
enableGenericMethods = true;
- FunctionDeclaration declaration = parse("parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()], "E f<E>() {}");
+ createParser('E f<E>() {}');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FunctionDeclaration>());
+ FunctionDeclaration declaration = member;
expect(declaration.returnType, isNotNull);
expect(declaration.functionExpression.typeParameters, isNotNull);
}
void test_parseCompilationUnitMember_function_generic_void() {
enableGenericMethods = true;
- FunctionDeclaration declaration = parse("parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()], "void f<T>(T t) {}");
+ createParser('void f<T>(T t) {}');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FunctionDeclaration>());
+ FunctionDeclaration declaration = member;
expect(declaration.functionExpression, isNotNull);
expect(declaration.propertyKeyword, isNull);
}
void test_parseCompilationUnitMember_function_noType() {
- FunctionDeclaration declaration = parse("parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()], "f() {}");
+ createParser('f() {}');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FunctionDeclaration>());
+ FunctionDeclaration declaration = member;
expect(declaration.functionExpression, isNotNull);
expect(declaration.propertyKeyword, isNull);
}
void test_parseCompilationUnitMember_function_type() {
- FunctionDeclaration declaration = parse("parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()], "int f() {}");
+ createParser('int f() {}');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FunctionDeclaration>());
+ FunctionDeclaration declaration = member;
expect(declaration.functionExpression, isNotNull);
expect(declaration.propertyKeyword, isNull);
}
void test_parseCompilationUnitMember_function_void() {
- FunctionDeclaration declaration = parse("parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()], "void f() {}");
+ createParser('void f() {}');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FunctionDeclaration>());
+ FunctionDeclaration declaration = member;
expect(declaration.returnType, isNotNull);
}
void test_parseCompilationUnitMember_getter_external_noType() {
- FunctionDeclaration declaration = parse("parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()], "external get p;");
+ createParser('external get p;');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FunctionDeclaration>());
+ FunctionDeclaration declaration = member;
expect(declaration.externalKeyword, isNotNull);
expect(declaration.functionExpression, isNotNull);
expect(declaration.propertyKeyword, isNotNull);
}
void test_parseCompilationUnitMember_getter_external_type() {
- FunctionDeclaration declaration = parse("parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()], "external int get p;");
+ createParser('external int get p;');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FunctionDeclaration>());
+ FunctionDeclaration declaration = member;
expect(declaration.externalKeyword, isNotNull);
expect(declaration.functionExpression, isNotNull);
expect(declaration.propertyKeyword, isNotNull);
}
void test_parseCompilationUnitMember_getter_noType() {
- FunctionDeclaration declaration = parse("parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()], "get p => 0;");
+ createParser('get p => 0;');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FunctionDeclaration>());
+ FunctionDeclaration declaration = member;
expect(declaration.functionExpression, isNotNull);
expect(declaration.propertyKeyword, isNotNull);
}
void test_parseCompilationUnitMember_getter_type() {
- FunctionDeclaration declaration = parse("parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()], "int get p => 0;");
+ createParser('int get p => 0;');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FunctionDeclaration>());
+ FunctionDeclaration declaration = member;
expect(declaration.functionExpression, isNotNull);
expect(declaration.propertyKeyword, isNotNull);
}
void test_parseCompilationUnitMember_setter_external_noType() {
- FunctionDeclaration declaration = parse("parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()], "external set p(v);");
+ createParser('external set p(v);');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FunctionDeclaration>());
+ FunctionDeclaration declaration = member;
expect(declaration.externalKeyword, isNotNull);
expect(declaration.functionExpression, isNotNull);
expect(declaration.propertyKeyword, isNotNull);
}
void test_parseCompilationUnitMember_setter_external_type() {
- FunctionDeclaration declaration = parse("parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()], "external void set p(int v);");
+ createParser('external void set p(int v);');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FunctionDeclaration>());
+ FunctionDeclaration declaration = member;
expect(declaration.externalKeyword, isNotNull);
expect(declaration.functionExpression, isNotNull);
expect(declaration.propertyKeyword, isNotNull);
}
void test_parseCompilationUnitMember_setter_noType() {
- FunctionDeclaration declaration = parse("parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()], "set p(v) {}");
+ createParser('set p(v) {}');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FunctionDeclaration>());
+ FunctionDeclaration declaration = member;
expect(declaration.functionExpression, isNotNull);
expect(declaration.propertyKeyword, isNotNull);
}
void test_parseCompilationUnitMember_setter_type() {
- FunctionDeclaration declaration = parse("parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()], "void set p(int v) {}");
+ createParser('void set p(int v) {}');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FunctionDeclaration>());
+ FunctionDeclaration declaration = member;
expect(declaration.functionExpression, isNotNull);
expect(declaration.propertyKeyword, isNotNull);
expect(declaration.returnType, isNotNull);
}
void test_parseCompilationUnitMember_typeAlias_abstract() {
- ClassTypeAlias typeAlias = parse("parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()], "abstract class C = S with M;");
+ createParser('abstract class C = S with M;');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ClassTypeAlias>());
+ ClassTypeAlias typeAlias = member;
expect(typeAlias.typedefKeyword, isNotNull);
expect(typeAlias.name.name, "C");
expect(typeAlias.typeParameters, isNull);
@@ -7202,10 +7526,13 @@ void''');
}
void test_parseCompilationUnitMember_typeAlias_generic() {
- ClassTypeAlias typeAlias = parse(
- "parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()],
- "class C<E> = S<E> with M<E> implements I<E>;");
+ createParser('class C<E> = S<E> with M<E> implements I<E>;');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ClassTypeAlias>());
+ ClassTypeAlias typeAlias = member;
expect(typeAlias.typedefKeyword, isNotNull);
expect(typeAlias.name.name, "C");
expect(typeAlias.typeParameters.typeParameters, hasLength(1));
@@ -7218,10 +7545,13 @@ void''');
}
void test_parseCompilationUnitMember_typeAlias_implements() {
- ClassTypeAlias typeAlias = parse(
- "parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()],
- "class C = S with M implements I;");
+ createParser('class C = S with M implements I;');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ClassTypeAlias>());
+ ClassTypeAlias typeAlias = member;
expect(typeAlias.typedefKeyword, isNotNull);
expect(typeAlias.name.name, "C");
expect(typeAlias.typeParameters, isNull);
@@ -7234,8 +7564,13 @@ void''');
}
void test_parseCompilationUnitMember_typeAlias_noImplements() {
- ClassTypeAlias typeAlias = parse("parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()], "class C = S with M;");
+ createParser('class C = S with M;');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ClassTypeAlias>());
+ ClassTypeAlias typeAlias = member;
expect(typeAlias.typedefKeyword, isNotNull);
expect(typeAlias.name.name, "C");
expect(typeAlias.typeParameters, isNull);
@@ -7248,35 +7583,49 @@ void''');
}
void test_parseCompilationUnitMember_typedef() {
- FunctionTypeAlias typeAlias = parse("parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()], "typedef F();");
+ createParser('typedef F();');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<FunctionTypeAlias>());
+ FunctionTypeAlias typeAlias = member;
expect(typeAlias.name.name, "F");
expect(typeAlias.parameters.parameters, hasLength(0));
}
void test_parseCompilationUnitMember_variable() {
- TopLevelVariableDeclaration declaration = parse(
- "parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()],
- "var x = 0;");
+ createParser('var x = 0;');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<TopLevelVariableDeclaration>());
+ TopLevelVariableDeclaration declaration = member;
expect(declaration.semicolon, isNotNull);
expect(declaration.variables, isNotNull);
}
void test_parseCompilationUnitMember_variableGet() {
- TopLevelVariableDeclaration declaration = parse(
- "parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()],
- "String get = null;");
+ createParser('String get = null;');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<TopLevelVariableDeclaration>());
+ TopLevelVariableDeclaration declaration = member;
expect(declaration.semicolon, isNotNull);
expect(declaration.variables, isNotNull);
}
void test_parseCompilationUnitMember_variableSet() {
- TopLevelVariableDeclaration declaration = parse(
- "parseCompilationUnitMember",
- <Object>[emptyCommentAndMetadata()],
- "String set = null;");
+ createParser('String set = null;');
+ CompilationUnitMember member =
+ parser.parseCompilationUnitMember(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<TopLevelVariableDeclaration>());
+ TopLevelVariableDeclaration declaration = member;
expect(declaration.semicolon, isNotNull);
expect(declaration.variables, isNotNull);
}
@@ -7450,18 +7799,16 @@ void''');
void test_parseConstructor() {
// TODO(brianwilkerson) Implement tests for this method.
-// parse("parseConstructor", new Class[] {Parser.CommentAndMetadata.class,
-// Token.class, Token.class, SimpleIdentifier.class, Token.class,
-// SimpleIdentifier.class, FormalParameterList.class}, new Object[] {emptyCommentAndMetadata(),
-// null, null, null, null, null, null}, "");
}
void test_parseConstructor_assert() {
enableAssertInitializer = true;
- ClassMember classMember = parse("parseClassMember", <Object>["C"],
- "C(x, y) : _x = x, assert (x < y), _y = y;");
- expect(classMember, new isInstanceOf<ConstructorDeclaration>());
- ConstructorDeclaration constructor = classMember as ConstructorDeclaration;
+ createParser('C(x, y) : _x = x, assert (x < y), _y = y;');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ConstructorDeclaration>());
+ ConstructorDeclaration constructor = member as ConstructorDeclaration;
NodeList<ConstructorInitializer> initializers = constructor.initializers;
expect(initializers, hasLength(2));
}
@@ -7469,11 +7816,12 @@ void''');
void test_parseConstructor_with_pseudo_function_literal() {
// "(b) {}" should not be misinterpreted as a function literal even though
// it looks like one.
- ClassMember classMember =
- parse("parseClassMember", <Object>["C"], "C() : a = (b) {}");
- EngineTestCase.assertInstanceOf((obj) => obj is ConstructorDeclaration,
- ConstructorDeclaration, classMember);
- ConstructorDeclaration constructor = classMember as ConstructorDeclaration;
+ createParser('C() : a = (b) {}');
+ ClassMember member = parser.parseClassMember('C');
+ expectNotNullIfNoErrors(member);
+ listener.assertNoErrors();
+ expect(member, new isInstanceOf<ConstructorDeclaration>());
+ ConstructorDeclaration constructor = member as ConstructorDeclaration;
NodeList<ConstructorInitializer> initializers = constructor.initializers;
expect(initializers, hasLength(1));
ConstructorInitializer initializer = initializers[0];
@@ -7488,23 +7836,29 @@ void''');
}
void test_parseConstructorFieldInitializer_qualified() {
- ConstructorFieldInitializer invocation =
- parse("parseConstructorFieldInitializer", [true], "this.a = b");
- expect(invocation.equals, isNotNull);
- expect(invocation.expression, isNotNull);
- expect(invocation.fieldName, isNotNull);
- expect(invocation.thisKeyword, isNotNull);
- expect(invocation.period, isNotNull);
+ createParser('this.a = b');
+ ConstructorFieldInitializer initializer =
+ parser.parseConstructorFieldInitializer(true);
+ expectNotNullIfNoErrors(initializer);
+ listener.assertNoErrors();
+ expect(initializer.equals, isNotNull);
+ expect(initializer.expression, isNotNull);
+ expect(initializer.fieldName, isNotNull);
+ expect(initializer.thisKeyword, isNotNull);
+ expect(initializer.period, isNotNull);
}
void test_parseConstructorFieldInitializer_unqualified() {
- ConstructorFieldInitializer invocation =
- parse("parseConstructorFieldInitializer", [false], "a = b");
- expect(invocation.equals, isNotNull);
- expect(invocation.expression, isNotNull);
- expect(invocation.fieldName, isNotNull);
- expect(invocation.thisKeyword, isNull);
- expect(invocation.period, isNull);
+ createParser('a = b');
+ ConstructorFieldInitializer initializer =
+ parser.parseConstructorFieldInitializer(false);
+ expectNotNullIfNoErrors(initializer);
+ listener.assertNoErrors();
+ expect(initializer.equals, isNotNull);
+ expect(initializer.expression, isNotNull);
+ expect(initializer.fieldName, isNotNull);
+ expect(initializer.thisKeyword, isNull);
+ expect(initializer.period, isNull);
}
void test_parseConstructorName_named_noPrefix() {
@@ -7568,48 +7922,68 @@ void''');
}
void test_parseDirective_export() {
- ExportDirective directive = parse("parseDirective",
- <Object>[emptyCommentAndMetadata()], "export 'lib/lib.dart';");
- expect(directive.keyword, isNotNull);
- expect(directive.uri, isNotNull);
- expect(directive.combinators, hasLength(0));
- expect(directive.semicolon, isNotNull);
+ createParser("export 'lib/lib.dart';");
+ Directive directive = parser.parseDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
+ expect(directive, new isInstanceOf<ExportDirective>());
+ ExportDirective exportDirective = directive;
+ expect(exportDirective.keyword, isNotNull);
+ expect(exportDirective.uri, isNotNull);
+ expect(exportDirective.combinators, hasLength(0));
+ expect(exportDirective.semicolon, isNotNull);
}
void test_parseDirective_import() {
- ImportDirective directive = parse("parseDirective",
- <Object>[emptyCommentAndMetadata()], "import 'lib/lib.dart';");
- expect(directive.keyword, isNotNull);
- expect(directive.uri, isNotNull);
- expect(directive.asKeyword, isNull);
- expect(directive.prefix, isNull);
- expect(directive.combinators, hasLength(0));
- expect(directive.semicolon, isNotNull);
+ createParser("import 'lib/lib.dart';");
+ Directive directive = parser.parseDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
+ expect(directive, new isInstanceOf<ImportDirective>());
+ ImportDirective importDirective = directive;
+ expect(importDirective.keyword, isNotNull);
+ expect(importDirective.uri, isNotNull);
+ expect(importDirective.asKeyword, isNull);
+ expect(importDirective.prefix, isNull);
+ expect(importDirective.combinators, hasLength(0));
+ expect(importDirective.semicolon, isNotNull);
}
void test_parseDirective_library() {
- LibraryDirective directive = parse(
- "parseDirective", <Object>[emptyCommentAndMetadata()], "library l;");
- expect(directive.libraryKeyword, isNotNull);
- expect(directive.name, isNotNull);
- expect(directive.semicolon, isNotNull);
+ createParser("library l;");
+ Directive directive = parser.parseDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
+ expect(directive, new isInstanceOf<LibraryDirective>());
+ LibraryDirective libraryDirective = directive;
+ expect(libraryDirective.libraryKeyword, isNotNull);
+ expect(libraryDirective.name, isNotNull);
+ expect(libraryDirective.semicolon, isNotNull);
}
void test_parseDirective_part() {
- PartDirective directive = parse("parseDirective",
- <Object>[emptyCommentAndMetadata()], "part 'lib/lib.dart';");
- expect(directive.partKeyword, isNotNull);
- expect(directive.uri, isNotNull);
- expect(directive.semicolon, isNotNull);
+ createParser("part 'lib/lib.dart';");
+ Directive directive = parser.parseDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
+ expect(directive, new isInstanceOf<PartDirective>());
+ PartDirective partDirective = directive;
+ expect(partDirective.partKeyword, isNotNull);
+ expect(partDirective.uri, isNotNull);
+ expect(partDirective.semicolon, isNotNull);
}
void test_parseDirective_partOf() {
- PartOfDirective directive = parse(
- "parseDirective", <Object>[emptyCommentAndMetadata()], "part of l;");
- expect(directive.partKeyword, isNotNull);
- expect(directive.ofKeyword, isNotNull);
- expect(directive.libraryName, isNotNull);
- expect(directive.semicolon, isNotNull);
+ createParser("part of l;");
+ Directive directive = parser.parseDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
+ expect(directive, new isInstanceOf<PartOfDirective>());
+ PartOfDirective partOfDirective = directive;
+ expect(partOfDirective.partKeyword, isNotNull);
+ expect(partOfDirective.ofKeyword, isNotNull);
+ expect(partOfDirective.libraryName, isNotNull);
+ expect(partOfDirective.semicolon, isNotNull);
}
void test_parseDirectives_complete() {
@@ -7733,8 +8107,11 @@ void''');
}
void test_parseEnumDeclaration_one() {
- EnumDeclaration declaration = parse("parseEnumDeclaration",
- <Object>[emptyCommentAndMetadata()], "enum E {ONE}");
+ createParser("enum E {ONE}");
+ EnumDeclaration declaration =
+ parser.parseEnumDeclaration(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(declaration);
+ listener.assertNoErrors();
expect(declaration.documentationComment, isNull);
expect(declaration.enumKeyword, isNotNull);
expect(declaration.leftBracket, isNotNull);
@@ -7744,8 +8121,11 @@ void''');
}
void test_parseEnumDeclaration_trailingComma() {
- EnumDeclaration declaration = parse("parseEnumDeclaration",
- <Object>[emptyCommentAndMetadata()], "enum E {ONE,}");
+ createParser("enum E {ONE,}");
+ EnumDeclaration declaration =
+ parser.parseEnumDeclaration(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(declaration);
+ listener.assertNoErrors();
expect(declaration.documentationComment, isNull);
expect(declaration.enumKeyword, isNotNull);
expect(declaration.leftBracket, isNotNull);
@@ -7755,8 +8135,11 @@ void''');
}
void test_parseEnumDeclaration_two() {
- EnumDeclaration declaration = parse("parseEnumDeclaration",
- <Object>[emptyCommentAndMetadata()], "enum E {ONE, TWO}");
+ createParser("enum E {ONE, TWO}");
+ EnumDeclaration declaration =
+ parser.parseEnumDeclaration(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(declaration);
+ listener.assertNoErrors();
expect(declaration.documentationComment, isNull);
expect(declaration.enumKeyword, isNotNull);
expect(declaration.leftBracket, isNotNull);
@@ -7766,7 +8149,10 @@ void''');
}
void test_parseEqualityExpression_normal() {
- BinaryExpression expression = parse4("parseEqualityExpression", "x == y");
+ createParser('x == y');
+ BinaryExpression expression = parser.parseEqualityExpression();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
expect(expression.leftOperand, isNotNull);
expect(expression.operator, isNotNull);
expect(expression.operator.type, TokenType.EQ_EQ);
@@ -7774,20 +8160,22 @@ void''');
}
void test_parseEqualityExpression_super() {
- BinaryExpression expression =
- parse4("parseEqualityExpression", "super == y");
- EngineTestCase.assertInstanceOf((obj) => obj is SuperExpression,
- SuperExpression, expression.leftOperand);
+ createParser('super == y');
+ BinaryExpression expression = parser.parseEqualityExpression();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression.leftOperand, new isInstanceOf<SuperExpression>());
expect(expression.operator, isNotNull);
expect(expression.operator.type, TokenType.EQ_EQ);
expect(expression.rightOperand, isNotNull);
}
void test_parseExportDirective_configuration_multiple() {
- ExportDirective directive = parse(
- "parseExportDirective",
- <Object>[emptyCommentAndMetadata()],
- "export 'lib/lib.dart' if (a) 'b.dart' if (c) 'd.dart';");
+ createParser("export 'lib/lib.dart' if (a) 'b.dart' if (c) 'd.dart';");
+ ExportDirective directive =
+ parser.parseExportDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
expect(directive.keyword, isNotNull);
expect(directive.uri, isNotNull);
expect(directive.configurations, hasLength(2));
@@ -7798,10 +8186,11 @@ void''');
}
void test_parseExportDirective_configuration_single() {
- ExportDirective directive = parse(
- "parseExportDirective",
- <Object>[emptyCommentAndMetadata()],
- "export 'lib/lib.dart' if (a.b == 'c.dart') '';");
+ createParser("export 'lib/lib.dart' if (a.b == 'c.dart') '';");
+ ExportDirective directive =
+ parser.parseExportDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
expect(directive.keyword, isNotNull);
expect(directive.uri, isNotNull);
expect(directive.configurations, hasLength(1));
@@ -7811,10 +8200,11 @@ void''');
}
void test_parseExportDirective_hide() {
- ExportDirective directive = parse(
- "parseExportDirective",
- <Object>[emptyCommentAndMetadata()],
- "export 'lib/lib.dart' hide A, B;");
+ createParser("export 'lib/lib.dart' hide A, B;");
+ ExportDirective directive =
+ parser.parseExportDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
expect(directive.keyword, isNotNull);
expect(directive.uri, isNotNull);
expect(directive.combinators, hasLength(1));
@@ -7822,10 +8212,11 @@ void''');
}
void test_parseExportDirective_hide_show() {
- ExportDirective directive = parse(
- "parseExportDirective",
- <Object>[emptyCommentAndMetadata()],
- "export 'lib/lib.dart' hide A show B;");
+ createParser("export 'lib/lib.dart' hide A show B;");
+ ExportDirective directive =
+ parser.parseExportDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
expect(directive.keyword, isNotNull);
expect(directive.uri, isNotNull);
expect(directive.combinators, hasLength(2));
@@ -7833,8 +8224,11 @@ void''');
}
void test_parseExportDirective_noCombinator() {
- ExportDirective directive = parse("parseExportDirective",
- <Object>[emptyCommentAndMetadata()], "export 'lib/lib.dart';");
+ createParser("export 'lib/lib.dart';");
+ ExportDirective directive =
+ parser.parseExportDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
expect(directive.keyword, isNotNull);
expect(directive.uri, isNotNull);
expect(directive.combinators, hasLength(0));
@@ -7842,10 +8236,11 @@ void''');
}
void test_parseExportDirective_show() {
- ExportDirective directive = parse(
- "parseExportDirective",
- <Object>[emptyCommentAndMetadata()],
- "export 'lib/lib.dart' show A, B;");
+ createParser("export 'lib/lib.dart' show A, B;");
+ ExportDirective directive =
+ parser.parseExportDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
expect(directive.keyword, isNotNull);
expect(directive.uri, isNotNull);
expect(directive.combinators, hasLength(1));
@@ -7853,10 +8248,11 @@ void''');
}
void test_parseExportDirective_show_hide() {
- ExportDirective directive = parse(
- "parseExportDirective",
- <Object>[emptyCommentAndMetadata()],
- "export 'lib/lib.dart' show B hide A;");
+ createParser("export 'lib/lib.dart' show B hide A;");
+ ExportDirective directive =
+ parser.parseExportDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
expect(directive.keyword, isNotNull);
expect(directive.uri, isNotNull);
expect(directive.combinators, hasLength(2));
@@ -7865,70 +8261,85 @@ void''');
void test_parseExpression_assign() {
// TODO(brianwilkerson) Implement more tests for this method.
- AssignmentExpression expression = parse4("parseExpression", "x = y");
- expect(expression.leftHandSide, isNotNull);
- expect(expression.operator, isNotNull);
- expect(expression.operator.type, TokenType.EQ);
- expect(expression.rightHandSide, isNotNull);
+ Expression expression = parseExpression('x = y');
+ expect(expression, new isInstanceOf<AssignmentExpression>());
+ AssignmentExpression assignmentExpression = expression;
+ expect(assignmentExpression.leftHandSide, isNotNull);
+ expect(assignmentExpression.operator, isNotNull);
+ expect(assignmentExpression.operator.type, TokenType.EQ);
+ expect(assignmentExpression.rightHandSide, isNotNull);
}
void test_parseExpression_assign_compound() {
enableLazyAssignmentOperators = true;
- AssignmentExpression expression = parse4("parseExpression", "x ||= y");
- expect(expression.leftHandSide, isNotNull);
- expect(expression.operator, isNotNull);
- expect(expression.operator.type, TokenType.BAR_BAR_EQ);
- expect(expression.rightHandSide, isNotNull);
+ Expression expression = parseExpression('x ||= y');
+ expect(expression, new isInstanceOf<AssignmentExpression>());
+ AssignmentExpression assignmentExpression = expression;
+ expect(assignmentExpression.leftHandSide, isNotNull);
+ expect(assignmentExpression.operator, isNotNull);
+ expect(assignmentExpression.operator.type, TokenType.BAR_BAR_EQ);
+ expect(assignmentExpression.rightHandSide, isNotNull);
}
void test_parseExpression_comparison() {
- BinaryExpression expression = parse4("parseExpression", "--a.b == c");
- expect(expression.leftOperand, isNotNull);
- expect(expression.operator, isNotNull);
- expect(expression.operator.type, TokenType.EQ_EQ);
- expect(expression.rightOperand, isNotNull);
+ Expression expression = parseExpression('--a.b == c');
+ expect(expression, new isInstanceOf<BinaryExpression>());
+ BinaryExpression binaryExpression = expression;
+ expect(binaryExpression.leftOperand, isNotNull);
+ expect(binaryExpression.operator, isNotNull);
+ expect(binaryExpression.operator.type, TokenType.EQ_EQ);
+ expect(binaryExpression.rightOperand, isNotNull);
}
void test_parseExpression_function_async() {
- FunctionExpression expression = parseExpression("() async {}");
- expect(expression.body, isNotNull);
- expect(expression.body.isAsynchronous, isTrue);
- expect(expression.body.isGenerator, isFalse);
- expect(expression.parameters, isNotNull);
+ Expression expression = parseExpression('() async {}');
+ expect(expression, new isInstanceOf<FunctionExpression>());
+ FunctionExpression functionExpression = expression;
+ expect(functionExpression.body, isNotNull);
+ expect(functionExpression.body.isAsynchronous, isTrue);
+ expect(functionExpression.body.isGenerator, isFalse);
+ expect(functionExpression.parameters, isNotNull);
}
void test_parseExpression_function_asyncStar() {
- FunctionExpression expression = parseExpression("() async* {}");
- expect(expression.body, isNotNull);
- expect(expression.body.isAsynchronous, isTrue);
- expect(expression.body.isGenerator, isTrue);
- expect(expression.parameters, isNotNull);
+ Expression expression = parseExpression('() async* {}');
+ expect(expression, new isInstanceOf<FunctionExpression>());
+ FunctionExpression functionExpression = expression;
+ expect(functionExpression.body, isNotNull);
+ expect(functionExpression.body.isAsynchronous, isTrue);
+ expect(functionExpression.body.isGenerator, isTrue);
+ expect(functionExpression.parameters, isNotNull);
}
void test_parseExpression_function_sync() {
- FunctionExpression expression = parseExpression("() {}");
- expect(expression.body, isNotNull);
- expect(expression.body.isAsynchronous, isFalse);
- expect(expression.body.isGenerator, isFalse);
- expect(expression.parameters, isNotNull);
+ Expression expression = parseExpression('() {}');
+ expect(expression, new isInstanceOf<FunctionExpression>());
+ FunctionExpression functionExpression = expression;
+ expect(functionExpression.body, isNotNull);
+ expect(functionExpression.body.isAsynchronous, isFalse);
+ expect(functionExpression.body.isGenerator, isFalse);
+ expect(functionExpression.parameters, isNotNull);
}
void test_parseExpression_function_syncStar() {
- FunctionExpression expression = parseExpression("() sync* {}");
- expect(expression.body, isNotNull);
- expect(expression.body.isAsynchronous, isFalse);
- expect(expression.body.isGenerator, isTrue);
- expect(expression.parameters, isNotNull);
+ Expression expression = parseExpression('() sync* {}');
+ expect(expression, new isInstanceOf<FunctionExpression>());
+ FunctionExpression functionExpression = expression;
+ expect(functionExpression.body, isNotNull);
+ expect(functionExpression.body.isAsynchronous, isFalse);
+ expect(functionExpression.body.isGenerator, isTrue);
+ expect(functionExpression.parameters, isNotNull);
}
void test_parseExpression_invokeFunctionExpression() {
- FunctionExpressionInvocation invocation =
- parse4("parseExpression", "(a) {return a + a;} (3)");
- EngineTestCase.assertInstanceOf((obj) => obj is FunctionExpression,
- FunctionExpression, invocation.function);
- FunctionExpression expression = invocation.function as FunctionExpression;
- expect(expression.parameters, isNotNull);
- expect(expression.body, isNotNull);
+ Expression expression = parseExpression('(a) {return a + a;} (3)');
+ expect(expression, new isInstanceOf<FunctionExpressionInvocation>());
+ FunctionExpressionInvocation invocation = expression;
+ expect(invocation.function, new isInstanceOf<FunctionExpression>());
+ FunctionExpression functionExpression =
+ invocation.function as FunctionExpression;
+ expect(functionExpression.parameters, isNotNull);
+ expect(functionExpression.body, isNotNull);
expect(invocation.typeArguments, isNull);
ArgumentList list = invocation.argumentList;
expect(list, isNotNull);
@@ -7936,14 +8347,18 @@ void''');
}
void test_parseExpression_nonAwait() {
- MethodInvocation expression = parseExpression("await()");
- expect(expression.methodName.name, 'await');
- expect(expression.typeArguments, isNull);
- expect(expression.argumentList, isNotNull);
+ Expression expression = parseExpression('await()');
+ expect(expression, new isInstanceOf<MethodInvocation>());
+ MethodInvocation invocation = expression;
+ expect(invocation.methodName.name, 'await');
+ expect(invocation.typeArguments, isNull);
+ expect(invocation.argumentList, isNotNull);
}
void test_parseExpression_superMethodInvocation() {
- MethodInvocation invocation = parse4("parseExpression", "super.m()");
+ Expression expression = parseExpression('super.m()');
+ expect(expression, new isInstanceOf<MethodInvocation>());
+ MethodInvocation invocation = expression;
expect(invocation.target, isNotNull);
expect(invocation.methodName, isNotNull);
expect(invocation.typeArguments, isNull);
@@ -7952,7 +8367,9 @@ void''');
void test_parseExpression_superMethodInvocation_typeArgumentComments() {
enableGenericMethodComments = true;
- MethodInvocation invocation = parse4("parseExpression", "super.m/*<E>*/()");
+ Expression expression = parseExpression('super.m/*<E>*/()');
+ expect(expression, new isInstanceOf<MethodInvocation>());
+ MethodInvocation invocation = expression;
expect(invocation.target, isNotNull);
expect(invocation.methodName, isNotNull);
expect(invocation.typeArguments, isNotNull);
@@ -7961,7 +8378,9 @@ void''');
void test_parseExpression_superMethodInvocation_typeArguments() {
enableGenericMethods = true;
- MethodInvocation invocation = parse4("parseExpression", "super.m<E>()");
+ Expression expression = parseExpression('super.m<E>()');
+ expect(expression, new isInstanceOf<MethodInvocation>());
+ MethodInvocation invocation = expression;
expect(invocation.target, isNotNull);
expect(invocation.methodName, isNotNull);
expect(invocation.typeArguments, isNotNull);
@@ -7969,39 +8388,55 @@ void''');
}
void test_parseExpressionList_multiple() {
- List<Expression> result =
- parse4("parseExpressionList", "1, 2, 3") as List<Expression>;
+ createParser('1, 2, 3');
+ List<Expression> result = parser.parseExpressionList();
+ expectNotNullIfNoErrors(result);
+ listener.assertNoErrors();
expect(result, hasLength(3));
}
void test_parseExpressionList_single() {
- List<Expression> result =
- parse4("parseExpressionList", "1") as List<Expression>;
+ createParser('1');
+ List<Expression> result = parser.parseExpressionList();
+ expectNotNullIfNoErrors(result);
+ listener.assertNoErrors();
expect(result, hasLength(1));
}
void test_parseExpressionWithoutCascade_assign() {
// TODO(brianwilkerson) Implement more tests for this method.
- AssignmentExpression expression =
- parse4("parseExpressionWithoutCascade", "x = y");
- expect(expression.leftHandSide, isNotNull);
- expect(expression.operator, isNotNull);
- expect(expression.operator.type, TokenType.EQ);
- expect(expression.rightHandSide, isNotNull);
+ createParser('x = y');
+ Expression expression = parser.parseExpressionWithoutCascade();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<AssignmentExpression>());
+ AssignmentExpression assignmentExpression = expression;
+ expect(assignmentExpression.leftHandSide, isNotNull);
+ expect(assignmentExpression.operator, isNotNull);
+ expect(assignmentExpression.operator.type, TokenType.EQ);
+ expect(assignmentExpression.rightHandSide, isNotNull);
}
void test_parseExpressionWithoutCascade_comparison() {
- BinaryExpression expression =
- parse4("parseExpressionWithoutCascade", "--a.b == c");
- expect(expression.leftOperand, isNotNull);
- expect(expression.operator, isNotNull);
- expect(expression.operator.type, TokenType.EQ_EQ);
- expect(expression.rightOperand, isNotNull);
+ createParser('--a.b == c');
+ Expression expression = parser.parseExpressionWithoutCascade();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<BinaryExpression>());
+ BinaryExpression binaryExpression = expression;
+ expect(binaryExpression.leftOperand, isNotNull);
+ expect(binaryExpression.operator, isNotNull);
+ expect(binaryExpression.operator.type, TokenType.EQ_EQ);
+ expect(binaryExpression.rightOperand, isNotNull);
}
void test_parseExpressionWithoutCascade_superMethodInvocation() {
- MethodInvocation invocation =
- parse4("parseExpressionWithoutCascade", "super.m()");
+ createParser('super.m()');
+ Expression expression = parser.parseExpressionWithoutCascade();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<MethodInvocation>());
+ MethodInvocation invocation = expression;
expect(invocation.target, isNotNull);
expect(invocation.methodName, isNotNull);
expect(invocation.typeArguments, isNull);
@@ -8011,8 +8446,12 @@ void''');
void
test_parseExpressionWithoutCascade_superMethodInvocation_typeArgumentComments() {
enableGenericMethodComments = true;
- MethodInvocation invocation =
- parse4("parseExpressionWithoutCascade", "super.m/*<E>*/()");
+ createParser('super.m/*<E>*/()');
+ Expression expression = parser.parseExpressionWithoutCascade();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<MethodInvocation>());
+ MethodInvocation invocation = expression;
expect(invocation.target, isNotNull);
expect(invocation.methodName, isNotNull);
expect(invocation.typeArguments, isNotNull);
@@ -8022,8 +8461,12 @@ void''');
void
test_parseExpressionWithoutCascade_superMethodInvocation_typeArguments() {
enableGenericMethods = true;
- MethodInvocation invocation =
- parse4("parseExpressionWithoutCascade", "super.m<E>()");
+ createParser('super.m<E>()');
+ Expression expression = parser.parseExpressionWithoutCascade();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<MethodInvocation>());
+ MethodInvocation invocation = expression;
expect(invocation.target, isNotNull);
expect(invocation.methodName, isNotNull);
expect(invocation.typeArguments, isNotNull);
@@ -8031,16 +8474,20 @@ void''');
}
void test_parseExtendsClause() {
- ExtendsClause clause = parse4("parseExtendsClause", "extends B");
+ createParser('extends B');
+ ExtendsClause clause = parser.parseExtendsClause();
+ expectNotNullIfNoErrors(clause);
+ listener.assertNoErrors();
expect(clause.extendsKeyword, isNotNull);
expect(clause.superclass, isNotNull);
- EngineTestCase.assertInstanceOf(
- (obj) => obj is TypeName, TypeName, clause.superclass);
+ expect(clause.superclass, new isInstanceOf<TypeName>());
}
void test_parseFinalConstVarOrType_const_noType() {
- FinalConstVarOrType result =
- parse("parseFinalConstVarOrType", <Object>[false], "const");
+ createParser('const');
+ FinalConstVarOrType result = parser.parseFinalConstVarOrType(false);
+ expectNotNullIfNoErrors(result);
+ listener.assertNoErrors();
Token keyword = result.keyword;
expect(keyword, isNotNull);
expect(keyword.type, TokenType.KEYWORD);
@@ -8049,8 +8496,10 @@ void''');
}
void test_parseFinalConstVarOrType_const_type() {
- FinalConstVarOrType result =
- parse("parseFinalConstVarOrType", <Object>[false], "const A a");
+ createParser('const A a');
+ FinalConstVarOrType result = parser.parseFinalConstVarOrType(false);
+ expectNotNullIfNoErrors(result);
+ listener.assertNoErrors();
Token keyword = result.keyword;
expect(keyword, isNotNull);
expect(keyword.type, TokenType.KEYWORD);
@@ -8059,8 +8508,10 @@ void''');
}
void test_parseFinalConstVarOrType_final_noType() {
- FinalConstVarOrType result =
- parse("parseFinalConstVarOrType", <Object>[false], "final");
+ createParser('final');
+ FinalConstVarOrType result = parser.parseFinalConstVarOrType(false);
+ expectNotNullIfNoErrors(result);
+ listener.assertNoErrors();
Token keyword = result.keyword;
expect(keyword, isNotNull);
expect(keyword.type, TokenType.KEYWORD);
@@ -8069,8 +8520,10 @@ void''');
}
void test_parseFinalConstVarOrType_final_prefixedType() {
- FinalConstVarOrType result =
- parse("parseFinalConstVarOrType", <Object>[false], "final p.A a");
+ createParser('final p.A a');
+ FinalConstVarOrType result = parser.parseFinalConstVarOrType(false);
+ expectNotNullIfNoErrors(result);
+ listener.assertNoErrors();
Token keyword = result.keyword;
expect(keyword, isNotNull);
expect(keyword.type, TokenType.KEYWORD);
@@ -8079,8 +8532,10 @@ void''');
}
void test_parseFinalConstVarOrType_final_type() {
- FinalConstVarOrType result =
- parse("parseFinalConstVarOrType", <Object>[false], "final A a");
+ createParser('final A a');
+ FinalConstVarOrType result = parser.parseFinalConstVarOrType(false);
+ expectNotNullIfNoErrors(result);
+ listener.assertNoErrors();
Token keyword = result.keyword;
expect(keyword, isNotNull);
expect(keyword.type, TokenType.KEYWORD);
@@ -8089,43 +8544,55 @@ void''');
}
void test_parseFinalConstVarOrType_type_parameterized() {
- FinalConstVarOrType result =
- parse("parseFinalConstVarOrType", <Object>[false], "A<B> a");
+ createParser('A<B> a');
+ FinalConstVarOrType result = parser.parseFinalConstVarOrType(false);
+ expectNotNullIfNoErrors(result);
+ listener.assertNoErrors();
expect(result.keyword, isNull);
expect(result.type, isNotNull);
}
void test_parseFinalConstVarOrType_type_prefixed() {
- FinalConstVarOrType result =
- parse("parseFinalConstVarOrType", <Object>[false], "p.A a");
+ createParser('p.A a');
+ FinalConstVarOrType result = parser.parseFinalConstVarOrType(false);
+ expectNotNullIfNoErrors(result);
+ listener.assertNoErrors();
expect(result.keyword, isNull);
expect(result.type, isNotNull);
}
void test_parseFinalConstVarOrType_type_prefixed_noIdentifier() {
- FinalConstVarOrType result =
- parse("parseFinalConstVarOrType", <Object>[false], "p.A,");
+ createParser('p.A,');
+ FinalConstVarOrType result = parser.parseFinalConstVarOrType(false);
+ expectNotNullIfNoErrors(result);
+ listener.assertNoErrors();
expect(result.keyword, isNull);
expect(result.type, isNotNull);
}
void test_parseFinalConstVarOrType_type_prefixedAndParameterized() {
- FinalConstVarOrType result =
- parse("parseFinalConstVarOrType", <Object>[false], "p.A<B> a");
+ createParser('p.A<B> a');
+ FinalConstVarOrType result = parser.parseFinalConstVarOrType(false);
+ expectNotNullIfNoErrors(result);
+ listener.assertNoErrors();
expect(result.keyword, isNull);
expect(result.type, isNotNull);
}
void test_parseFinalConstVarOrType_type_simple() {
- FinalConstVarOrType result =
- parse("parseFinalConstVarOrType", <Object>[false], "A a");
+ createParser('A a');
+ FinalConstVarOrType result = parser.parseFinalConstVarOrType(false);
+ expectNotNullIfNoErrors(result);
+ listener.assertNoErrors();
expect(result.keyword, isNull);
expect(result.type, isNotNull);
}
void test_parseFinalConstVarOrType_var() {
- FinalConstVarOrType result =
- parse("parseFinalConstVarOrType", <Object>[false], "var");
+ createParser('var');
+ FinalConstVarOrType result = parser.parseFinalConstVarOrType(false);
+ expectNotNullIfNoErrors(result);
+ listener.assertNoErrors();
Token keyword = result.keyword;
expect(keyword, isNotNull);
expect(keyword.type, TokenType.KEYWORD);
@@ -8134,137 +8601,177 @@ void''');
}
void test_parseFinalConstVarOrType_void() {
- FinalConstVarOrType result =
- parse("parseFinalConstVarOrType", <Object>[false], "void f()");
+ createParser('void f()');
+ FinalConstVarOrType result = parser.parseFinalConstVarOrType(false);
+ expectNotNullIfNoErrors(result);
+ listener.assertNoErrors();
expect(result.keyword, isNull);
expect(result.type, isNotNull);
}
void test_parseFinalConstVarOrType_void_noIdentifier() {
- FinalConstVarOrType result =
- parse("parseFinalConstVarOrType", <Object>[false], "void,");
+ createParser('void,');
+ FinalConstVarOrType result = parser.parseFinalConstVarOrType(false);
+ expectNotNullIfNoErrors(result);
+ listener.assertNoErrors();
expect(result.keyword, isNull);
expect(result.type, isNotNull);
}
void test_parseFormalParameter_final_withType_named() {
ParameterKind kind = ParameterKind.NAMED;
- DefaultFormalParameter parameter =
- parse("parseFormalParameter", <Object>[kind], "final A a : null");
+ createParser('final A a : null');
+ FormalParameter parameter = parser.parseFormalParameter(kind);
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<DefaultFormalParameter>());
+ DefaultFormalParameter defaultParameter = parameter;
SimpleFormalParameter simpleParameter =
- parameter.parameter as SimpleFormalParameter;
+ defaultParameter.parameter as SimpleFormalParameter;
expect(simpleParameter.identifier, isNotNull);
expect(simpleParameter.keyword, isNotNull);
expect(simpleParameter.type, isNotNull);
expect(simpleParameter.kind, kind);
- expect(parameter.separator, isNotNull);
- expect(parameter.defaultValue, isNotNull);
- expect(parameter.kind, kind);
+ expect(defaultParameter.separator, isNotNull);
+ expect(defaultParameter.defaultValue, isNotNull);
+ expect(defaultParameter.kind, kind);
}
void test_parseFormalParameter_final_withType_normal() {
ParameterKind kind = ParameterKind.REQUIRED;
- SimpleFormalParameter parameter =
- parse("parseFormalParameter", <Object>[kind], "final A a");
- expect(parameter.identifier, isNotNull);
- expect(parameter.keyword, isNotNull);
- expect(parameter.type, isNotNull);
- expect(parameter.kind, kind);
+ createParser('final A a');
+ FormalParameter parameter = parser.parseFormalParameter(kind);
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<SimpleFormalParameter>());
+ SimpleFormalParameter simpleParameter = parameter;
+ expect(simpleParameter.identifier, isNotNull);
+ expect(simpleParameter.keyword, isNotNull);
+ expect(simpleParameter.type, isNotNull);
+ expect(simpleParameter.kind, kind);
}
void test_parseFormalParameter_final_withType_positional() {
ParameterKind kind = ParameterKind.POSITIONAL;
- DefaultFormalParameter parameter =
- parse("parseFormalParameter", <Object>[kind], "final A a = null");
+ createParser('final A a = null');
+ FormalParameter parameter = parser.parseFormalParameter(kind);
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<DefaultFormalParameter>());
+ DefaultFormalParameter defaultParameter = parameter;
SimpleFormalParameter simpleParameter =
- parameter.parameter as SimpleFormalParameter;
+ defaultParameter.parameter as SimpleFormalParameter;
expect(simpleParameter.identifier, isNotNull);
expect(simpleParameter.keyword, isNotNull);
expect(simpleParameter.type, isNotNull);
expect(simpleParameter.kind, kind);
- expect(parameter.separator, isNotNull);
- expect(parameter.defaultValue, isNotNull);
- expect(parameter.kind, kind);
+ expect(defaultParameter.separator, isNotNull);
+ expect(defaultParameter.defaultValue, isNotNull);
+ expect(defaultParameter.kind, kind);
}
void test_parseFormalParameter_nonFinal_withType_named() {
ParameterKind kind = ParameterKind.NAMED;
- DefaultFormalParameter parameter =
- parse("parseFormalParameter", <Object>[kind], "A a : null");
+ createParser('A a : null');
+ FormalParameter parameter = parser.parseFormalParameter(kind);
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<DefaultFormalParameter>());
+ DefaultFormalParameter defaultParameter = parameter;
SimpleFormalParameter simpleParameter =
- parameter.parameter as SimpleFormalParameter;
+ defaultParameter.parameter as SimpleFormalParameter;
expect(simpleParameter.identifier, isNotNull);
expect(simpleParameter.keyword, isNull);
expect(simpleParameter.type, isNotNull);
expect(simpleParameter.kind, kind);
- expect(parameter.separator, isNotNull);
- expect(parameter.defaultValue, isNotNull);
- expect(parameter.kind, kind);
+ expect(defaultParameter.separator, isNotNull);
+ expect(defaultParameter.defaultValue, isNotNull);
+ expect(defaultParameter.kind, kind);
}
void test_parseFormalParameter_nonFinal_withType_normal() {
ParameterKind kind = ParameterKind.REQUIRED;
- SimpleFormalParameter parameter =
- parse("parseFormalParameter", <Object>[kind], "A a");
- expect(parameter.identifier, isNotNull);
- expect(parameter.keyword, isNull);
- expect(parameter.type, isNotNull);
- expect(parameter.kind, kind);
+ createParser('A a');
+ FormalParameter parameter = parser.parseFormalParameter(kind);
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<SimpleFormalParameter>());
+ SimpleFormalParameter simpleParameter = parameter;
+ expect(simpleParameter.identifier, isNotNull);
+ expect(simpleParameter.keyword, isNull);
+ expect(simpleParameter.type, isNotNull);
+ expect(simpleParameter.kind, kind);
}
void test_parseFormalParameter_nonFinal_withType_positional() {
ParameterKind kind = ParameterKind.POSITIONAL;
- DefaultFormalParameter parameter =
- parse("parseFormalParameter", <Object>[kind], "A a = null");
+ createParser('A a = null');
+ FormalParameter parameter = parser.parseFormalParameter(kind);
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<DefaultFormalParameter>());
+ DefaultFormalParameter defaultParameter = parameter;
SimpleFormalParameter simpleParameter =
- parameter.parameter as SimpleFormalParameter;
+ defaultParameter.parameter as SimpleFormalParameter;
expect(simpleParameter.identifier, isNotNull);
expect(simpleParameter.keyword, isNull);
expect(simpleParameter.type, isNotNull);
expect(simpleParameter.kind, kind);
- expect(parameter.separator, isNotNull);
- expect(parameter.defaultValue, isNotNull);
- expect(parameter.kind, kind);
+ expect(defaultParameter.separator, isNotNull);
+ expect(defaultParameter.defaultValue, isNotNull);
+ expect(defaultParameter.kind, kind);
}
void test_parseFormalParameter_var() {
ParameterKind kind = ParameterKind.REQUIRED;
- SimpleFormalParameter parameter =
- parse("parseFormalParameter", <Object>[kind], "var a");
- expect(parameter.identifier, isNotNull);
- expect(parameter.keyword, isNotNull);
- expect(parameter.type, isNull);
- expect(parameter.kind, kind);
+ createParser('var a');
+ FormalParameter parameter = parser.parseFormalParameter(kind);
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<SimpleFormalParameter>());
+ SimpleFormalParameter simpleParameter = parameter;
+ expect(simpleParameter.identifier, isNotNull);
+ expect(simpleParameter.keyword, isNotNull);
+ expect(simpleParameter.type, isNull);
+ expect(simpleParameter.kind, kind);
}
void test_parseFormalParameter_var_named() {
ParameterKind kind = ParameterKind.NAMED;
- DefaultFormalParameter parameter =
- parse("parseFormalParameter", <Object>[kind], "var a : null");
+ createParser('var a : null');
+ FormalParameter parameter = parser.parseFormalParameter(kind);
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<DefaultFormalParameter>());
+ DefaultFormalParameter defaultParameter = parameter;
SimpleFormalParameter simpleParameter =
- parameter.parameter as SimpleFormalParameter;
+ defaultParameter.parameter as SimpleFormalParameter;
expect(simpleParameter.identifier, isNotNull);
expect(simpleParameter.keyword, isNotNull);
expect(simpleParameter.type, isNull);
expect(simpleParameter.kind, kind);
- expect(parameter.separator, isNotNull);
- expect(parameter.defaultValue, isNotNull);
- expect(parameter.kind, kind);
+ expect(defaultParameter.separator, isNotNull);
+ expect(defaultParameter.defaultValue, isNotNull);
+ expect(defaultParameter.kind, kind);
}
void test_parseFormalParameter_var_positional() {
ParameterKind kind = ParameterKind.POSITIONAL;
- DefaultFormalParameter parameter =
- parse("parseFormalParameter", <Object>[kind], "var a = null");
+ createParser('var a = null');
+ FormalParameter parameter = parser.parseFormalParameter(kind);
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<DefaultFormalParameter>());
+ DefaultFormalParameter defaultParameter = parameter;
SimpleFormalParameter simpleParameter =
- parameter.parameter as SimpleFormalParameter;
+ defaultParameter.parameter as SimpleFormalParameter;
expect(simpleParameter.identifier, isNotNull);
expect(simpleParameter.keyword, isNotNull);
expect(simpleParameter.type, isNull);
expect(simpleParameter.kind, kind);
- expect(parameter.separator, isNotNull);
- expect(parameter.defaultValue, isNotNull);
- expect(parameter.kind, kind);
+ expect(defaultParameter.separator, isNotNull);
+ expect(defaultParameter.defaultValue, isNotNull);
+ expect(defaultParameter.kind, kind);
}
void test_parseFormalParameterList_empty() {
@@ -8753,97 +9260,130 @@ void''');
}
void test_parseFunctionBody_block() {
- BlockFunctionBody functionBody =
- parse("parseFunctionBody", <Object>[false, null, false], "{}");
- expect(functionBody.keyword, isNull);
- expect(functionBody.star, isNull);
- expect(functionBody.block, isNotNull);
- expect(functionBody.isAsynchronous, isFalse);
- expect(functionBody.isGenerator, isFalse);
- expect(functionBody.isSynchronous, isTrue);
+ createParser('{}');
+ FunctionBody functionBody = parser.parseFunctionBody(false, null, false);
+ expectNotNullIfNoErrors(functionBody);
+ listener.assertNoErrors();
+ expect(functionBody, new isInstanceOf<BlockFunctionBody>());
+ BlockFunctionBody body = functionBody;
+ expect(body.keyword, isNull);
+ expect(body.star, isNull);
+ expect(body.block, isNotNull);
+ expect(body.isAsynchronous, isFalse);
+ expect(body.isGenerator, isFalse);
+ expect(body.isSynchronous, isTrue);
}
void test_parseFunctionBody_block_async() {
- BlockFunctionBody functionBody =
- parse("parseFunctionBody", <Object>[false, null, false], "async {}");
- expect(functionBody.keyword, isNotNull);
- expect(functionBody.keyword.lexeme, Parser.ASYNC);
- expect(functionBody.star, isNull);
- expect(functionBody.block, isNotNull);
- expect(functionBody.isAsynchronous, isTrue);
- expect(functionBody.isGenerator, isFalse);
- expect(functionBody.isSynchronous, isFalse);
+ createParser('async {}');
+ FunctionBody functionBody = parser.parseFunctionBody(false, null, false);
+ expectNotNullIfNoErrors(functionBody);
+ listener.assertNoErrors();
+ expect(functionBody, new isInstanceOf<BlockFunctionBody>());
+ BlockFunctionBody body = functionBody;
+ expect(body.keyword, isNotNull);
+ expect(body.keyword.lexeme, Parser.ASYNC);
+ expect(body.star, isNull);
+ expect(body.block, isNotNull);
+ expect(body.isAsynchronous, isTrue);
+ expect(body.isGenerator, isFalse);
+ expect(body.isSynchronous, isFalse);
}
void test_parseFunctionBody_block_asyncGenerator() {
- BlockFunctionBody functionBody =
- parse("parseFunctionBody", <Object>[false, null, false], "async* {}");
- expect(functionBody.keyword, isNotNull);
- expect(functionBody.keyword.lexeme, Parser.ASYNC);
- expect(functionBody.star, isNotNull);
- expect(functionBody.block, isNotNull);
- expect(functionBody.isAsynchronous, isTrue);
- expect(functionBody.isGenerator, isTrue);
- expect(functionBody.isSynchronous, isFalse);
+ createParser('async* {}');
+ FunctionBody functionBody = parser.parseFunctionBody(false, null, false);
+ expectNotNullIfNoErrors(functionBody);
+ listener.assertNoErrors();
+ expect(functionBody, new isInstanceOf<BlockFunctionBody>());
+ BlockFunctionBody body = functionBody;
+ expect(body.keyword, isNotNull);
+ expect(body.keyword.lexeme, Parser.ASYNC);
+ expect(body.star, isNotNull);
+ expect(body.block, isNotNull);
+ expect(body.isAsynchronous, isTrue);
+ expect(body.isGenerator, isTrue);
+ expect(body.isSynchronous, isFalse);
}
void test_parseFunctionBody_block_syncGenerator() {
- BlockFunctionBody functionBody =
- parse("parseFunctionBody", <Object>[false, null, false], "sync* {}");
- expect(functionBody.keyword, isNotNull);
- expect(functionBody.keyword.lexeme, Parser.SYNC);
- expect(functionBody.star, isNotNull);
- expect(functionBody.block, isNotNull);
- expect(functionBody.isAsynchronous, isFalse);
- expect(functionBody.isGenerator, isTrue);
- expect(functionBody.isSynchronous, isTrue);
+ createParser('sync* {}');
+ FunctionBody functionBody = parser.parseFunctionBody(false, null, false);
+ expectNotNullIfNoErrors(functionBody);
+ listener.assertNoErrors();
+ expect(functionBody, new isInstanceOf<BlockFunctionBody>());
+ BlockFunctionBody body = functionBody;
+ expect(body.keyword, isNotNull);
+ expect(body.keyword.lexeme, Parser.SYNC);
+ expect(body.star, isNotNull);
+ expect(body.block, isNotNull);
+ expect(body.isAsynchronous, isFalse);
+ expect(body.isGenerator, isTrue);
+ expect(body.isSynchronous, isTrue);
}
void test_parseFunctionBody_empty() {
- EmptyFunctionBody functionBody =
- parse("parseFunctionBody", <Object>[true, null, false], ";");
- expect(functionBody.semicolon, isNotNull);
+ createParser(';');
+ FunctionBody functionBody = parser.parseFunctionBody(true, null, false);
+ expectNotNullIfNoErrors(functionBody);
+ listener.assertNoErrors();
+ expect(functionBody, new isInstanceOf<EmptyFunctionBody>());
+ EmptyFunctionBody body = functionBody;
+ expect(body.semicolon, isNotNull);
}
void test_parseFunctionBody_expression() {
- ExpressionFunctionBody functionBody =
- parse("parseFunctionBody", <Object>[false, null, false], "=> y;");
- expect(functionBody.keyword, isNull);
- expect(functionBody.functionDefinition, isNotNull);
- expect(functionBody.expression, isNotNull);
- expect(functionBody.semicolon, isNotNull);
- expect(functionBody.isAsynchronous, isFalse);
- expect(functionBody.isGenerator, isFalse);
- expect(functionBody.isSynchronous, isTrue);
+ createParser('=> y;');
+ FunctionBody functionBody = parser.parseFunctionBody(false, null, false);
+ expectNotNullIfNoErrors(functionBody);
+ listener.assertNoErrors();
+ expect(functionBody, new isInstanceOf<ExpressionFunctionBody>());
+ ExpressionFunctionBody body = functionBody;
+ expect(body.keyword, isNull);
+ expect(body.functionDefinition, isNotNull);
+ expect(body.expression, isNotNull);
+ expect(body.semicolon, isNotNull);
+ expect(body.isAsynchronous, isFalse);
+ expect(body.isGenerator, isFalse);
+ expect(body.isSynchronous, isTrue);
}
void test_parseFunctionBody_expression_async() {
- ExpressionFunctionBody functionBody =
- parse("parseFunctionBody", <Object>[false, null, false], "async => y;");
- expect(functionBody.keyword, isNotNull);
- expect(functionBody.keyword.lexeme, Parser.ASYNC);
- expect(functionBody.functionDefinition, isNotNull);
- expect(functionBody.expression, isNotNull);
- expect(functionBody.semicolon, isNotNull);
- expect(functionBody.isAsynchronous, isTrue);
- expect(functionBody.isGenerator, isFalse);
- expect(functionBody.isSynchronous, isFalse);
+ createParser('async => y;');
+ FunctionBody functionBody = parser.parseFunctionBody(false, null, false);
+ expectNotNullIfNoErrors(functionBody);
+ listener.assertNoErrors();
+ expect(functionBody, new isInstanceOf<ExpressionFunctionBody>());
+ ExpressionFunctionBody body = functionBody;
+ expect(body.keyword, isNotNull);
+ expect(body.keyword.lexeme, Parser.ASYNC);
+ expect(body.functionDefinition, isNotNull);
+ expect(body.expression, isNotNull);
+ expect(body.semicolon, isNotNull);
+ expect(body.isAsynchronous, isTrue);
+ expect(body.isGenerator, isFalse);
+ expect(body.isSynchronous, isFalse);
}
void test_parseFunctionBody_nativeFunctionBody() {
- NativeFunctionBody functionBody = parse(
- "parseFunctionBody", <Object>[false, null, false], "native 'str';");
- expect(functionBody.nativeKeyword, isNotNull);
- expect(functionBody.stringLiteral, isNotNull);
- expect(functionBody.semicolon, isNotNull);
+ createParser('native "str";');
+ FunctionBody functionBody = parser.parseFunctionBody(false, null, false);
+ expectNotNullIfNoErrors(functionBody);
+ listener.assertNoErrors();
+ expect(functionBody, new isInstanceOf<NativeFunctionBody>());
+ NativeFunctionBody body = functionBody;
+ expect(body.nativeKeyword, isNotNull);
+ expect(body.stringLiteral, isNotNull);
+ expect(body.semicolon, isNotNull);
}
void test_parseFunctionBody_skip_block() {
ParserTestCase.parseFunctionBodies = false;
- FunctionBody functionBody =
- parse("parseFunctionBody", <Object>[false, null, false], "{}");
- EngineTestCase.assertInstanceOf(
- (obj) => obj is EmptyFunctionBody, EmptyFunctionBody, functionBody);
+ createParser('{}');
+ FunctionBody functionBody = parser.parseFunctionBody(false, null, false);
+ expectNotNullIfNoErrors(functionBody);
+ listener.assertNoErrors();
+ expect(functionBody, new isInstanceOf<EmptyFunctionBody>());
}
void test_parseFunctionBody_skip_block_invalid() {
@@ -8857,25 +9397,30 @@ void''');
void test_parseFunctionBody_skip_blocks() {
ParserTestCase.parseFunctionBodies = false;
- FunctionBody functionBody =
- parse("parseFunctionBody", <Object>[false, null, false], "{ {} }");
- EngineTestCase.assertInstanceOf(
- (obj) => obj is EmptyFunctionBody, EmptyFunctionBody, functionBody);
+ createParser('{ {} }');
+ FunctionBody functionBody = parser.parseFunctionBody(false, null, false);
+ expectNotNullIfNoErrors(functionBody);
+ listener.assertNoErrors();
+ expect(functionBody, new isInstanceOf<EmptyFunctionBody>());
}
void test_parseFunctionBody_skip_expression() {
ParserTestCase.parseFunctionBodies = false;
- FunctionBody functionBody =
- parse("parseFunctionBody", <Object>[false, null, false], "=> y;");
- EngineTestCase.assertInstanceOf(
- (obj) => obj is EmptyFunctionBody, EmptyFunctionBody, functionBody);
+ createParser('=> y;');
+ FunctionBody functionBody = parser.parseFunctionBody(false, null, false);
+ expectNotNullIfNoErrors(functionBody);
+ listener.assertNoErrors();
+ expect(functionBody, new isInstanceOf<EmptyFunctionBody>());
}
void test_parseFunctionDeclaration_function() {
Comment comment = Comment.createDocumentationComment(new List<Token>(0));
TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
- FunctionDeclaration declaration = parse("parseFunctionDeclaration",
- <Object>[commentAndMetadata(comment), null, returnType], "f() {}");
+ createParser('f() {}');
+ FunctionDeclaration declaration = parser.parseFunctionDeclaration(
+ commentAndMetadata(comment), null, returnType);
+ expectNotNullIfNoErrors(declaration);
+ listener.assertNoErrors();
expect(declaration.documentationComment, comment);
expect(declaration.returnType, returnType);
expect(declaration.name, isNotNull);
@@ -8891,8 +9436,11 @@ void''');
enableGenericMethods = true;
Comment comment = Comment.createDocumentationComment(new List<Token>(0));
TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
- FunctionDeclaration declaration = parse("parseFunctionDeclaration",
- <Object>[commentAndMetadata(comment), null, returnType], "f<E>() {}");
+ createParser('f<E>() {}');
+ FunctionDeclaration declaration = parser.parseFunctionDeclaration(
+ commentAndMetadata(comment), null, returnType);
+ expectNotNullIfNoErrors(declaration);
+ listener.assertNoErrors();
expect(declaration.documentationComment, comment);
expect(declaration.returnType, returnType);
expect(declaration.name, isNotNull);
@@ -8908,10 +9456,11 @@ void''');
enableGenericMethodComments = true;
Comment comment = Comment.createDocumentationComment(new List<Token>(0));
TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
- FunctionDeclaration declaration = parse(
- "parseFunctionDeclaration",
- <Object>[commentAndMetadata(comment), null, returnType],
- "f/*<E>*/() {}");
+ createParser('f/*<E>*/() {}');
+ FunctionDeclaration declaration = parser.parseFunctionDeclaration(
+ commentAndMetadata(comment), null, returnType);
+ expectNotNullIfNoErrors(declaration);
+ listener.assertNoErrors();
expect(declaration.documentationComment, comment);
expect(declaration.returnType, returnType);
expect(declaration.name, isNotNull);
@@ -8926,8 +9475,11 @@ void''');
void test_parseFunctionDeclaration_getter() {
Comment comment = Comment.createDocumentationComment(new List<Token>(0));
TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
- FunctionDeclaration declaration = parse("parseFunctionDeclaration",
- <Object>[commentAndMetadata(comment), null, returnType], "get p => 0;");
+ createParser('get p => 0;');
+ FunctionDeclaration declaration = parser.parseFunctionDeclaration(
+ commentAndMetadata(comment), null, returnType);
+ expectNotNullIfNoErrors(declaration);
+ listener.assertNoErrors();
expect(declaration.documentationComment, comment);
expect(declaration.returnType, returnType);
expect(declaration.name, isNotNull);
@@ -8942,8 +9494,11 @@ void''');
void test_parseFunctionDeclaration_setter() {
Comment comment = Comment.createDocumentationComment(new List<Token>(0));
TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
- FunctionDeclaration declaration = parse("parseFunctionDeclaration",
- <Object>[commentAndMetadata(comment), null, returnType], "set p(v) {}");
+ createParser('set p(v) {}');
+ FunctionDeclaration declaration = parser.parseFunctionDeclaration(
+ commentAndMetadata(comment), null, returnType);
+ expectNotNullIfNoErrors(declaration);
+ listener.assertNoErrors();
expect(declaration.documentationComment, comment);
expect(declaration.returnType, returnType);
expect(declaration.name, isNotNull);
@@ -8956,16 +9511,21 @@ void''');
}
void test_parseFunctionDeclarationStatement() {
+ createParser('void f(int p) => p * 2;');
FunctionDeclarationStatement statement =
- parse4("parseFunctionDeclarationStatement", "void f(int p) => p * 2;");
+ parser.parseFunctionDeclarationStatement();
+ expectNotNullIfNoErrors(statement);
+ listener.assertNoErrors();
expect(statement.functionDeclaration, isNotNull);
}
void test_parseFunctionDeclarationStatement_typeParameterComments() {
enableGenericMethodComments = true;
- FunctionDeclarationStatement statement = parse4(
- "parseFunctionDeclarationStatement",
- "/*=E*/ f/*<E>*/(/*=E*/ p) => p * 2;");
+ createParser('/*=E*/ f/*<E>*/(/*=E*/ p) => p * 2;');
+ FunctionDeclarationStatement statement =
+ parser.parseFunctionDeclarationStatement();
+ expectNotNullIfNoErrors(statement);
+ listener.assertNoErrors();
FunctionDeclaration f = statement.functionDeclaration;
expect(f, isNotNull);
expect(f.functionExpression.typeParameters, isNotNull);
@@ -8976,16 +9536,21 @@ void''');
void test_parseFunctionDeclarationStatement_typeParameters() {
enableGenericMethods = true;
+ createParser('E f<E>(E p) => p * 2;');
FunctionDeclarationStatement statement =
- parse4("parseFunctionDeclarationStatement", "E f<E>(E p) => p * 2;");
+ parser.parseFunctionDeclarationStatement();
+ expectNotNullIfNoErrors(statement);
+ listener.assertNoErrors();
expect(statement.functionDeclaration, isNotNull);
expect(statement.functionDeclaration.functionExpression.typeParameters,
isNotNull);
}
void test_parseFunctionExpression_body_inExpression() {
- FunctionExpression expression =
- parse4("parseFunctionExpression", "(int i) => i++");
+ createParser('(int i) => i++');
+ FunctionExpression expression = parser.parseFunctionExpression();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
expect(expression.body, isNotNull);
expect(expression.typeParameters, isNull);
expect(expression.parameters, isNotNull);
@@ -8994,8 +9559,10 @@ void''');
void test_parseFunctionExpression_typeParameterComments() {
enableGenericMethodComments = true;
- FunctionExpression expression =
- parse4("parseFunctionExpression", "/*<E>*/(/*=E*/ i) => i++");
+ createParser('/*<E>*/(/*=E*/ i) => i++');
+ FunctionExpression expression = parser.parseFunctionExpression();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
expect(expression.body, isNotNull);
expect(expression.typeParameters, isNotNull);
expect(expression.parameters, isNotNull);
@@ -9006,8 +9573,10 @@ void''');
void test_parseFunctionExpression_typeParameters() {
enableGenericMethods = true;
- FunctionExpression expression =
- parse4("parseFunctionExpression", "<E>(E i) => i++");
+ createParser('<E>(E i) => i++');
+ FunctionExpression expression = parser.parseFunctionExpression();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
expect(expression.body, isNotNull);
expect(expression.typeParameters, isNotNull);
expect(expression.parameters, isNotNull);
@@ -9017,10 +9586,11 @@ void''');
void test_parseGetter_nonStatic() {
Comment comment = Comment.createDocumentationComment(new List<Token>(0));
TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
- MethodDeclaration method = parse(
- "parseGetter",
- <Object>[commentAndMetadata(comment), null, null, returnType],
- "get a;");
+ createParser('get a;');
+ MethodDeclaration method =
+ parser.parseGetter(commentAndMetadata(comment), null, null, returnType);
+ expectNotNullIfNoErrors(method);
+ listener.assertNoErrors();
expect(method.body, isNotNull);
expect(method.documentationComment, comment);
expect(method.externalKeyword, isNull);
@@ -9036,10 +9606,11 @@ void''');
Comment comment = Comment.createDocumentationComment(new List<Token>(0));
Token staticKeyword = TokenFactory.tokenFromKeyword(Keyword.STATIC);
TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
- MethodDeclaration method = parse(
- "parseGetter",
- <Object>[commentAndMetadata(comment), null, staticKeyword, returnType],
- "get a => 42;");
+ createParser('get a => 42;');
+ MethodDeclaration method = parser.parseGetter(
+ commentAndMetadata(comment), null, staticKeyword, returnType);
+ expectNotNullIfNoErrors(method);
+ listener.assertNoErrors();
expect(method.body, isNotNull);
expect(method.documentationComment, comment);
expect(method.externalKeyword, isNull);
@@ -9053,14 +9624,18 @@ void''');
}
void test_parseIdentifierList_multiple() {
- List<SimpleIdentifier> list =
- parse4("parseIdentifierList", "a, b, c") as List<SimpleIdentifier>;
+ createParser('a, b, c');
+ List<SimpleIdentifier> list = parser.parseIdentifierList();
+ expectNotNullIfNoErrors(list);
+ listener.assertNoErrors();
expect(list, hasLength(3));
}
void test_parseIdentifierList_single() {
- List<SimpleIdentifier> list =
- parse4("parseIdentifierList", "a") as List<SimpleIdentifier>;
+ createParser('a');
+ List<SimpleIdentifier> list = parser.parseIdentifierList();
+ expectNotNullIfNoErrors(list);
+ listener.assertNoErrors();
expect(list, hasLength(1));
}
@@ -9121,23 +9696,29 @@ void''');
}
void test_parseImplementsClause_multiple() {
- ImplementsClause clause =
- parse4("parseImplementsClause", "implements A, B, C");
+ createParser('implements A, B, C');
+ ImplementsClause clause = parser.parseImplementsClause();
+ expectNotNullIfNoErrors(clause);
+ listener.assertNoErrors();
expect(clause.interfaces, hasLength(3));
expect(clause.implementsKeyword, isNotNull);
}
void test_parseImplementsClause_single() {
- ImplementsClause clause = parse4("parseImplementsClause", "implements A");
+ createParser('implements A');
+ ImplementsClause clause = parser.parseImplementsClause();
+ expectNotNullIfNoErrors(clause);
+ listener.assertNoErrors();
expect(clause.interfaces, hasLength(1));
expect(clause.implementsKeyword, isNotNull);
}
void test_parseImportDirective_configuration_multiple() {
- ImportDirective directive = parse(
- "parseImportDirective",
- <Object>[emptyCommentAndMetadata()],
- "import 'lib/lib.dart' if (a) 'b.dart' if (c) 'd.dart';");
+ createParser("import 'lib/lib.dart' if (a) 'b.dart' if (c) 'd.dart';");
+ ImportDirective directive =
+ parser.parseImportDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
expect(directive.keyword, isNotNull);
expect(directive.uri, isNotNull);
expect(directive.configurations, hasLength(2));
@@ -9151,10 +9732,11 @@ void''');
}
void test_parseImportDirective_configuration_single() {
- ImportDirective directive = parse(
- "parseImportDirective",
- <Object>[emptyCommentAndMetadata()],
- "import 'lib/lib.dart' if (a.b == 'c.dart') '';");
+ createParser("import 'lib/lib.dart' if (a.b == 'c.dart') '';");
+ ImportDirective directive =
+ parser.parseImportDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
expect(directive.keyword, isNotNull);
expect(directive.uri, isNotNull);
expect(directive.configurations, hasLength(1));
@@ -9167,10 +9749,11 @@ void''');
}
void test_parseImportDirective_deferred() {
- ImportDirective directive = parse(
- "parseImportDirective",
- <Object>[emptyCommentAndMetadata()],
- "import 'lib/lib.dart' deferred as a;");
+ createParser("import 'lib/lib.dart' deferred as a;");
+ ImportDirective directive =
+ parser.parseImportDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
expect(directive.keyword, isNotNull);
expect(directive.uri, isNotNull);
expect(directive.deferredKeyword, isNotNull);
@@ -9181,10 +9764,11 @@ void''');
}
void test_parseImportDirective_hide() {
- ImportDirective directive = parse(
- "parseImportDirective",
- <Object>[emptyCommentAndMetadata()],
- "import 'lib/lib.dart' hide A, B;");
+ createParser("import 'lib/lib.dart' hide A, B;");
+ ImportDirective directive =
+ parser.parseImportDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
expect(directive.keyword, isNotNull);
expect(directive.uri, isNotNull);
expect(directive.deferredKeyword, isNull);
@@ -9195,8 +9779,11 @@ void''');
}
void test_parseImportDirective_noCombinator() {
- ImportDirective directive = parse("parseImportDirective",
- <Object>[emptyCommentAndMetadata()], "import 'lib/lib.dart';");
+ createParser("import 'lib/lib.dart';");
+ ImportDirective directive =
+ parser.parseImportDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
expect(directive.keyword, isNotNull);
expect(directive.uri, isNotNull);
expect(directive.deferredKeyword, isNull);
@@ -9207,8 +9794,11 @@ void''');
}
void test_parseImportDirective_prefix() {
- ImportDirective directive = parse("parseImportDirective",
- <Object>[emptyCommentAndMetadata()], "import 'lib/lib.dart' as a;");
+ createParser("import 'lib/lib.dart' as a;");
+ ImportDirective directive =
+ parser.parseImportDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
expect(directive.keyword, isNotNull);
expect(directive.uri, isNotNull);
expect(directive.deferredKeyword, isNull);
@@ -9219,10 +9809,11 @@ void''');
}
void test_parseImportDirective_prefix_hide_show() {
- ImportDirective directive = parse(
- "parseImportDirective",
- <Object>[emptyCommentAndMetadata()],
- "import 'lib/lib.dart' as a hide A show B;");
+ createParser("import 'lib/lib.dart' as a hide A show B;");
+ ImportDirective directive =
+ parser.parseImportDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
expect(directive.keyword, isNotNull);
expect(directive.uri, isNotNull);
expect(directive.deferredKeyword, isNull);
@@ -9233,10 +9824,11 @@ void''');
}
void test_parseImportDirective_prefix_show_hide() {
- ImportDirective directive = parse(
- "parseImportDirective",
- <Object>[emptyCommentAndMetadata()],
- "import 'lib/lib.dart' as a show B hide A;");
+ createParser("import 'lib/lib.dart' as a show B hide A;");
+ ImportDirective directive =
+ parser.parseImportDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
expect(directive.keyword, isNotNull);
expect(directive.uri, isNotNull);
expect(directive.deferredKeyword, isNull);
@@ -9247,10 +9839,11 @@ void''');
}
void test_parseImportDirective_show() {
- ImportDirective directive = parse(
- "parseImportDirective",
- <Object>[emptyCommentAndMetadata()],
- "import 'lib/lib.dart' show A, B;");
+ createParser("import 'lib/lib.dart' show A, B;");
+ ImportDirective directive =
+ parser.parseImportDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
expect(directive.keyword, isNotNull);
expect(directive.uri, isNotNull);
expect(directive.deferredKeyword, isNull);
@@ -9264,10 +9857,11 @@ void''');
Comment comment = Comment.createDocumentationComment(new List<Token>(0));
Token staticKeyword = TokenFactory.tokenFromKeyword(Keyword.STATIC);
TypeName type = new TypeName(new SimpleIdentifier(null), null);
- FieldDeclaration declaration = parse(
- "parseInitializedIdentifierList",
- <Object>[commentAndMetadata(comment), staticKeyword, null, type],
- "a = 1, b, c = 3;");
+ createParser("a = 1, b, c = 3;");
+ FieldDeclaration declaration = parser.parseInitializedIdentifierList(
+ commentAndMetadata(comment), staticKeyword, null, type);
+ expectNotNullIfNoErrors(declaration);
+ listener.assertNoErrors();
expect(declaration.documentationComment, comment);
VariableDeclarationList fields = declaration.fields;
expect(fields, isNotNull);
@@ -9282,10 +9876,11 @@ void''');
Comment comment = Comment.createDocumentationComment(new List<Token>(0));
Token staticKeyword = TokenFactory.tokenFromKeyword(Keyword.STATIC);
Token varKeyword = TokenFactory.tokenFromKeyword(Keyword.VAR);
- FieldDeclaration declaration = parse(
- "parseInitializedIdentifierList",
- <Object>[commentAndMetadata(comment), staticKeyword, varKeyword, null],
- "a = 1, b, c = 3;");
+ createParser('a = 1, b, c = 3;');
+ FieldDeclaration declaration = parser.parseInitializedIdentifierList(
+ commentAndMetadata(comment), staticKeyword, varKeyword, null);
+ expectNotNullIfNoErrors(declaration);
+ listener.assertNoErrors();
expect(declaration.documentationComment, comment);
VariableDeclarationList fields = declaration.fields;
expect(fields, isNotNull);
@@ -9298,8 +9893,11 @@ void''');
void test_parseInstanceCreationExpression_qualifiedType() {
Token token = TokenFactory.tokenFromKeyword(Keyword.NEW);
+ createParser('A.B()');
InstanceCreationExpression expression =
- parse("parseInstanceCreationExpression", <Object>[token], "A.B()");
+ parser.parseInstanceCreationExpression(token);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
expect(expression.keyword, token);
ConstructorName name = expression.constructorName;
expect(name, isNotNull);
@@ -9313,8 +9911,11 @@ void''');
void test_parseInstanceCreationExpression_qualifiedType_named() {
Token token = TokenFactory.tokenFromKeyword(Keyword.NEW);
+ createParser('A.B.c()');
InstanceCreationExpression expression =
- parse("parseInstanceCreationExpression", <Object>[token], "A.B.c()");
+ parser.parseInstanceCreationExpression(token);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
expect(expression.keyword, token);
ConstructorName name = expression.constructorName;
expect(name, isNotNull);
@@ -9330,8 +9931,11 @@ void''');
test_parseInstanceCreationExpression_qualifiedType_named_typeParameterComment() {
enableGenericMethodComments = true;
Token token = TokenFactory.tokenFromKeyword(Keyword.NEW);
- InstanceCreationExpression expression = parse(
- "parseInstanceCreationExpression", <Object>[token], "A.B/*<E>*/.c()");
+ createParser('A.B/*<E>*/.c()');
+ InstanceCreationExpression expression =
+ parser.parseInstanceCreationExpression(token);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
expect(expression.keyword, token);
ConstructorName name = expression.constructorName;
expect(name, isNotNull);
@@ -9346,8 +9950,11 @@ void''');
void
test_parseInstanceCreationExpression_qualifiedType_named_typeParameters() {
Token token = TokenFactory.tokenFromKeyword(Keyword.NEW);
+ createParser('A.B<E>.c()');
InstanceCreationExpression expression =
- parse("parseInstanceCreationExpression", <Object>[token], "A.B<E>.c()");
+ parser.parseInstanceCreationExpression(token);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
expect(expression.keyword, token);
ConstructorName name = expression.constructorName;
expect(name, isNotNull);
@@ -9363,8 +9970,11 @@ void''');
test_parseInstanceCreationExpression_qualifiedType_typeParameterComment() {
enableGenericMethodComments = true;
Token token = TokenFactory.tokenFromKeyword(Keyword.NEW);
- InstanceCreationExpression expression = parse(
- "parseInstanceCreationExpression", <Object>[token], "A.B/*<E>*/()");
+ createParser('A.B/*<E>*/()');
+ InstanceCreationExpression expression =
+ parser.parseInstanceCreationExpression(token);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
expect(expression.keyword, token);
ConstructorName name = expression.constructorName;
expect(name, isNotNull);
@@ -9378,8 +9988,11 @@ void''');
void test_parseInstanceCreationExpression_qualifiedType_typeParameters() {
Token token = TokenFactory.tokenFromKeyword(Keyword.NEW);
+ createParser('A.B<E>()');
InstanceCreationExpression expression =
- parse("parseInstanceCreationExpression", <Object>[token], "A.B<E>()");
+ parser.parseInstanceCreationExpression(token);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
expect(expression.keyword, token);
ConstructorName name = expression.constructorName;
expect(name, isNotNull);
@@ -9393,8 +10006,11 @@ void''');
void test_parseInstanceCreationExpression_type() {
Token token = TokenFactory.tokenFromKeyword(Keyword.NEW);
+ createParser('A()');
InstanceCreationExpression expression =
- parse("parseInstanceCreationExpression", <Object>[token], "A()");
+ parser.parseInstanceCreationExpression(token);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
expect(expression.keyword, token);
ConstructorName name = expression.constructorName;
expect(name, isNotNull);
@@ -9409,8 +10025,11 @@ void''');
void test_parseInstanceCreationExpression_type_named() {
enableGenericMethodComments = true;
Token token = TokenFactory.tokenFromKeyword(Keyword.NEW);
+ createParser('A.c()');
InstanceCreationExpression expression =
- parse("parseInstanceCreationExpression", <Object>[token], "A.c()");
+ parser.parseInstanceCreationExpression(token);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
expect(expression.keyword, token);
ConstructorName name = expression.constructorName;
expect(name, isNotNull);
@@ -9425,8 +10044,11 @@ void''');
void test_parseInstanceCreationExpression_type_named_typeParameterComment() {
enableGenericMethodComments = true;
Token token = TokenFactory.tokenFromKeyword(Keyword.NEW);
- InstanceCreationExpression expression = parse(
- "parseInstanceCreationExpression", <Object>[token], "A/*<B>*/.c()");
+ createParser('A/*<B>*/.c()');
+ InstanceCreationExpression expression =
+ parser.parseInstanceCreationExpression(token);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
expect(expression.keyword, token);
ConstructorName name = expression.constructorName;
expect(name, isNotNull);
@@ -9440,8 +10062,11 @@ void''');
void test_parseInstanceCreationExpression_type_named_typeParameters() {
Token token = TokenFactory.tokenFromKeyword(Keyword.NEW);
+ createParser('A<B>.c()');
InstanceCreationExpression expression =
- parse("parseInstanceCreationExpression", <Object>[token], "A<B>.c()");
+ parser.parseInstanceCreationExpression(token);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
expect(expression.keyword, token);
ConstructorName name = expression.constructorName;
expect(name, isNotNull);
@@ -9456,8 +10081,11 @@ void''');
void test_parseInstanceCreationExpression_type_typeParameterComment() {
enableGenericMethodComments = true;
Token token = TokenFactory.tokenFromKeyword(Keyword.NEW);
+ createParser('A/*<B>*/()');
InstanceCreationExpression expression =
- parse("parseInstanceCreationExpression", <Object>[token], "A/*<B>*/()");
+ parser.parseInstanceCreationExpression(token);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
expect(expression.keyword, token);
ConstructorName name = expression.constructorName;
expect(name, isNotNull);
@@ -9471,8 +10099,11 @@ void''');
void test_parseInstanceCreationExpression_type_typeParameters() {
Token token = TokenFactory.tokenFromKeyword(Keyword.NEW);
+ createParser('A<B>()');
InstanceCreationExpression expression =
- parse("parseInstanceCreationExpression", <Object>[token], "A<B>()");
+ parser.parseInstanceCreationExpression(token);
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
expect(expression.keyword, token);
ConstructorName name = expression.constructorName;
expect(name, isNotNull);
@@ -9485,8 +10116,11 @@ void''');
}
void test_parseLibraryDirective() {
- LibraryDirective directive = parse("parseLibraryDirective",
- <Object>[emptyCommentAndMetadata()], "library l;");
+ createParser('library l;');
+ LibraryDirective directive =
+ parser.parseLibraryDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
expect(directive.libraryKeyword, isNotNull);
expect(directive.name, isNotNull);
expect(directive.semicolon, isNotNull);
@@ -9494,21 +10128,29 @@ void''');
void test_parseLibraryIdentifier_multiple() {
String name = "a.b.c";
- LibraryIdentifier identifier = parse4("parseLibraryIdentifier", name);
+ createParser(name);
+ LibraryIdentifier identifier = parser.parseLibraryIdentifier();
+ expectNotNullIfNoErrors(identifier);
+ listener.assertNoErrors();
expect(identifier.name, name);
}
void test_parseLibraryIdentifier_single() {
String name = "a";
- LibraryIdentifier identifier = parse4("parseLibraryIdentifier", name);
+ createParser(name);
+ LibraryIdentifier identifier = parser.parseLibraryIdentifier();
+ expectNotNullIfNoErrors(identifier);
+ listener.assertNoErrors();
expect(identifier.name, name);
}
void test_parseListLiteral_empty_oneToken() {
Token token = TokenFactory.tokenFromKeyword(Keyword.CONST);
TypeArgumentList typeArguments = null;
- ListLiteral literal =
- parse("parseListLiteral", <Object>[token, typeArguments], "[]");
+ createParser('[]');
+ ListLiteral literal = parser.parseListLiteral(token, typeArguments);
+ expectNotNullIfNoErrors(literal);
+ listener.assertNoErrors();
expect(literal.constKeyword, token);
expect(literal.typeArguments, typeArguments);
expect(literal.leftBracket, isNotNull);
@@ -9517,11 +10159,13 @@ void''');
}
void test_parseListLiteral_empty_oneToken_withComment() {
- Token constToken = null;
+ Token token = null;
TypeArgumentList typeArguments = null;
- ListLiteral literal = parse(
- "parseListLiteral", <Object>[constToken, typeArguments], "/* 0 */ []");
- expect(literal.constKeyword, constToken);
+ createParser('/* 0 */ []');
+ ListLiteral literal = parser.parseListLiteral(token, typeArguments);
+ expectNotNullIfNoErrors(literal);
+ listener.assertNoErrors();
+ expect(literal.constKeyword, token);
expect(literal.typeArguments, typeArguments);
Token leftBracket = literal.leftBracket;
expect(leftBracket, isNotNull);
@@ -9533,8 +10177,10 @@ void''');
void test_parseListLiteral_empty_twoTokens() {
Token token = TokenFactory.tokenFromKeyword(Keyword.CONST);
TypeArgumentList typeArguments = null;
- ListLiteral literal =
- parse("parseListLiteral", <Object>[token, typeArguments], "[ ]");
+ createParser('[ ]');
+ ListLiteral literal = parser.parseListLiteral(token, typeArguments);
+ expectNotNullIfNoErrors(literal);
+ listener.assertNoErrors();
expect(literal.constKeyword, token);
expect(literal.typeArguments, typeArguments);
expect(literal.leftBracket, isNotNull);
@@ -9543,8 +10189,10 @@ void''');
}
void test_parseListLiteral_multiple() {
- ListLiteral literal =
- parse("parseListLiteral", <Object>[null, null], "[1, 2, 3]");
+ createParser('[1, 2, 3]');
+ ListLiteral literal = parser.parseListLiteral(null, null);
+ expectNotNullIfNoErrors(literal);
+ listener.assertNoErrors();
expect(literal.constKeyword, isNull);
expect(literal.typeArguments, isNull);
expect(literal.leftBracket, isNotNull);
@@ -9553,8 +10201,10 @@ void''');
}
void test_parseListLiteral_single() {
- ListLiteral literal =
- parse("parseListLiteral", <Object>[null, null], "[1]");
+ createParser('[1]');
+ ListLiteral literal = parser.parseListLiteral(null, null);
+ expectNotNullIfNoErrors(literal);
+ listener.assertNoErrors();
expect(literal.constKeyword, isNull);
expect(literal.typeArguments, isNull);
expect(literal.leftBracket, isNotNull);
@@ -9563,66 +10213,95 @@ void''');
}
void test_parseListOrMapLiteral_list_noType() {
- ListLiteral literal = parse("parseListOrMapLiteral", <Object>[null], "[1]");
- expect(literal.constKeyword, isNull);
- expect(literal.typeArguments, isNull);
- expect(literal.leftBracket, isNotNull);
- expect(literal.elements, hasLength(1));
- expect(literal.rightBracket, isNotNull);
+ createParser('[1]');
+ TypedLiteral literal = parser.parseListOrMapLiteral(null);
+ expectNotNullIfNoErrors(literal);
+ listener.assertNoErrors();
+ expect(literal, new isInstanceOf<ListLiteral>());
+ ListLiteral listLiteral = literal;
+ expect(listLiteral.constKeyword, isNull);
+ expect(listLiteral.typeArguments, isNull);
+ expect(listLiteral.leftBracket, isNotNull);
+ expect(listLiteral.elements, hasLength(1));
+ expect(listLiteral.rightBracket, isNotNull);
}
void test_parseListOrMapLiteral_list_type() {
- ListLiteral literal =
- parse("parseListOrMapLiteral", <Object>[null], "<int> [1]");
- expect(literal.constKeyword, isNull);
- expect(literal.typeArguments, isNotNull);
- expect(literal.leftBracket, isNotNull);
- expect(literal.elements, hasLength(1));
- expect(literal.rightBracket, isNotNull);
+ createParser('<int> [1]');
+ TypedLiteral literal = parser.parseListOrMapLiteral(null);
+ expectNotNullIfNoErrors(literal);
+ listener.assertNoErrors();
+ expect(literal, new isInstanceOf<ListLiteral>());
+ ListLiteral listLiteral = literal;
+ expect(listLiteral.constKeyword, isNull);
+ expect(listLiteral.typeArguments, isNotNull);
+ expect(listLiteral.leftBracket, isNotNull);
+ expect(listLiteral.elements, hasLength(1));
+ expect(listLiteral.rightBracket, isNotNull);
}
void test_parseListOrMapLiteral_map_noType() {
- MapLiteral literal =
- parse("parseListOrMapLiteral", <Object>[null], "{'1' : 1}");
- expect(literal.constKeyword, isNull);
- expect(literal.typeArguments, isNull);
- expect(literal.leftBracket, isNotNull);
- expect(literal.entries, hasLength(1));
- expect(literal.rightBracket, isNotNull);
+ createParser("{'1' : 1}");
+ TypedLiteral literal = parser.parseListOrMapLiteral(null);
+ expectNotNullIfNoErrors(literal);
+ listener.assertNoErrors();
+ expect(literal, new isInstanceOf<MapLiteral>());
+ MapLiteral mapLiteral = literal;
+ expect(mapLiteral.constKeyword, isNull);
+ expect(mapLiteral.typeArguments, isNull);
+ expect(mapLiteral.leftBracket, isNotNull);
+ expect(mapLiteral.entries, hasLength(1));
+ expect(mapLiteral.rightBracket, isNotNull);
}
void test_parseListOrMapLiteral_map_type() {
- MapLiteral literal = parse(
- "parseListOrMapLiteral", <Object>[null], "<String, int> {'1' : 1}");
- expect(literal.constKeyword, isNull);
- expect(literal.typeArguments, isNotNull);
- expect(literal.leftBracket, isNotNull);
- expect(literal.entries, hasLength(1));
- expect(literal.rightBracket, isNotNull);
+ createParser("<String, int> {'1' : 1}");
+ TypedLiteral literal = parser.parseListOrMapLiteral(null);
+ expectNotNullIfNoErrors(literal);
+ listener.assertNoErrors();
+ expect(literal, new isInstanceOf<MapLiteral>());
+ MapLiteral mapLiteral = literal;
+ expect(mapLiteral.constKeyword, isNull);
+ expect(mapLiteral.typeArguments, isNotNull);
+ expect(mapLiteral.leftBracket, isNotNull);
+ expect(mapLiteral.entries, hasLength(1));
+ expect(mapLiteral.rightBracket, isNotNull);
}
void test_parseLogicalAndExpression() {
- BinaryExpression expression = parse4("parseLogicalAndExpression", "x && y");
- expect(expression.leftOperand, isNotNull);
- expect(expression.operator, isNotNull);
- expect(expression.operator.type, TokenType.AMPERSAND_AMPERSAND);
- expect(expression.rightOperand, isNotNull);
+ createParser('x && y');
+ Expression expression = parser.parseLogicalAndExpression();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<BinaryExpression>());
+ BinaryExpression binaryExpression = expression;
+ expect(binaryExpression.leftOperand, isNotNull);
+ expect(binaryExpression.operator, isNotNull);
+ expect(binaryExpression.operator.type, TokenType.AMPERSAND_AMPERSAND);
+ expect(binaryExpression.rightOperand, isNotNull);
}
void test_parseLogicalOrExpression() {
- BinaryExpression expression = parse4("parseLogicalOrExpression", "x || y");
- expect(expression.leftOperand, isNotNull);
- expect(expression.operator, isNotNull);
- expect(expression.operator.type, TokenType.BAR_BAR);
- expect(expression.rightOperand, isNotNull);
+ createParser('x || y');
+ Expression expression = parser.parseLogicalOrExpression();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<BinaryExpression>());
+ BinaryExpression binaryExpression = expression;
+ expect(binaryExpression.leftOperand, isNotNull);
+ expect(binaryExpression.operator, isNotNull);
+ expect(binaryExpression.operator.type, TokenType.BAR_BAR);
+ expect(binaryExpression.rightOperand, isNotNull);
}
void test_parseMapLiteral_empty() {
Token token = TokenFactory.tokenFromKeyword(Keyword.CONST);
TypeArgumentList typeArguments = AstFactory.typeArgumentList(
[AstFactory.typeName4("String"), AstFactory.typeName4("int")]);
- MapLiteral literal =
- parse("parseMapLiteral", <Object>[token, typeArguments], "{}");
+ createParser('{}');
+ MapLiteral literal = parser.parseMapLiteral(token, typeArguments);
+ expectNotNullIfNoErrors(literal);
+ listener.assertNoErrors();
expect(literal.constKeyword, token);
expect(literal.typeArguments, typeArguments);
expect(literal.leftBracket, isNotNull);
@@ -9631,99 +10310,142 @@ void''');
}
void test_parseMapLiteral_multiple() {
- MapLiteral literal =
- parse("parseMapLiteral", <Object>[null, null], "{'a' : b, 'x' : y}");
+ createParser("{'a' : b, 'x' : y}");
+ MapLiteral literal = parser.parseMapLiteral(null, null);
+ expectNotNullIfNoErrors(literal);
+ listener.assertNoErrors();
expect(literal.leftBracket, isNotNull);
expect(literal.entries, hasLength(2));
expect(literal.rightBracket, isNotNull);
}
void test_parseMapLiteral_single() {
- MapLiteral literal =
- parse("parseMapLiteral", <Object>[null, null], "{'x' : y}");
+ createParser("{'x' : y}");
+ MapLiteral literal = parser.parseMapLiteral(null, null);
+ expectNotNullIfNoErrors(literal);
+ listener.assertNoErrors();
expect(literal.leftBracket, isNotNull);
expect(literal.entries, hasLength(1));
expect(literal.rightBracket, isNotNull);
}
void test_parseMapLiteralEntry_complex() {
- MapLiteralEntry entry = parse4("parseMapLiteralEntry", "2 + 2 : y");
+ createParser('2 + 2 : y');
+ MapLiteralEntry entry = parser.parseMapLiteralEntry();
+ expectNotNullIfNoErrors(entry);
+ listener.assertNoErrors();
expect(entry.key, isNotNull);
expect(entry.separator, isNotNull);
expect(entry.value, isNotNull);
}
void test_parseMapLiteralEntry_int() {
- MapLiteralEntry entry = parse4("parseMapLiteralEntry", "0 : y");
+ createParser('0 : y');
+ MapLiteralEntry entry = parser.parseMapLiteralEntry();
+ expectNotNullIfNoErrors(entry);
+ listener.assertNoErrors();
expect(entry.key, isNotNull);
expect(entry.separator, isNotNull);
expect(entry.value, isNotNull);
}
void test_parseMapLiteralEntry_string() {
- MapLiteralEntry entry = parse4("parseMapLiteralEntry", "'x' : y");
+ createParser("'x' : y");
+ MapLiteralEntry entry = parser.parseMapLiteralEntry();
+ expectNotNullIfNoErrors(entry);
+ listener.assertNoErrors();
expect(entry.key, isNotNull);
expect(entry.separator, isNotNull);
expect(entry.value, isNotNull);
}
void test_parseModifiers_abstract() {
- Modifiers modifiers = parse4("parseModifiers", "abstract A");
+ createParser('abstract A');
+ Modifiers modifiers = parser.parseModifiers();
+ expectNotNullIfNoErrors(modifiers);
+ listener.assertNoErrors();
expect(modifiers.abstractKeyword, isNotNull);
}
void test_parseModifiers_const() {
- Modifiers modifiers = parse4("parseModifiers", "const A");
+ createParser('const A');
+ Modifiers modifiers = parser.parseModifiers();
+ expectNotNullIfNoErrors(modifiers);
+ listener.assertNoErrors();
expect(modifiers.constKeyword, isNotNull);
}
void test_parseModifiers_external() {
- Modifiers modifiers = parse4("parseModifiers", "external A");
+ createParser('external A');
+ Modifiers modifiers = parser.parseModifiers();
+ expectNotNullIfNoErrors(modifiers);
+ listener.assertNoErrors();
expect(modifiers.externalKeyword, isNotNull);
}
void test_parseModifiers_factory() {
- Modifiers modifiers = parse4("parseModifiers", "factory A");
+ createParser('factory A');
+ Modifiers modifiers = parser.parseModifiers();
+ expectNotNullIfNoErrors(modifiers);
+ listener.assertNoErrors();
expect(modifiers.factoryKeyword, isNotNull);
}
void test_parseModifiers_final() {
- Modifiers modifiers = parse4("parseModifiers", "final A");
+ createParser('final A');
+ Modifiers modifiers = parser.parseModifiers();
+ expectNotNullIfNoErrors(modifiers);
+ listener.assertNoErrors();
expect(modifiers.finalKeyword, isNotNull);
}
void test_parseModifiers_static() {
- Modifiers modifiers = parse4("parseModifiers", "static A");
+ createParser('static A');
+ Modifiers modifiers = parser.parseModifiers();
+ expectNotNullIfNoErrors(modifiers);
+ listener.assertNoErrors();
expect(modifiers.staticKeyword, isNotNull);
}
void test_parseModifiers_var() {
- Modifiers modifiers = parse4("parseModifiers", "var A");
+ createParser('var A');
+ Modifiers modifiers = parser.parseModifiers();
+ expectNotNullIfNoErrors(modifiers);
+ listener.assertNoErrors();
expect(modifiers.varKeyword, isNotNull);
}
void test_parseMultiplicativeExpression_normal() {
- BinaryExpression expression =
- parse4("parseMultiplicativeExpression", "x * y");
- expect(expression.leftOperand, isNotNull);
- expect(expression.operator, isNotNull);
- expect(expression.operator.type, TokenType.STAR);
- expect(expression.rightOperand, isNotNull);
+ createParser('x * y');
+ Expression expression = parser.parseMultiplicativeExpression();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<BinaryExpression>());
+ BinaryExpression binaryExpression = expression;
+ expect(binaryExpression.leftOperand, isNotNull);
+ expect(binaryExpression.operator, isNotNull);
+ expect(binaryExpression.operator.type, TokenType.STAR);
+ expect(binaryExpression.rightOperand, isNotNull);
}
void test_parseMultiplicativeExpression_super() {
- BinaryExpression expression =
- parse4("parseMultiplicativeExpression", "super * y");
- EngineTestCase.assertInstanceOf((obj) => obj is SuperExpression,
- SuperExpression, expression.leftOperand);
- expect(expression.operator, isNotNull);
- expect(expression.operator.type, TokenType.STAR);
- expect(expression.rightOperand, isNotNull);
+ createParser('super * y');
+ Expression expression = parser.parseMultiplicativeExpression();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<BinaryExpression>());
+ BinaryExpression binaryExpression = expression;
+ expect(binaryExpression.leftOperand, new isInstanceOf<SuperExpression>());
+ expect(binaryExpression.operator, isNotNull);
+ expect(binaryExpression.operator.type, TokenType.STAR);
+ expect(binaryExpression.rightOperand, isNotNull);
}
void test_parseNewExpression() {
- InstanceCreationExpression expression =
- parse4("parseNewExpression", "new A()");
+ createParser('new A()');
+ InstanceCreationExpression expression = parser.parseNewExpression();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
expect(expression.keyword, isNotNull);
ConstructorName name = expression.constructorName;
expect(name, isNotNull);
@@ -9734,80 +10456,130 @@ void''');
}
void test_parseNonLabeledStatement_const_list_empty() {
- ExpressionStatement statement =
- parse4("parseNonLabeledStatement", "const [];");
- expect(statement.expression, isNotNull);
+ createParser('const [];');
+ Statement statement = parser.parseNonLabeledStatement();
+ expectNotNullIfNoErrors(statement);
+ listener.assertNoErrors();
+ expect(statement, new isInstanceOf<ExpressionStatement>());
+ ExpressionStatement expressionStatement = statement;
+ expect(expressionStatement.expression, isNotNull);
}
void test_parseNonLabeledStatement_const_list_nonEmpty() {
- ExpressionStatement statement =
- parse4("parseNonLabeledStatement", "const [1, 2];");
- expect(statement.expression, isNotNull);
+ createParser('const [1, 2];');
+ Statement statement = parser.parseNonLabeledStatement();
+ expectNotNullIfNoErrors(statement);
+ listener.assertNoErrors();
+ expect(statement, new isInstanceOf<ExpressionStatement>());
+ ExpressionStatement expressionStatement = statement;
+ expect(expressionStatement.expression, isNotNull);
}
void test_parseNonLabeledStatement_const_map_empty() {
- ExpressionStatement statement =
- parse4("parseNonLabeledStatement", "const {};");
- expect(statement.expression, isNotNull);
+ createParser('const {};');
+ Statement statement = parser.parseNonLabeledStatement();
+ expectNotNullIfNoErrors(statement);
+ listener.assertNoErrors();
+ expect(statement, new isInstanceOf<ExpressionStatement>());
+ ExpressionStatement expressionStatement = statement;
+ expect(expressionStatement.expression, isNotNull);
}
void test_parseNonLabeledStatement_const_map_nonEmpty() {
// TODO(brianwilkerson) Implement more tests for this method.
- ExpressionStatement statement =
- parse4("parseNonLabeledStatement", "const {'a' : 1};");
- expect(statement.expression, isNotNull);
+ createParser("const {'a' : 1};");
+ Statement statement = parser.parseNonLabeledStatement();
+ expectNotNullIfNoErrors(statement);
+ listener.assertNoErrors();
+ expect(statement, new isInstanceOf<ExpressionStatement>());
+ ExpressionStatement expressionStatement = statement;
+ expect(expressionStatement.expression, isNotNull);
}
void test_parseNonLabeledStatement_const_object() {
- ExpressionStatement statement =
- parse4("parseNonLabeledStatement", "const A();");
- expect(statement.expression, isNotNull);
+ createParser('const A();');
+ Statement statement = parser.parseNonLabeledStatement();
+ expectNotNullIfNoErrors(statement);
+ listener.assertNoErrors();
+ expect(statement, new isInstanceOf<ExpressionStatement>());
+ ExpressionStatement expressionStatement = statement;
+ expect(expressionStatement.expression, isNotNull);
}
void test_parseNonLabeledStatement_const_object_named_typeParameters() {
- ExpressionStatement statement =
- parse4("parseNonLabeledStatement", "const A<B>.c();");
- expect(statement.expression, isNotNull);
+ createParser('const A<B>.c();');
+ Statement statement = parser.parseNonLabeledStatement();
+ expectNotNullIfNoErrors(statement);
+ listener.assertNoErrors();
+ expect(statement, new isInstanceOf<ExpressionStatement>());
+ ExpressionStatement expressionStatement = statement;
+ expect(expressionStatement.expression, isNotNull);
}
void test_parseNonLabeledStatement_constructorInvocation() {
- ExpressionStatement statement =
- parse4("parseNonLabeledStatement", "new C().m();");
- expect(statement.expression, isNotNull);
+ createParser('new C().m();');
+ Statement statement = parser.parseNonLabeledStatement();
+ expectNotNullIfNoErrors(statement);
+ listener.assertNoErrors();
+ expect(statement, new isInstanceOf<ExpressionStatement>());
+ ExpressionStatement expressionStatement = statement;
+ expect(expressionStatement.expression, isNotNull);
}
void test_parseNonLabeledStatement_false() {
- ExpressionStatement statement =
- parse4("parseNonLabeledStatement", "false;");
- expect(statement.expression, isNotNull);
+ createParser('false;');
+ Statement statement = parser.parseNonLabeledStatement();
+ expectNotNullIfNoErrors(statement);
+ listener.assertNoErrors();
+ expect(statement, new isInstanceOf<ExpressionStatement>());
+ ExpressionStatement expressionStatement = statement;
+ expect(expressionStatement.expression, isNotNull);
}
void test_parseNonLabeledStatement_functionDeclaration() {
- parse4("parseNonLabeledStatement", "f() {};");
+ createParser('f() {};');
+ Statement statement = parser.parseNonLabeledStatement();
+ expectNotNullIfNoErrors(statement);
+ listener.assertNoErrors();
}
void test_parseNonLabeledStatement_functionDeclaration_arguments() {
- parse4("parseNonLabeledStatement", "f(void g()) {};");
+ createParser('f(void g()) {};');
+ Statement statement = parser.parseNonLabeledStatement();
+ expectNotNullIfNoErrors(statement);
+ listener.assertNoErrors();
}
void test_parseNonLabeledStatement_functionExpressionIndex() {
- parse4("parseNonLabeledStatement", "() {}[0] = null;");
+ createParser('() {}[0] = null;');
+ Statement statement = parser.parseNonLabeledStatement();
+ expectNotNullIfNoErrors(statement);
+ listener.assertNoErrors();
}
void test_parseNonLabeledStatement_functionInvocation() {
- ExpressionStatement statement = parse4("parseNonLabeledStatement", "f();");
- expect(statement.expression, isNotNull);
+ createParser('f();');
+ Statement statement = parser.parseNonLabeledStatement();
+ expectNotNullIfNoErrors(statement);
+ listener.assertNoErrors();
+ expect(statement, new isInstanceOf<ExpressionStatement>());
+ ExpressionStatement expressionStatement = statement;
+ expect(expressionStatement.expression, isNotNull);
}
void test_parseNonLabeledStatement_invokeFunctionExpression() {
- ExpressionStatement statement =
- parse4("parseNonLabeledStatement", "(a) {return a + a;} (3);");
+ createParser('(a) {return a + a;} (3);');
+ Statement statement = parser.parseNonLabeledStatement();
+ expectNotNullIfNoErrors(statement);
+ listener.assertNoErrors();
+ expect(statement, new isInstanceOf<ExpressionStatement>());
+ ExpressionStatement expressionStatement = statement;
EngineTestCase.assertInstanceOf(
(obj) => obj is FunctionExpressionInvocation,
FunctionExpressionInvocation,
- statement.expression);
+ expressionStatement.expression);
FunctionExpressionInvocation invocation =
- statement.expression as FunctionExpressionInvocation;
+ expressionStatement.expression as FunctionExpressionInvocation;
EngineTestCase.assertInstanceOf((obj) => obj is FunctionExpression,
FunctionExpression, invocation.function);
FunctionExpression expression = invocation.function as FunctionExpression;
@@ -9820,332 +10592,471 @@ void''');
}
void test_parseNonLabeledStatement_null() {
- ExpressionStatement statement = parse4("parseNonLabeledStatement", "null;");
- expect(statement.expression, isNotNull);
+ createParser('null;');
+ Statement statement = parser.parseNonLabeledStatement();
+ expectNotNullIfNoErrors(statement);
+ listener.assertNoErrors();
+ expect(statement, new isInstanceOf<ExpressionStatement>());
+ ExpressionStatement expressionStatement = statement;
+ expect(expressionStatement.expression, isNotNull);
}
void test_parseNonLabeledStatement_startingWithBuiltInIdentifier() {
- ExpressionStatement statement =
- parse4("parseNonLabeledStatement", "library.getName();");
- expect(statement.expression, isNotNull);
+ createParser('library.getName();');
+ Statement statement = parser.parseNonLabeledStatement();
+ expectNotNullIfNoErrors(statement);
+ listener.assertNoErrors();
+ expect(statement, new isInstanceOf<ExpressionStatement>());
+ ExpressionStatement expressionStatement = statement;
+ expect(expressionStatement.expression, isNotNull);
}
void test_parseNonLabeledStatement_true() {
- ExpressionStatement statement = parse4("parseNonLabeledStatement", "true;");
- expect(statement.expression, isNotNull);
+ createParser('true;');
+ Statement statement = parser.parseNonLabeledStatement();
+ expectNotNullIfNoErrors(statement);
+ listener.assertNoErrors();
+ expect(statement, new isInstanceOf<ExpressionStatement>());
+ ExpressionStatement expressionStatement = statement;
+ expect(expressionStatement.expression, isNotNull);
}
void test_parseNonLabeledStatement_typeCast() {
- ExpressionStatement statement =
- parse4("parseNonLabeledStatement", "double.NAN as num;");
- expect(statement.expression, isNotNull);
+ createParser('double.NAN as num;');
+ Statement statement = parser.parseNonLabeledStatement();
+ expectNotNullIfNoErrors(statement);
+ listener.assertNoErrors();
+ expect(statement, new isInstanceOf<ExpressionStatement>());
+ ExpressionStatement expressionStatement = statement;
+ expect(expressionStatement.expression, isNotNull);
}
void test_parseNormalFormalParameter_field_const_noType() {
- FieldFormalParameter parameter =
- parse4("parseNormalFormalParameter", "const this.a)");
- expect(parameter.keyword, isNotNull);
- expect(parameter.type, isNull);
- expect(parameter.identifier, isNotNull);
- expect(parameter.parameters, isNull);
+ createParser('const this.a)');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FieldFormalParameter>());
+ FieldFormalParameter fieldParameter = parameter;
+ expect(fieldParameter.keyword, isNotNull);
+ expect(fieldParameter.type, isNull);
+ expect(fieldParameter.identifier, isNotNull);
+ expect(fieldParameter.parameters, isNull);
}
void test_parseNormalFormalParameter_field_const_type() {
- FieldFormalParameter parameter =
- parse4("parseNormalFormalParameter", "const A this.a)");
- expect(parameter.keyword, isNotNull);
- expect(parameter.type, isNotNull);
- expect(parameter.identifier, isNotNull);
- expect(parameter.parameters, isNull);
+ createParser('const A this.a)');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FieldFormalParameter>());
+ FieldFormalParameter fieldParameter = parameter;
+ expect(fieldParameter.keyword, isNotNull);
+ expect(fieldParameter.type, isNotNull);
+ expect(fieldParameter.identifier, isNotNull);
+ expect(fieldParameter.parameters, isNull);
}
void test_parseNormalFormalParameter_field_final_noType() {
- FieldFormalParameter parameter =
- parse4("parseNormalFormalParameter", "final this.a)");
- expect(parameter.keyword, isNotNull);
- expect(parameter.type, isNull);
- expect(parameter.identifier, isNotNull);
- expect(parameter.parameters, isNull);
+ createParser('final this.a)');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FieldFormalParameter>());
+ FieldFormalParameter fieldParameter = parameter;
+ expect(fieldParameter.keyword, isNotNull);
+ expect(fieldParameter.type, isNull);
+ expect(fieldParameter.identifier, isNotNull);
+ expect(fieldParameter.parameters, isNull);
}
void test_parseNormalFormalParameter_field_final_type() {
- FieldFormalParameter parameter =
- parse4("parseNormalFormalParameter", "final A this.a)");
- expect(parameter.keyword, isNotNull);
- expect(parameter.type, isNotNull);
- expect(parameter.identifier, isNotNull);
- expect(parameter.parameters, isNull);
+ createParser('final A this.a)');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FieldFormalParameter>());
+ FieldFormalParameter fieldParameter = parameter;
+ expect(fieldParameter.keyword, isNotNull);
+ expect(fieldParameter.type, isNotNull);
+ expect(fieldParameter.identifier, isNotNull);
+ expect(fieldParameter.parameters, isNull);
}
void test_parseNormalFormalParameter_field_function_nested() {
- FieldFormalParameter parameter =
- parse4("parseNormalFormalParameter", "this.a(B b))");
- expect(parameter.keyword, isNull);
- expect(parameter.type, isNull);
- expect(parameter.identifier, isNotNull);
- FormalParameterList parameterList = parameter.parameters;
+ createParser('this.a(B b))');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FieldFormalParameter>());
+ FieldFormalParameter fieldParameter = parameter;
+ expect(fieldParameter.keyword, isNull);
+ expect(fieldParameter.type, isNull);
+ expect(fieldParameter.identifier, isNotNull);
+ FormalParameterList parameterList = fieldParameter.parameters;
expect(parameterList, isNotNull);
expect(parameterList.parameters, hasLength(1));
}
void test_parseNormalFormalParameter_field_function_noNested() {
- FieldFormalParameter parameter =
- parse4("parseNormalFormalParameter", "this.a())");
- expect(parameter.keyword, isNull);
- expect(parameter.type, isNull);
- expect(parameter.identifier, isNotNull);
- FormalParameterList parameterList = parameter.parameters;
+ createParser('this.a())');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FieldFormalParameter>());
+ FieldFormalParameter fieldParameter = parameter;
+ expect(fieldParameter.keyword, isNull);
+ expect(fieldParameter.type, isNull);
+ expect(fieldParameter.identifier, isNotNull);
+ FormalParameterList parameterList = fieldParameter.parameters;
expect(parameterList, isNotNull);
expect(parameterList.parameters, hasLength(0));
}
void test_parseNormalFormalParameter_field_noType() {
- FieldFormalParameter parameter =
- parse4("parseNormalFormalParameter", "this.a)");
- expect(parameter.keyword, isNull);
- expect(parameter.type, isNull);
- expect(parameter.identifier, isNotNull);
- expect(parameter.parameters, isNull);
+ createParser('this.a)');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FieldFormalParameter>());
+ FieldFormalParameter fieldParameter = parameter;
+ expect(fieldParameter.keyword, isNull);
+ expect(fieldParameter.type, isNull);
+ expect(fieldParameter.identifier, isNotNull);
+ expect(fieldParameter.parameters, isNull);
}
void test_parseNormalFormalParameter_field_type() {
- FieldFormalParameter parameter =
- parse4("parseNormalFormalParameter", "A this.a)");
- expect(parameter.keyword, isNull);
- expect(parameter.type, isNotNull);
- expect(parameter.identifier, isNotNull);
- expect(parameter.parameters, isNull);
+ createParser('A this.a)');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FieldFormalParameter>());
+ FieldFormalParameter fieldParameter = parameter;
+ expect(fieldParameter.keyword, isNull);
+ expect(fieldParameter.type, isNotNull);
+ expect(fieldParameter.identifier, isNotNull);
+ expect(fieldParameter.parameters, isNull);
}
void test_parseNormalFormalParameter_field_var() {
- FieldFormalParameter parameter =
- parse4("parseNormalFormalParameter", "var this.a)");
- expect(parameter.keyword, isNotNull);
- expect(parameter.type, isNull);
- expect(parameter.identifier, isNotNull);
- expect(parameter.parameters, isNull);
+ createParser('var this.a)');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FieldFormalParameter>());
+ FieldFormalParameter fieldParameter = parameter;
+ expect(fieldParameter.keyword, isNotNull);
+ expect(fieldParameter.type, isNull);
+ expect(fieldParameter.identifier, isNotNull);
+ expect(fieldParameter.parameters, isNull);
}
void test_parseNormalFormalParameter_function_noType() {
- FunctionTypedFormalParameter parameter =
- parse4("parseNormalFormalParameter", "a())");
- expect(parameter.returnType, isNull);
- expect(parameter.identifier, isNotNull);
- expect(parameter.typeParameters, isNull);
- expect(parameter.parameters, isNotNull);
+ createParser('a())');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FunctionTypedFormalParameter>());
+ FunctionTypedFormalParameter functionParameter = parameter;
+ expect(functionParameter.returnType, isNull);
+ expect(functionParameter.identifier, isNotNull);
+ expect(functionParameter.typeParameters, isNull);
+ expect(functionParameter.parameters, isNotNull);
}
void test_parseNormalFormalParameter_function_noType_nullable() {
enableNnbd = true;
- FunctionTypedFormalParameter parameter =
- parse4("parseNormalFormalParameter", "a()?)");
- expect(parameter.returnType, isNull);
- expect(parameter.identifier, isNotNull);
- expect(parameter.typeParameters, isNull);
- expect(parameter.parameters, isNotNull);
- expect(parameter.question, isNotNull);
+ createParser('a()?)');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FunctionTypedFormalParameter>());
+ FunctionTypedFormalParameter functionParameter = parameter;
+ expect(functionParameter.returnType, isNull);
+ expect(functionParameter.identifier, isNotNull);
+ expect(functionParameter.typeParameters, isNull);
+ expect(functionParameter.parameters, isNotNull);
+ expect(functionParameter.question, isNotNull);
}
void test_parseNormalFormalParameter_function_noType_typeParameterComments() {
enableGenericMethodComments = true;
- FunctionTypedFormalParameter parameter =
- parse4("parseNormalFormalParameter", "a/*<E>*/())");
- expect(parameter.returnType, isNull);
- expect(parameter.identifier, isNotNull);
- expect(parameter.typeParameters, isNotNull);
- expect(parameter.parameters, isNotNull);
+ createParser('a/*<E>*/())');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FunctionTypedFormalParameter>());
+ FunctionTypedFormalParameter functionParameter = parameter;
+ expect(functionParameter.returnType, isNull);
+ expect(functionParameter.identifier, isNotNull);
+ expect(functionParameter.typeParameters, isNotNull);
+ expect(functionParameter.parameters, isNotNull);
}
void test_parseNormalFormalParameter_function_noType_typeParameters() {
enableGenericMethods = true;
- FunctionTypedFormalParameter parameter =
- parse4("parseNormalFormalParameter", "a<E>())");
- expect(parameter.returnType, isNull);
- expect(parameter.identifier, isNotNull);
- expect(parameter.typeParameters, isNotNull);
- expect(parameter.parameters, isNotNull);
- expect(parameter.question, isNull);
- expect(parameter.question, isNull);
+ createParser('a<E>())');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FunctionTypedFormalParameter>());
+ FunctionTypedFormalParameter functionParameter = parameter;
+ expect(functionParameter.returnType, isNull);
+ expect(functionParameter.identifier, isNotNull);
+ expect(functionParameter.typeParameters, isNotNull);
+ expect(functionParameter.parameters, isNotNull);
+ expect(functionParameter.question, isNull);
+ expect(functionParameter.question, isNull);
}
void
test_parseNormalFormalParameter_function_noType_typeParameters_nullable() {
enableGenericMethods = true;
enableNnbd = true;
- FunctionTypedFormalParameter parameter =
- parse4("parseNormalFormalParameter", "a<E>()?)");
- expect(parameter.returnType, isNull);
- expect(parameter.identifier, isNotNull);
- expect(parameter.typeParameters, isNotNull);
- expect(parameter.parameters, isNotNull);
- expect(parameter.question, isNotNull);
+ createParser('a<E>()?)');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FunctionTypedFormalParameter>());
+ FunctionTypedFormalParameter functionParameter = parameter;
+ expect(functionParameter.returnType, isNull);
+ expect(functionParameter.identifier, isNotNull);
+ expect(functionParameter.typeParameters, isNotNull);
+ expect(functionParameter.parameters, isNotNull);
+ expect(functionParameter.question, isNotNull);
}
void test_parseNormalFormalParameter_function_type() {
- FunctionTypedFormalParameter parameter =
- parse4("parseNormalFormalParameter", "A a())");
- expect(parameter.returnType, isNotNull);
- expect(parameter.identifier, isNotNull);
- expect(parameter.typeParameters, isNull);
- expect(parameter.parameters, isNotNull);
- expect(parameter.question, isNull);
+ createParser('A a())');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FunctionTypedFormalParameter>());
+ FunctionTypedFormalParameter functionParameter = parameter;
+ expect(functionParameter.returnType, isNotNull);
+ expect(functionParameter.identifier, isNotNull);
+ expect(functionParameter.typeParameters, isNull);
+ expect(functionParameter.parameters, isNotNull);
+ expect(functionParameter.question, isNull);
}
void test_parseNormalFormalParameter_function_type_nullable() {
enableNnbd = true;
- FunctionTypedFormalParameter parameter =
- parse4("parseNormalFormalParameter", "A a()?)");
- expect(parameter.returnType, isNotNull);
- expect(parameter.identifier, isNotNull);
- expect(parameter.typeParameters, isNull);
- expect(parameter.parameters, isNotNull);
- expect(parameter.question, isNotNull);
+ createParser('A a()?)');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FunctionTypedFormalParameter>());
+ FunctionTypedFormalParameter functionParameter = parameter;
+ expect(functionParameter.returnType, isNotNull);
+ expect(functionParameter.identifier, isNotNull);
+ expect(functionParameter.typeParameters, isNull);
+ expect(functionParameter.parameters, isNotNull);
+ expect(functionParameter.question, isNotNull);
}
void test_parseNormalFormalParameter_function_type_typeParameterComments() {
enableGenericMethodComments = true;
- FunctionTypedFormalParameter parameter =
- parse4("parseNormalFormalParameter", "A a/*<E>*/())");
- expect(parameter.returnType, isNotNull);
- expect(parameter.identifier, isNotNull);
- expect(parameter.typeParameters, isNotNull);
- expect(parameter.parameters, isNotNull);
- expect(parameter.question, isNull);
+ createParser('A a/*<E>*/())');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FunctionTypedFormalParameter>());
+ FunctionTypedFormalParameter functionParameter = parameter;
+ expect(functionParameter.returnType, isNotNull);
+ expect(functionParameter.identifier, isNotNull);
+ expect(functionParameter.typeParameters, isNotNull);
+ expect(functionParameter.parameters, isNotNull);
+ expect(functionParameter.question, isNull);
}
void test_parseNormalFormalParameter_function_type_typeParameters() {
enableGenericMethods = true;
- FunctionTypedFormalParameter parameter =
- parse4("parseNormalFormalParameter", "A a<E>())");
- expect(parameter.returnType, isNotNull);
- expect(parameter.identifier, isNotNull);
- expect(parameter.typeParameters, isNotNull);
- expect(parameter.parameters, isNotNull);
- expect(parameter.question, isNull);
+ createParser('A a<E>())');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FunctionTypedFormalParameter>());
+ FunctionTypedFormalParameter functionParameter = parameter;
+ expect(functionParameter.returnType, isNotNull);
+ expect(functionParameter.identifier, isNotNull);
+ expect(functionParameter.typeParameters, isNotNull);
+ expect(functionParameter.parameters, isNotNull);
+ expect(functionParameter.question, isNull);
}
void test_parseNormalFormalParameter_function_type_typeParameters_nullable() {
enableGenericMethods = true;
enableNnbd = true;
- FunctionTypedFormalParameter parameter =
- parse4("parseNormalFormalParameter", "A a<E>()?)");
- expect(parameter.returnType, isNotNull);
- expect(parameter.identifier, isNotNull);
- expect(parameter.typeParameters, isNotNull);
- expect(parameter.parameters, isNotNull);
- expect(parameter.question, isNotNull);
+ createParser('A a<E>()?)');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FunctionTypedFormalParameter>());
+ FunctionTypedFormalParameter functionParameter = parameter;
+ expect(functionParameter.returnType, isNotNull);
+ expect(functionParameter.identifier, isNotNull);
+ expect(functionParameter.typeParameters, isNotNull);
+ expect(functionParameter.parameters, isNotNull);
+ expect(functionParameter.question, isNotNull);
}
void test_parseNormalFormalParameter_function_void() {
- FunctionTypedFormalParameter parameter =
- parse4("parseNormalFormalParameter", "void a())");
- expect(parameter.returnType, isNotNull);
- expect(parameter.identifier, isNotNull);
- expect(parameter.typeParameters, isNull);
- expect(parameter.parameters, isNotNull);
- expect(parameter.question, isNull);
+ createParser('void a())');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FunctionTypedFormalParameter>());
+ FunctionTypedFormalParameter functionParameter = parameter;
+ expect(functionParameter.returnType, isNotNull);
+ expect(functionParameter.identifier, isNotNull);
+ expect(functionParameter.typeParameters, isNull);
+ expect(functionParameter.parameters, isNotNull);
+ expect(functionParameter.question, isNull);
}
void test_parseNormalFormalParameter_function_void_nullable() {
enableNnbd = true;
- FunctionTypedFormalParameter parameter =
- parse4("parseNormalFormalParameter", "void a()?)");
- expect(parameter.returnType, isNotNull);
- expect(parameter.identifier, isNotNull);
- expect(parameter.typeParameters, isNull);
- expect(parameter.parameters, isNotNull);
- expect(parameter.question, isNotNull);
+ createParser('void a()?)');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FunctionTypedFormalParameter>());
+ FunctionTypedFormalParameter functionParameter = parameter;
+ expect(functionParameter.returnType, isNotNull);
+ expect(functionParameter.identifier, isNotNull);
+ expect(functionParameter.typeParameters, isNull);
+ expect(functionParameter.parameters, isNotNull);
+ expect(functionParameter.question, isNotNull);
}
void test_parseNormalFormalParameter_function_void_typeParameterComments() {
enableGenericMethodComments = true;
- FunctionTypedFormalParameter parameter =
- parse4("parseNormalFormalParameter", "void a/*<E>*/())");
- expect(parameter.returnType, isNotNull);
- expect(parameter.identifier, isNotNull);
- expect(parameter.typeParameters, isNotNull);
- expect(parameter.parameters, isNotNull);
- expect(parameter.question, isNull);
+ createParser('void a/*<E>*/())');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FunctionTypedFormalParameter>());
+ FunctionTypedFormalParameter functionParameter = parameter;
+ expect(functionParameter.returnType, isNotNull);
+ expect(functionParameter.identifier, isNotNull);
+ expect(functionParameter.typeParameters, isNotNull);
+ expect(functionParameter.parameters, isNotNull);
+ expect(functionParameter.question, isNull);
}
void test_parseNormalFormalParameter_function_void_typeParameters() {
enableGenericMethods = true;
- FunctionTypedFormalParameter parameter =
- parse4("parseNormalFormalParameter", "void a<E>())");
- expect(parameter.returnType, isNotNull);
- expect(parameter.identifier, isNotNull);
- expect(parameter.typeParameters, isNotNull);
- expect(parameter.parameters, isNotNull);
- expect(parameter.question, isNull);
+ createParser('void a<E>())');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FunctionTypedFormalParameter>());
+ FunctionTypedFormalParameter functionParameter = parameter;
+ expect(functionParameter.returnType, isNotNull);
+ expect(functionParameter.identifier, isNotNull);
+ expect(functionParameter.typeParameters, isNotNull);
+ expect(functionParameter.parameters, isNotNull);
+ expect(functionParameter.question, isNull);
}
void test_parseNormalFormalParameter_function_void_typeParameters_nullable() {
enableGenericMethods = true;
enableNnbd = true;
- FunctionTypedFormalParameter parameter =
- parse4("parseNormalFormalParameter", "void a<E>()?)");
- expect(parameter.returnType, isNotNull);
- expect(parameter.identifier, isNotNull);
- expect(parameter.typeParameters, isNotNull);
- expect(parameter.parameters, isNotNull);
- expect(parameter.question, isNotNull);
+ createParser('void a<E>()?)');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<FunctionTypedFormalParameter>());
+ FunctionTypedFormalParameter functionParameter = parameter;
+ expect(functionParameter.returnType, isNotNull);
+ expect(functionParameter.identifier, isNotNull);
+ expect(functionParameter.typeParameters, isNotNull);
+ expect(functionParameter.parameters, isNotNull);
+ expect(functionParameter.question, isNotNull);
}
void test_parseNormalFormalParameter_simple_const_noType() {
- SimpleFormalParameter parameter =
- parse4("parseNormalFormalParameter", "const a)");
- expect(parameter.keyword, isNotNull);
- expect(parameter.type, isNull);
- expect(parameter.identifier, isNotNull);
+ createParser('const a)');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<SimpleFormalParameter>());
+ SimpleFormalParameter simpleParameter = parameter;
+ expect(simpleParameter.keyword, isNotNull);
+ expect(simpleParameter.type, isNull);
+ expect(simpleParameter.identifier, isNotNull);
}
void test_parseNormalFormalParameter_simple_const_type() {
- SimpleFormalParameter parameter =
- parse4("parseNormalFormalParameter", "const A a)");
- expect(parameter.keyword, isNotNull);
- expect(parameter.type, isNotNull);
- expect(parameter.identifier, isNotNull);
+ createParser('const A a)');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<SimpleFormalParameter>());
+ SimpleFormalParameter simpleParameter = parameter;
+ expect(simpleParameter.keyword, isNotNull);
+ expect(simpleParameter.type, isNotNull);
+ expect(simpleParameter.identifier, isNotNull);
}
void test_parseNormalFormalParameter_simple_final_noType() {
- SimpleFormalParameter parameter =
- parse4("parseNormalFormalParameter", "final a)");
- expect(parameter.keyword, isNotNull);
- expect(parameter.type, isNull);
- expect(parameter.identifier, isNotNull);
+ createParser('final a)');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<SimpleFormalParameter>());
+ SimpleFormalParameter simpleParameter = parameter;
+ expect(simpleParameter.keyword, isNotNull);
+ expect(simpleParameter.type, isNull);
+ expect(simpleParameter.identifier, isNotNull);
}
void test_parseNormalFormalParameter_simple_final_type() {
- SimpleFormalParameter parameter =
- parse4("parseNormalFormalParameter", "final A a)");
- expect(parameter.keyword, isNotNull);
- expect(parameter.type, isNotNull);
- expect(parameter.identifier, isNotNull);
+ createParser('final A a)');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<SimpleFormalParameter>());
+ SimpleFormalParameter simpleParameter = parameter;
+ expect(simpleParameter.keyword, isNotNull);
+ expect(simpleParameter.type, isNotNull);
+ expect(simpleParameter.identifier, isNotNull);
}
void test_parseNormalFormalParameter_simple_noType() {
- SimpleFormalParameter parameter =
- parse4("parseNormalFormalParameter", "a)");
- expect(parameter.keyword, isNull);
- expect(parameter.type, isNull);
- expect(parameter.identifier, isNotNull);
+ createParser('a)');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<SimpleFormalParameter>());
+ SimpleFormalParameter simpleParameter = parameter;
+ expect(simpleParameter.keyword, isNull);
+ expect(simpleParameter.type, isNull);
+ expect(simpleParameter.identifier, isNotNull);
}
void test_parseNormalFormalParameter_simple_type() {
- SimpleFormalParameter parameter =
- parse4("parseNormalFormalParameter", "A a)");
- expect(parameter.keyword, isNull);
- expect(parameter.type, isNotNull);
- expect(parameter.identifier, isNotNull);
+ createParser('A a)');
+ NormalFormalParameter parameter = parser.parseNormalFormalParameter();
+ expectNotNullIfNoErrors(parameter);
+ listener.assertNoErrors();
+ expect(parameter, new isInstanceOf<SimpleFormalParameter>());
+ SimpleFormalParameter simpleParameter = parameter;
+ expect(simpleParameter.keyword, isNull);
+ expect(simpleParameter.type, isNotNull);
+ expect(simpleParameter.identifier, isNotNull);
}
void test_parseOperator() {
Comment comment = Comment.createDocumentationComment(new List<Token>(0));
TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
- MethodDeclaration method = parse(
- "parseOperator",
- <Object>[commentAndMetadata(comment), null, returnType],
- "operator +(A a);");
+ createParser('operator +(A a);');
+ MethodDeclaration method =
+ parser.parseOperator(commentAndMetadata(comment), null, returnType);
+ expectNotNullIfNoErrors(method);
+ listener.assertNoErrors();
expect(method.body, isNotNull);
expect(method.documentationComment, comment);
expect(method.externalKeyword, isNull);
@@ -10163,16 +11074,22 @@ void''');
}
void test_parsePartDirective_part() {
- PartDirective directive = parse("parsePartDirective",
- <Object>[emptyCommentAndMetadata()], "part 'lib/lib.dart';");
+ createParser("part 'lib/lib.dart';");
+ PartDirective directive =
+ parser.parsePartOrPartOfDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
expect(directive.partKeyword, isNotNull);
expect(directive.uri, isNotNull);
expect(directive.semicolon, isNotNull);
}
void test_parsePartDirective_partOf() {
- PartOfDirective directive = parse("parsePartDirective",
- <Object>[emptyCommentAndMetadata()], "part of l;");
+ createParser('part of l;');
+ PartOfDirective directive =
+ parser.parsePartOrPartOfDirective(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(directive);
+ listener.assertNoErrors();
expect(directive.partKeyword, isNotNull);
expect(directive.ofKeyword, isNotNull);
expect(directive.libraryName, isNotNull);
@@ -10180,107 +11097,165 @@ void''');
}
void test_parsePostfixExpression_decrement() {
- PostfixExpression expression = parse4("parsePostfixExpression", "i--");
- expect(expression.operand, isNotNull);
- expect(expression.operator, isNotNull);
- expect(expression.operator.type, TokenType.MINUS_MINUS);
+ createParser('i--');
+ Expression expression = parser.parsePostfixExpression();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<PostfixExpression>());
+ PostfixExpression postfixExpression = expression;
+ expect(postfixExpression.operand, isNotNull);
+ expect(postfixExpression.operator, isNotNull);
+ expect(postfixExpression.operator.type, TokenType.MINUS_MINUS);
}
void test_parsePostfixExpression_increment() {
- PostfixExpression expression = parse4("parsePostfixExpression", "i++");
- expect(expression.operand, isNotNull);
- expect(expression.operator, isNotNull);
- expect(expression.operator.type, TokenType.PLUS_PLUS);
+ createParser('i++');
+ Expression expression = parser.parsePostfixExpression();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<PostfixExpression>());
+ PostfixExpression postfixExpression = expression;
+ expect(postfixExpression.operand, isNotNull);
+ expect(postfixExpression.operator, isNotNull);
+ expect(postfixExpression.operator.type, TokenType.PLUS_PLUS);
}
void test_parsePostfixExpression_none_indexExpression() {
- IndexExpression expression = parse4("parsePostfixExpression", "a[0]");
- expect(expression.target, isNotNull);
- expect(expression.index, isNotNull);
+ createParser('a[0]');
+ Expression expression = parser.parsePostfixExpression();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<IndexExpression>());
+ IndexExpression indexExpression = expression;
+ expect(indexExpression.target, isNotNull);
+ expect(indexExpression.index, isNotNull);
}
void test_parsePostfixExpression_none_methodInvocation() {
- MethodInvocation expression = parse4("parsePostfixExpression", "a.m()");
- expect(expression.target, isNotNull);
- expect(expression.operator.type, TokenType.PERIOD);
- expect(expression.methodName, isNotNull);
- expect(expression.typeArguments, isNull);
- expect(expression.argumentList, isNotNull);
+ createParser('a.m()');
+ Expression expression = parser.parsePostfixExpression();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<MethodInvocation>());
+ MethodInvocation methodInvocation = expression;
+ expect(methodInvocation.target, isNotNull);
+ expect(methodInvocation.operator.type, TokenType.PERIOD);
+ expect(methodInvocation.methodName, isNotNull);
+ expect(methodInvocation.typeArguments, isNull);
+ expect(methodInvocation.argumentList, isNotNull);
}
void test_parsePostfixExpression_none_methodInvocation_question_dot() {
- MethodInvocation expression = parse4('parsePostfixExpression', 'a?.m()');
- expect(expression.target, isNotNull);
- expect(expression.operator.type, TokenType.QUESTION_PERIOD);
- expect(expression.methodName, isNotNull);
- expect(expression.typeArguments, isNull);
- expect(expression.argumentList, isNotNull);
+ createParser('a?.m()');
+ Expression expression = parser.parsePostfixExpression();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<MethodInvocation>());
+ MethodInvocation methodInvocation = expression;
+ expect(methodInvocation.target, isNotNull);
+ expect(methodInvocation.operator.type, TokenType.QUESTION_PERIOD);
+ expect(methodInvocation.methodName, isNotNull);
+ expect(methodInvocation.typeArguments, isNull);
+ expect(methodInvocation.argumentList, isNotNull);
}
void
test_parsePostfixExpression_none_methodInvocation_question_dot_typeArgumentComments() {
enableGenericMethodComments = true;
- MethodInvocation expression =
- parse4('parsePostfixExpression', 'a?.m/*<E>*/()');
- expect(expression.target, isNotNull);
- expect(expression.operator.type, TokenType.QUESTION_PERIOD);
- expect(expression.methodName, isNotNull);
- expect(expression.typeArguments, isNotNull);
- expect(expression.argumentList, isNotNull);
+ createParser('a?.m/*<E>*/()');
+ Expression expression = parser.parsePostfixExpression();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<MethodInvocation>());
+ MethodInvocation methodInvocation = expression;
+ expect(methodInvocation.target, isNotNull);
+ expect(methodInvocation.operator.type, TokenType.QUESTION_PERIOD);
+ expect(methodInvocation.methodName, isNotNull);
+ expect(methodInvocation.typeArguments, isNotNull);
+ expect(methodInvocation.argumentList, isNotNull);
}
void
test_parsePostfixExpression_none_methodInvocation_question_dot_typeArguments() {
enableGenericMethods = true;
- MethodInvocation expression = parse4('parsePostfixExpression', 'a?.m<E>()');
- expect(expression.target, isNotNull);
- expect(expression.operator.type, TokenType.QUESTION_PERIOD);
- expect(expression.methodName, isNotNull);
- expect(expression.typeArguments, isNotNull);
- expect(expression.argumentList, isNotNull);
+ createParser('a?.m<E>()');
+ Expression expression = parser.parsePostfixExpression();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<MethodInvocation>());
+ MethodInvocation methodInvocation = expression;
+ expect(methodInvocation.target, isNotNull);
+ expect(methodInvocation.operator.type, TokenType.QUESTION_PERIOD);
+ expect(methodInvocation.methodName, isNotNull);
+ expect(methodInvocation.typeArguments, isNotNull);
+ expect(methodInvocation.argumentList, isNotNull);
}
void
test_parsePostfixExpression_none_methodInvocation_typeArgumentComments() {
enableGenericMethodComments = true;
- MethodInvocation expression =
- parse4("parsePostfixExpression", "a.m/*<E>*/()");
- expect(expression.target, isNotNull);
- expect(expression.operator.type, TokenType.PERIOD);
- expect(expression.methodName, isNotNull);
- expect(expression.typeArguments, isNotNull);
- expect(expression.argumentList, isNotNull);
+ createParser('a.m/*<E>*/()');
+ Expression expression = parser.parsePostfixExpression();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<MethodInvocation>());
+ MethodInvocation methodInvocation = expression;
+ expect(methodInvocation.target, isNotNull);
+ expect(methodInvocation.operator.type, TokenType.PERIOD);
+ expect(methodInvocation.methodName, isNotNull);
+ expect(methodInvocation.typeArguments, isNotNull);
+ expect(methodInvocation.argumentList, isNotNull);
}
void test_parsePostfixExpression_none_methodInvocation_typeArguments() {
enableGenericMethods = true;
- MethodInvocation expression = parse4("parsePostfixExpression", "a.m<E>()");
- expect(expression.target, isNotNull);
- expect(expression.operator.type, TokenType.PERIOD);
- expect(expression.methodName, isNotNull);
- expect(expression.typeArguments, isNotNull);
- expect(expression.argumentList, isNotNull);
+ createParser('a.m<E>()');
+ Expression expression = parser.parsePostfixExpression();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<MethodInvocation>());
+ MethodInvocation methodInvocation = expression;
+ expect(methodInvocation.target, isNotNull);
+ expect(methodInvocation.operator.type, TokenType.PERIOD);
+ expect(methodInvocation.methodName, isNotNull);
+ expect(methodInvocation.typeArguments, isNotNull);
+ expect(methodInvocation.argumentList, isNotNull);
}
void test_parsePostfixExpression_none_propertyAccess() {
- PrefixedIdentifier expression = parse4("parsePostfixExpression", "a.b");
- expect(expression.prefix, isNotNull);
- expect(expression.identifier, isNotNull);
+ createParser('a.b');
+ Expression expression = parser.parsePostfixExpression();
+ expectNotNullIfNoErrors(expression);
+ listener.assertNoErrors();
+ expect(expression, new isInstanceOf<PrefixedIdentifier>());
+ PrefixedIdentifier identifier = expression;
+ expect(identifier.prefix, isNotNull);
+ expect(identifier.identifier, isNotNull);
}
void test_parsePrefixedIdentifier_noPrefix() {
String lexeme = "bar";
- SimpleIdentifier identifier = parse4("parsePrefixedIdentifier", lexeme);
- expect(identifier.token, isNotNull);
- expect(identifier.name, lexeme);
+ createParser(lexeme);
+ Identifier identifier = parser.parsePrefixedIdentifier();
+ expectNotNullIfNoErrors(identifier);
+ listener.assertNoErrors();
+ expect(identifier, new isInstanceOf<SimpleIdentifier>());
+ SimpleIdentifier simpleIdentifier = identifier;
+ expect(simpleIdentifier.token, isNotNull);
+ expect(simpleIdentifier.name, lexeme);
}
void test_parsePrefixedIdentifier_prefix() {
String lexeme = "foo.bar";
- PrefixedIdentifier identifier = parse4("parsePrefixedIdentifier", lexeme);
- expect(identifier.prefix.name, "foo");
- expect(identifier.period, isNotNull);
- expect(identifier.identifier.name, "bar");
+ createParser(lexeme);
+ Identifier identifier = parser.parsePrefixedIdentifier();
+ expectNotNullIfNoErrors(identifier);
+ listener.assertNoErrors();
+ expect(identifier, new isInstanceOf<PrefixedIdentifier>());
+ PrefixedIdentifier prefixedIdentifier = identifier;
+ expect(prefixedIdentifier.prefix.name, "foo");
+ expect(prefixedIdentifier.period, isNotNull);
+ expect(prefixedIdentifier.identifier.name, "bar");
}
void test_parsePrimaryExpression_const() {
@@ -10552,8 +11527,11 @@ void''');
}
void test_parseRedirectingConstructorInvocation_named() {
+ createParser('this.a()');
RedirectingConstructorInvocation invocation =
- parse("parseRedirectingConstructorInvocation", [true], "this.a()");
+ parser.parseRedirectingConstructorInvocation(true);
+ expectNotNullIfNoErrors(invocation);
+ listener.assertNoErrors();
expect(invocation.argumentList, isNotNull);
expect(invocation.constructorName, isNotNull);
expect(invocation.thisKeyword, isNotNull);
@@ -10561,8 +11539,11 @@ void''');
}
void test_parseRedirectingConstructorInvocation_unnamed() {
+ createParser('this()');
RedirectingConstructorInvocation invocation =
- parse("parseRedirectingConstructorInvocation", [false], "this()");
+ parser.parseRedirectingConstructorInvocation(false);
+ expectNotNullIfNoErrors(invocation);
+ listener.assertNoErrors();
expect(invocation.argumentList, isNotNull);
expect(invocation.constructorName, isNull);
expect(invocation.thisKeyword, isNotNull);
@@ -10682,10 +11663,11 @@ void''');
void test_parseSetter_nonStatic() {
Comment comment = Comment.createDocumentationComment(new List<Token>(0));
TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
- MethodDeclaration method = parse(
- "parseSetter",
- <Object>[commentAndMetadata(comment), null, null, returnType],
- "set a(var x);");
+ createParser('set a(var x);');
+ MethodDeclaration method =
+ parser.parseSetter(commentAndMetadata(comment), null, null, returnType);
+ expectNotNullIfNoErrors(method);
+ listener.assertNoErrors();
expect(method.body, isNotNull);
expect(method.documentationComment, comment);
expect(method.externalKeyword, isNull);
@@ -10702,10 +11684,11 @@ void''');
Comment comment = Comment.createDocumentationComment(new List<Token>(0));
Token staticKeyword = TokenFactory.tokenFromKeyword(Keyword.STATIC);
TypeName returnType = new TypeName(new SimpleIdentifier(null), null);
- MethodDeclaration method = parse(
- "parseSetter",
- <Object>[commentAndMetadata(comment), null, staticKeyword, returnType],
- "set a(var x) {}");
+ createParser('set a(var x) {}');
+ MethodDeclaration method = parser.parseSetter(
+ commentAndMetadata(comment), null, staticKeyword, returnType);
+ expectNotNullIfNoErrors(method);
+ listener.assertNoErrors();
expect(method.body, isNotNull);
expect(method.documentationComment, comment);
expect(method.externalKeyword, isNull);
@@ -11481,8 +12464,11 @@ void''');
}
void test_parseTypeAlias_function_noParameters() {
- FunctionTypeAlias typeAlias = parse("parseTypeAlias",
- <Object>[emptyCommentAndMetadata()], "typedef bool F();");
+ createParser('typedef bool F();');
+ FunctionTypeAlias typeAlias =
+ parser.parseTypeAlias(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(typeAlias);
+ listener.assertNoErrors();
expect(typeAlias.typedefKeyword, isNotNull);
expect(typeAlias.name, isNotNull);
expect(typeAlias.parameters, isNotNull);
@@ -11492,8 +12478,11 @@ void''');
}
void test_parseTypeAlias_function_noReturnType() {
- FunctionTypeAlias typeAlias = parse(
- "parseTypeAlias", <Object>[emptyCommentAndMetadata()], "typedef F();");
+ createParser('typedef F();');
+ FunctionTypeAlias typeAlias =
+ parser.parseTypeAlias(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(typeAlias);
+ listener.assertNoErrors();
expect(typeAlias.typedefKeyword, isNotNull);
expect(typeAlias.name, isNotNull);
expect(typeAlias.parameters, isNotNull);
@@ -11503,8 +12492,11 @@ void''');
}
void test_parseTypeAlias_function_parameterizedReturnType() {
- FunctionTypeAlias typeAlias = parse("parseTypeAlias",
- <Object>[emptyCommentAndMetadata()], "typedef A<B> F();");
+ createParser('typedef A<B> F();');
+ FunctionTypeAlias typeAlias =
+ parser.parseTypeAlias(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(typeAlias);
+ listener.assertNoErrors();
expect(typeAlias.typedefKeyword, isNotNull);
expect(typeAlias.name, isNotNull);
expect(typeAlias.parameters, isNotNull);
@@ -11514,8 +12506,11 @@ void''');
}
void test_parseTypeAlias_function_parameters() {
- FunctionTypeAlias typeAlias = parse("parseTypeAlias",
- <Object>[emptyCommentAndMetadata()], "typedef bool F(Object value);");
+ createParser('typedef bool F(Object value);');
+ FunctionTypeAlias typeAlias =
+ parser.parseTypeAlias(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(typeAlias);
+ listener.assertNoErrors();
expect(typeAlias.typedefKeyword, isNotNull);
expect(typeAlias.name, isNotNull);
expect(typeAlias.parameters, isNotNull);
@@ -11525,8 +12520,11 @@ void''');
}
void test_parseTypeAlias_function_typeParameters() {
- FunctionTypeAlias typeAlias = parse("parseTypeAlias",
- <Object>[emptyCommentAndMetadata()], "typedef bool F<E>();");
+ createParser('typedef bool F<E>();');
+ FunctionTypeAlias typeAlias =
+ parser.parseTypeAlias(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(typeAlias);
+ listener.assertNoErrors();
expect(typeAlias.typedefKeyword, isNotNull);
expect(typeAlias.name, isNotNull);
expect(typeAlias.parameters, isNotNull);
@@ -11536,8 +12534,11 @@ void''');
}
void test_parseTypeAlias_function_voidReturnType() {
- FunctionTypeAlias typeAlias = parse("parseTypeAlias",
- <Object>[emptyCommentAndMetadata()], "typedef void F();");
+ createParser('typedef void F();');
+ FunctionTypeAlias typeAlias =
+ parser.parseTypeAlias(emptyCommentAndMetadata());
+ expectNotNullIfNoErrors(typeAlias);
+ listener.assertNoErrors();
expect(typeAlias.typedefKeyword, isNotNull);
expect(typeAlias.name, isNotNull);
expect(typeAlias.parameters, isNotNull);
« no previous file with comments | « pkg/analyzer/lib/src/generated/parser.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698