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

Unified Diff: pkg/analyzer/lib/src/dart/ast/ast_factory.dart

Issue 2522143003: Create a new AstFactory class to be used by analyzer and its clients. (Closed)
Patch Set: Address code review comments Created 4 years, 1 month 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/dart/ast/ast.dart ('k') | pkg/analyzer/lib/src/task/dart.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/lib/src/dart/ast/ast_factory.dart
diff --git a/pkg/analyzer/lib/src/dart/ast/ast_factory.dart b/pkg/analyzer/lib/src/dart/ast/ast_factory.dart
new file mode 100644
index 0000000000000000000000000000000000000000..16deeef354b8cc451ca2adde7a72eb0b1c5a64ca
--- /dev/null
+++ b/pkg/analyzer/lib/src/dart/ast/ast_factory.dart
@@ -0,0 +1,896 @@
+// 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/src/dart/ast/ast.dart';
+import 'package:analyzer/src/generated/utilities_dart.dart';
+import 'package:front_end/src/scanner/token.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
+ AssertInitializer assertInitializer(
+ Token assertKeyword,
+ Token leftParenthesis,
+ Expression condition,
+ Token comma,
+ Expression message,
+ Token rightParenthesis) =>
+ new AssertInitializerImpl(assertKeyword, leftParenthesis, condition,
+ comma, message, rightParenthesis);
+
+ @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,
+ 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);
+}
« no previous file with comments | « pkg/analyzer/lib/src/dart/ast/ast.dart ('k') | pkg/analyzer/lib/src/task/dart.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698