| Index: packages/analyzer/lib/src/dart/ast/ast_factory.dart
|
| diff --git a/packages/analyzer/lib/src/dart/ast/ast_factory.dart b/packages/analyzer/lib/src/dart/ast/ast_factory.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..18278194ff2317367353c5539d3918a3648cdf72
|
| --- /dev/null
|
| +++ b/packages/analyzer/lib/src/dart/ast/ast_factory.dart
|
| @@ -0,0 +1,886 @@
|
| +// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +import 'package:analyzer/dart/ast/ast.dart';
|
| +import 'package:analyzer/dart/ast/ast_factory.dart';
|
| +import 'package:analyzer/dart/ast/token.dart';
|
| +import 'package:analyzer/src/dart/ast/ast.dart';
|
| +import 'package:analyzer/src/generated/utilities_dart.dart';
|
| +
|
| +/**
|
| + * Concrete implementation of [AstFactory] based on the standard AST
|
| + * implementation.
|
| + */
|
| +class AstFactoryImpl extends AstFactory {
|
| + @override
|
| + AdjacentStrings adjacentStrings(List<StringLiteral> strings) =>
|
| + new AdjacentStringsImpl(strings);
|
| +
|
| + @override
|
| + Annotation annotation(Token atSign, Identifier name, Token period,
|
| + SimpleIdentifier constructorName, ArgumentList arguments) =>
|
| + new AnnotationImpl(atSign, name, period, constructorName, arguments);
|
| +
|
| + @override
|
| + ArgumentList argumentList(Token leftParenthesis, List<Expression> arguments,
|
| + Token rightParenthesis) =>
|
| + new ArgumentListImpl(leftParenthesis, arguments, rightParenthesis);
|
| +
|
| + @override
|
| + AsExpression asExpression(
|
| + Expression expression, Token asOperator, TypeName type) =>
|
| + new AsExpressionImpl(expression, asOperator, type);
|
| +
|
| + @override
|
| + AssertStatement assertStatement(
|
| + Token assertKeyword,
|
| + Token leftParenthesis,
|
| + Expression condition,
|
| + Token comma,
|
| + Expression message,
|
| + Token rightParenthesis,
|
| + Token semicolon) =>
|
| + new AssertStatementImpl(assertKeyword, leftParenthesis, condition, comma,
|
| + message, rightParenthesis, semicolon);
|
| +
|
| + @override
|
| + AssignmentExpression assignmentExpression(
|
| + Expression leftHandSide, Token operator, Expression rightHandSide) =>
|
| + new AssignmentExpressionImpl(leftHandSide, operator, rightHandSide);
|
| +
|
| + @override
|
| + AwaitExpression awaitExpression(Token awaitKeyword, Expression expression) =>
|
| + new AwaitExpressionImpl(awaitKeyword, expression);
|
| +
|
| + @override
|
| + BinaryExpression binaryExpression(
|
| + Expression leftOperand, Token operator, Expression rightOperand) =>
|
| + new BinaryExpressionImpl(leftOperand, operator, rightOperand);
|
| + @override
|
| + Block block(
|
| + Token leftBracket, List<Statement> statements, Token rightBracket) =>
|
| + new BlockImpl(leftBracket, statements, rightBracket);
|
| +
|
| + @override
|
| + Comment blockComment(List<Token> tokens) =>
|
| + CommentImpl.createBlockComment(tokens);
|
| +
|
| + @override
|
| + BlockFunctionBody blockFunctionBody(Token keyword, Token star, Block block) =>
|
| + new BlockFunctionBodyImpl(keyword, star, block);
|
| +
|
| + @override
|
| + BooleanLiteral booleanLiteral(Token literal, bool value) =>
|
| + new BooleanLiteralImpl(literal, value);
|
| +
|
| + @override
|
| + BreakStatement breakStatement(
|
| + Token breakKeyword, SimpleIdentifier label, Token semicolon) =>
|
| + new BreakStatementImpl(breakKeyword, label, semicolon);
|
| +
|
| + @override
|
| + CascadeExpression cascadeExpression(
|
| + Expression target, List<Expression> cascadeSections) =>
|
| + new CascadeExpressionImpl(target, cascadeSections);
|
| +
|
| + @override
|
| + CatchClause catchClause(
|
| + Token onKeyword,
|
| + TypeName exceptionType,
|
| + Token catchKeyword,
|
| + Token leftParenthesis,
|
| + SimpleIdentifier exceptionParameter,
|
| + Token comma,
|
| + SimpleIdentifier stackTraceParameter,
|
| + Token rightParenthesis,
|
| + Block body) =>
|
| + new CatchClauseImpl(
|
| + onKeyword,
|
| + exceptionType,
|
| + catchKeyword,
|
| + leftParenthesis,
|
| + exceptionParameter,
|
| + comma,
|
| + stackTraceParameter,
|
| + rightParenthesis,
|
| + body);
|
| +
|
| + @override
|
| + ClassDeclaration classDeclaration(
|
| + Comment comment,
|
| + List<Annotation> metadata,
|
| + Token abstractKeyword,
|
| + Token classKeyword,
|
| + SimpleIdentifier name,
|
| + TypeParameterList typeParameters,
|
| + ExtendsClause extendsClause,
|
| + WithClause withClause,
|
| + ImplementsClause implementsClause,
|
| + Token leftBracket,
|
| + List<ClassMember> members,
|
| + Token rightBracket) =>
|
| + new ClassDeclarationImpl(
|
| + comment,
|
| + metadata,
|
| + abstractKeyword,
|
| + classKeyword,
|
| + name,
|
| + typeParameters,
|
| + extendsClause,
|
| + withClause,
|
| + implementsClause,
|
| + leftBracket,
|
| + members,
|
| + rightBracket);
|
| +
|
| + @override
|
| + ClassTypeAlias classTypeAlias(
|
| + Comment comment,
|
| + List<Annotation> metadata,
|
| + Token keyword,
|
| + SimpleIdentifier name,
|
| + TypeParameterList typeParameters,
|
| + Token equals,
|
| + Token abstractKeyword,
|
| + TypeName superclass,
|
| + WithClause withClause,
|
| + ImplementsClause implementsClause,
|
| + Token semicolon) =>
|
| + new ClassTypeAliasImpl(
|
| + comment,
|
| + metadata,
|
| + keyword,
|
| + name,
|
| + typeParameters,
|
| + equals,
|
| + abstractKeyword,
|
| + superclass,
|
| + withClause,
|
| + implementsClause,
|
| + semicolon);
|
| +
|
| + @override
|
| + CommentReference commentReference(Token newKeyword, Identifier identifier) =>
|
| + new CommentReferenceImpl(newKeyword, identifier);
|
| +
|
| + @override
|
| + CompilationUnit compilationUnit(
|
| + Token beginToken,
|
| + ScriptTag scriptTag,
|
| + List<Directive> directives,
|
| + List<CompilationUnitMember> declarations,
|
| + Token endToken) =>
|
| + new CompilationUnitImpl(
|
| + beginToken, scriptTag, directives, declarations, endToken);
|
| +
|
| + @override
|
| + ConditionalExpression conditionalExpression(
|
| + Expression condition,
|
| + Token question,
|
| + Expression thenExpression,
|
| + Token colon,
|
| + Expression elseExpression) =>
|
| + new ConditionalExpressionImpl(
|
| + condition, question, thenExpression, colon, elseExpression);
|
| +
|
| + @override
|
| + Configuration configuration(
|
| + Token ifKeyword,
|
| + Token leftParenthesis,
|
| + DottedName name,
|
| + Token equalToken,
|
| + StringLiteral value,
|
| + Token rightParenthesis,
|
| + StringLiteral libraryUri) =>
|
| + new ConfigurationImpl(ifKeyword, leftParenthesis, name, equalToken, value,
|
| + rightParenthesis, libraryUri);
|
| +
|
| + @override
|
| + ConstructorDeclaration constructorDeclaration(
|
| + Comment comment,
|
| + List<Annotation> metadata,
|
| + Token externalKeyword,
|
| + Token constKeyword,
|
| + Token factoryKeyword,
|
| + Identifier returnType,
|
| + Token period,
|
| + SimpleIdentifier name,
|
| + FormalParameterList parameters,
|
| + Token separator,
|
| + List<ConstructorInitializer> initializers,
|
| + ConstructorName redirectedConstructor,
|
| + FunctionBody body) =>
|
| + new ConstructorDeclarationImpl(
|
| + comment,
|
| + metadata,
|
| + externalKeyword,
|
| + constKeyword,
|
| + factoryKeyword,
|
| + returnType,
|
| + period,
|
| + name,
|
| + parameters,
|
| + separator,
|
| + initializers,
|
| + redirectedConstructor,
|
| + body);
|
| +
|
| + @override
|
| + ConstructorFieldInitializer constructorFieldInitializer(
|
| + Token thisKeyword,
|
| + Token period,
|
| + SimpleIdentifier fieldName,
|
| + Token equals,
|
| + Expression expression) =>
|
| + new ConstructorFieldInitializerImpl(
|
| + thisKeyword, period, fieldName, equals, expression);
|
| +
|
| + @override
|
| + ConstructorName constructorName(
|
| + TypeName type, Token period, SimpleIdentifier name) =>
|
| + new ConstructorNameImpl(type, period, name);
|
| +
|
| + @override
|
| + ContinueStatement continueStatement(
|
| + Token continueKeyword, SimpleIdentifier label, Token semicolon) =>
|
| + new ContinueStatementImpl(continueKeyword, label, semicolon);
|
| +
|
| + @override
|
| + DeclaredIdentifier declaredIdentifier(
|
| + Comment comment,
|
| + List<Annotation> metadata,
|
| + Token keyword,
|
| + TypeName type,
|
| + SimpleIdentifier identifier) =>
|
| + new DeclaredIdentifierImpl(comment, metadata, keyword, type, identifier);
|
| +
|
| + @override
|
| + DefaultFormalParameter defaultFormalParameter(NormalFormalParameter parameter,
|
| + ParameterKind kind, Token separator, Expression defaultValue) =>
|
| + new DefaultFormalParameterImpl(parameter, kind, separator, defaultValue);
|
| +
|
| + @override
|
| + Comment documentationComment(List<Token> tokens,
|
| + [List<CommentReference> references]) =>
|
| + CommentImpl.createDocumentationCommentWithReferences(
|
| + tokens, references ?? <CommentReference>[]);
|
| +
|
| + @override
|
| + DoStatement doStatement(
|
| + Token doKeyword,
|
| + Statement body,
|
| + Token whileKeyword,
|
| + Token leftParenthesis,
|
| + Expression condition,
|
| + Token rightParenthesis,
|
| + Token semicolon) =>
|
| + new DoStatementImpl(doKeyword, body, whileKeyword, leftParenthesis,
|
| + condition, rightParenthesis, semicolon);
|
| +
|
| + @override
|
| + DottedName dottedName(List<SimpleIdentifier> components) =>
|
| + new DottedNameImpl(components);
|
| +
|
| + @override
|
| + DoubleLiteral doubleLiteral(Token literal, double value) =>
|
| + new DoubleLiteralImpl(literal, value);
|
| +
|
| + @override
|
| + EmptyFunctionBody emptyFunctionBody(Token semicolon) =>
|
| + new EmptyFunctionBodyImpl(semicolon);
|
| +
|
| + @override
|
| + EmptyStatement emptyStatement(Token semicolon) =>
|
| + new EmptyStatementImpl(semicolon);
|
| +
|
| + @override
|
| + Comment endOfLineComment(List<Token> tokens) =>
|
| + CommentImpl.createEndOfLineComment(tokens);
|
| +
|
| + @override
|
| + EnumConstantDeclaration enumConstantDeclaration(
|
| + Comment comment, List<Annotation> metadata, SimpleIdentifier name) =>
|
| + new EnumConstantDeclarationImpl(comment, metadata, name);
|
| +
|
| + @override
|
| + EnumDeclaration enumDeclaration(
|
| + Comment comment,
|
| + List<Annotation> metadata,
|
| + Token enumKeyword,
|
| + SimpleIdentifier name,
|
| + Token leftBracket,
|
| + List<EnumConstantDeclaration> constants,
|
| + Token rightBracket) =>
|
| + new EnumDeclarationImpl(comment, metadata, enumKeyword, name, leftBracket,
|
| + constants, rightBracket);
|
| +
|
| + @override
|
| + ExportDirective exportDirective(
|
| + Comment comment,
|
| + List<Annotation> metadata,
|
| + Token keyword,
|
| + StringLiteral libraryUri,
|
| + List<Configuration> configurations,
|
| + List<Combinator> combinators,
|
| + Token semicolon) =>
|
| + new ExportDirectiveImpl(comment, metadata, keyword, libraryUri,
|
| + configurations, combinators, semicolon);
|
| + @override
|
| + ExpressionFunctionBody expressionFunctionBody(Token keyword,
|
| + Token functionDefinition, Expression expression, Token semicolon) =>
|
| + new ExpressionFunctionBodyImpl(
|
| + keyword, functionDefinition, expression, semicolon);
|
| +
|
| + @override
|
| + ExpressionStatement expressionStatement(
|
| + Expression expression, Token semicolon) =>
|
| + new ExpressionStatementImpl(expression, semicolon);
|
| +
|
| + @override
|
| + ExtendsClause extendsClause(Token extendsKeyword, TypeName superclass) =>
|
| + new ExtendsClauseImpl(extendsKeyword, superclass);
|
| +
|
| + @override
|
| + FieldDeclaration fieldDeclaration(
|
| + Comment comment,
|
| + List<Annotation> metadata,
|
| + Token staticKeyword,
|
| + VariableDeclarationList fieldList,
|
| + Token semicolon) =>
|
| + new FieldDeclarationImpl(
|
| + comment, metadata, staticKeyword, fieldList, semicolon);
|
| +
|
| + @override
|
| + FieldFormalParameter fieldFormalParameter(
|
| + Comment comment,
|
| + List<Annotation> metadata,
|
| + Token keyword,
|
| + TypeName type,
|
| + Token thisKeyword,
|
| + Token period,
|
| + SimpleIdentifier identifier,
|
| + TypeParameterList typeParameters,
|
| + FormalParameterList parameters) =>
|
| + new FieldFormalParameterImpl(comment, metadata, keyword, type,
|
| + thisKeyword, period, identifier, typeParameters, parameters);
|
| +
|
| + @override
|
| + ForEachStatement forEachStatementWithDeclaration(
|
| + Token awaitKeyword,
|
| + Token forKeyword,
|
| + Token leftParenthesis,
|
| + DeclaredIdentifier loopVariable,
|
| + Token inKeyword,
|
| + Expression iterator,
|
| + Token rightParenthesis,
|
| + Statement body) =>
|
| + new ForEachStatementImpl.withDeclaration(
|
| + awaitKeyword,
|
| + forKeyword,
|
| + leftParenthesis,
|
| + loopVariable,
|
| + inKeyword,
|
| + iterator,
|
| + rightParenthesis,
|
| + body);
|
| +
|
| + @override
|
| + ForEachStatement forEachStatementWithReference(
|
| + Token awaitKeyword,
|
| + Token forKeyword,
|
| + Token leftParenthesis,
|
| + SimpleIdentifier identifier,
|
| + Token inKeyword,
|
| + Expression iterator,
|
| + Token rightParenthesis,
|
| + Statement body) =>
|
| + new ForEachStatementImpl.withReference(
|
| + awaitKeyword,
|
| + forKeyword,
|
| + leftParenthesis,
|
| + identifier,
|
| + inKeyword,
|
| + iterator,
|
| + rightParenthesis,
|
| + body);
|
| +
|
| + @override
|
| + FormalParameterList formalParameterList(
|
| + Token leftParenthesis,
|
| + List<FormalParameter> parameters,
|
| + Token leftDelimiter,
|
| + Token rightDelimiter,
|
| + Token rightParenthesis) =>
|
| + new FormalParameterListImpl(leftParenthesis, parameters, leftDelimiter,
|
| + rightDelimiter, rightParenthesis);
|
| +
|
| + @override
|
| + ForStatement forStatement(
|
| + Token forKeyword,
|
| + Token leftParenthesis,
|
| + VariableDeclarationList variableList,
|
| + Expression initialization,
|
| + Token leftSeparator,
|
| + Expression condition,
|
| + Token rightSeparator,
|
| + List<Expression> updaters,
|
| + Token rightParenthesis,
|
| + Statement body) =>
|
| + new ForStatementImpl(
|
| + forKeyword,
|
| + leftParenthesis,
|
| + variableList,
|
| + initialization,
|
| + leftSeparator,
|
| + condition,
|
| + rightSeparator,
|
| + updaters,
|
| + rightParenthesis,
|
| + body);
|
| +
|
| + @override
|
| + FunctionDeclaration functionDeclaration(
|
| + Comment comment,
|
| + List<Annotation> metadata,
|
| + Token externalKeyword,
|
| + TypeName returnType,
|
| + Token propertyKeyword,
|
| + SimpleIdentifier name,
|
| + FunctionExpression functionExpression) =>
|
| + new FunctionDeclarationImpl(comment, metadata, externalKeyword,
|
| + returnType, propertyKeyword, name, functionExpression);
|
| +
|
| + @override
|
| + FunctionDeclarationStatement functionDeclarationStatement(
|
| + FunctionDeclaration functionDeclaration) =>
|
| + new FunctionDeclarationStatementImpl(functionDeclaration);
|
| +
|
| + @override
|
| + FunctionExpression functionExpression(TypeParameterList typeParameters,
|
| + FormalParameterList parameters, FunctionBody body) =>
|
| + new FunctionExpressionImpl(typeParameters, parameters, body);
|
| +
|
| + @override
|
| + FunctionExpressionInvocation functionExpressionInvocation(Expression function,
|
| + TypeArgumentList typeArguments, ArgumentList argumentList) =>
|
| + new FunctionExpressionInvocationImpl(
|
| + function, typeArguments, argumentList);
|
| +
|
| + @override
|
| + FunctionTypeAlias functionTypeAlias(
|
| + Comment comment,
|
| + List<Annotation> metadata,
|
| + Token keyword,
|
| + TypeName returnType,
|
| + SimpleIdentifier name,
|
| + TypeParameterList typeParameters,
|
| + FormalParameterList parameters,
|
| + Token semicolon) =>
|
| + new FunctionTypeAliasImpl(comment, metadata, keyword, returnType, name,
|
| + typeParameters, parameters, semicolon);
|
| +
|
| + @override
|
| + FunctionTypedFormalParameter functionTypedFormalParameter(
|
| + Comment comment,
|
| + List<Annotation> metadata,
|
| + TypeName returnType,
|
| + SimpleIdentifier identifier,
|
| + TypeParameterList typeParameters,
|
| + FormalParameterList parameters,
|
| + {Token question: null}) =>
|
| + new FunctionTypedFormalParameterImpl(comment, metadata, returnType,
|
| + identifier, typeParameters, parameters, question);
|
| +
|
| + @override
|
| + HideCombinator hideCombinator(
|
| + Token keyword, List<SimpleIdentifier> hiddenNames) =>
|
| + new HideCombinatorImpl(keyword, hiddenNames);
|
| +
|
| + @override
|
| + IfStatement ifStatement(
|
| + Token ifKeyword,
|
| + Token leftParenthesis,
|
| + Expression condition,
|
| + Token rightParenthesis,
|
| + Statement thenStatement,
|
| + Token elseKeyword,
|
| + Statement elseStatement) =>
|
| + new IfStatementImpl(ifKeyword, leftParenthesis, condition,
|
| + rightParenthesis, thenStatement, elseKeyword, elseStatement);
|
| +
|
| + @override
|
| + ImplementsClause implementsClause(
|
| + Token implementsKeyword, List<TypeName> interfaces) =>
|
| + new ImplementsClauseImpl(implementsKeyword, interfaces);
|
| +
|
| + @override
|
| + ImportDirective importDirective(
|
| + Comment comment,
|
| + List<Annotation> metadata,
|
| + Token keyword,
|
| + StringLiteral libraryUri,
|
| + List<Configuration> configurations,
|
| + Token deferredKeyword,
|
| + Token asKeyword,
|
| + SimpleIdentifier prefix,
|
| + List<Combinator> combinators,
|
| + Token semicolon) =>
|
| + new ImportDirectiveImpl(
|
| + comment,
|
| + metadata,
|
| + keyword,
|
| + libraryUri,
|
| + configurations,
|
| + deferredKeyword,
|
| + asKeyword,
|
| + prefix,
|
| + combinators,
|
| + semicolon);
|
| +
|
| + @override
|
| + IndexExpression indexExpressionForCascade(Token period, Token leftBracket,
|
| + Expression index, Token rightBracket) =>
|
| + new IndexExpressionImpl.forCascade(
|
| + period, leftBracket, index, rightBracket);
|
| +
|
| + @override
|
| + IndexExpression indexExpressionForTarget(Expression target, Token leftBracket,
|
| + Expression index, Token rightBracket) =>
|
| + new IndexExpressionImpl.forTarget(
|
| + target, leftBracket, index, rightBracket);
|
| +
|
| + @override
|
| + InstanceCreationExpression instanceCreationExpression(Token keyword,
|
| + ConstructorName constructorName, ArgumentList argumentList) =>
|
| + new InstanceCreationExpressionImpl(
|
| + keyword, constructorName, argumentList);
|
| +
|
| + @override
|
| + IntegerLiteral integerLiteral(Token literal, int value) =>
|
| + new IntegerLiteralImpl(literal, value);
|
| +
|
| + @override
|
| + InterpolationExpression interpolationExpression(
|
| + Token leftBracket, Expression expression, Token rightBracket) =>
|
| + new InterpolationExpressionImpl(leftBracket, expression, rightBracket);
|
| +
|
| + @override
|
| + InterpolationString interpolationString(Token contents, String value) =>
|
| + new InterpolationStringImpl(contents, value);
|
| +
|
| + @override
|
| + IsExpression isExpression(Expression expression, Token isOperator,
|
| + Token notOperator, TypeName type) =>
|
| + new IsExpressionImpl(expression, isOperator, notOperator, type);
|
| +
|
| + @override
|
| + Label label(SimpleIdentifier label, Token colon) =>
|
| + new LabelImpl(label, colon);
|
| +
|
| + @override
|
| + LabeledStatement labeledStatement(List<Label> labels, Statement statement) =>
|
| + new LabeledStatementImpl(labels, statement);
|
| +
|
| + @override
|
| + LibraryDirective libraryDirective(Comment comment, List<Annotation> metadata,
|
| + Token libraryKeyword, LibraryIdentifier name, Token semicolon) =>
|
| + new LibraryDirectiveImpl(
|
| + comment, metadata, libraryKeyword, name, semicolon);
|
| +
|
| + @override
|
| + LibraryIdentifier libraryIdentifier(List<SimpleIdentifier> components) =>
|
| + new LibraryIdentifierImpl(components);
|
| +
|
| + @override
|
| + ListLiteral listLiteral(Token constKeyword, TypeArgumentList typeArguments,
|
| + Token leftBracket, List<Expression> elements, Token rightBracket) =>
|
| + new ListLiteralImpl(
|
| + constKeyword, typeArguments, leftBracket, elements, rightBracket);
|
| +
|
| + @override
|
| + MapLiteral mapLiteral(
|
| + Token constKeyword,
|
| + TypeArgumentList typeArguments,
|
| + Token leftBracket,
|
| + List<MapLiteralEntry> entries,
|
| + Token rightBracket) =>
|
| + new MapLiteralImpl(
|
| + constKeyword, typeArguments, leftBracket, entries, rightBracket);
|
| +
|
| + @override
|
| + MapLiteralEntry mapLiteralEntry(
|
| + Expression key, Token separator, Expression value) =>
|
| + new MapLiteralEntryImpl(key, separator, value);
|
| +
|
| + @override
|
| + MethodDeclaration methodDeclaration(
|
| + Comment comment,
|
| + List<Annotation> metadata,
|
| + Token externalKeyword,
|
| + Token modifierKeyword,
|
| + TypeName returnType,
|
| + Token propertyKeyword,
|
| + Token operatorKeyword,
|
| + SimpleIdentifier name,
|
| + TypeParameterList typeParameters,
|
| + FormalParameterList parameters,
|
| + FunctionBody body) =>
|
| + new MethodDeclarationImpl(
|
| + comment,
|
| + metadata,
|
| + externalKeyword,
|
| + modifierKeyword,
|
| + returnType,
|
| + propertyKeyword,
|
| + operatorKeyword,
|
| + name,
|
| + typeParameters,
|
| + parameters,
|
| + body);
|
| +
|
| + @override
|
| + MethodInvocation methodInvocation(
|
| + Expression target,
|
| + Token operator,
|
| + SimpleIdentifier methodName,
|
| + TypeArgumentList typeArguments,
|
| + ArgumentList argumentList) =>
|
| + new MethodInvocationImpl(
|
| + target, operator, methodName, typeArguments, argumentList);
|
| +
|
| + @override
|
| + NamedExpression namedExpression(Label name, Expression expression) =>
|
| + new NamedExpressionImpl(name, expression);
|
| +
|
| + @override
|
| + NativeClause nativeClause(Token nativeKeyword, StringLiteral name) =>
|
| + new NativeClauseImpl(nativeKeyword, name);
|
| +
|
| + @override
|
| + NativeFunctionBody nativeFunctionBody(
|
| + Token nativeKeyword, StringLiteral stringLiteral, Token semicolon) =>
|
| + new NativeFunctionBodyImpl(nativeKeyword, stringLiteral, semicolon);
|
| +
|
| + @override
|
| + NodeList/*<E>*/ nodeList/*<E extends AstNode>*/(AstNode owner,
|
| + [List/*<E>*/ elements]) =>
|
| + new NodeListImpl/*<E>*/(owner as AstNodeImpl, elements);
|
| +
|
| + @override
|
| + NullLiteral nullLiteral(Token literal) => new NullLiteralImpl(literal);
|
| +
|
| + @override
|
| + ParenthesizedExpression parenthesizedExpression(Token leftParenthesis,
|
| + Expression expression, Token rightParenthesis) =>
|
| + new ParenthesizedExpressionImpl(
|
| + leftParenthesis, expression, rightParenthesis);
|
| +
|
| + @override
|
| + PartDirective partDirective(Comment comment, List<Annotation> metadata,
|
| + Token partKeyword, StringLiteral partUri, Token semicolon) =>
|
| + new PartDirectiveImpl(comment, metadata, partKeyword, partUri, semicolon);
|
| +
|
| + @override
|
| + PartOfDirective partOfDirective(
|
| + Comment comment,
|
| + List<Annotation> metadata,
|
| + Token partKeyword,
|
| + Token ofKeyword,
|
| + StringLiteral uri,
|
| + LibraryIdentifier libraryName,
|
| + Token semicolon) =>
|
| + new PartOfDirectiveImpl(
|
| + comment, metadata, partKeyword, ofKeyword, libraryName, semicolon);
|
| +
|
| + @override
|
| + PostfixExpression postfixExpression(Expression operand, Token operator) =>
|
| + new PostfixExpressionImpl(operand, operator);
|
| +
|
| + @override
|
| + PrefixedIdentifier prefixedIdentifier(
|
| + SimpleIdentifier prefix, Token period, SimpleIdentifier identifier) =>
|
| + new PrefixedIdentifierImpl(prefix, period, identifier);
|
| +
|
| + @override
|
| + PrefixExpression prefixExpression(Token operator, Expression operand) =>
|
| + new PrefixExpressionImpl(operator, operand);
|
| +
|
| + @override
|
| + PropertyAccess propertyAccess(
|
| + Expression target, Token operator, SimpleIdentifier propertyName) =>
|
| + new PropertyAccessImpl(target, operator, propertyName);
|
| +
|
| + @override
|
| + RedirectingConstructorInvocation redirectingConstructorInvocation(
|
| + Token thisKeyword,
|
| + Token period,
|
| + SimpleIdentifier constructorName,
|
| + ArgumentList argumentList) =>
|
| + new RedirectingConstructorInvocationImpl(
|
| + thisKeyword, period, constructorName, argumentList);
|
| +
|
| + @override
|
| + RethrowExpression rethrowExpression(Token rethrowKeyword) =>
|
| + new RethrowExpressionImpl(rethrowKeyword);
|
| +
|
| + @override
|
| + ReturnStatement returnStatement(
|
| + Token returnKeyword, Expression expression, Token semicolon) =>
|
| + new ReturnStatementImpl(returnKeyword, expression, semicolon);
|
| +
|
| + @override
|
| + ScriptTag scriptTag(Token scriptTag) => new ScriptTagImpl(scriptTag);
|
| +
|
| + @override
|
| + ShowCombinator showCombinator(
|
| + Token keyword, List<SimpleIdentifier> shownNames) =>
|
| + new ShowCombinatorImpl(keyword, shownNames);
|
| +
|
| + @override
|
| + SimpleFormalParameter simpleFormalParameter(
|
| + Comment comment,
|
| + List<Annotation> metadata,
|
| + Token keyword,
|
| + TypeName type,
|
| + SimpleIdentifier identifier) =>
|
| + new SimpleFormalParameterImpl(
|
| + comment, metadata, keyword, type, identifier);
|
| +
|
| + @override
|
| + SimpleIdentifier simpleIdentifier(Token token, {bool isDeclaration: false}) {
|
| + if (isDeclaration) {
|
| + return new DeclaredSimpleIdentifier(token);
|
| + }
|
| + return new SimpleIdentifierImpl(token);
|
| + }
|
| +
|
| + @override
|
| + SimpleStringLiteral simpleStringLiteral(Token literal, String value) =>
|
| + new SimpleStringLiteralImpl(literal, value);
|
| +
|
| + @override
|
| + StringInterpolation stringInterpolation(
|
| + List<InterpolationElement> elements) =>
|
| + new StringInterpolationImpl(elements);
|
| +
|
| + @override
|
| + SuperConstructorInvocation superConstructorInvocation(
|
| + Token superKeyword,
|
| + Token period,
|
| + SimpleIdentifier constructorName,
|
| + ArgumentList argumentList) =>
|
| + new SuperConstructorInvocationImpl(
|
| + superKeyword, period, constructorName, argumentList);
|
| +
|
| + @override
|
| + SuperExpression superExpression(Token superKeyword) =>
|
| + new SuperExpressionImpl(superKeyword);
|
| +
|
| + @override
|
| + SwitchCase switchCase(List<Label> labels, Token keyword,
|
| + Expression expression, Token colon, List<Statement> statements) =>
|
| + new SwitchCaseImpl(labels, keyword, expression, colon, statements);
|
| +
|
| + @override
|
| + SwitchDefault switchDefault(List<Label> labels, Token keyword, Token colon,
|
| + List<Statement> statements) =>
|
| + new SwitchDefaultImpl(labels, keyword, colon, statements);
|
| + @override
|
| + SwitchStatement switchStatement(
|
| + Token switchKeyword,
|
| + Token leftParenthesis,
|
| + Expression expression,
|
| + Token rightParenthesis,
|
| + Token leftBracket,
|
| + List<SwitchMember> members,
|
| + Token rightBracket) =>
|
| + new SwitchStatementImpl(switchKeyword, leftParenthesis, expression,
|
| + rightParenthesis, leftBracket, members, rightBracket);
|
| +
|
| + @override
|
| + SymbolLiteral symbolLiteral(Token poundSign, List<Token> components) =>
|
| + new SymbolLiteralImpl(poundSign, components);
|
| +
|
| + @override
|
| + ThisExpression thisExpression(Token thisKeyword) =>
|
| + new ThisExpressionImpl(thisKeyword);
|
| +
|
| + @override
|
| + ThrowExpression throwExpression(Token throwKeyword, Expression expression) =>
|
| + new ThrowExpressionImpl(throwKeyword, expression);
|
| +
|
| + @override
|
| + TopLevelVariableDeclaration topLevelVariableDeclaration(
|
| + Comment comment,
|
| + List<Annotation> metadata,
|
| + VariableDeclarationList variableList,
|
| + Token semicolon) =>
|
| + new TopLevelVariableDeclarationImpl(
|
| + comment, metadata, variableList, semicolon);
|
| +
|
| + @override
|
| + TryStatement tryStatement(
|
| + Token tryKeyword,
|
| + Block body,
|
| + List<CatchClause> catchClauses,
|
| + Token finallyKeyword,
|
| + Block finallyBlock) =>
|
| + new TryStatementImpl(
|
| + tryKeyword, body, catchClauses, finallyKeyword, finallyBlock);
|
| +
|
| + @override
|
| + TypeArgumentList typeArgumentList(
|
| + Token leftBracket, List<TypeName> arguments, Token rightBracket) =>
|
| + new TypeArgumentListImpl(leftBracket, arguments, rightBracket);
|
| +
|
| + @override
|
| + TypeName typeName(Identifier name, TypeArgumentList typeArguments,
|
| + {Token question: null}) =>
|
| + new TypeNameImpl(name, typeArguments, question);
|
| +
|
| + @override
|
| + TypeParameter typeParameter(Comment comment, List<Annotation> metadata,
|
| + SimpleIdentifier name, Token extendsKeyword, TypeName bound) =>
|
| + new TypeParameterImpl(comment, metadata, name, extendsKeyword, bound);
|
| +
|
| + @override
|
| + TypeParameterList typeParameterList(Token leftBracket,
|
| + List<TypeParameter> typeParameters, Token rightBracket) =>
|
| + new TypeParameterListImpl(leftBracket, typeParameters, rightBracket);
|
| +
|
| + @override
|
| + VariableDeclaration variableDeclaration(
|
| + SimpleIdentifier name, Token equals, Expression initializer) =>
|
| + new VariableDeclarationImpl(name, equals, initializer);
|
| +
|
| + @override
|
| + VariableDeclarationList variableDeclarationList(
|
| + Comment comment,
|
| + List<Annotation> metadata,
|
| + Token keyword,
|
| + TypeName type,
|
| + List<VariableDeclaration> variables) =>
|
| + new VariableDeclarationListImpl(
|
| + comment, metadata, keyword, type, variables);
|
| +
|
| + @override
|
| + VariableDeclarationStatement variableDeclarationStatement(
|
| + VariableDeclarationList variableList, Token semicolon) =>
|
| + new VariableDeclarationStatementImpl(variableList, semicolon);
|
| +
|
| + @override
|
| + WhileStatement whileStatement(Token whileKeyword, Token leftParenthesis,
|
| + Expression condition, Token rightParenthesis, Statement body) =>
|
| + new WhileStatementImpl(
|
| + whileKeyword, leftParenthesis, condition, rightParenthesis, body);
|
| +
|
| + @override
|
| + WithClause withClause(Token withKeyword, List<TypeName> mixinTypes) =>
|
| + new WithClauseImpl(withKeyword, mixinTypes);
|
| +
|
| + @override
|
| + YieldStatement yieldStatement(Token yieldKeyword, Token star,
|
| + Expression expression, Token semicolon) =>
|
| + new YieldStatementImpl(yieldKeyword, star, expression, semicolon);
|
| +}
|
|
|