Index: pkg/analyzer/lib/src/generated/testing/ast_factory.dart |
diff --git a/pkg/analyzer/lib/src/generated/testing/ast_factory.dart b/pkg/analyzer/lib/src/generated/testing/ast_factory.dart |
index d4328ca4b1e586fff66a6577e925784761cfe533..d761f82fc8659004c62cbaea3b7dddb02fef2f21 100644 |
--- a/pkg/analyzer/lib/src/generated/testing/ast_factory.dart |
+++ b/pkg/analyzer/lib/src/generated/testing/ast_factory.dart |
@@ -26,13 +26,17 @@ import 'package:analyzer/src/generated/testing/token_factory.dart'; |
* 'identifier' rather than 'prefixedIdentifier', or 'integer' rather than 'integerLiteral'. |
*/ |
class AstFactory { |
- static AdjacentStrings adjacentStrings(List<StringLiteral> strings) => new AdjacentStrings(list(strings)); |
+ static AdjacentStrings adjacentStrings(List<StringLiteral> strings) => new AdjacentStrings(strings); |
static Annotation annotation(Identifier name) => new Annotation(TokenFactory.tokenFromType(TokenType.AT), name, null, null, null); |
static Annotation annotation2(Identifier name, SimpleIdentifier constructorName, ArgumentList arguments) => new Annotation(TokenFactory.tokenFromType(TokenType.AT), name, TokenFactory.tokenFromType(TokenType.PERIOD), constructorName, arguments); |
- static ArgumentList argumentList(List<Expression> arguments) => new ArgumentList(TokenFactory.tokenFromType(TokenType.OPEN_PAREN), list(arguments), TokenFactory.tokenFromType(TokenType.CLOSE_PAREN)); |
+ static ArgumentList argumentList([List<Expression> arguments]) |
+ => new ArgumentList( |
+ TokenFactory.tokenFromType(TokenType.OPEN_PAREN), |
+ arguments, |
+ TokenFactory.tokenFromType(TokenType.CLOSE_PAREN)); |
static AsExpression asExpression(Expression expression, TypeName type) => new AsExpression(expression, TokenFactory.tokenFromKeyword(Keyword.AS), type); |
@@ -40,21 +44,35 @@ class AstFactory { |
static AssignmentExpression assignmentExpression(Expression leftHandSide, TokenType operator, Expression rightHandSide) => new AssignmentExpression(leftHandSide, TokenFactory.tokenFromType(operator), rightHandSide); |
- static BlockFunctionBody asyncBlockFunctionBody(List<Statement> statements) => new BlockFunctionBody(TokenFactory.tokenFromTypeAndString(TokenType.IDENTIFIER, "async"), null, block(statements)); |
+ static BlockFunctionBody asyncBlockFunctionBody([List<Statement> statements]) |
+ => new BlockFunctionBody( |
+ TokenFactory.tokenFromTypeAndString(TokenType.IDENTIFIER, "async"), |
+ null, |
+ block(statements)); |
static ExpressionFunctionBody asyncExpressionFunctionBody(Expression expression) => new ExpressionFunctionBody(TokenFactory.tokenFromTypeAndString(TokenType.IDENTIFIER, "async"), TokenFactory.tokenFromType(TokenType.FUNCTION), expression, TokenFactory.tokenFromType(TokenType.SEMICOLON)); |
- static BlockFunctionBody asyncGeneratorBlockFunctionBody(List<Statement> statements) => new BlockFunctionBody(TokenFactory.tokenFromTypeAndString(TokenType.IDENTIFIER, "async"), TokenFactory.tokenFromType(TokenType.STAR), block(statements)); |
+ static BlockFunctionBody asyncGeneratorBlockFunctionBody([List<Statement> statements]) |
+ => new BlockFunctionBody( |
+ TokenFactory.tokenFromTypeAndString(TokenType.IDENTIFIER, "async"), |
+ TokenFactory.tokenFromType(TokenType.STAR), |
+ block(statements)); |
static AwaitExpression awaitExpression(Expression expression) => new AwaitExpression(TokenFactory.tokenFromTypeAndString(TokenType.IDENTIFIER, "await"), expression); |
static BinaryExpression binaryExpression(Expression leftOperand, TokenType operator, Expression rightOperand) => new BinaryExpression(leftOperand, TokenFactory.tokenFromType(operator), rightOperand); |
- static Block block(List<Statement> statements) => new Block(TokenFactory.tokenFromType(TokenType.OPEN_CURLY_BRACKET), list(statements), TokenFactory.tokenFromType(TokenType.CLOSE_CURLY_BRACKET)); |
+ static Block block([List<Statement> statements]) |
+ => new Block( |
+ TokenFactory.tokenFromType(TokenType.OPEN_CURLY_BRACKET), |
+ statements, |
+ TokenFactory.tokenFromType(TokenType.CLOSE_CURLY_BRACKET)); |
- static BlockFunctionBody blockFunctionBody(Block block) => new BlockFunctionBody(null, null, block); |
+ static BlockFunctionBody blockFunctionBody(Block block) |
+ => new BlockFunctionBody(null, null, block); |
- static BlockFunctionBody blockFunctionBody2(List<Statement> statements) => new BlockFunctionBody(null, null, block(statements)); |
+ static BlockFunctionBody blockFunctionBody2([List<Statement> statements]) |
+ => new BlockFunctionBody(null, null, block(statements)); |
static BooleanLiteral booleanLiteral(bool value) => new BooleanLiteral(value ? TokenFactory.tokenFromKeyword(Keyword.TRUE) : TokenFactory.tokenFromKeyword(Keyword.FALSE), value); |
@@ -64,39 +82,72 @@ class AstFactory { |
static IndexExpression cascadedIndexExpression(Expression index) => new IndexExpression.forCascade(TokenFactory.tokenFromType(TokenType.PERIOD_PERIOD), TokenFactory.tokenFromType(TokenType.OPEN_SQUARE_BRACKET), index, TokenFactory.tokenFromType(TokenType.CLOSE_SQUARE_BRACKET)); |
- static MethodInvocation cascadedMethodInvocation(String methodName, List<Expression> arguments) => new MethodInvocation(null, TokenFactory.tokenFromType(TokenType.PERIOD_PERIOD), identifier3(methodName), argumentList(arguments)); |
+ static MethodInvocation cascadedMethodInvocation(String methodName, [List<Expression> arguments]) |
+ => new MethodInvocation( |
+ null, |
+ TokenFactory.tokenFromType(TokenType.PERIOD_PERIOD), |
+ identifier3(methodName), |
+ argumentList(arguments)); |
static PropertyAccess cascadedPropertyAccess(String propertyName) => new PropertyAccess(null, TokenFactory.tokenFromType(TokenType.PERIOD_PERIOD), identifier3(propertyName)); |
- static CascadeExpression cascadeExpression(Expression target, List<Expression> cascadeSections) => new CascadeExpression(target, list(cascadeSections)); |
- |
- static CatchClause catchClause(String exceptionParameter, List<Statement> statements) => catchClause5(null, exceptionParameter, null, statements); |
- |
- static CatchClause catchClause2(String exceptionParameter, String stackTraceParameter, List<Statement> statements) => catchClause5(null, exceptionParameter, stackTraceParameter, statements); |
- |
- static CatchClause catchClause3(TypeName exceptionType, List<Statement> statements) => catchClause5(exceptionType, null, null, statements); |
- |
- static CatchClause catchClause4(TypeName exceptionType, String exceptionParameter, List<Statement> statements) => catchClause5(exceptionType, exceptionParameter, null, statements); |
- |
- static CatchClause catchClause5(TypeName exceptionType, String exceptionParameter, String stackTraceParameter, List<Statement> statements) => new CatchClause(exceptionType == null ? null : TokenFactory.tokenFromTypeAndString(TokenType.IDENTIFIER, "on"), exceptionType, exceptionParameter == null ? null : TokenFactory.tokenFromKeyword(Keyword.CATCH), exceptionParameter == null ? null : TokenFactory.tokenFromType(TokenType.OPEN_PAREN), exceptionParameter == null ? null : identifier3(exceptionParameter), stackTraceParameter == null ? null : TokenFactory.tokenFromType(TokenType.COMMA), stackTraceParameter == null ? null : identifier3(stackTraceParameter), exceptionParameter == null ? null : TokenFactory.tokenFromType(TokenType.CLOSE_PAREN), block(statements)); |
- |
- static ClassDeclaration classDeclaration(Keyword abstractKeyword, String name, TypeParameterList typeParameters, ExtendsClause extendsClause, WithClause withClause, ImplementsClause implementsClause, List<ClassMember> members) => new ClassDeclaration(null, null, abstractKeyword == null ? null : TokenFactory.tokenFromKeyword(abstractKeyword), TokenFactory.tokenFromKeyword(Keyword.CLASS), identifier3(name), typeParameters, extendsClause, withClause, implementsClause, TokenFactory.tokenFromType(TokenType.OPEN_CURLY_BRACKET), list(members), TokenFactory.tokenFromType(TokenType.CLOSE_CURLY_BRACKET)); |
+ static CascadeExpression cascadeExpression(Expression target, [List<Expression> cascadeSections]) |
+ => new CascadeExpression(target, cascadeSections); |
+ |
+ static CatchClause catchClause(String exceptionParameter, [List<Statement> statements]) |
+ => catchClause5(null, exceptionParameter, null, statements); |
+ |
+ static CatchClause catchClause2(String exceptionParameter, String stackTraceParameter, [List<Statement> statements]) |
+ => catchClause5(null, exceptionParameter, stackTraceParameter, statements); |
+ |
+ static CatchClause catchClause3(TypeName exceptionType, [List<Statement> statements]) |
+ => catchClause5(exceptionType, null, null, statements); |
+ |
+ static CatchClause catchClause4(TypeName exceptionType, String exceptionParameter, [List<Statement> statements]) |
+ => catchClause5(exceptionType, exceptionParameter, null, statements); |
+ |
+ static CatchClause catchClause5(TypeName exceptionType, String exceptionParameter, String stackTraceParameter, [List<Statement> statements]) |
+ => new CatchClause( |
+ exceptionType == null ? null : TokenFactory.tokenFromTypeAndString(TokenType.IDENTIFIER, "on"), |
+ exceptionType, |
+ exceptionParameter == null ? null : TokenFactory.tokenFromKeyword(Keyword.CATCH), |
+ exceptionParameter == null ? null : TokenFactory.tokenFromType(TokenType.OPEN_PAREN), |
+ exceptionParameter == null ? null : identifier3(exceptionParameter), |
+ stackTraceParameter == null ? null : TokenFactory.tokenFromType(TokenType.COMMA), |
+ stackTraceParameter == null ? null : identifier3(stackTraceParameter), |
+ exceptionParameter == null ? null : TokenFactory.tokenFromType(TokenType.CLOSE_PAREN), |
+ block(statements)); |
+ |
+ static ClassDeclaration classDeclaration(Keyword abstractKeyword, String name, TypeParameterList typeParameters, ExtendsClause extendsClause, WithClause withClause, ImplementsClause implementsClause, [List<ClassMember> members]) |
+ => new ClassDeclaration( |
+ null, |
+ null, |
+ abstractKeyword == null ? null : TokenFactory.tokenFromKeyword(abstractKeyword), |
+ TokenFactory.tokenFromKeyword(Keyword.CLASS), |
+ identifier3(name), |
+ typeParameters, |
+ extendsClause, |
+ withClause, |
+ implementsClause, |
+ TokenFactory.tokenFromType(TokenType.OPEN_CURLY_BRACKET), |
+ members, |
+ TokenFactory.tokenFromType(TokenType.CLOSE_CURLY_BRACKET)); |
static ClassTypeAlias classTypeAlias(String name, TypeParameterList typeParameters, Keyword abstractKeyword, TypeName superclass, WithClause withClause, ImplementsClause implementsClause) => new ClassTypeAlias(null, null, TokenFactory.tokenFromKeyword(Keyword.CLASS), identifier3(name), typeParameters, TokenFactory.tokenFromType(TokenType.EQ), abstractKeyword == null ? null : TokenFactory.tokenFromKeyword(abstractKeyword), superclass, withClause, implementsClause, TokenFactory.tokenFromType(TokenType.SEMICOLON)); |
static CompilationUnit compilationUnit() => compilationUnit8(null, null, null); |
- static CompilationUnit compilationUnit2(List<CompilationUnitMember> declarations) => compilationUnit8(null, null, list(declarations)); |
+ static CompilationUnit compilationUnit2(List<CompilationUnitMember> declarations) => compilationUnit8(null, null, declarations); |
- static CompilationUnit compilationUnit3(List<Directive> directives) => compilationUnit8(null, list(directives), null); |
+ static CompilationUnit compilationUnit3(List<Directive> directives) => compilationUnit8(null, directives, null); |
static CompilationUnit compilationUnit4(List<Directive> directives, List<CompilationUnitMember> declarations) => compilationUnit8(null, directives, declarations); |
static CompilationUnit compilationUnit5(String scriptTag) => compilationUnit8(scriptTag, null, null); |
- static CompilationUnit compilationUnit6(String scriptTag, List<CompilationUnitMember> declarations) => compilationUnit8(scriptTag, null, list(declarations)); |
+ static CompilationUnit compilationUnit6(String scriptTag, List<CompilationUnitMember> declarations) => compilationUnit8(scriptTag, null, declarations); |
- static CompilationUnit compilationUnit7(String scriptTag, List<Directive> directives) => compilationUnit8(scriptTag, list(directives), null); |
+ static CompilationUnit compilationUnit7(String scriptTag, List<Directive> directives) => compilationUnit8(scriptTag, directives, null); |
static CompilationUnit compilationUnit8(String scriptTag, List<Directive> directives, List<CompilationUnitMember> declarations) => new CompilationUnit(TokenFactory.tokenFromType(TokenType.EOF), scriptTag == null ? null : AstFactory.scriptTag(scriptTag), directives == null ? new List<Directive>() : directives, declarations == null ? new List<CompilationUnitMember>() : declarations, TokenFactory.tokenFromType(TokenType.EOF)); |
@@ -110,10 +161,11 @@ class AstFactory { |
static ConstructorName constructorName(TypeName type, String name) => new ConstructorName(type, name == null ? null : TokenFactory.tokenFromType(TokenType.PERIOD), name == null ? null : identifier3(name)); |
- static ContinueStatement continueStatement([String label]) { |
- SimpleIdentifier labelNode = label == null ? null : identifier3(label); |
- return new ContinueStatement(TokenFactory.tokenFromKeyword(Keyword.CONTINUE), labelNode, TokenFactory.tokenFromType(TokenType.SEMICOLON)); |
- } |
+ static ContinueStatement continueStatement([String label]) |
+ => new ContinueStatement( |
+ TokenFactory.tokenFromKeyword(Keyword.CONTINUE), |
+ label == null ? null : identifier3(label), |
+ TokenFactory.tokenFromType(TokenType.SEMICOLON)); |
static DeclaredIdentifier declaredIdentifier(Keyword keyword, String identifier) => declaredIdentifier2(keyword, null, identifier); |
@@ -131,7 +183,7 @@ class AstFactory { |
static EmptyStatement emptyStatement() => new EmptyStatement(TokenFactory.tokenFromType(TokenType.SEMICOLON)); |
- static EnumDeclaration enumDeclaration(SimpleIdentifier name, List<EnumConstantDeclaration> constants) => new EnumDeclaration(null, null, TokenFactory.tokenFromKeyword(Keyword.ENUM), name, TokenFactory.tokenFromType(TokenType.OPEN_CURLY_BRACKET), list(constants), TokenFactory.tokenFromType(TokenType.CLOSE_CURLY_BRACKET)); |
+ static EnumDeclaration enumDeclaration(SimpleIdentifier name, List<EnumConstantDeclaration> constants) => new EnumDeclaration(null, null, TokenFactory.tokenFromKeyword(Keyword.ENUM), name, TokenFactory.tokenFromType(TokenType.OPEN_CURLY_BRACKET), constants, TokenFactory.tokenFromType(TokenType.CLOSE_CURLY_BRACKET)); |
static EnumDeclaration enumDeclaration2(String name, List<String> constantNames) { |
int count = constantNames.length; |
@@ -142,9 +194,17 @@ class AstFactory { |
return enumDeclaration(identifier3(name), constants); |
} |
- static ExportDirective exportDirective(List<Annotation> metadata, String uri, List<Combinator> combinators) => new ExportDirective(null, metadata, TokenFactory.tokenFromKeyword(Keyword.EXPORT), string2(uri), list(combinators), TokenFactory.tokenFromType(TokenType.SEMICOLON)); |
+ static ExportDirective exportDirective(List<Annotation> metadata, String uri, [List<Combinator> combinators]) |
+ => new ExportDirective( |
+ null, |
+ metadata, |
+ TokenFactory.tokenFromKeyword(Keyword.EXPORT), |
+ string2(uri), |
+ combinators, |
+ TokenFactory.tokenFromType(TokenType.SEMICOLON)); |
- static ExportDirective exportDirective2(String uri, List<Combinator> combinators) => exportDirective(new List<Annotation>(), uri, combinators); |
+ static ExportDirective exportDirective2(String uri, [List<Combinator> combinators]) |
+ => exportDirective(null, uri, combinators); |
static ExpressionFunctionBody expressionFunctionBody(Expression expression) => new ExpressionFunctionBody(null, TokenFactory.tokenFromType(TokenType.FUNCTION), expression, TokenFactory.tokenFromType(TokenType.SEMICOLON)); |
@@ -164,7 +224,13 @@ class AstFactory { |
static ForEachStatement forEachStatement2(SimpleIdentifier identifier, Expression iterator, Statement body) => new ForEachStatement.con2(null, TokenFactory.tokenFromKeyword(Keyword.FOR), TokenFactory.tokenFromType(TokenType.OPEN_PAREN), identifier, TokenFactory.tokenFromKeyword(Keyword.IN), iterator, TokenFactory.tokenFromType(TokenType.CLOSE_PAREN), body); |
- static FormalParameterList formalParameterList(List<FormalParameter> parameters) => new FormalParameterList(TokenFactory.tokenFromType(TokenType.OPEN_PAREN), list(parameters), null, null, TokenFactory.tokenFromType(TokenType.CLOSE_PAREN)); |
+ static FormalParameterList formalParameterList([List<FormalParameter> parameters]) |
+ => new FormalParameterList( |
+ TokenFactory.tokenFromType(TokenType.OPEN_PAREN), |
+ parameters, |
+ null, |
+ null, |
+ TokenFactory.tokenFromType(TokenType.CLOSE_PAREN)); |
static ForStatement forStatement(Expression initialization, Expression condition, List<Expression> updaters, Statement body) => new ForStatement(TokenFactory.tokenFromKeyword(Keyword.FOR), TokenFactory.tokenFromType(TokenType.OPEN_PAREN), null, initialization, TokenFactory.tokenFromType(TokenType.SEMICOLON), condition, TokenFactory.tokenFromType(TokenType.SEMICOLON), updaters, TokenFactory.tokenFromType(TokenType.CLOSE_PAREN), body); |
@@ -174,23 +240,27 @@ class AstFactory { |
static FunctionDeclarationStatement functionDeclarationStatement(TypeName type, Keyword keyword, String name, FunctionExpression functionExpression) => new FunctionDeclarationStatement(functionDeclaration(type, keyword, name, functionExpression)); |
- static FunctionExpression functionExpression() => new FunctionExpression(formalParameterList([]), blockFunctionBody2([])); |
+ static FunctionExpression functionExpression() => new FunctionExpression(formalParameterList(), blockFunctionBody2()); |
static FunctionExpression functionExpression2(FormalParameterList parameters, FunctionBody body) => new FunctionExpression(parameters, body); |
- static FunctionExpressionInvocation functionExpressionInvocation(Expression function, List<Expression> arguments) => new FunctionExpressionInvocation(function, argumentList(arguments)); |
+ static FunctionExpressionInvocation functionExpressionInvocation(Expression function, [List<Expression> arguments]) |
+ => new FunctionExpressionInvocation(function, argumentList(arguments)); |
- static FunctionTypedFormalParameter functionTypedFormalParameter(TypeName returnType, String identifier, List<FormalParameter> parameters) => new FunctionTypedFormalParameter(null, null, returnType, identifier3(identifier), formalParameterList(parameters)); |
+ static FunctionTypedFormalParameter functionTypedFormalParameter(TypeName returnType, String identifier, [List<FormalParameter> parameters]) |
+ => new FunctionTypedFormalParameter( |
+ null, |
+ null, |
+ returnType, |
+ identifier3(identifier), |
+ formalParameterList(parameters)); |
- static HideCombinator hideCombinator(List<SimpleIdentifier> identifiers) => new HideCombinator(TokenFactory.tokenFromString("hide"), list(identifiers)); |
+ static HideCombinator hideCombinator(List<SimpleIdentifier> identifiers) => new HideCombinator(TokenFactory.tokenFromString("hide"), identifiers); |
- static HideCombinator hideCombinator2(List<String> identifiers) { |
- List<SimpleIdentifier> identifierList = new List<SimpleIdentifier>(); |
- for (String identifier in identifiers) { |
- identifierList.add(identifier3(identifier)); |
- } |
- return new HideCombinator(TokenFactory.tokenFromString("hide"), identifierList); |
- } |
+ static HideCombinator hideCombinator2(List<String> identifiers) |
+ => new HideCombinator( |
+ TokenFactory.tokenFromString("hide"), |
+ identifierList(identifiers)); |
static PrefixedIdentifier identifier(SimpleIdentifier prefix, SimpleIdentifier identifier) => new PrefixedIdentifier(prefix, TokenFactory.tokenFromType(TokenType.PERIOD), identifier); |
@@ -200,25 +270,56 @@ class AstFactory { |
static PrefixedIdentifier identifier5(String prefix, String identifier) => new PrefixedIdentifier(identifier3(prefix), TokenFactory.tokenFromType(TokenType.PERIOD), identifier3(identifier)); |
+ static List<SimpleIdentifier> identifierList(List<String> identifiers) { |
+ if (identifiers == null) { |
+ return null; |
+ } |
+ return identifiers.map((String identifier) => identifier3(identifier)).toList(); |
+ } |
+ |
static IfStatement ifStatement(Expression condition, Statement thenStatement) => ifStatement2(condition, thenStatement, null); |
static IfStatement ifStatement2(Expression condition, Statement thenStatement, Statement elseStatement) => new IfStatement(TokenFactory.tokenFromKeyword(Keyword.IF), TokenFactory.tokenFromType(TokenType.OPEN_PAREN), condition, TokenFactory.tokenFromType(TokenType.CLOSE_PAREN), thenStatement, elseStatement == null ? null : TokenFactory.tokenFromKeyword(Keyword.ELSE), elseStatement); |
- static ImplementsClause implementsClause(List<TypeName> types) => new ImplementsClause(TokenFactory.tokenFromKeyword(Keyword.IMPLEMENTS), list(types)); |
+ static ImplementsClause implementsClause(List<TypeName> types) => new ImplementsClause(TokenFactory.tokenFromKeyword(Keyword.IMPLEMENTS), types); |
- static ImportDirective importDirective(List<Annotation> metadata, String uri, bool isDeferred, String prefix, List<Combinator> combinators) => new ImportDirective(null, metadata, TokenFactory.tokenFromKeyword(Keyword.IMPORT), string2(uri), !isDeferred ? null : TokenFactory.tokenFromKeyword(Keyword.DEFERRED), prefix == null ? null : TokenFactory.tokenFromKeyword(Keyword.AS), prefix == null ? null : identifier3(prefix), list(combinators), TokenFactory.tokenFromType(TokenType.SEMICOLON)); |
+ static ImportDirective importDirective(List<Annotation> metadata, String uri, bool isDeferred, String prefix, [List<Combinator> combinators]) |
+ => new ImportDirective( |
+ null, |
+ metadata, |
+ TokenFactory.tokenFromKeyword(Keyword.IMPORT), |
+ string2(uri), |
+ !isDeferred ? null : TokenFactory.tokenFromKeyword(Keyword.DEFERRED), |
+ prefix == null ? null : TokenFactory.tokenFromKeyword(Keyword.AS), |
+ prefix == null ? null : identifier3(prefix), |
+ combinators, |
+ TokenFactory.tokenFromType(TokenType.SEMICOLON)); |
- static ImportDirective importDirective2(String uri, bool isDeferred, String prefix, List<Combinator> combinators) => importDirective(new List<Annotation>(), uri, isDeferred, prefix, combinators); |
+ static ImportDirective importDirective2(String uri, bool isDeferred, String prefix, [List<Combinator> combinators]) |
+ => importDirective(null, uri, isDeferred, prefix, combinators); |
- static ImportDirective importDirective3(String uri, String prefix, List<Combinator> combinators) => importDirective(new List<Annotation>(), uri, false, prefix, combinators); |
+ static ImportDirective importDirective3(String uri, String prefix, [List<Combinator> combinators]) |
+ => importDirective(null, uri, false, prefix, combinators); |
static IndexExpression indexExpression(Expression array, Expression index) => new IndexExpression.forTarget(array, TokenFactory.tokenFromType(TokenType.OPEN_SQUARE_BRACKET), index, TokenFactory.tokenFromType(TokenType.CLOSE_SQUARE_BRACKET)); |
- static InstanceCreationExpression instanceCreationExpression(Keyword keyword, ConstructorName name, List<Expression> arguments) => new InstanceCreationExpression(keyword == null ? null : TokenFactory.tokenFromKeyword(keyword), name, argumentList(arguments)); |
+ static InstanceCreationExpression instanceCreationExpression(Keyword keyword, ConstructorName name, [List<Expression> arguments]) |
+ => new InstanceCreationExpression( |
+ keyword == null ? null : TokenFactory.tokenFromKeyword(keyword), |
+ name, |
+ argumentList(arguments)); |
- static InstanceCreationExpression instanceCreationExpression2(Keyword keyword, TypeName type, List<Expression> arguments) => instanceCreationExpression3(keyword, type, null, arguments); |
+ static InstanceCreationExpression instanceCreationExpression2(Keyword keyword, TypeName type, [List<Expression> arguments]) |
+ => instanceCreationExpression3(keyword, type, null, arguments); |
- static InstanceCreationExpression instanceCreationExpression3(Keyword keyword, TypeName type, String identifier, List<Expression> arguments) => instanceCreationExpression(keyword, new ConstructorName(type, identifier == null ? null : TokenFactory.tokenFromType(TokenType.PERIOD), identifier == null ? null : identifier3(identifier)), arguments); |
+ static InstanceCreationExpression instanceCreationExpression3(Keyword keyword, TypeName type, String identifier, [List<Expression> arguments]) |
+ => instanceCreationExpression( |
+ keyword, |
+ new ConstructorName( |
+ type, |
+ identifier == null ? null : TokenFactory.tokenFromType(TokenType.PERIOD), |
+ identifier == null ? null : identifier3(identifier)), |
+ arguments); |
static IntegerLiteral integer(int value) => new IntegerLiteral(TokenFactory.tokenFromTypeAndString(TokenType.INT, value.toString()), value); |
@@ -240,31 +341,37 @@ class AstFactory { |
static LibraryDirective libraryDirective2(String libraryName) => libraryDirective(new List<Annotation>(), libraryIdentifier2([libraryName])); |
- static LibraryIdentifier libraryIdentifier(List<SimpleIdentifier> components) => new LibraryIdentifier(list(components)); |
+ static LibraryIdentifier libraryIdentifier(List<SimpleIdentifier> components) => new LibraryIdentifier(components); |
static LibraryIdentifier libraryIdentifier2(List<String> components) { |
- List<SimpleIdentifier> componentList = new List<SimpleIdentifier>(); |
- for (String component in components) { |
- componentList.add(identifier3(component)); |
- } |
- return new LibraryIdentifier(componentList); |
+ return new LibraryIdentifier(identifierList(components)); |
} |
static List list(List<Object> elements) { |
- List elementList = new List(); |
- for (Object element in elements) { |
- elementList.add(element); |
- } |
- return elementList; |
+ return elements; |
} |
- static ListLiteral listLiteral(List<Expression> elements) => listLiteral2(null, null, elements); |
+ static ListLiteral listLiteral([List<Expression> elements]) |
+ => listLiteral2(null, null, elements); |
- static ListLiteral listLiteral2(Keyword keyword, TypeArgumentList typeArguments, List<Expression> elements) => new ListLiteral(keyword == null ? null : TokenFactory.tokenFromKeyword(keyword), typeArguments, TokenFactory.tokenFromType(TokenType.OPEN_SQUARE_BRACKET), list(elements), TokenFactory.tokenFromType(TokenType.CLOSE_SQUARE_BRACKET)); |
+ static ListLiteral listLiteral2(Keyword keyword, TypeArgumentList typeArguments, [List<Expression> elements]) |
+ => new ListLiteral( |
+ keyword == null ? null : TokenFactory.tokenFromKeyword(keyword), |
+ typeArguments, |
+ TokenFactory.tokenFromType(TokenType.OPEN_SQUARE_BRACKET), |
+ elements, |
+ TokenFactory.tokenFromType(TokenType.CLOSE_SQUARE_BRACKET)); |
- static MapLiteral mapLiteral(Keyword keyword, TypeArgumentList typeArguments, List<MapLiteralEntry> entries) => new MapLiteral(keyword == null ? null : TokenFactory.tokenFromKeyword(keyword), typeArguments, TokenFactory.tokenFromType(TokenType.OPEN_CURLY_BRACKET), list(entries), TokenFactory.tokenFromType(TokenType.CLOSE_CURLY_BRACKET)); |
+ static MapLiteral mapLiteral(Keyword keyword, TypeArgumentList typeArguments, [List<MapLiteralEntry> entries]) |
+ => new MapLiteral( |
+ keyword == null ? null : TokenFactory.tokenFromKeyword(keyword), |
+ typeArguments, |
+ TokenFactory.tokenFromType(TokenType.OPEN_CURLY_BRACKET), |
+ entries, |
+ TokenFactory.tokenFromType(TokenType.CLOSE_CURLY_BRACKET)); |
- static MapLiteral mapLiteral2(List<MapLiteralEntry> entries) => mapLiteral(null, null, entries); |
+ static MapLiteral mapLiteral2([List<MapLiteralEntry> entries]) |
+ => mapLiteral(null, null, entries); |
static MapLiteralEntry mapLiteralEntry(String key, Expression value) => new MapLiteralEntry(string2(key), TokenFactory.tokenFromType(TokenType.COLON), value); |
@@ -272,9 +379,15 @@ class AstFactory { |
static MethodDeclaration methodDeclaration2(Keyword modifier, TypeName returnType, Keyword property, Keyword operator, SimpleIdentifier name, FormalParameterList parameters, FunctionBody body) => new MethodDeclaration(null, null, null, modifier == null ? null : TokenFactory.tokenFromKeyword(modifier), returnType, property == null ? null : TokenFactory.tokenFromKeyword(property), operator == null ? null : TokenFactory.tokenFromKeyword(operator), name, parameters, body); |
- static MethodInvocation methodInvocation(Expression target, String methodName, List<Expression> arguments) => new MethodInvocation(target, target == null ? null : TokenFactory.tokenFromType(TokenType.PERIOD), identifier3(methodName), argumentList(arguments)); |
+ static MethodInvocation methodInvocation(Expression target, String methodName, [List<Expression> arguments]) |
+ => new MethodInvocation( |
+ target, |
+ target == null ? null : TokenFactory.tokenFromType(TokenType.PERIOD), |
+ identifier3(methodName), |
+ argumentList(arguments)); |
- static MethodInvocation methodInvocation2(String methodName, List<Expression> arguments) => methodInvocation(null, methodName, arguments); |
+ static MethodInvocation methodInvocation2(String methodName, [List<Expression> arguments]) |
+ => methodInvocation(null, methodName, arguments); |
static NamedExpression namedExpression(Label label, Expression expression) => new NamedExpression(label, expression); |
@@ -308,9 +421,15 @@ class AstFactory { |
static PropertyAccess propertyAccess2(Expression target, String propertyName) => new PropertyAccess(target, TokenFactory.tokenFromType(TokenType.PERIOD), identifier3(propertyName)); |
- static RedirectingConstructorInvocation redirectingConstructorInvocation(List<Expression> arguments) => redirectingConstructorInvocation2(null, arguments); |
+ static RedirectingConstructorInvocation redirectingConstructorInvocation([List<Expression> arguments]) |
+ => redirectingConstructorInvocation2(null, arguments); |
- static RedirectingConstructorInvocation redirectingConstructorInvocation2(String constructorName, List<Expression> arguments) => new RedirectingConstructorInvocation(TokenFactory.tokenFromKeyword(Keyword.THIS), constructorName == null ? null : TokenFactory.tokenFromType(TokenType.PERIOD), constructorName == null ? null : identifier3(constructorName), argumentList(arguments)); |
+ static RedirectingConstructorInvocation redirectingConstructorInvocation2(String constructorName, [List<Expression> arguments]) |
+ => new RedirectingConstructorInvocation( |
+ TokenFactory.tokenFromKeyword(Keyword.THIS), |
+ constructorName == null ? null : TokenFactory.tokenFromType(TokenType.PERIOD), |
+ constructorName == null ? null : identifier3(constructorName), |
+ argumentList(arguments)); |
static RethrowExpression rethrowExpression() => new RethrowExpression(TokenFactory.tokenFromKeyword(Keyword.RETHROW)); |
@@ -320,15 +439,12 @@ class AstFactory { |
static ScriptTag scriptTag(String scriptTag) => new ScriptTag(TokenFactory.tokenFromString(scriptTag)); |
- static ShowCombinator showCombinator(List<SimpleIdentifier> identifiers) => new ShowCombinator(TokenFactory.tokenFromString("show"), list(identifiers)); |
+ static ShowCombinator showCombinator(List<SimpleIdentifier> identifiers) => new ShowCombinator(TokenFactory.tokenFromString("show"), identifiers); |
- static ShowCombinator showCombinator2(List<String> identifiers) { |
- List<SimpleIdentifier> identifierList = new List<SimpleIdentifier>(); |
- for (String identifier in identifiers) { |
- identifierList.add(identifier3(identifier)); |
- } |
- return new ShowCombinator(TokenFactory.tokenFromString("show"), identifierList); |
- } |
+ static ShowCombinator showCombinator2(List<String> identifiers) |
+ => new ShowCombinator( |
+ TokenFactory.tokenFromString("show"), |
+ identifierList(identifiers)); |
static SimpleFormalParameter simpleFormalParameter(Keyword keyword, String parameterName) => simpleFormalParameter2(keyword, null, parameterName); |
@@ -338,25 +454,32 @@ class AstFactory { |
static SimpleFormalParameter simpleFormalParameter4(TypeName type, String parameterName) => simpleFormalParameter2(null, type, parameterName); |
- static StringInterpolation string(List<InterpolationElement> elements) => new StringInterpolation(list(elements)); |
+ static StringInterpolation string([List<InterpolationElement> elements]) |
+ => new StringInterpolation(elements); |
static SimpleStringLiteral string2(String content) => new SimpleStringLiteral(TokenFactory.tokenFromString("'$content'"), content); |
- static SuperConstructorInvocation superConstructorInvocation(List<Expression> arguments) => superConstructorInvocation2(null, arguments); |
+ static SuperConstructorInvocation superConstructorInvocation([List<Expression> arguments]) |
+ => superConstructorInvocation2(null, arguments); |
- static SuperConstructorInvocation superConstructorInvocation2(String name, List<Expression> arguments) => new SuperConstructorInvocation(TokenFactory.tokenFromKeyword(Keyword.SUPER), name == null ? null : TokenFactory.tokenFromType(TokenType.PERIOD), name == null ? null : identifier3(name), argumentList(arguments)); |
+ static SuperConstructorInvocation superConstructorInvocation2(String name, [List<Expression> arguments]) |
+ => new SuperConstructorInvocation( |
+ TokenFactory.tokenFromKeyword(Keyword.SUPER), |
+ name == null ? null : TokenFactory.tokenFromType(TokenType.PERIOD), |
+ name == null ? null : identifier3(name), |
+ argumentList(arguments)); |
static SuperExpression superExpression() => new SuperExpression(TokenFactory.tokenFromKeyword(Keyword.SUPER)); |
static SwitchCase switchCase(Expression expression, List<Statement> statements) => switchCase2(new List<Label>(), expression, statements); |
- static SwitchCase switchCase2(List<Label> labels, Expression expression, List<Statement> statements) => new SwitchCase(labels, TokenFactory.tokenFromKeyword(Keyword.CASE), expression, TokenFactory.tokenFromType(TokenType.COLON), list(statements)); |
+ static SwitchCase switchCase2(List<Label> labels, Expression expression, List<Statement> statements) => new SwitchCase(labels, TokenFactory.tokenFromKeyword(Keyword.CASE), expression, TokenFactory.tokenFromType(TokenType.COLON), statements); |
- static SwitchDefault switchDefault(List<Label> labels, List<Statement> statements) => new SwitchDefault(labels, TokenFactory.tokenFromKeyword(Keyword.DEFAULT), TokenFactory.tokenFromType(TokenType.COLON), list(statements)); |
+ static SwitchDefault switchDefault(List<Label> labels, List<Statement> statements) => new SwitchDefault(labels, TokenFactory.tokenFromKeyword(Keyword.DEFAULT), TokenFactory.tokenFromType(TokenType.COLON), statements); |
static SwitchDefault switchDefault2(List<Statement> statements) => switchDefault(new List<Label>(), statements); |
- static SwitchStatement switchStatement(Expression expression, List<SwitchMember> members) => new SwitchStatement(TokenFactory.tokenFromKeyword(Keyword.SWITCH), TokenFactory.tokenFromType(TokenType.OPEN_PAREN), expression, TokenFactory.tokenFromType(TokenType.CLOSE_PAREN), TokenFactory.tokenFromType(TokenType.OPEN_CURLY_BRACKET), list(members), TokenFactory.tokenFromType(TokenType.CLOSE_CURLY_BRACKET)); |
+ static SwitchStatement switchStatement(Expression expression, List<SwitchMember> members) => new SwitchStatement(TokenFactory.tokenFromKeyword(Keyword.SWITCH), TokenFactory.tokenFromType(TokenType.OPEN_PAREN), expression, TokenFactory.tokenFromType(TokenType.CLOSE_PAREN), TokenFactory.tokenFromType(TokenType.OPEN_CURLY_BRACKET), members, TokenFactory.tokenFromType(TokenType.CLOSE_CURLY_BRACKET)); |
static SymbolLiteral symbolLiteral(List<String> components) { |
List<Token> identifierList = new List<Token>(); |
@@ -366,9 +489,17 @@ class AstFactory { |
return new SymbolLiteral(TokenFactory.tokenFromType(TokenType.HASH), identifierList); |
} |
- static BlockFunctionBody syncBlockFunctionBody(List<Statement> statements) => new BlockFunctionBody(TokenFactory.tokenFromTypeAndString(TokenType.IDENTIFIER, "sync"), null, block(statements)); |
+ static BlockFunctionBody syncBlockFunctionBody([List<Statement> statements]) |
+ => new BlockFunctionBody( |
+ TokenFactory.tokenFromTypeAndString(TokenType.IDENTIFIER, "sync"), |
+ null, |
+ block(statements)); |
- static BlockFunctionBody syncGeneratorBlockFunctionBody(List<Statement> statements) => new BlockFunctionBody(TokenFactory.tokenFromTypeAndString(TokenType.IDENTIFIER, "sync"), TokenFactory.tokenFromType(TokenType.STAR), block(statements)); |
+ static BlockFunctionBody syncGeneratorBlockFunctionBody([List<Statement> statements]) |
+ => new BlockFunctionBody( |
+ TokenFactory.tokenFromTypeAndString(TokenType.IDENTIFIER, "sync"), |
+ TokenFactory.tokenFromType(TokenType.STAR), |
+ block(statements)); |
static ThisExpression thisExpression() => new ThisExpression(TokenFactory.tokenFromKeyword(Keyword.THIS)); |
@@ -382,24 +513,30 @@ class AstFactory { |
static TryStatement tryStatement(Block body, Block finallyClause) => tryStatement3(body, new List<CatchClause>(), finallyClause); |
- static TryStatement tryStatement2(Block body, List<CatchClause> catchClauses) => tryStatement3(body, list(catchClauses), null); |
+ static TryStatement tryStatement2(Block body, List<CatchClause> catchClauses) => tryStatement3(body, catchClauses, null); |
static TryStatement tryStatement3(Block body, List<CatchClause> catchClauses, Block finallyClause) => new TryStatement(TokenFactory.tokenFromKeyword(Keyword.TRY), body, catchClauses, finallyClause == null ? null : TokenFactory.tokenFromKeyword(Keyword.FINALLY), finallyClause); |
static FunctionTypeAlias typeAlias(TypeName returnType, String name, TypeParameterList typeParameters, FormalParameterList parameters) => new FunctionTypeAlias(null, null, TokenFactory.tokenFromKeyword(Keyword.TYPEDEF), returnType, identifier3(name), typeParameters, parameters, TokenFactory.tokenFromType(TokenType.SEMICOLON)); |
- static TypeArgumentList typeArgumentList(List<TypeName> typeNames) => new TypeArgumentList(TokenFactory.tokenFromType(TokenType.LT), list(typeNames), TokenFactory.tokenFromType(TokenType.GT)); |
+ static TypeArgumentList typeArgumentList(List<TypeName> typeNames) { |
+ if (typeNames == null || typeNames.length == 0) { |
+ return null; |
+ } |
+ return new TypeArgumentList( |
+ TokenFactory.tokenFromType(TokenType.LT), |
+ typeNames, |
+ TokenFactory.tokenFromType(TokenType.GT)); |
+ } |
/** |
- * Create a type name whose name has been resolved to the given element and whose type has been |
- * resolved to the type of the given element. |
- * |
- * <b>Note:</b> This method does not correctly handle class elements that have type parameters. |
+ * Create a type name whose name has been resolved to the given [element] and |
+ * whose type has been resolved to the type of the given element. |
* |
- * @param element the element defining the type represented by the type name |
- * @return the type name that was created |
+ * <b>Note:</b> This method does not correctly handle class elements that have |
+ * type parameters. |
*/ |
- static TypeName typeName(ClassElement element, List<TypeName> arguments) { |
+ static TypeName typeName(ClassElement element, [List<TypeName> arguments]) { |
SimpleIdentifier name = identifier3(element.name); |
name.staticElement = element; |
TypeName typeName = typeName3(name, arguments); |
@@ -407,37 +544,35 @@ class AstFactory { |
return typeName; |
} |
- static TypeName typeName3(Identifier name, List<TypeName> arguments) { |
- if (arguments.length == 0) { |
- return new TypeName(name, null); |
- } |
- return new TypeName(name, typeArgumentList(arguments)); |
- } |
+ static TypeName typeName3(Identifier name, [List<TypeName> arguments]) |
+ => new TypeName(name, typeArgumentList(arguments)); |
- static TypeName typeName4(String name, List<TypeName> arguments) { |
- if (arguments.length == 0) { |
- return new TypeName(identifier3(name), null); |
- } |
- return new TypeName(identifier3(name), typeArgumentList(arguments)); |
- } |
+ static TypeName typeName4(String name, [List<TypeName> arguments]) |
+ => new TypeName(identifier3(name), typeArgumentList(arguments)); |
static TypeParameter typeParameter(String name) => new TypeParameter(null, null, identifier3(name), null, null); |
static TypeParameter typeParameter2(String name, TypeName bound) => new TypeParameter(null, null, identifier3(name), TokenFactory.tokenFromKeyword(Keyword.EXTENDS), bound); |
- static TypeParameterList typeParameterList(List<String> typeNames) { |
- List<TypeParameter> typeParameters = new List<TypeParameter>(); |
- for (String typeName in typeNames) { |
- typeParameters.add(typeParameter(typeName)); |
+ static TypeParameterList typeParameterList([List<String> typeNames]) { |
+ List<TypeParameter> typeParameters = null; |
+ if (typeNames != null && !typeNames.isEmpty) { |
+ typeParameters = new List<TypeParameter>(); |
+ for (String typeName in typeNames) { |
+ typeParameters.add(typeParameter(typeName)); |
+ } |
} |
- return new TypeParameterList(TokenFactory.tokenFromType(TokenType.LT), typeParameters, TokenFactory.tokenFromType(TokenType.GT)); |
+ return new TypeParameterList( |
+ TokenFactory.tokenFromType(TokenType.LT), |
+ typeParameters, |
+ TokenFactory.tokenFromType(TokenType.GT)); |
} |
static VariableDeclaration variableDeclaration(String name) => new VariableDeclaration(null, null, identifier3(name), null, null); |
static VariableDeclaration variableDeclaration2(String name, Expression initializer) => new VariableDeclaration(null, null, identifier3(name), TokenFactory.tokenFromType(TokenType.EQ), initializer); |
- static VariableDeclarationList variableDeclarationList(Keyword keyword, TypeName type, List<VariableDeclaration> variables) => new VariableDeclarationList(null, null, keyword == null ? null : TokenFactory.tokenFromKeyword(keyword), type, list(variables)); |
+ static VariableDeclarationList variableDeclarationList(Keyword keyword, TypeName type, List<VariableDeclaration> variables) => new VariableDeclarationList(null, null, keyword == null ? null : TokenFactory.tokenFromKeyword(keyword), type, variables); |
static VariableDeclarationList variableDeclarationList2(Keyword keyword, List<VariableDeclaration> variables) => variableDeclarationList(keyword, null, variables); |
@@ -447,7 +582,7 @@ class AstFactory { |
static WhileStatement whileStatement(Expression condition, Statement body) => new WhileStatement(TokenFactory.tokenFromKeyword(Keyword.WHILE), TokenFactory.tokenFromType(TokenType.OPEN_PAREN), condition, TokenFactory.tokenFromType(TokenType.CLOSE_PAREN), body); |
- static WithClause withClause(List<TypeName> types) => new WithClause(TokenFactory.tokenFromKeyword(Keyword.WITH), list(types)); |
+ static WithClause withClause(List<TypeName> types) => new WithClause(TokenFactory.tokenFromKeyword(Keyword.WITH), types); |
static YieldStatement yieldEachStatement(Expression expression) => new YieldStatement(TokenFactory.tokenFromTypeAndString(TokenType.IDENTIFIER, "yield"), TokenFactory.tokenFromType(TokenType.STAR), expression, TokenFactory.tokenFromType(TokenType.SEMICOLON)); |