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

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

Issue 725143004: Format and sort analyzer and analysis_server packages. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 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/error_formatter.dart ('k') | pkg/analyzer/lib/src/generated/constant.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/lib/src/generated/ast.dart
diff --git a/pkg/analyzer/lib/src/generated/ast.dart b/pkg/analyzer/lib/src/generated/ast.dart
index ec3b73c80dd38e56fd893dbac5710c699895a4c1..999fd4c9ecf7d2b611a70515b8abde56618a1b81 100644
--- a/pkg/analyzer/lib/src/generated/ast.dart
+++ b/pkg/analyzer/lib/src/generated/ast.dart
@@ -8,16 +8,17 @@
library engine.ast;
import 'dart:collection';
+
+import 'constant.dart';
+import 'element.dart';
+import 'engine.dart' show AnalysisEngine;
import 'java_core.dart';
import 'java_engine.dart';
-import 'source.dart' show LineInfo, Source;
+import 'parser.dart';
import 'scanner.dart';
-import 'engine.dart' show AnalysisEngine;
-import 'utilities_dart.dart';
+import 'source.dart' show LineInfo, Source;
import 'utilities_collection.dart' show TokenMap;
-import 'element.dart';
-import 'constant.dart';
-import 'parser.dart';
+import 'utilities_dart.dart';
/**
* Instances of the class `AdjacentStrings` represents two or more string literals that are
@@ -47,9 +48,6 @@ class AdjacentStrings extends StringLiteral {
}
@override
- accept(AstVisitor visitor) => visitor.visitAdjacentStrings(this);
-
- @override
Token get beginToken => _strings.beginToken;
@override
@@ -63,9 +61,7 @@ class AdjacentStrings extends StringLiteral {
NodeList<StringLiteral> get strings => _strings;
@override
- void visitChildren(AstVisitor visitor) {
- _strings.accept(visitor);
- }
+ accept(AstVisitor visitor) => visitor.visitAdjacentStrings(this);
@override
void appendStringValue(StringBuffer buffer) {
@@ -73,6 +69,11 @@ class AdjacentStrings extends StringLiteral {
stringLiteral.appendStringValue(buffer);
}
}
+
+ @override
+ void visitChildren(AstVisitor visitor) {
+ _strings.accept(visitor);
+ }
}
/**
@@ -129,13 +130,6 @@ abstract class AnnotatedNode extends AstNode {
Comment get documentationComment => _comment;
/**
- * Return the annotations associated with this node.
- *
- * @return the annotations associated with this node
- */
- NodeList<Annotation> get metadata => _metadata;
-
- /**
* Set the documentation comment associated with this node to the given comment.
*
* @param comment the documentation comment to be associated with this node
@@ -145,6 +139,20 @@ abstract class AnnotatedNode extends AstNode {
}
/**
+ * Return the first token following the comment and metadata.
+ *
+ * @return the first token following the comment and metadata
+ */
+ Token get firstTokenAfterCommentAndMetadata;
+
+ /**
+ * Return the annotations associated with this node.
+ *
+ * @return the annotations associated with this node
+ */
+ NodeList<Annotation> get metadata => _metadata;
+
+ /**
* Set the metadata associated with this node to the given metadata.
*
* @param metadata the metadata to be associated with this node
@@ -154,6 +162,20 @@ abstract class AnnotatedNode extends AstNode {
_metadata.addAll(metadata);
}
+ /**
+ * Return an array containing the comment and annotations associated with this node, sorted in
+ * lexical order.
+ *
+ * @return the comment and annotations associated with this node in the order in which they
+ * appeared in the original source
+ */
+ List<AstNode> get sortedCommentAndAnnotations {
+ return <AstNode>[]
+ ..add(_comment)
+ ..addAll(_metadata)
+ ..sort(AstNode.LEXICAL_ORDER);
+ }
+
@override
void visitChildren(AstVisitor visitor) {
if (_commentIsBeforeAnnotations()) {
@@ -167,13 +189,6 @@ abstract class AnnotatedNode extends AstNode {
}
/**
- * Return the first token following the comment and metadata.
- *
- * @return the first token following the comment and metadata
- */
- Token get firstTokenAfterCommentAndMetadata;
-
- /**
* Return `true` if the comment is lexically before any annotations.
*
* @return `true` if the comment is lexically before any annotations
@@ -185,20 +200,6 @@ abstract class AnnotatedNode extends AstNode {
Annotation firstAnnotation = _metadata[0];
return _comment.offset < firstAnnotation.offset;
}
-
- /**
- * Return an array containing the comment and annotations associated with this node, sorted in
- * lexical order.
- *
- * @return the comment and annotations associated with this node in the order in which they
- * appeared in the original source
- */
- List<AstNode> get sortedCommentAndAnnotations {
- return <AstNode>[]
- ..add(_comment)
- ..addAll(_metadata)
- ..sort(AstNode.LEXICAL_ORDER);
- }
}
/**
@@ -267,15 +268,13 @@ class Annotation extends AstNode {
* @param arguments the arguments to the constructor being invoked, or `null` if this
* annotation is not the invocation of a constructor
*/
- Annotation(this.atSign, Identifier name, this.period, SimpleIdentifier constructorName, ArgumentList arguments) {
+ Annotation(this.atSign, Identifier name, this.period,
+ SimpleIdentifier constructorName, ArgumentList arguments) {
_name = becomeParentOf(name);
_constructorName = becomeParentOf(constructorName);
_arguments = becomeParentOf(arguments);
}
- @override
- accept(AstVisitor visitor) => visitor.visitAnnotation(this);
-
/**
* Return the arguments to the constructor being invoked, or `null` if this annotation is
* not the invocation of a constructor.
@@ -284,6 +283,15 @@ class Annotation extends AstNode {
*/
ArgumentList get arguments => _arguments;
+ /**
+ * Set the arguments to the constructor being invoked to the given arguments.
+ *
+ * @param arguments the arguments to the constructor being invoked
+ */
+ void set arguments(ArgumentList arguments) {
+ _arguments = becomeParentOf(arguments);
+ }
+
@override
Token get beginToken => atSign;
@@ -296,6 +304,15 @@ class Annotation extends AstNode {
SimpleIdentifier get constructorName => _constructorName;
/**
+ * Set the name of the constructor being invoked to the given name.
+ *
+ * @param constructorName the name of the constructor being invoked
+ */
+ void set constructorName(SimpleIdentifier constructorName) {
+ _constructorName = becomeParentOf(constructorName);
+ }
+
+ /**
* Return the element associated with this annotation, or `null` if the AST structure has
* not been resolved or if this annotation could not be resolved.
*
@@ -310,6 +327,15 @@ class Annotation extends AstNode {
return null;
}
+ /**
+ * Set the element associated with this annotation based.
+ *
+ * @param element the element to be associated with this identifier
+ */
+ void set element(Element element) {
+ _element = element;
+ }
+
@override
Token get endToken {
if (_arguments != null) {
@@ -329,33 +355,6 @@ class Annotation extends AstNode {
Identifier get name => _name;
/**
- * Set the arguments to the constructor being invoked to the given arguments.
- *
- * @param arguments the arguments to the constructor being invoked
- */
- void set arguments(ArgumentList arguments) {
- _arguments = becomeParentOf(arguments);
- }
-
- /**
- * Set the name of the constructor being invoked to the given name.
- *
- * @param constructorName the name of the constructor being invoked
- */
- void set constructorName(SimpleIdentifier constructorName) {
- _constructorName = becomeParentOf(constructorName);
- }
-
- /**
- * Set the element associated with this annotation based.
- *
- * @param element the element to be associated with this identifier
- */
- void set element(Element element) {
- _element = element;
- }
-
- /**
* Set the name of the class defining the constructor that is being invoked or the name of the
* field that is being referenced to the given name.
*
@@ -366,6 +365,9 @@ class Annotation extends AstNode {
}
@override
+ accept(AstVisitor visitor) => visitor.visitAnnotation(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_name, visitor);
safelyVisitChild(_constructorName, visitor);
@@ -427,13 +429,11 @@ class ArgumentList extends AstNode {
* @param arguments the expressions producing the values of the arguments
* @param rightParenthesis the right parenthesis
*/
- ArgumentList(this.leftParenthesis, List<Expression> arguments, this.rightParenthesis) {
+ ArgumentList(this.leftParenthesis, List<Expression> arguments,
+ this.rightParenthesis) {
_arguments = new NodeList<Expression>(this, arguments);
}
- @override
- accept(AstVisitor visitor) => visitor.visitArgumentList(this);
-
/**
* Return the expressions producing the values of the arguments. Although the language requires
* that positional arguments appear before named arguments, this class allows them to be
@@ -446,9 +446,6 @@ class ArgumentList extends AstNode {
@override
Token get beginToken => leftParenthesis;
- @override
- Token get endToken => rightParenthesis;
-
/**
* Set the parameter elements corresponding to each of the arguments in this list to the given
* array of parameters. The array of parameters must be the same length as the number of
@@ -457,9 +454,11 @@ class ArgumentList extends AstNode {
*
* @param parameters the parameter elements corresponding to the arguments
*/
- void set correspondingPropagatedParameters(List<ParameterElement> parameters) {
+ void set
+ correspondingPropagatedParameters(List<ParameterElement> parameters) {
if (parameters.length != _arguments.length) {
- throw new IllegalArgumentException("Expected ${_arguments.length} parameters, not ${parameters.length}");
+ throw new IllegalArgumentException(
+ "Expected ${_arguments.length} parameters, not ${parameters.length}");
}
_correspondingPropagatedParameters = parameters;
}
@@ -474,15 +473,17 @@ class ArgumentList extends AstNode {
*/
void set correspondingStaticParameters(List<ParameterElement> parameters) {
if (parameters.length != _arguments.length) {
- throw new IllegalArgumentException("Expected ${_arguments.length} parameters, not ${parameters.length}");
+ throw new IllegalArgumentException(
+ "Expected ${_arguments.length} parameters, not ${parameters.length}");
}
_correspondingStaticParameters = parameters;
}
@override
- void visitChildren(AstVisitor visitor) {
- _arguments.accept(visitor);
- }
+ Token get endToken => rightParenthesis;
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitArgumentList(this);
/**
* If the given expression is a child of this list, and the AST structure has been resolved, and
@@ -499,8 +500,8 @@ class ArgumentList extends AstNode {
*/
ParameterElement getPropagatedParameterElementFor(Expression expression) {
if (_correspondingPropagatedParameters == null) {
- // Either the AST structure has not been resolved or the invocation of which this list is a
- // part could not be resolved.
+ // Either the AST structure has not been resolved or the invocation
+ // of which this list is a part could not be resolved.
return null;
}
int index = _arguments.indexOf(expression);
@@ -526,8 +527,8 @@ class ArgumentList extends AstNode {
*/
ParameterElement getStaticParameterElementFor(Expression expression) {
if (_correspondingStaticParameters == null) {
- // Either the AST structure has not been resolved or the invocation of which this list is a
- // part could not be resolved.
+ // Either the AST structure has not been resolved or the invocation
+ // of which this list is a part could not be resolved.
return null;
}
int index = _arguments.indexOf(expression);
@@ -537,6 +538,11 @@ class ArgumentList extends AstNode {
}
return _correspondingStaticParameters[index];
}
+
+ @override
+ void visitChildren(AstVisitor visitor) {
+ _arguments.accept(visitor);
+ }
}
/**
@@ -576,9 +582,6 @@ class AsExpression extends Expression {
}
@override
- accept(AstVisitor visitor) => visitor.visitAsExpression(this);
-
- @override
Token get beginToken => _expression.beginToken;
@override
@@ -591,6 +594,15 @@ class AsExpression extends Expression {
*/
Expression get expression => _expression;
+ /**
+ * Set the expression used to compute the value being cast to the given expression.
+ *
+ * @param expression the expression used to compute the value being cast
+ */
+ void set expression(Expression expression) {
+ _expression = becomeParentOf(expression);
+ }
+
@override
int get precedence => 7;
@@ -602,15 +614,6 @@ class AsExpression extends Expression {
TypeName get type => _type;
/**
- * Set the expression used to compute the value being cast to the given expression.
- *
- * @param expression the expression used to compute the value being cast
- */
- void set expression(Expression expression) {
- _expression = becomeParentOf(expression);
- }
-
- /**
* Set the name of the type being cast to to the given name.
*
* @param name the name of the type being cast to
@@ -620,6 +623,9 @@ class AsExpression extends Expression {
}
@override
+ accept(AstVisitor visitor) => visitor.visitAsExpression(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_expression, visitor);
safelyVisitChild(_type, visitor);
@@ -669,14 +675,12 @@ class AssertStatement extends Statement {
* @param rightParenthesis the right parenthesis
* @param semicolon the semicolon terminating the statement
*/
- AssertStatement(this.keyword, this.leftParenthesis, Expression condition, this.rightParenthesis, this.semicolon) {
+ AssertStatement(this.keyword, this.leftParenthesis, Expression condition,
+ this.rightParenthesis, this.semicolon) {
_condition = becomeParentOf(condition);
}
@override
- accept(AstVisitor visitor) => visitor.visitAssertStatement(this);
-
- @override
Token get beginToken => keyword;
/**
@@ -686,9 +690,6 @@ class AssertStatement extends Statement {
*/
Expression get condition => _condition;
- @override
- Token get endToken => semicolon;
-
/**
* Set the condition that is being asserted to be `true` to the given expression.
*
@@ -699,6 +700,12 @@ class AssertStatement extends Statement {
}
@override
+ Token get endToken => semicolon;
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitAssertStatement(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_condition, visitor);
}
@@ -749,7 +756,8 @@ class AssignmentExpression extends Expression {
* @param operator the assignment operator being applied
* @param rightHandSide the expression used to compute the right hand side
*/
- AssignmentExpression(Expression leftHandSide, this.operator, Expression rightHandSide) {
+ AssignmentExpression(Expression leftHandSide, this.operator,
+ Expression rightHandSide) {
if (leftHandSide == null || rightHandSide == null) {
String message;
if (leftHandSide == null) {
@@ -770,9 +778,6 @@ class AssignmentExpression extends Expression {
}
@override
- accept(AstVisitor visitor) => visitor.visitAssignmentExpression(this);
-
- @override
Token get beginToken => _leftHandSide.beginToken;
/**
@@ -801,16 +806,6 @@ class AssignmentExpression extends Expression {
*/
Expression get leftHandSide => _leftHandSide;
- @override
- int get precedence => 1;
-
- /**
- * Return the expression used to compute the right hand side.
- *
- * @return the expression used to compute the right hand side
- */
- Expression get rightHandSide => _rightHandSide;
-
/**
* Return the expression used to compute the left hand side.
*
@@ -820,20 +815,8 @@ class AssignmentExpression extends Expression {
_leftHandSide = becomeParentOf(expression);
}
- /**
- * Set the expression used to compute the left hand side to the given expression.
- *
- * @param expression the expression used to compute the left hand side
- */
- void set rightHandSide(Expression expression) {
- _rightHandSide = becomeParentOf(expression);
- }
-
@override
- void visitChildren(AstVisitor visitor) {
- safelyVisitChild(_leftHandSide, visitor);
- safelyVisitChild(_rightHandSide, visitor);
- }
+ int get precedence => 1;
/**
* If the AST structure has been resolved, and the function being invoked is known based on
@@ -858,7 +841,8 @@ class AssignmentExpression extends Expression {
}
}
if (_leftHandSide is PropertyAccess) {
- SimpleIdentifier identifier = (_leftHandSide as PropertyAccess).propertyName;
+ SimpleIdentifier identifier =
+ (_leftHandSide as PropertyAccess).propertyName;
Element leftElement = identifier.propagatedElement;
if (leftElement is ExecutableElement) {
executableElement = leftElement;
@@ -876,6 +860,22 @@ class AssignmentExpression extends Expression {
}
/**
+ * Return the expression used to compute the right hand side.
+ *
+ * @return the expression used to compute the right hand side
+ */
+ Expression get rightHandSide => _rightHandSide;
+
+ /**
+ * Set the expression used to compute the left hand side to the given expression.
+ *
+ * @param expression the expression used to compute the left hand side
+ */
+ void set rightHandSide(Expression expression) {
+ _rightHandSide = becomeParentOf(expression);
+ }
+
+ /**
* If the AST structure has been resolved, and the function being invoked is known based on static
* type information, then return the parameter element representing the parameter to which the
* value of the right operand will be bound. Otherwise, return `null`.
@@ -897,7 +897,8 @@ class AssignmentExpression extends Expression {
}
}
if (_leftHandSide is PropertyAccess) {
- Element leftElement = (_leftHandSide as PropertyAccess).propertyName.staticElement;
+ Element leftElement =
+ (_leftHandSide as PropertyAccess).propertyName.staticElement;
if (leftElement is ExecutableElement) {
executableElement = leftElement;
}
@@ -912,6 +913,15 @@ class AssignmentExpression extends Expression {
}
return parameters[0];
}
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitAssignmentExpression(this);
+
+ @override
+ void visitChildren(AstVisitor visitor) {
+ safelyVisitChild(_leftHandSide, visitor);
+ safelyVisitChild(_rightHandSide, visitor);
+ }
}
/**
@@ -977,12 +987,12 @@ class AstCloner implements AstVisitor<AstNode> {
}
@override
- AdjacentStrings visitAdjacentStrings(AdjacentStrings node)
- => new AdjacentStrings(cloneNodeList(node.strings));
+ AdjacentStrings visitAdjacentStrings(AdjacentStrings node) =>
+ new AdjacentStrings(cloneNodeList(node.strings));
@override
- Annotation visitAnnotation(Annotation node)
- => new Annotation(
+ Annotation visitAnnotation(Annotation node) =>
+ new Annotation(
cloneToken(node.atSign),
cloneNode(node.name),
cloneToken(node.period),
@@ -990,22 +1000,22 @@ class AstCloner implements AstVisitor<AstNode> {
cloneNode(node.arguments));
@override
- ArgumentList visitArgumentList(ArgumentList node)
- => new ArgumentList(
+ ArgumentList visitArgumentList(ArgumentList node) =>
+ new ArgumentList(
cloneToken(node.leftParenthesis),
cloneNodeList(node.arguments),
cloneToken(node.rightParenthesis));
@override
- AsExpression visitAsExpression(AsExpression node)
- => new AsExpression(
+ AsExpression visitAsExpression(AsExpression node) =>
+ new AsExpression(
cloneNode(node.expression),
cloneToken(node.asOperator),
cloneNode(node.type));
@override
- AstNode visitAssertStatement(AssertStatement node)
- => new AssertStatement(
+ AstNode visitAssertStatement(AssertStatement node) =>
+ new AssertStatement(
cloneToken(node.keyword),
cloneToken(node.leftParenthesis),
cloneNode(node.condition),
@@ -1013,59 +1023,57 @@ class AstCloner implements AstVisitor<AstNode> {
cloneToken(node.semicolon));
@override
- AssignmentExpression visitAssignmentExpression(AssignmentExpression node)
- => new AssignmentExpression(
+ AssignmentExpression visitAssignmentExpression(AssignmentExpression node) =>
+ new AssignmentExpression(
cloneNode(node.leftHandSide),
cloneToken(node.operator),
cloneNode(node.rightHandSide));
@override
- AwaitExpression visitAwaitExpression(AwaitExpression node)
- => new AwaitExpression(
- cloneToken(node.awaitKeyword),
- cloneNode(node.expression));
+ AwaitExpression visitAwaitExpression(AwaitExpression node) =>
+ new AwaitExpression(cloneToken(node.awaitKeyword), cloneNode(node.expression));
@override
- BinaryExpression visitBinaryExpression(BinaryExpression node)
- => new BinaryExpression(
+ BinaryExpression visitBinaryExpression(BinaryExpression node) =>
+ new BinaryExpression(
cloneNode(node.leftOperand),
cloneToken(node.operator),
cloneNode(node.rightOperand));
@override
- Block visitBlock(Block node)
- => new Block(
+ Block visitBlock(Block node) =>
+ new Block(
cloneToken(node.leftBracket),
cloneNodeList(node.statements),
cloneToken(node.rightBracket));
@override
- BlockFunctionBody visitBlockFunctionBody(BlockFunctionBody node)
- => new BlockFunctionBody(
+ BlockFunctionBody visitBlockFunctionBody(BlockFunctionBody node) =>
+ new BlockFunctionBody(
cloneToken(node.keyword),
cloneToken(node.star),
cloneNode(node.block));
@override
- BooleanLiteral visitBooleanLiteral(BooleanLiteral node)
- => new BooleanLiteral(cloneToken(node.literal), node.value);
+ BooleanLiteral visitBooleanLiteral(BooleanLiteral node) =>
+ new BooleanLiteral(cloneToken(node.literal), node.value);
@override
- BreakStatement visitBreakStatement(BreakStatement node)
- => new BreakStatement(
+ BreakStatement visitBreakStatement(BreakStatement node) =>
+ new BreakStatement(
cloneToken(node.keyword),
cloneNode(node.label),
cloneToken(node.semicolon));
@override
- CascadeExpression visitCascadeExpression(CascadeExpression node)
- => new CascadeExpression(
+ CascadeExpression visitCascadeExpression(CascadeExpression node) =>
+ new CascadeExpression(
cloneNode(node.target),
cloneNodeList(node.cascadeSections));
@override
- CatchClause visitCatchClause(CatchClause node)
- => new CatchClause(
+ CatchClause visitCatchClause(CatchClause node) =>
+ new CatchClause(
cloneToken(node.onKeyword),
cloneNode(node.exceptionType),
cloneToken(node.catchKeyword),
@@ -1096,8 +1104,8 @@ class AstCloner implements AstVisitor<AstNode> {
}
@override
- ClassTypeAlias visitClassTypeAlias(ClassTypeAlias node)
- => new ClassTypeAlias(
+ ClassTypeAlias visitClassTypeAlias(ClassTypeAlias node) =>
+ new ClassTypeAlias(
cloneNode(node.documentationComment),
cloneNodeList(node.metadata),
cloneToken(node.keyword),
@@ -1123,10 +1131,8 @@ class AstCloner implements AstVisitor<AstNode> {
}
@override
- CommentReference visitCommentReference(CommentReference node)
- => new CommentReference(
- cloneToken(node.newKeyword),
- cloneNode(node.identifier));
+ CommentReference visitCommentReference(CommentReference node) =>
+ new CommentReference(cloneToken(node.newKeyword), cloneNode(node.identifier));
@override
CompilationUnit visitCompilationUnit(CompilationUnit node) {
@@ -1141,8 +1147,9 @@ class AstCloner implements AstVisitor<AstNode> {
}
@override
- ConditionalExpression visitConditionalExpression(ConditionalExpression node)
- => new ConditionalExpression(
+ ConditionalExpression
+ visitConditionalExpression(ConditionalExpression node) =>
+ new ConditionalExpression(
cloneNode(node.condition),
cloneToken(node.question),
cloneNode(node.thenExpression),
@@ -1150,8 +1157,9 @@ class AstCloner implements AstVisitor<AstNode> {
cloneNode(node.elseExpression));
@override
- ConstructorDeclaration visitConstructorDeclaration(ConstructorDeclaration node)
- => new ConstructorDeclaration(
+ ConstructorDeclaration
+ visitConstructorDeclaration(ConstructorDeclaration node) =>
+ new ConstructorDeclaration(
cloneNode(node.documentationComment),
cloneNodeList(node.metadata),
cloneToken(node.externalKeyword),
@@ -1167,8 +1175,9 @@ class AstCloner implements AstVisitor<AstNode> {
cloneNode(node.body));
@override
- ConstructorFieldInitializer visitConstructorFieldInitializer(ConstructorFieldInitializer node)
- => new ConstructorFieldInitializer(
+ ConstructorFieldInitializer
+ visitConstructorFieldInitializer(ConstructorFieldInitializer node) =>
+ new ConstructorFieldInitializer(
cloneToken(node.keyword),
cloneToken(node.period),
cloneNode(node.fieldName),
@@ -1176,22 +1185,22 @@ class AstCloner implements AstVisitor<AstNode> {
cloneNode(node.expression));
@override
- ConstructorName visitConstructorName(ConstructorName node)
- => new ConstructorName(
+ ConstructorName visitConstructorName(ConstructorName node) =>
+ new ConstructorName(
cloneNode(node.type),
cloneToken(node.period),
cloneNode(node.name));
@override
- ContinueStatement visitContinueStatement(ContinueStatement node)
- => new ContinueStatement(
+ ContinueStatement visitContinueStatement(ContinueStatement node) =>
+ new ContinueStatement(
cloneToken(node.keyword),
cloneNode(node.label),
cloneToken(node.semicolon));
@override
- DeclaredIdentifier visitDeclaredIdentifier(DeclaredIdentifier node)
- => new DeclaredIdentifier(
+ DeclaredIdentifier visitDeclaredIdentifier(DeclaredIdentifier node) =>
+ new DeclaredIdentifier(
cloneNode(node.documentationComment),
cloneNodeList(node.metadata),
cloneToken(node.keyword),
@@ -1199,16 +1208,17 @@ class AstCloner implements AstVisitor<AstNode> {
cloneNode(node.identifier));
@override
- DefaultFormalParameter visitDefaultFormalParameter(DefaultFormalParameter node)
- => new DefaultFormalParameter(
+ DefaultFormalParameter
+ visitDefaultFormalParameter(DefaultFormalParameter node) =>
+ new DefaultFormalParameter(
cloneNode(node.parameter),
node.kind,
cloneToken(node.separator),
cloneNode(node.defaultValue));
@override
- DoStatement visitDoStatement(DoStatement node)
- => new DoStatement(
+ DoStatement visitDoStatement(DoStatement node) =>
+ new DoStatement(
cloneToken(node.doKeyword),
cloneNode(node.body),
cloneToken(node.whileKeyword),
@@ -1218,27 +1228,27 @@ class AstCloner implements AstVisitor<AstNode> {
cloneToken(node.semicolon));
@override
- DoubleLiteral visitDoubleLiteral(DoubleLiteral node)
- => new DoubleLiteral(cloneToken(node.literal), node.value);
+ DoubleLiteral visitDoubleLiteral(DoubleLiteral node) =>
+ new DoubleLiteral(cloneToken(node.literal), node.value);
@override
- EmptyFunctionBody visitEmptyFunctionBody(EmptyFunctionBody node)
- => new EmptyFunctionBody(cloneToken(node.semicolon));
+ EmptyFunctionBody visitEmptyFunctionBody(EmptyFunctionBody node) =>
+ new EmptyFunctionBody(cloneToken(node.semicolon));
@override
- EmptyStatement visitEmptyStatement(EmptyStatement node)
- => new EmptyStatement(cloneToken(node.semicolon));
+ EmptyStatement visitEmptyStatement(EmptyStatement node) =>
+ new EmptyStatement(cloneToken(node.semicolon));
@override
- AstNode visitEnumConstantDeclaration(EnumConstantDeclaration node)
- => new EnumConstantDeclaration(
+ AstNode visitEnumConstantDeclaration(EnumConstantDeclaration node) =>
+ new EnumConstantDeclaration(
cloneNode(node.documentationComment),
cloneNodeList(node.metadata),
cloneNode(node.name));
@override
- EnumDeclaration visitEnumDeclaration(EnumDeclaration node)
- => new EnumDeclaration(
+ EnumDeclaration visitEnumDeclaration(EnumDeclaration node) =>
+ new EnumDeclaration(
cloneNode(node.documentationComment),
cloneNodeList(node.metadata),
cloneToken(node.keyword),
@@ -1262,28 +1272,25 @@ class AstCloner implements AstVisitor<AstNode> {
}
@override
- ExpressionFunctionBody visitExpressionFunctionBody(ExpressionFunctionBody node)
- => new ExpressionFunctionBody(
+ ExpressionFunctionBody
+ visitExpressionFunctionBody(ExpressionFunctionBody node) =>
+ new ExpressionFunctionBody(
cloneToken(node.keyword),
cloneToken(node.functionDefinition),
cloneNode(node.expression),
cloneToken(node.semicolon));
@override
- ExpressionStatement visitExpressionStatement(ExpressionStatement node)
- => new ExpressionStatement(
- cloneNode(node.expression),
- cloneToken(node.semicolon));
+ ExpressionStatement visitExpressionStatement(ExpressionStatement node) =>
+ new ExpressionStatement(cloneNode(node.expression), cloneToken(node.semicolon));
@override
- ExtendsClause visitExtendsClause(ExtendsClause node)
- => new ExtendsClause(
- cloneToken(node.keyword),
- cloneNode(node.superclass));
+ ExtendsClause visitExtendsClause(ExtendsClause node) =>
+ new ExtendsClause(cloneToken(node.keyword), cloneNode(node.superclass));
@override
- FieldDeclaration visitFieldDeclaration(FieldDeclaration node)
- => new FieldDeclaration(
+ FieldDeclaration visitFieldDeclaration(FieldDeclaration node) =>
+ new FieldDeclaration(
cloneNode(node.documentationComment),
cloneNodeList(node.metadata),
cloneToken(node.staticKeyword),
@@ -1291,8 +1298,8 @@ class AstCloner implements AstVisitor<AstNode> {
cloneToken(node.semicolon));
@override
- FieldFormalParameter visitFieldFormalParameter(FieldFormalParameter node)
- => new FieldFormalParameter(
+ FieldFormalParameter visitFieldFormalParameter(FieldFormalParameter node) =>
+ new FieldFormalParameter(
cloneNode(node.documentationComment),
cloneNodeList(node.metadata),
cloneToken(node.keyword),
@@ -1328,8 +1335,8 @@ class AstCloner implements AstVisitor<AstNode> {
}
@override
- FormalParameterList visitFormalParameterList(FormalParameterList node)
- => new FormalParameterList(
+ FormalParameterList visitFormalParameterList(FormalParameterList node) =>
+ new FormalParameterList(
cloneToken(node.leftParenthesis),
cloneNodeList(node.parameters),
cloneToken(node.leftDelimiter),
@@ -1337,8 +1344,8 @@ class AstCloner implements AstVisitor<AstNode> {
cloneToken(node.rightParenthesis));
@override
- ForStatement visitForStatement(ForStatement node)
- => new ForStatement(
+ ForStatement visitForStatement(ForStatement node) =>
+ new ForStatement(
cloneToken(node.forKeyword),
cloneToken(node.leftParenthesis),
cloneNode(node.variables),
@@ -1351,8 +1358,8 @@ class AstCloner implements AstVisitor<AstNode> {
cloneNode(node.body));
@override
- FunctionDeclaration visitFunctionDeclaration(FunctionDeclaration node)
- => new FunctionDeclaration(
+ FunctionDeclaration visitFunctionDeclaration(FunctionDeclaration node) =>
+ new FunctionDeclaration(
cloneNode(node.documentationComment),
cloneNodeList(node.metadata),
cloneToken(node.externalKeyword),
@@ -1362,24 +1369,24 @@ class AstCloner implements AstVisitor<AstNode> {
cloneNode(node.functionExpression));
@override
- FunctionDeclarationStatement visitFunctionDeclarationStatement(FunctionDeclarationStatement node)
- => new FunctionDeclarationStatement(cloneNode(node.functionDeclaration));
+ FunctionDeclarationStatement
+ visitFunctionDeclarationStatement(FunctionDeclarationStatement node) =>
+ new FunctionDeclarationStatement(cloneNode(node.functionDeclaration));
@override
- FunctionExpression visitFunctionExpression(FunctionExpression node)
- => new FunctionExpression(
- cloneNode(node.parameters),
- cloneNode(node.body));
+ FunctionExpression visitFunctionExpression(FunctionExpression node) =>
+ new FunctionExpression(cloneNode(node.parameters), cloneNode(node.body));
@override
- FunctionExpressionInvocation visitFunctionExpressionInvocation(FunctionExpressionInvocation node)
- => new FunctionExpressionInvocation(
+ FunctionExpressionInvocation
+ visitFunctionExpressionInvocation(FunctionExpressionInvocation node) =>
+ new FunctionExpressionInvocation(
cloneNode(node.function),
cloneNode(node.argumentList));
@override
- FunctionTypeAlias visitFunctionTypeAlias(FunctionTypeAlias node)
- => new FunctionTypeAlias(
+ FunctionTypeAlias visitFunctionTypeAlias(FunctionTypeAlias node) =>
+ new FunctionTypeAlias(
cloneNode(node.documentationComment),
cloneNodeList(node.metadata),
cloneToken(node.keyword),
@@ -1390,8 +1397,9 @@ class AstCloner implements AstVisitor<AstNode> {
cloneToken(node.semicolon));
@override
- FunctionTypedFormalParameter visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node)
- => new FunctionTypedFormalParameter(
+ FunctionTypedFormalParameter
+ visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) =>
+ new FunctionTypedFormalParameter(
cloneNode(node.documentationComment),
cloneNodeList(node.metadata),
cloneNode(node.returnType),
@@ -1399,14 +1407,12 @@ class AstCloner implements AstVisitor<AstNode> {
cloneNode(node.parameters));
@override
- HideCombinator visitHideCombinator(HideCombinator node)
- => new HideCombinator(
- cloneToken(node.keyword),
- cloneNodeList(node.hiddenNames));
+ HideCombinator visitHideCombinator(HideCombinator node) =>
+ new HideCombinator(cloneToken(node.keyword), cloneNodeList(node.hiddenNames));
@override
- IfStatement visitIfStatement(IfStatement node)
- => new IfStatement(
+ IfStatement visitIfStatement(IfStatement node) =>
+ new IfStatement(
cloneToken(node.ifKeyword),
cloneToken(node.leftParenthesis),
cloneNode(node.condition),
@@ -1416,10 +1422,8 @@ class AstCloner implements AstVisitor<AstNode> {
cloneNode(node.elseStatement));
@override
- ImplementsClause visitImplementsClause(ImplementsClause node)
- => new ImplementsClause(
- cloneToken(node.keyword),
- cloneNodeList(node.interfaces));
+ ImplementsClause visitImplementsClause(ImplementsClause node) =>
+ new ImplementsClause(cloneToken(node.keyword), cloneNodeList(node.interfaces));
@override
ImportDirective visitImportDirective(ImportDirective node) {
@@ -1457,48 +1461,48 @@ class AstCloner implements AstVisitor<AstNode> {
}
@override
- InstanceCreationExpression visitInstanceCreationExpression(InstanceCreationExpression node)
- => new InstanceCreationExpression(
+ InstanceCreationExpression
+ visitInstanceCreationExpression(InstanceCreationExpression node) =>
+ new InstanceCreationExpression(
cloneToken(node.keyword),
cloneNode(node.constructorName),
cloneNode(node.argumentList));
@override
- IntegerLiteral visitIntegerLiteral(IntegerLiteral node)
- => new IntegerLiteral(cloneToken(node.literal), node.value);
+ IntegerLiteral visitIntegerLiteral(IntegerLiteral node) =>
+ new IntegerLiteral(cloneToken(node.literal), node.value);
@override
- InterpolationExpression visitInterpolationExpression(InterpolationExpression node)
- => new InterpolationExpression(
+ InterpolationExpression
+ visitInterpolationExpression(InterpolationExpression node) =>
+ new InterpolationExpression(
cloneToken(node.leftBracket),
cloneNode(node.expression),
cloneToken(node.rightBracket));
@override
- InterpolationString visitInterpolationString(InterpolationString node)
- => new InterpolationString(cloneToken(node.contents), node.value);
+ InterpolationString visitInterpolationString(InterpolationString node) =>
+ new InterpolationString(cloneToken(node.contents), node.value);
@override
- IsExpression visitIsExpression(IsExpression node)
- => new IsExpression(
+ IsExpression visitIsExpression(IsExpression node) =>
+ new IsExpression(
cloneNode(node.expression),
cloneToken(node.isOperator),
cloneToken(node.notOperator),
cloneNode(node.type));
@override
- Label visitLabel(Label node)
- => new Label(cloneNode(node.label), cloneToken(node.colon));
+ Label visitLabel(Label node) =>
+ new Label(cloneNode(node.label), cloneToken(node.colon));
@override
- LabeledStatement visitLabeledStatement(LabeledStatement node)
- => new LabeledStatement(
- cloneNodeList(node.labels),
- cloneNode(node.statement));
+ LabeledStatement visitLabeledStatement(LabeledStatement node) =>
+ new LabeledStatement(cloneNodeList(node.labels), cloneNode(node.statement));
@override
- LibraryDirective visitLibraryDirective(LibraryDirective node)
- => new LibraryDirective(
+ LibraryDirective visitLibraryDirective(LibraryDirective node) =>
+ new LibraryDirective(
cloneNode(node.documentationComment),
cloneNodeList(node.metadata),
cloneToken(node.libraryToken),
@@ -1506,12 +1510,12 @@ class AstCloner implements AstVisitor<AstNode> {
cloneToken(node.semicolon));
@override
- LibraryIdentifier visitLibraryIdentifier(LibraryIdentifier node)
- => new LibraryIdentifier(cloneNodeList(node.components));
+ LibraryIdentifier visitLibraryIdentifier(LibraryIdentifier node) =>
+ new LibraryIdentifier(cloneNodeList(node.components));
@override
- ListLiteral visitListLiteral(ListLiteral node)
- => new ListLiteral(
+ ListLiteral visitListLiteral(ListLiteral node) =>
+ new ListLiteral(
cloneToken(node.constKeyword),
cloneNode(node.typeArguments),
cloneToken(node.leftBracket),
@@ -1519,8 +1523,8 @@ class AstCloner implements AstVisitor<AstNode> {
cloneToken(node.rightBracket));
@override
- MapLiteral visitMapLiteral(MapLiteral node)
- => new MapLiteral(
+ MapLiteral visitMapLiteral(MapLiteral node) =>
+ new MapLiteral(
cloneToken(node.constKeyword),
cloneNode(node.typeArguments),
cloneToken(node.leftBracket),
@@ -1528,15 +1532,15 @@ class AstCloner implements AstVisitor<AstNode> {
cloneToken(node.rightBracket));
@override
- MapLiteralEntry visitMapLiteralEntry(MapLiteralEntry node)
- => new MapLiteralEntry(
+ MapLiteralEntry visitMapLiteralEntry(MapLiteralEntry node) =>
+ new MapLiteralEntry(
cloneNode(node.key),
cloneToken(node.separator),
cloneNode(node.value));
@override
- MethodDeclaration visitMethodDeclaration(MethodDeclaration node)
- => new MethodDeclaration(
+ MethodDeclaration visitMethodDeclaration(MethodDeclaration node) =>
+ new MethodDeclaration(
cloneNode(node.documentationComment),
cloneNodeList(node.metadata),
cloneToken(node.externalKeyword),
@@ -1549,35 +1553,36 @@ class AstCloner implements AstVisitor<AstNode> {
cloneNode(node.body));
@override
- MethodInvocation visitMethodInvocation(MethodInvocation node)
- => new MethodInvocation(
+ MethodInvocation visitMethodInvocation(MethodInvocation node) =>
+ new MethodInvocation(
cloneNode(node.target),
cloneToken(node.period),
cloneNode(node.methodName),
cloneNode(node.argumentList));
@override
- NamedExpression visitNamedExpression(NamedExpression node)
- => new NamedExpression(cloneNode(node.name), cloneNode(node.expression));
+ NamedExpression visitNamedExpression(NamedExpression node) =>
+ new NamedExpression(cloneNode(node.name), cloneNode(node.expression));
@override
- AstNode visitNativeClause(NativeClause node)
- => new NativeClause(cloneToken(node.keyword), cloneNode(node.name));
+ AstNode visitNativeClause(NativeClause node) =>
+ new NativeClause(cloneToken(node.keyword), cloneNode(node.name));
@override
- NativeFunctionBody visitNativeFunctionBody(NativeFunctionBody node)
- => new NativeFunctionBody(
+ NativeFunctionBody visitNativeFunctionBody(NativeFunctionBody node) =>
+ new NativeFunctionBody(
cloneToken(node.nativeToken),
cloneNode(node.stringLiteral),
cloneToken(node.semicolon));
@override
- NullLiteral visitNullLiteral(NullLiteral node)
- => new NullLiteral(cloneToken(node.literal));
+ NullLiteral visitNullLiteral(NullLiteral node) =>
+ new NullLiteral(cloneToken(node.literal));
@override
- ParenthesizedExpression visitParenthesizedExpression(ParenthesizedExpression node)
- => new ParenthesizedExpression(
+ ParenthesizedExpression
+ visitParenthesizedExpression(ParenthesizedExpression node) =>
+ new ParenthesizedExpression(
cloneToken(node.leftParenthesis),
cloneNode(node.expression),
cloneToken(node.rightParenthesis));
@@ -1596,8 +1601,8 @@ class AstCloner implements AstVisitor<AstNode> {
}
@override
- PartOfDirective visitPartOfDirective(PartOfDirective node)
- => new PartOfDirective(
+ PartOfDirective visitPartOfDirective(PartOfDirective node) =>
+ new PartOfDirective(
cloneNode(node.documentationComment),
cloneNodeList(node.metadata),
cloneToken(node.partToken),
@@ -1606,63 +1611,59 @@ class AstCloner implements AstVisitor<AstNode> {
cloneToken(node.semicolon));
@override
- PostfixExpression visitPostfixExpression(PostfixExpression node)
- => new PostfixExpression(
- cloneNode(node.operand),
- cloneToken(node.operator));
+ PostfixExpression visitPostfixExpression(PostfixExpression node) =>
+ new PostfixExpression(cloneNode(node.operand), cloneToken(node.operator));
@override
- PrefixedIdentifier visitPrefixedIdentifier(PrefixedIdentifier node)
- => new PrefixedIdentifier(
+ PrefixedIdentifier visitPrefixedIdentifier(PrefixedIdentifier node) =>
+ new PrefixedIdentifier(
cloneNode(node.prefix),
cloneToken(node.period),
cloneNode(node.identifier));
@override
- PrefixExpression visitPrefixExpression(PrefixExpression node)
- => new PrefixExpression(
- cloneToken(node.operator),
- cloneNode(node.operand));
+ PrefixExpression visitPrefixExpression(PrefixExpression node) =>
+ new PrefixExpression(cloneToken(node.operator), cloneNode(node.operand));
@override
- PropertyAccess visitPropertyAccess(PropertyAccess node)
- => new PropertyAccess(
+ PropertyAccess visitPropertyAccess(PropertyAccess node) =>
+ new PropertyAccess(
cloneNode(node.target),
cloneToken(node.operator),
cloneNode(node.propertyName));
@override
- RedirectingConstructorInvocation visitRedirectingConstructorInvocation(RedirectingConstructorInvocation node)
- => new RedirectingConstructorInvocation(
+ RedirectingConstructorInvocation
+ visitRedirectingConstructorInvocation(RedirectingConstructorInvocation node) =>
+ new RedirectingConstructorInvocation(
cloneToken(node.keyword),
cloneToken(node.period),
cloneNode(node.constructorName),
cloneNode(node.argumentList));
@override
- RethrowExpression visitRethrowExpression(RethrowExpression node)
- => new RethrowExpression(cloneToken(node.keyword));
+ RethrowExpression visitRethrowExpression(RethrowExpression node) =>
+ new RethrowExpression(cloneToken(node.keyword));
@override
- ReturnStatement visitReturnStatement(ReturnStatement node)
- => new ReturnStatement(
+ ReturnStatement visitReturnStatement(ReturnStatement node) =>
+ new ReturnStatement(
cloneToken(node.keyword),
cloneNode(node.expression),
cloneToken(node.semicolon));
@override
- ScriptTag visitScriptTag(ScriptTag node)
- => new ScriptTag(cloneToken(node.scriptTag));
+ ScriptTag visitScriptTag(ScriptTag node) =>
+ new ScriptTag(cloneToken(node.scriptTag));
@override
- ShowCombinator visitShowCombinator(ShowCombinator node)
- => new ShowCombinator(
- cloneToken(node.keyword),
- cloneNodeList(node.shownNames));
+ ShowCombinator visitShowCombinator(ShowCombinator node) =>
+ new ShowCombinator(cloneToken(node.keyword), cloneNodeList(node.shownNames));
@override
- SimpleFormalParameter visitSimpleFormalParameter(SimpleFormalParameter node)
- => new SimpleFormalParameter(
+ SimpleFormalParameter
+ visitSimpleFormalParameter(SimpleFormalParameter node) =>
+ new SimpleFormalParameter(
cloneNode(node.documentationComment),
cloneNodeList(node.metadata),
cloneToken(node.keyword),
@@ -1670,32 +1671,33 @@ class AstCloner implements AstVisitor<AstNode> {
cloneNode(node.identifier));
@override
- SimpleIdentifier visitSimpleIdentifier(SimpleIdentifier node)
- => new SimpleIdentifier(cloneToken(node.token));
+ SimpleIdentifier visitSimpleIdentifier(SimpleIdentifier node) =>
+ new SimpleIdentifier(cloneToken(node.token));
@override
- SimpleStringLiteral visitSimpleStringLiteral(SimpleStringLiteral node)
- => new SimpleStringLiteral(cloneToken(node.literal), node.value);
+ SimpleStringLiteral visitSimpleStringLiteral(SimpleStringLiteral node) =>
+ new SimpleStringLiteral(cloneToken(node.literal), node.value);
@override
- StringInterpolation visitStringInterpolation(StringInterpolation node)
- => new StringInterpolation(cloneNodeList(node.elements));
+ StringInterpolation visitStringInterpolation(StringInterpolation node) =>
+ new StringInterpolation(cloneNodeList(node.elements));
@override
- SuperConstructorInvocation visitSuperConstructorInvocation(SuperConstructorInvocation node)
- => new SuperConstructorInvocation(
+ SuperConstructorInvocation
+ visitSuperConstructorInvocation(SuperConstructorInvocation node) =>
+ new SuperConstructorInvocation(
cloneToken(node.keyword),
cloneToken(node.period),
cloneNode(node.constructorName),
cloneNode(node.argumentList));
@override
- SuperExpression visitSuperExpression(SuperExpression node)
- => new SuperExpression(cloneToken(node.keyword));
+ SuperExpression visitSuperExpression(SuperExpression node) =>
+ new SuperExpression(cloneToken(node.keyword));
@override
- SwitchCase visitSwitchCase(SwitchCase node)
- => new SwitchCase(
+ SwitchCase visitSwitchCase(SwitchCase node) =>
+ new SwitchCase(
cloneNodeList(node.labels),
cloneToken(node.keyword),
cloneNode(node.expression),
@@ -1703,16 +1705,16 @@ class AstCloner implements AstVisitor<AstNode> {
cloneNodeList(node.statements));
@override
- SwitchDefault visitSwitchDefault(SwitchDefault node)
- => new SwitchDefault(
+ SwitchDefault visitSwitchDefault(SwitchDefault node) =>
+ new SwitchDefault(
cloneNodeList(node.labels),
cloneToken(node.keyword),
cloneToken(node.colon),
cloneNodeList(node.statements));
@override
- SwitchStatement visitSwitchStatement(SwitchStatement node)
- => new SwitchStatement(
+ SwitchStatement visitSwitchStatement(SwitchStatement node) =>
+ new SwitchStatement(
cloneToken(node.keyword),
cloneToken(node.leftParenthesis),
cloneNode(node.expression),
@@ -1722,32 +1724,29 @@ class AstCloner implements AstVisitor<AstNode> {
cloneToken(node.rightBracket));
@override
- SymbolLiteral visitSymbolLiteral(SymbolLiteral node)
- => new SymbolLiteral(
- cloneToken(node.poundSign),
- cloneTokenList(node.components));
+ SymbolLiteral visitSymbolLiteral(SymbolLiteral node) =>
+ new SymbolLiteral(cloneToken(node.poundSign), cloneTokenList(node.components));
@override
- ThisExpression visitThisExpression(ThisExpression node)
- => new ThisExpression(cloneToken(node.keyword));
+ ThisExpression visitThisExpression(ThisExpression node) =>
+ new ThisExpression(cloneToken(node.keyword));
@override
- ThrowExpression visitThrowExpression(ThrowExpression node)
- => new ThrowExpression(
- cloneToken(node.keyword),
- cloneNode(node.expression));
+ ThrowExpression visitThrowExpression(ThrowExpression node) =>
+ new ThrowExpression(cloneToken(node.keyword), cloneNode(node.expression));
@override
- TopLevelVariableDeclaration visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node)
- => new TopLevelVariableDeclaration(
+ TopLevelVariableDeclaration
+ visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) =>
+ new TopLevelVariableDeclaration(
cloneNode(node.documentationComment),
cloneNodeList(node.metadata),
cloneNode(node.variables),
cloneToken(node.semicolon));
@override
- TryStatement visitTryStatement(TryStatement node)
- => new TryStatement(
+ TryStatement visitTryStatement(TryStatement node) =>
+ new TryStatement(
cloneToken(node.tryKeyword),
cloneNode(node.body),
cloneNodeList(node.catchClauses),
@@ -1755,19 +1754,19 @@ class AstCloner implements AstVisitor<AstNode> {
cloneNode(node.finallyBlock));
@override
- TypeArgumentList visitTypeArgumentList(TypeArgumentList node)
- => new TypeArgumentList(
+ TypeArgumentList visitTypeArgumentList(TypeArgumentList node) =>
+ new TypeArgumentList(
cloneToken(node.leftBracket),
cloneNodeList(node.arguments),
cloneToken(node.rightBracket));
@override
- TypeName visitTypeName(TypeName node)
- => new TypeName(cloneNode(node.name), cloneNode(node.typeArguments));
+ TypeName visitTypeName(TypeName node) =>
+ new TypeName(cloneNode(node.name), cloneNode(node.typeArguments));
@override
- TypeParameter visitTypeParameter(TypeParameter node)
- => new TypeParameter(
+ TypeParameter visitTypeParameter(TypeParameter node) =>
+ new TypeParameter(
cloneNode(node.documentationComment),
cloneNodeList(node.metadata),
cloneNode(node.name),
@@ -1775,15 +1774,15 @@ class AstCloner implements AstVisitor<AstNode> {
cloneNode(node.bound));
@override
- TypeParameterList visitTypeParameterList(TypeParameterList node)
- => new TypeParameterList(
+ TypeParameterList visitTypeParameterList(TypeParameterList node) =>
+ new TypeParameterList(
cloneToken(node.leftBracket),
cloneNodeList(node.typeParameters),
cloneToken(node.rightBracket));
@override
- VariableDeclaration visitVariableDeclaration(VariableDeclaration node)
- => new VariableDeclaration(
+ VariableDeclaration visitVariableDeclaration(VariableDeclaration node) =>
+ new VariableDeclaration(
null,
cloneNodeList(node.metadata),
cloneNode(node.name),
@@ -1791,8 +1790,9 @@ class AstCloner implements AstVisitor<AstNode> {
cloneNode(node.initializer));
@override
- VariableDeclarationList visitVariableDeclarationList(VariableDeclarationList node)
- => new VariableDeclarationList(
+ VariableDeclarationList
+ visitVariableDeclarationList(VariableDeclarationList node) =>
+ new VariableDeclarationList(
null,
cloneNodeList(node.metadata),
cloneToken(node.keyword),
@@ -1800,14 +1800,15 @@ class AstCloner implements AstVisitor<AstNode> {
cloneNodeList(node.variables));
@override
- VariableDeclarationStatement visitVariableDeclarationStatement(VariableDeclarationStatement node)
- => new VariableDeclarationStatement(
+ VariableDeclarationStatement
+ visitVariableDeclarationStatement(VariableDeclarationStatement node) =>
+ new VariableDeclarationStatement(
cloneNode(node.variables),
cloneToken(node.semicolon));
@override
- WhileStatement visitWhileStatement(WhileStatement node)
- => new WhileStatement(
+ WhileStatement visitWhileStatement(WhileStatement node) =>
+ new WhileStatement(
cloneToken(node.keyword),
cloneToken(node.leftParenthesis),
cloneNode(node.condition),
@@ -1815,14 +1816,12 @@ class AstCloner implements AstVisitor<AstNode> {
cloneNode(node.body));
@override
- WithClause visitWithClause(WithClause node)
- => new WithClause(
- cloneToken(node.withKeyword),
- cloneNodeList(node.mixinTypes));
+ WithClause visitWithClause(WithClause node) =>
+ new WithClause(cloneToken(node.withKeyword), cloneNodeList(node.mixinTypes));
@override
- YieldStatement visitYieldStatement(YieldStatement node)
- => new YieldStatement(
+ YieldStatement visitYieldStatement(YieldStatement node) =>
+ new YieldStatement(
cloneToken(node.yieldKeyword),
cloneToken(node.star),
cloneNode(node.expression),
@@ -1835,18 +1834,49 @@ class AstCloner implements AstVisitor<AstNode> {
*/
class AstComparator implements AstVisitor<bool> {
/**
- * Return `true` if the [first] node and the [second] node are equal.
+ * The AST node with which the node being visited is to be compared. This is only valid at the
+ * beginning of each visit method (until [isEqualNodes] is invoked).
*/
- static bool equalNodes(AstNode first, AstNode second) {
- AstComparator comparator = new AstComparator();
- return comparator.isEqualNodes(first, second);
+ AstNode _other;
+
+ /**
+ * Return `true` if the [first] node and the [second] node have the same
+ * structure.
+ *
+ * *Note:* This method is only visible for testing purposes and should not be
+ * used by clients.
+ */
+ bool isEqualNodes(AstNode first, AstNode second) {
+ if (first == null) {
+ return second == null;
+ } else if (second == null) {
+ return false;
+ } else if (first.runtimeType != second.runtimeType) {
+ return false;
+ }
+ _other = second;
+ return first.accept(this);
}
/**
- * The AST node with which the node being visited is to be compared. This is only valid at the
- * beginning of each visit method (until [isEqualNodes] is invoked).
+ * Return `true` if the [first] token and the [second] token have the same
+ * structure.
+ *
+ * *Note:* This method is only visible for testing purposes and should not be
+ * used by clients.
*/
- AstNode _other;
+ bool isEqualTokens(Token first, Token second) {
+ if (first == null) {
+ return second == null;
+ } else if (second == null) {
+ return false;
+ } else if (identical(first, second)) {
+ return true;
+ }
+ return first.offset == second.offset &&
+ first.length == second.length &&
+ first.lexeme == second.lexeme;
+ }
@override
bool visitAdjacentStrings(AdjacentStrings node) {
@@ -1857,49 +1887,68 @@ class AstComparator implements AstVisitor<bool> {
@override
bool visitAnnotation(Annotation node) {
Annotation other = _other as Annotation;
- return isEqualTokens(node.atSign, other.atSign) && isEqualNodes(node.name, other.name) && isEqualTokens(node.period, other.period) && isEqualNodes(node.constructorName, other.constructorName) && isEqualNodes(node.arguments, other.arguments);
+ return isEqualTokens(node.atSign, other.atSign) &&
+ isEqualNodes(node.name, other.name) &&
+ isEqualTokens(node.period, other.period) &&
+ isEqualNodes(node.constructorName, other.constructorName) &&
+ isEqualNodes(node.arguments, other.arguments);
}
@override
bool visitArgumentList(ArgumentList node) {
ArgumentList other = _other as ArgumentList;
- return isEqualTokens(node.leftParenthesis, other.leftParenthesis) && _isEqualNodeLists(node.arguments, other.arguments) && isEqualTokens(node.rightParenthesis, other.rightParenthesis);
+ return isEqualTokens(node.leftParenthesis, other.leftParenthesis) &&
+ _isEqualNodeLists(node.arguments, other.arguments) &&
+ isEqualTokens(node.rightParenthesis, other.rightParenthesis);
}
@override
bool visitAsExpression(AsExpression node) {
AsExpression other = _other as AsExpression;
- return isEqualNodes(node.expression, other.expression) && isEqualTokens(node.asOperator, other.asOperator) && isEqualNodes(node.type, other.type);
+ return isEqualNodes(node.expression, other.expression) &&
+ isEqualTokens(node.asOperator, other.asOperator) &&
+ isEqualNodes(node.type, other.type);
}
@override
bool visitAssertStatement(AssertStatement node) {
AssertStatement other = _other as AssertStatement;
- return isEqualTokens(node.keyword, other.keyword) && isEqualTokens(node.leftParenthesis, other.leftParenthesis) && isEqualNodes(node.condition, other.condition) && isEqualTokens(node.rightParenthesis, other.rightParenthesis) && isEqualTokens(node.semicolon, other.semicolon);
+ return isEqualTokens(node.keyword, other.keyword) &&
+ isEqualTokens(node.leftParenthesis, other.leftParenthesis) &&
+ isEqualNodes(node.condition, other.condition) &&
+ isEqualTokens(node.rightParenthesis, other.rightParenthesis) &&
+ isEqualTokens(node.semicolon, other.semicolon);
}
@override
bool visitAssignmentExpression(AssignmentExpression node) {
AssignmentExpression other = _other as AssignmentExpression;
- return isEqualNodes(node.leftHandSide, other.leftHandSide) && isEqualTokens(node.operator, other.operator) && isEqualNodes(node.rightHandSide, other.rightHandSide);
+ return isEqualNodes(node.leftHandSide, other.leftHandSide) &&
+ isEqualTokens(node.operator, other.operator) &&
+ isEqualNodes(node.rightHandSide, other.rightHandSide);
}
@override
bool visitAwaitExpression(AwaitExpression node) {
AwaitExpression other = _other as AwaitExpression;
- return isEqualTokens(node.awaitKeyword, other.awaitKeyword) && isEqualNodes(node.expression, other.expression);
+ return isEqualTokens(node.awaitKeyword, other.awaitKeyword) &&
+ isEqualNodes(node.expression, other.expression);
}
@override
bool visitBinaryExpression(BinaryExpression node) {
BinaryExpression other = _other as BinaryExpression;
- return isEqualNodes(node.leftOperand, other.leftOperand) && isEqualTokens(node.operator, other.operator) && isEqualNodes(node.rightOperand, other.rightOperand);
+ return isEqualNodes(node.leftOperand, other.leftOperand) &&
+ isEqualTokens(node.operator, other.operator) &&
+ isEqualNodes(node.rightOperand, other.rightOperand);
}
@override
bool visitBlock(Block node) {
Block other = _other as Block;
- return isEqualTokens(node.leftBracket, other.leftBracket) && _isEqualNodeLists(node.statements, other.statements) && isEqualTokens(node.rightBracket, other.rightBracket);
+ return isEqualTokens(node.leftBracket, other.leftBracket) &&
+ _isEqualNodeLists(node.statements, other.statements) &&
+ isEqualTokens(node.rightBracket, other.rightBracket);
}
@override
@@ -1911,37 +1960,74 @@ class AstComparator implements AstVisitor<bool> {
@override
bool visitBooleanLiteral(BooleanLiteral node) {
BooleanLiteral other = _other as BooleanLiteral;
- return isEqualTokens(node.literal, other.literal) && node.value == other.value;
+ return isEqualTokens(node.literal, other.literal) &&
+ node.value == other.value;
}
@override
bool visitBreakStatement(BreakStatement node) {
BreakStatement other = _other as BreakStatement;
- return isEqualTokens(node.keyword, other.keyword) && isEqualNodes(node.label, other.label) && isEqualTokens(node.semicolon, other.semicolon);
+ return isEqualTokens(node.keyword, other.keyword) &&
+ isEqualNodes(node.label, other.label) &&
+ isEqualTokens(node.semicolon, other.semicolon);
}
@override
bool visitCascadeExpression(CascadeExpression node) {
CascadeExpression other = _other as CascadeExpression;
- return isEqualNodes(node.target, other.target) && _isEqualNodeLists(node.cascadeSections, other.cascadeSections);
+ return isEqualNodes(node.target, other.target) &&
+ _isEqualNodeLists(node.cascadeSections, other.cascadeSections);
}
@override
bool visitCatchClause(CatchClause node) {
CatchClause other = _other as CatchClause;
- return isEqualTokens(node.onKeyword, other.onKeyword) && isEqualNodes(node.exceptionType, other.exceptionType) && isEqualTokens(node.catchKeyword, other.catchKeyword) && isEqualTokens(node.leftParenthesis, other.leftParenthesis) && isEqualNodes(node.exceptionParameter, other.exceptionParameter) && isEqualTokens(node.comma, other.comma) && isEqualNodes(node.stackTraceParameter, other.stackTraceParameter) && isEqualTokens(node.rightParenthesis, other.rightParenthesis) && isEqualNodes(node.body, other.body);
+ return isEqualTokens(node.onKeyword, other.onKeyword) &&
+ isEqualNodes(node.exceptionType, other.exceptionType) &&
+ isEqualTokens(node.catchKeyword, other.catchKeyword) &&
+ isEqualTokens(node.leftParenthesis, other.leftParenthesis) &&
+ isEqualNodes(node.exceptionParameter, other.exceptionParameter) &&
+ isEqualTokens(node.comma, other.comma) &&
+ isEqualNodes(node.stackTraceParameter, other.stackTraceParameter) &&
+ isEqualTokens(node.rightParenthesis, other.rightParenthesis) &&
+ isEqualNodes(node.body, other.body);
}
@override
bool visitClassDeclaration(ClassDeclaration node) {
ClassDeclaration other = _other as ClassDeclaration;
- return isEqualNodes(node.documentationComment, other.documentationComment) && _isEqualNodeLists(node.metadata, other.metadata) && isEqualTokens(node.abstractKeyword, other.abstractKeyword) && isEqualTokens(node.classKeyword, other.classKeyword) && isEqualNodes(node.name, other.name) && isEqualNodes(node.typeParameters, other.typeParameters) && isEqualNodes(node.extendsClause, other.extendsClause) && isEqualNodes(node.withClause, other.withClause) && isEqualNodes(node.implementsClause, other.implementsClause) && isEqualTokens(node.leftBracket, other.leftBracket) && _isEqualNodeLists(node.members, other.members) && isEqualTokens(node.rightBracket, other.rightBracket);
+ return isEqualNodes(
+ node.documentationComment,
+ other.documentationComment) &&
+ _isEqualNodeLists(node.metadata, other.metadata) &&
+ isEqualTokens(node.abstractKeyword, other.abstractKeyword) &&
+ isEqualTokens(node.classKeyword, other.classKeyword) &&
+ isEqualNodes(node.name, other.name) &&
+ isEqualNodes(node.typeParameters, other.typeParameters) &&
+ isEqualNodes(node.extendsClause, other.extendsClause) &&
+ isEqualNodes(node.withClause, other.withClause) &&
+ isEqualNodes(node.implementsClause, other.implementsClause) &&
+ isEqualTokens(node.leftBracket, other.leftBracket) &&
+ _isEqualNodeLists(node.members, other.members) &&
+ isEqualTokens(node.rightBracket, other.rightBracket);
}
@override
bool visitClassTypeAlias(ClassTypeAlias node) {
ClassTypeAlias other = _other as ClassTypeAlias;
- return isEqualNodes(node.documentationComment, other.documentationComment) && _isEqualNodeLists(node.metadata, other.metadata) && isEqualTokens(node.keyword, other.keyword) && isEqualNodes(node.name, other.name) && isEqualNodes(node.typeParameters, other.typeParameters) && isEqualTokens(node.equals, other.equals) && isEqualTokens(node.abstractKeyword, other.abstractKeyword) && isEqualNodes(node.superclass, other.superclass) && isEqualNodes(node.withClause, other.withClause) && isEqualNodes(node.implementsClause, other.implementsClause) && isEqualTokens(node.semicolon, other.semicolon);
+ return isEqualNodes(
+ node.documentationComment,
+ other.documentationComment) &&
+ _isEqualNodeLists(node.metadata, other.metadata) &&
+ isEqualTokens(node.keyword, other.keyword) &&
+ isEqualNodes(node.name, other.name) &&
+ isEqualNodes(node.typeParameters, other.typeParameters) &&
+ isEqualTokens(node.equals, other.equals) &&
+ isEqualTokens(node.abstractKeyword, other.abstractKeyword) &&
+ isEqualNodes(node.superclass, other.superclass) &&
+ isEqualNodes(node.withClause, other.withClause) &&
+ isEqualNodes(node.implementsClause, other.implementsClause) &&
+ isEqualTokens(node.semicolon, other.semicolon);
}
@override
@@ -1953,67 +2039,114 @@ class AstComparator implements AstVisitor<bool> {
@override
bool visitCommentReference(CommentReference node) {
CommentReference other = _other as CommentReference;
- return isEqualTokens(node.newKeyword, other.newKeyword) && isEqualNodes(node.identifier, other.identifier);
+ return isEqualTokens(node.newKeyword, other.newKeyword) &&
+ isEqualNodes(node.identifier, other.identifier);
}
@override
bool visitCompilationUnit(CompilationUnit node) {
CompilationUnit other = _other as CompilationUnit;
- return isEqualTokens(node.beginToken, other.beginToken) && isEqualNodes(node.scriptTag, other.scriptTag) && _isEqualNodeLists(node.directives, other.directives) && _isEqualNodeLists(node.declarations, other.declarations) && isEqualTokens(node.endToken, other.endToken);
+ return isEqualTokens(node.beginToken, other.beginToken) &&
+ isEqualNodes(node.scriptTag, other.scriptTag) &&
+ _isEqualNodeLists(node.directives, other.directives) &&
+ _isEqualNodeLists(node.declarations, other.declarations) &&
+ isEqualTokens(node.endToken, other.endToken);
}
@override
bool visitConditionalExpression(ConditionalExpression node) {
ConditionalExpression other = _other as ConditionalExpression;
- return isEqualNodes(node.condition, other.condition) && isEqualTokens(node.question, other.question) && isEqualNodes(node.thenExpression, other.thenExpression) && isEqualTokens(node.colon, other.colon) && isEqualNodes(node.elseExpression, other.elseExpression);
+ return isEqualNodes(node.condition, other.condition) &&
+ isEqualTokens(node.question, other.question) &&
+ isEqualNodes(node.thenExpression, other.thenExpression) &&
+ isEqualTokens(node.colon, other.colon) &&
+ isEqualNodes(node.elseExpression, other.elseExpression);
}
@override
bool visitConstructorDeclaration(ConstructorDeclaration node) {
ConstructorDeclaration other = _other as ConstructorDeclaration;
- return isEqualNodes(node.documentationComment, other.documentationComment) && _isEqualNodeLists(node.metadata, other.metadata) && isEqualTokens(node.externalKeyword, other.externalKeyword) && isEqualTokens(node.constKeyword, other.constKeyword) && isEqualTokens(node.factoryKeyword, other.factoryKeyword) && isEqualNodes(node.returnType, other.returnType) && isEqualTokens(node.period, other.period) && isEqualNodes(node.name, other.name) && isEqualNodes(node.parameters, other.parameters) && isEqualTokens(node.separator, other.separator) && _isEqualNodeLists(node.initializers, other.initializers) && isEqualNodes(node.redirectedConstructor, other.redirectedConstructor) && isEqualNodes(node.body, other.body);
+ return isEqualNodes(
+ node.documentationComment,
+ other.documentationComment) &&
+ _isEqualNodeLists(node.metadata, other.metadata) &&
+ isEqualTokens(node.externalKeyword, other.externalKeyword) &&
+ isEqualTokens(node.constKeyword, other.constKeyword) &&
+ isEqualTokens(node.factoryKeyword, other.factoryKeyword) &&
+ isEqualNodes(node.returnType, other.returnType) &&
+ isEqualTokens(node.period, other.period) &&
+ isEqualNodes(node.name, other.name) &&
+ isEqualNodes(node.parameters, other.parameters) &&
+ isEqualTokens(node.separator, other.separator) &&
+ _isEqualNodeLists(node.initializers, other.initializers) &&
+ isEqualNodes(node.redirectedConstructor, other.redirectedConstructor) &&
+ isEqualNodes(node.body, other.body);
}
@override
bool visitConstructorFieldInitializer(ConstructorFieldInitializer node) {
ConstructorFieldInitializer other = _other as ConstructorFieldInitializer;
- return isEqualTokens(node.keyword, other.keyword) && isEqualTokens(node.period, other.period) && isEqualNodes(node.fieldName, other.fieldName) && isEqualTokens(node.equals, other.equals) && isEqualNodes(node.expression, other.expression);
+ return isEqualTokens(node.keyword, other.keyword) &&
+ isEqualTokens(node.period, other.period) &&
+ isEqualNodes(node.fieldName, other.fieldName) &&
+ isEqualTokens(node.equals, other.equals) &&
+ isEqualNodes(node.expression, other.expression);
}
@override
bool visitConstructorName(ConstructorName node) {
ConstructorName other = _other as ConstructorName;
- return isEqualNodes(node.type, other.type) && isEqualTokens(node.period, other.period) && isEqualNodes(node.name, other.name);
+ return isEqualNodes(node.type, other.type) &&
+ isEqualTokens(node.period, other.period) &&
+ isEqualNodes(node.name, other.name);
}
@override
bool visitContinueStatement(ContinueStatement node) {
ContinueStatement other = _other as ContinueStatement;
- return isEqualTokens(node.keyword, other.keyword) && isEqualNodes(node.label, other.label) && isEqualTokens(node.semicolon, other.semicolon);
+ return isEqualTokens(node.keyword, other.keyword) &&
+ isEqualNodes(node.label, other.label) &&
+ isEqualTokens(node.semicolon, other.semicolon);
}
@override
bool visitDeclaredIdentifier(DeclaredIdentifier node) {
DeclaredIdentifier other = _other as DeclaredIdentifier;
- return isEqualNodes(node.documentationComment, other.documentationComment) && _isEqualNodeLists(node.metadata, other.metadata) && isEqualTokens(node.keyword, other.keyword) && isEqualNodes(node.type, other.type) && isEqualNodes(node.identifier, other.identifier);
+ return isEqualNodes(
+ node.documentationComment,
+ other.documentationComment) &&
+ _isEqualNodeLists(node.metadata, other.metadata) &&
+ isEqualTokens(node.keyword, other.keyword) &&
+ isEqualNodes(node.type, other.type) &&
+ isEqualNodes(node.identifier, other.identifier);
}
@override
bool visitDefaultFormalParameter(DefaultFormalParameter node) {
DefaultFormalParameter other = _other as DefaultFormalParameter;
- return isEqualNodes(node.parameter, other.parameter) && node.kind == other.kind && isEqualTokens(node.separator, other.separator) && isEqualNodes(node.defaultValue, other.defaultValue);
+ return isEqualNodes(node.parameter, other.parameter) &&
+ node.kind == other.kind &&
+ isEqualTokens(node.separator, other.separator) &&
+ isEqualNodes(node.defaultValue, other.defaultValue);
}
@override
bool visitDoStatement(DoStatement node) {
DoStatement other = _other as DoStatement;
- return isEqualTokens(node.doKeyword, other.doKeyword) && isEqualNodes(node.body, other.body) && isEqualTokens(node.whileKeyword, other.whileKeyword) && isEqualTokens(node.leftParenthesis, other.leftParenthesis) && isEqualNodes(node.condition, other.condition) && isEqualTokens(node.rightParenthesis, other.rightParenthesis) && isEqualTokens(node.semicolon, other.semicolon);
+ return isEqualTokens(node.doKeyword, other.doKeyword) &&
+ isEqualNodes(node.body, other.body) &&
+ isEqualTokens(node.whileKeyword, other.whileKeyword) &&
+ isEqualTokens(node.leftParenthesis, other.leftParenthesis) &&
+ isEqualNodes(node.condition, other.condition) &&
+ isEqualTokens(node.rightParenthesis, other.rightParenthesis) &&
+ isEqualTokens(node.semicolon, other.semicolon);
}
@override
bool visitDoubleLiteral(DoubleLiteral node) {
DoubleLiteral other = _other as DoubleLiteral;
- return isEqualTokens(node.literal, other.literal) && node.value == other.value;
+ return isEqualTokens(node.literal, other.literal) &&
+ node.value == other.value;
}
@override
@@ -2031,73 +2164,137 @@ class AstComparator implements AstVisitor<bool> {
@override
bool visitEnumConstantDeclaration(EnumConstantDeclaration node) {
EnumConstantDeclaration other = _other as EnumConstantDeclaration;
- return isEqualNodes(node.documentationComment, other.documentationComment) && _isEqualNodeLists(node.metadata, other.metadata) && isEqualNodes(node.name, other.name);
+ return isEqualNodes(
+ node.documentationComment,
+ other.documentationComment) &&
+ _isEqualNodeLists(node.metadata, other.metadata) &&
+ isEqualNodes(node.name, other.name);
}
@override
bool visitEnumDeclaration(EnumDeclaration node) {
EnumDeclaration other = _other as EnumDeclaration;
- return isEqualNodes(node.documentationComment, other.documentationComment) && _isEqualNodeLists(node.metadata, other.metadata) && isEqualTokens(node.keyword, other.keyword) && isEqualNodes(node.name, other.name) && isEqualTokens(node.leftBracket, other.leftBracket) && _isEqualNodeLists(node.constants, other.constants) && isEqualTokens(node.rightBracket, other.rightBracket);
+ return isEqualNodes(
+ node.documentationComment,
+ other.documentationComment) &&
+ _isEqualNodeLists(node.metadata, other.metadata) &&
+ isEqualTokens(node.keyword, other.keyword) &&
+ isEqualNodes(node.name, other.name) &&
+ isEqualTokens(node.leftBracket, other.leftBracket) &&
+ _isEqualNodeLists(node.constants, other.constants) &&
+ isEqualTokens(node.rightBracket, other.rightBracket);
}
@override
bool visitExportDirective(ExportDirective node) {
ExportDirective other = _other as ExportDirective;
- return isEqualNodes(node.documentationComment, other.documentationComment) && _isEqualNodeLists(node.metadata, other.metadata) && isEqualTokens(node.keyword, other.keyword) && isEqualNodes(node.uri, other.uri) && _isEqualNodeLists(node.combinators, other.combinators) && isEqualTokens(node.semicolon, other.semicolon);
+ return isEqualNodes(
+ node.documentationComment,
+ other.documentationComment) &&
+ _isEqualNodeLists(node.metadata, other.metadata) &&
+ isEqualTokens(node.keyword, other.keyword) &&
+ isEqualNodes(node.uri, other.uri) &&
+ _isEqualNodeLists(node.combinators, other.combinators) &&
+ isEqualTokens(node.semicolon, other.semicolon);
}
@override
bool visitExpressionFunctionBody(ExpressionFunctionBody node) {
ExpressionFunctionBody other = _other as ExpressionFunctionBody;
- return isEqualTokens(node.functionDefinition, other.functionDefinition) && isEqualNodes(node.expression, other.expression) && isEqualTokens(node.semicolon, other.semicolon);
+ return isEqualTokens(node.functionDefinition, other.functionDefinition) &&
+ isEqualNodes(node.expression, other.expression) &&
+ isEqualTokens(node.semicolon, other.semicolon);
}
@override
bool visitExpressionStatement(ExpressionStatement node) {
ExpressionStatement other = _other as ExpressionStatement;
- return isEqualNodes(node.expression, other.expression) && isEqualTokens(node.semicolon, other.semicolon);
+ return isEqualNodes(node.expression, other.expression) &&
+ isEqualTokens(node.semicolon, other.semicolon);
}
@override
bool visitExtendsClause(ExtendsClause node) {
ExtendsClause other = _other as ExtendsClause;
- return isEqualTokens(node.keyword, other.keyword) && isEqualNodes(node.superclass, other.superclass);
+ return isEqualTokens(node.keyword, other.keyword) &&
+ isEqualNodes(node.superclass, other.superclass);
}
@override
bool visitFieldDeclaration(FieldDeclaration node) {
FieldDeclaration other = _other as FieldDeclaration;
- return isEqualNodes(node.documentationComment, other.documentationComment) && _isEqualNodeLists(node.metadata, other.metadata) && isEqualTokens(node.staticKeyword, other.staticKeyword) && isEqualNodes(node.fields, other.fields) && isEqualTokens(node.semicolon, other.semicolon);
+ return isEqualNodes(
+ node.documentationComment,
+ other.documentationComment) &&
+ _isEqualNodeLists(node.metadata, other.metadata) &&
+ isEqualTokens(node.staticKeyword, other.staticKeyword) &&
+ isEqualNodes(node.fields, other.fields) &&
+ isEqualTokens(node.semicolon, other.semicolon);
}
@override
bool visitFieldFormalParameter(FieldFormalParameter node) {
FieldFormalParameter other = _other as FieldFormalParameter;
- return isEqualNodes(node.documentationComment, other.documentationComment) && _isEqualNodeLists(node.metadata, other.metadata) && isEqualTokens(node.keyword, other.keyword) && isEqualNodes(node.type, other.type) && isEqualTokens(node.thisToken, other.thisToken) && isEqualTokens(node.period, other.period) && isEqualNodes(node.identifier, other.identifier);
+ return isEqualNodes(
+ node.documentationComment,
+ other.documentationComment) &&
+ _isEqualNodeLists(node.metadata, other.metadata) &&
+ isEqualTokens(node.keyword, other.keyword) &&
+ isEqualNodes(node.type, other.type) &&
+ isEqualTokens(node.thisToken, other.thisToken) &&
+ isEqualTokens(node.period, other.period) &&
+ isEqualNodes(node.identifier, other.identifier);
}
@override
bool visitForEachStatement(ForEachStatement node) {
ForEachStatement other = _other as ForEachStatement;
- return isEqualTokens(node.forKeyword, other.forKeyword) && isEqualTokens(node.leftParenthesis, other.leftParenthesis) && isEqualNodes(node.loopVariable, other.loopVariable) && isEqualTokens(node.inKeyword, other.inKeyword) && isEqualNodes(node.iterable, other.iterable) && isEqualTokens(node.rightParenthesis, other.rightParenthesis) && isEqualNodes(node.body, other.body);
+ return isEqualTokens(node.forKeyword, other.forKeyword) &&
+ isEqualTokens(node.leftParenthesis, other.leftParenthesis) &&
+ isEqualNodes(node.loopVariable, other.loopVariable) &&
+ isEqualTokens(node.inKeyword, other.inKeyword) &&
+ isEqualNodes(node.iterable, other.iterable) &&
+ isEqualTokens(node.rightParenthesis, other.rightParenthesis) &&
+ isEqualNodes(node.body, other.body);
}
@override
bool visitFormalParameterList(FormalParameterList node) {
FormalParameterList other = _other as FormalParameterList;
- return isEqualTokens(node.leftParenthesis, other.leftParenthesis) && _isEqualNodeLists(node.parameters, other.parameters) && isEqualTokens(node.leftDelimiter, other.leftDelimiter) && isEqualTokens(node.rightDelimiter, other.rightDelimiter) && isEqualTokens(node.rightParenthesis, other.rightParenthesis);
+ return isEqualTokens(node.leftParenthesis, other.leftParenthesis) &&
+ _isEqualNodeLists(node.parameters, other.parameters) &&
+ isEqualTokens(node.leftDelimiter, other.leftDelimiter) &&
+ isEqualTokens(node.rightDelimiter, other.rightDelimiter) &&
+ isEqualTokens(node.rightParenthesis, other.rightParenthesis);
}
@override
bool visitForStatement(ForStatement node) {
ForStatement other = _other as ForStatement;
- return isEqualTokens(node.forKeyword, other.forKeyword) && isEqualTokens(node.leftParenthesis, other.leftParenthesis) && isEqualNodes(node.variables, other.variables) && isEqualNodes(node.initialization, other.initialization) && isEqualTokens(node.leftSeparator, other.leftSeparator) && isEqualNodes(node.condition, other.condition) && isEqualTokens(node.rightSeparator, other.rightSeparator) && _isEqualNodeLists(node.updaters, other.updaters) && isEqualTokens(node.rightParenthesis, other.rightParenthesis) && isEqualNodes(node.body, other.body);
+ return isEqualTokens(node.forKeyword, other.forKeyword) &&
+ isEqualTokens(node.leftParenthesis, other.leftParenthesis) &&
+ isEqualNodes(node.variables, other.variables) &&
+ isEqualNodes(node.initialization, other.initialization) &&
+ isEqualTokens(node.leftSeparator, other.leftSeparator) &&
+ isEqualNodes(node.condition, other.condition) &&
+ isEqualTokens(node.rightSeparator, other.rightSeparator) &&
+ _isEqualNodeLists(node.updaters, other.updaters) &&
+ isEqualTokens(node.rightParenthesis, other.rightParenthesis) &&
+ isEqualNodes(node.body, other.body);
}
@override
bool visitFunctionDeclaration(FunctionDeclaration node) {
FunctionDeclaration other = _other as FunctionDeclaration;
- return isEqualNodes(node.documentationComment, other.documentationComment) && _isEqualNodeLists(node.metadata, other.metadata) && isEqualTokens(node.externalKeyword, other.externalKeyword) && isEqualNodes(node.returnType, other.returnType) && isEqualTokens(node.propertyKeyword, other.propertyKeyword) && isEqualNodes(node.name, other.name) && isEqualNodes(node.functionExpression, other.functionExpression);
+ return isEqualNodes(
+ node.documentationComment,
+ other.documentationComment) &&
+ _isEqualNodeLists(node.metadata, other.metadata) &&
+ isEqualTokens(node.externalKeyword, other.externalKeyword) &&
+ isEqualNodes(node.returnType, other.returnType) &&
+ isEqualTokens(node.propertyKeyword, other.propertyKeyword) &&
+ isEqualNodes(node.name, other.name) &&
+ isEqualNodes(node.functionExpression, other.functionExpression);
}
@override
@@ -2109,103 +2306,157 @@ class AstComparator implements AstVisitor<bool> {
@override
bool visitFunctionExpression(FunctionExpression node) {
FunctionExpression other = _other as FunctionExpression;
- return isEqualNodes(node.parameters, other.parameters) && isEqualNodes(node.body, other.body);
+ return isEqualNodes(node.parameters, other.parameters) &&
+ isEqualNodes(node.body, other.body);
}
@override
bool visitFunctionExpressionInvocation(FunctionExpressionInvocation node) {
FunctionExpressionInvocation other = _other as FunctionExpressionInvocation;
- return isEqualNodes(node.function, other.function) && isEqualNodes(node.argumentList, other.argumentList);
+ return isEqualNodes(node.function, other.function) &&
+ isEqualNodes(node.argumentList, other.argumentList);
}
@override
bool visitFunctionTypeAlias(FunctionTypeAlias node) {
FunctionTypeAlias other = _other as FunctionTypeAlias;
- return isEqualNodes(node.documentationComment, other.documentationComment) && _isEqualNodeLists(node.metadata, other.metadata) && isEqualTokens(node.keyword, other.keyword) && isEqualNodes(node.returnType, other.returnType) && isEqualNodes(node.name, other.name) && isEqualNodes(node.typeParameters, other.typeParameters) && isEqualNodes(node.parameters, other.parameters) && isEqualTokens(node.semicolon, other.semicolon);
+ return isEqualNodes(
+ node.documentationComment,
+ other.documentationComment) &&
+ _isEqualNodeLists(node.metadata, other.metadata) &&
+ isEqualTokens(node.keyword, other.keyword) &&
+ isEqualNodes(node.returnType, other.returnType) &&
+ isEqualNodes(node.name, other.name) &&
+ isEqualNodes(node.typeParameters, other.typeParameters) &&
+ isEqualNodes(node.parameters, other.parameters) &&
+ isEqualTokens(node.semicolon, other.semicolon);
}
@override
bool visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) {
FunctionTypedFormalParameter other = _other as FunctionTypedFormalParameter;
- return isEqualNodes(node.documentationComment, other.documentationComment) && _isEqualNodeLists(node.metadata, other.metadata) && isEqualNodes(node.returnType, other.returnType) && isEqualNodes(node.identifier, other.identifier) && isEqualNodes(node.parameters, other.parameters);
+ return isEqualNodes(
+ node.documentationComment,
+ other.documentationComment) &&
+ _isEqualNodeLists(node.metadata, other.metadata) &&
+ isEqualNodes(node.returnType, other.returnType) &&
+ isEqualNodes(node.identifier, other.identifier) &&
+ isEqualNodes(node.parameters, other.parameters);
}
@override
bool visitHideCombinator(HideCombinator node) {
HideCombinator other = _other as HideCombinator;
- return isEqualTokens(node.keyword, other.keyword) && _isEqualNodeLists(node.hiddenNames, other.hiddenNames);
+ return isEqualTokens(node.keyword, other.keyword) &&
+ _isEqualNodeLists(node.hiddenNames, other.hiddenNames);
}
@override
bool visitIfStatement(IfStatement node) {
IfStatement other = _other as IfStatement;
- return isEqualTokens(node.ifKeyword, other.ifKeyword) && isEqualTokens(node.leftParenthesis, other.leftParenthesis) && isEqualNodes(node.condition, other.condition) && isEqualTokens(node.rightParenthesis, other.rightParenthesis) && isEqualNodes(node.thenStatement, other.thenStatement) && isEqualTokens(node.elseKeyword, other.elseKeyword) && isEqualNodes(node.elseStatement, other.elseStatement);
+ return isEqualTokens(node.ifKeyword, other.ifKeyword) &&
+ isEqualTokens(node.leftParenthesis, other.leftParenthesis) &&
+ isEqualNodes(node.condition, other.condition) &&
+ isEqualTokens(node.rightParenthesis, other.rightParenthesis) &&
+ isEqualNodes(node.thenStatement, other.thenStatement) &&
+ isEqualTokens(node.elseKeyword, other.elseKeyword) &&
+ isEqualNodes(node.elseStatement, other.elseStatement);
}
@override
bool visitImplementsClause(ImplementsClause node) {
ImplementsClause other = _other as ImplementsClause;
- return isEqualTokens(node.keyword, other.keyword) && _isEqualNodeLists(node.interfaces, other.interfaces);
+ return isEqualTokens(node.keyword, other.keyword) &&
+ _isEqualNodeLists(node.interfaces, other.interfaces);
}
@override
bool visitImportDirective(ImportDirective node) {
ImportDirective other = _other as ImportDirective;
- return isEqualNodes(node.documentationComment, other.documentationComment) && _isEqualNodeLists(node.metadata, other.metadata) && isEqualTokens(node.keyword, other.keyword) && isEqualNodes(node.uri, other.uri) && isEqualTokens(node.asToken, other.asToken) && isEqualNodes(node.prefix, other.prefix) && _isEqualNodeLists(node.combinators, other.combinators) && isEqualTokens(node.semicolon, other.semicolon);
+ return isEqualNodes(
+ node.documentationComment,
+ other.documentationComment) &&
+ _isEqualNodeLists(node.metadata, other.metadata) &&
+ isEqualTokens(node.keyword, other.keyword) &&
+ isEqualNodes(node.uri, other.uri) &&
+ isEqualTokens(node.asToken, other.asToken) &&
+ isEqualNodes(node.prefix, other.prefix) &&
+ _isEqualNodeLists(node.combinators, other.combinators) &&
+ isEqualTokens(node.semicolon, other.semicolon);
}
@override
bool visitIndexExpression(IndexExpression node) {
IndexExpression other = _other as IndexExpression;
- return isEqualNodes(node.target, other.target) && isEqualTokens(node.leftBracket, other.leftBracket) && isEqualNodes(node.index, other.index) && isEqualTokens(node.rightBracket, other.rightBracket);
+ return isEqualNodes(node.target, other.target) &&
+ isEqualTokens(node.leftBracket, other.leftBracket) &&
+ isEqualNodes(node.index, other.index) &&
+ isEqualTokens(node.rightBracket, other.rightBracket);
}
@override
bool visitInstanceCreationExpression(InstanceCreationExpression node) {
InstanceCreationExpression other = _other as InstanceCreationExpression;
- return isEqualTokens(node.keyword, other.keyword) && isEqualNodes(node.constructorName, other.constructorName) && isEqualNodes(node.argumentList, other.argumentList);
+ return isEqualTokens(node.keyword, other.keyword) &&
+ isEqualNodes(node.constructorName, other.constructorName) &&
+ isEqualNodes(node.argumentList, other.argumentList);
}
@override
bool visitIntegerLiteral(IntegerLiteral node) {
IntegerLiteral other = _other as IntegerLiteral;
- return isEqualTokens(node.literal, other.literal) && (node.value == other.value);
+ return isEqualTokens(node.literal, other.literal) &&
+ (node.value == other.value);
}
@override
bool visitInterpolationExpression(InterpolationExpression node) {
InterpolationExpression other = _other as InterpolationExpression;
- return isEqualTokens(node.leftBracket, other.leftBracket) && isEqualNodes(node.expression, other.expression) && isEqualTokens(node.rightBracket, other.rightBracket);
+ return isEqualTokens(node.leftBracket, other.leftBracket) &&
+ isEqualNodes(node.expression, other.expression) &&
+ isEqualTokens(node.rightBracket, other.rightBracket);
}
@override
bool visitInterpolationString(InterpolationString node) {
InterpolationString other = _other as InterpolationString;
- return isEqualTokens(node.contents, other.contents) && node.value == other.value;
+ return isEqualTokens(node.contents, other.contents) &&
+ node.value == other.value;
}
@override
bool visitIsExpression(IsExpression node) {
IsExpression other = _other as IsExpression;
- return isEqualNodes(node.expression, other.expression) && isEqualTokens(node.isOperator, other.isOperator) && isEqualTokens(node.notOperator, other.notOperator) && isEqualNodes(node.type, other.type);
+ return isEqualNodes(node.expression, other.expression) &&
+ isEqualTokens(node.isOperator, other.isOperator) &&
+ isEqualTokens(node.notOperator, other.notOperator) &&
+ isEqualNodes(node.type, other.type);
}
@override
bool visitLabel(Label node) {
Label other = _other as Label;
- return isEqualNodes(node.label, other.label) && isEqualTokens(node.colon, other.colon);
+ return isEqualNodes(node.label, other.label) &&
+ isEqualTokens(node.colon, other.colon);
}
@override
bool visitLabeledStatement(LabeledStatement node) {
LabeledStatement other = _other as LabeledStatement;
- return _isEqualNodeLists(node.labels, other.labels) && isEqualNodes(node.statement, other.statement);
+ return _isEqualNodeLists(node.labels, other.labels) &&
+ isEqualNodes(node.statement, other.statement);
}
@override
bool visitLibraryDirective(LibraryDirective node) {
LibraryDirective other = _other as LibraryDirective;
- return isEqualNodes(node.documentationComment, other.documentationComment) && _isEqualNodeLists(node.metadata, other.metadata) && isEqualTokens(node.libraryToken, other.libraryToken) && isEqualNodes(node.name, other.name) && isEqualTokens(node.semicolon, other.semicolon);
+ return isEqualNodes(
+ node.documentationComment,
+ other.documentationComment) &&
+ _isEqualNodeLists(node.metadata, other.metadata) &&
+ isEqualTokens(node.libraryToken, other.libraryToken) &&
+ isEqualNodes(node.name, other.name) &&
+ isEqualTokens(node.semicolon, other.semicolon);
}
@override
@@ -2217,49 +2468,77 @@ class AstComparator implements AstVisitor<bool> {
@override
bool visitListLiteral(ListLiteral node) {
ListLiteral other = _other as ListLiteral;
- return isEqualTokens(node.constKeyword, other.constKeyword) && isEqualNodes(node.typeArguments, other.typeArguments) && isEqualTokens(node.leftBracket, other.leftBracket) && _isEqualNodeLists(node.elements, other.elements) && isEqualTokens(node.rightBracket, other.rightBracket);
+ return isEqualTokens(node.constKeyword, other.constKeyword) &&
+ isEqualNodes(node.typeArguments, other.typeArguments) &&
+ isEqualTokens(node.leftBracket, other.leftBracket) &&
+ _isEqualNodeLists(node.elements, other.elements) &&
+ isEqualTokens(node.rightBracket, other.rightBracket);
}
@override
bool visitMapLiteral(MapLiteral node) {
MapLiteral other = _other as MapLiteral;
- return isEqualTokens(node.constKeyword, other.constKeyword) && isEqualNodes(node.typeArguments, other.typeArguments) && isEqualTokens(node.leftBracket, other.leftBracket) && _isEqualNodeLists(node.entries, other.entries) && isEqualTokens(node.rightBracket, other.rightBracket);
+ return isEqualTokens(node.constKeyword, other.constKeyword) &&
+ isEqualNodes(node.typeArguments, other.typeArguments) &&
+ isEqualTokens(node.leftBracket, other.leftBracket) &&
+ _isEqualNodeLists(node.entries, other.entries) &&
+ isEqualTokens(node.rightBracket, other.rightBracket);
}
@override
bool visitMapLiteralEntry(MapLiteralEntry node) {
MapLiteralEntry other = _other as MapLiteralEntry;
- return isEqualNodes(node.key, other.key) && isEqualTokens(node.separator, other.separator) && isEqualNodes(node.value, other.value);
+ return isEqualNodes(node.key, other.key) &&
+ isEqualTokens(node.separator, other.separator) &&
+ isEqualNodes(node.value, other.value);
}
@override
bool visitMethodDeclaration(MethodDeclaration node) {
MethodDeclaration other = _other as MethodDeclaration;
- return isEqualNodes(node.documentationComment, other.documentationComment) && _isEqualNodeLists(node.metadata, other.metadata) && isEqualTokens(node.externalKeyword, other.externalKeyword) && isEqualTokens(node.modifierKeyword, other.modifierKeyword) && isEqualNodes(node.returnType, other.returnType) && isEqualTokens(node.propertyKeyword, other.propertyKeyword) && isEqualTokens(node.propertyKeyword, other.propertyKeyword) && isEqualNodes(node.name, other.name) && isEqualNodes(node.parameters, other.parameters) && isEqualNodes(node.body, other.body);
+ return isEqualNodes(
+ node.documentationComment,
+ other.documentationComment) &&
+ _isEqualNodeLists(node.metadata, other.metadata) &&
+ isEqualTokens(node.externalKeyword, other.externalKeyword) &&
+ isEqualTokens(node.modifierKeyword, other.modifierKeyword) &&
+ isEqualNodes(node.returnType, other.returnType) &&
+ isEqualTokens(node.propertyKeyword, other.propertyKeyword) &&
+ isEqualTokens(node.propertyKeyword, other.propertyKeyword) &&
+ isEqualNodes(node.name, other.name) &&
+ isEqualNodes(node.parameters, other.parameters) &&
+ isEqualNodes(node.body, other.body);
}
@override
bool visitMethodInvocation(MethodInvocation node) {
MethodInvocation other = _other as MethodInvocation;
- return isEqualNodes(node.target, other.target) && isEqualTokens(node.period, other.period) && isEqualNodes(node.methodName, other.methodName) && isEqualNodes(node.argumentList, other.argumentList);
+ return isEqualNodes(node.target, other.target) &&
+ isEqualTokens(node.period, other.period) &&
+ isEqualNodes(node.methodName, other.methodName) &&
+ isEqualNodes(node.argumentList, other.argumentList);
}
@override
bool visitNamedExpression(NamedExpression node) {
NamedExpression other = _other as NamedExpression;
- return isEqualNodes(node.name, other.name) && isEqualNodes(node.expression, other.expression);
+ return isEqualNodes(node.name, other.name) &&
+ isEqualNodes(node.expression, other.expression);
}
@override
bool visitNativeClause(NativeClause node) {
NativeClause other = _other as NativeClause;
- return isEqualTokens(node.keyword, other.keyword) && isEqualNodes(node.name, other.name);
+ return isEqualTokens(node.keyword, other.keyword) &&
+ isEqualNodes(node.name, other.name);
}
@override
bool visitNativeFunctionBody(NativeFunctionBody node) {
NativeFunctionBody other = _other as NativeFunctionBody;
- return isEqualTokens(node.nativeToken, other.nativeToken) && isEqualNodes(node.stringLiteral, other.stringLiteral) && isEqualTokens(node.semicolon, other.semicolon);
+ return isEqualTokens(node.nativeToken, other.nativeToken) &&
+ isEqualNodes(node.stringLiteral, other.stringLiteral) &&
+ isEqualTokens(node.semicolon, other.semicolon);
}
@override
@@ -2271,49 +2550,75 @@ class AstComparator implements AstVisitor<bool> {
@override
bool visitParenthesizedExpression(ParenthesizedExpression node) {
ParenthesizedExpression other = _other as ParenthesizedExpression;
- return isEqualTokens(node.leftParenthesis, other.leftParenthesis) && isEqualNodes(node.expression, other.expression) && isEqualTokens(node.rightParenthesis, other.rightParenthesis);
+ return isEqualTokens(node.leftParenthesis, other.leftParenthesis) &&
+ isEqualNodes(node.expression, other.expression) &&
+ isEqualTokens(node.rightParenthesis, other.rightParenthesis);
}
@override
bool visitPartDirective(PartDirective node) {
PartDirective other = _other as PartDirective;
- return isEqualNodes(node.documentationComment, other.documentationComment) && _isEqualNodeLists(node.metadata, other.metadata) && isEqualTokens(node.partToken, other.partToken) && isEqualNodes(node.uri, other.uri) && isEqualTokens(node.semicolon, other.semicolon);
+ return isEqualNodes(
+ node.documentationComment,
+ other.documentationComment) &&
+ _isEqualNodeLists(node.metadata, other.metadata) &&
+ isEqualTokens(node.partToken, other.partToken) &&
+ isEqualNodes(node.uri, other.uri) &&
+ isEqualTokens(node.semicolon, other.semicolon);
}
@override
bool visitPartOfDirective(PartOfDirective node) {
PartOfDirective other = _other as PartOfDirective;
- return isEqualNodes(node.documentationComment, other.documentationComment) && _isEqualNodeLists(node.metadata, other.metadata) && isEqualTokens(node.partToken, other.partToken) && isEqualTokens(node.ofToken, other.ofToken) && isEqualNodes(node.libraryName, other.libraryName) && isEqualTokens(node.semicolon, other.semicolon);
+ return isEqualNodes(
+ node.documentationComment,
+ other.documentationComment) &&
+ _isEqualNodeLists(node.metadata, other.metadata) &&
+ isEqualTokens(node.partToken, other.partToken) &&
+ isEqualTokens(node.ofToken, other.ofToken) &&
+ isEqualNodes(node.libraryName, other.libraryName) &&
+ isEqualTokens(node.semicolon, other.semicolon);
}
@override
bool visitPostfixExpression(PostfixExpression node) {
PostfixExpression other = _other as PostfixExpression;
- return isEqualNodes(node.operand, other.operand) && isEqualTokens(node.operator, other.operator);
+ return isEqualNodes(node.operand, other.operand) &&
+ isEqualTokens(node.operator, other.operator);
}
@override
bool visitPrefixedIdentifier(PrefixedIdentifier node) {
PrefixedIdentifier other = _other as PrefixedIdentifier;
- return isEqualNodes(node.prefix, other.prefix) && isEqualTokens(node.period, other.period) && isEqualNodes(node.identifier, other.identifier);
+ return isEqualNodes(node.prefix, other.prefix) &&
+ isEqualTokens(node.period, other.period) &&
+ isEqualNodes(node.identifier, other.identifier);
}
@override
bool visitPrefixExpression(PrefixExpression node) {
PrefixExpression other = _other as PrefixExpression;
- return isEqualTokens(node.operator, other.operator) && isEqualNodes(node.operand, other.operand);
+ return isEqualTokens(node.operator, other.operator) &&
+ isEqualNodes(node.operand, other.operand);
}
@override
bool visitPropertyAccess(PropertyAccess node) {
PropertyAccess other = _other as PropertyAccess;
- return isEqualNodes(node.target, other.target) && isEqualTokens(node.operator, other.operator) && isEqualNodes(node.propertyName, other.propertyName);
+ return isEqualNodes(node.target, other.target) &&
+ isEqualTokens(node.operator, other.operator) &&
+ isEqualNodes(node.propertyName, other.propertyName);
}
@override
- bool visitRedirectingConstructorInvocation(RedirectingConstructorInvocation node) {
- RedirectingConstructorInvocation other = _other as RedirectingConstructorInvocation;
- return isEqualTokens(node.keyword, other.keyword) && isEqualTokens(node.period, other.period) && isEqualNodes(node.constructorName, other.constructorName) && isEqualNodes(node.argumentList, other.argumentList);
+ bool
+ visitRedirectingConstructorInvocation(RedirectingConstructorInvocation node) {
+ RedirectingConstructorInvocation other =
+ _other as RedirectingConstructorInvocation;
+ return isEqualTokens(node.keyword, other.keyword) &&
+ isEqualTokens(node.period, other.period) &&
+ isEqualNodes(node.constructorName, other.constructorName) &&
+ isEqualNodes(node.argumentList, other.argumentList);
}
@override
@@ -2325,7 +2630,9 @@ class AstComparator implements AstVisitor<bool> {
@override
bool visitReturnStatement(ReturnStatement node) {
ReturnStatement other = _other as ReturnStatement;
- return isEqualTokens(node.keyword, other.keyword) && isEqualNodes(node.expression, other.expression) && isEqualTokens(node.semicolon, other.semicolon);
+ return isEqualTokens(node.keyword, other.keyword) &&
+ isEqualNodes(node.expression, other.expression) &&
+ isEqualTokens(node.semicolon, other.semicolon);
}
@override
@@ -2337,13 +2644,20 @@ class AstComparator implements AstVisitor<bool> {
@override
bool visitShowCombinator(ShowCombinator node) {
ShowCombinator other = _other as ShowCombinator;
- return isEqualTokens(node.keyword, other.keyword) && _isEqualNodeLists(node.shownNames, other.shownNames);
+ return isEqualTokens(node.keyword, other.keyword) &&
+ _isEqualNodeLists(node.shownNames, other.shownNames);
}
@override
bool visitSimpleFormalParameter(SimpleFormalParameter node) {
SimpleFormalParameter other = _other as SimpleFormalParameter;
- return isEqualNodes(node.documentationComment, other.documentationComment) && _isEqualNodeLists(node.metadata, other.metadata) && isEqualTokens(node.keyword, other.keyword) && isEqualNodes(node.type, other.type) && isEqualNodes(node.identifier, other.identifier);
+ return isEqualNodes(
+ node.documentationComment,
+ other.documentationComment) &&
+ _isEqualNodeLists(node.metadata, other.metadata) &&
+ isEqualTokens(node.keyword, other.keyword) &&
+ isEqualNodes(node.type, other.type) &&
+ isEqualNodes(node.identifier, other.identifier);
}
@override
@@ -2355,7 +2669,8 @@ class AstComparator implements AstVisitor<bool> {
@override
bool visitSimpleStringLiteral(SimpleStringLiteral node) {
SimpleStringLiteral other = _other as SimpleStringLiteral;
- return isEqualTokens(node.literal, other.literal) && (node.value == other.value);
+ return isEqualTokens(node.literal, other.literal) &&
+ (node.value == other.value);
}
@override
@@ -2367,7 +2682,10 @@ class AstComparator implements AstVisitor<bool> {
@override
bool visitSuperConstructorInvocation(SuperConstructorInvocation node) {
SuperConstructorInvocation other = _other as SuperConstructorInvocation;
- return isEqualTokens(node.keyword, other.keyword) && isEqualTokens(node.period, other.period) && isEqualNodes(node.constructorName, other.constructorName) && isEqualNodes(node.argumentList, other.argumentList);
+ return isEqualTokens(node.keyword, other.keyword) &&
+ isEqualTokens(node.period, other.period) &&
+ isEqualNodes(node.constructorName, other.constructorName) &&
+ isEqualNodes(node.argumentList, other.argumentList);
}
@override
@@ -2379,25 +2697,39 @@ class AstComparator implements AstVisitor<bool> {
@override
bool visitSwitchCase(SwitchCase node) {
SwitchCase other = _other as SwitchCase;
- return _isEqualNodeLists(node.labels, other.labels) && isEqualTokens(node.keyword, other.keyword) && isEqualNodes(node.expression, other.expression) && isEqualTokens(node.colon, other.colon) && _isEqualNodeLists(node.statements, other.statements);
+ return _isEqualNodeLists(node.labels, other.labels) &&
+ isEqualTokens(node.keyword, other.keyword) &&
+ isEqualNodes(node.expression, other.expression) &&
+ isEqualTokens(node.colon, other.colon) &&
+ _isEqualNodeLists(node.statements, other.statements);
}
@override
bool visitSwitchDefault(SwitchDefault node) {
SwitchDefault other = _other as SwitchDefault;
- return _isEqualNodeLists(node.labels, other.labels) && isEqualTokens(node.keyword, other.keyword) && isEqualTokens(node.colon, other.colon) && _isEqualNodeLists(node.statements, other.statements);
+ return _isEqualNodeLists(node.labels, other.labels) &&
+ isEqualTokens(node.keyword, other.keyword) &&
+ isEqualTokens(node.colon, other.colon) &&
+ _isEqualNodeLists(node.statements, other.statements);
}
@override
bool visitSwitchStatement(SwitchStatement node) {
SwitchStatement other = _other as SwitchStatement;
- return isEqualTokens(node.keyword, other.keyword) && isEqualTokens(node.leftParenthesis, other.leftParenthesis) && isEqualNodes(node.expression, other.expression) && isEqualTokens(node.rightParenthesis, other.rightParenthesis) && isEqualTokens(node.leftBracket, other.leftBracket) && _isEqualNodeLists(node.members, other.members) && isEqualTokens(node.rightBracket, other.rightBracket);
+ return isEqualTokens(node.keyword, other.keyword) &&
+ isEqualTokens(node.leftParenthesis, other.leftParenthesis) &&
+ isEqualNodes(node.expression, other.expression) &&
+ isEqualTokens(node.rightParenthesis, other.rightParenthesis) &&
+ isEqualTokens(node.leftBracket, other.leftBracket) &&
+ _isEqualNodeLists(node.members, other.members) &&
+ isEqualTokens(node.rightBracket, other.rightBracket);
}
@override
bool visitSymbolLiteral(SymbolLiteral node) {
SymbolLiteral other = _other as SymbolLiteral;
- return isEqualTokens(node.poundSign, other.poundSign) && _isEqualTokenLists(node.components, other.components);
+ return isEqualTokens(node.poundSign, other.poundSign) &&
+ _isEqualTokenLists(node.components, other.components);
}
@override
@@ -2409,79 +2741,120 @@ class AstComparator implements AstVisitor<bool> {
@override
bool visitThrowExpression(ThrowExpression node) {
ThrowExpression other = _other as ThrowExpression;
- return isEqualTokens(node.keyword, other.keyword) && isEqualNodes(node.expression, other.expression);
+ return isEqualTokens(node.keyword, other.keyword) &&
+ isEqualNodes(node.expression, other.expression);
}
@override
bool visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) {
TopLevelVariableDeclaration other = _other as TopLevelVariableDeclaration;
- return isEqualNodes(node.documentationComment, other.documentationComment) && _isEqualNodeLists(node.metadata, other.metadata) && isEqualNodes(node.variables, other.variables) && isEqualTokens(node.semicolon, other.semicolon);
+ return isEqualNodes(
+ node.documentationComment,
+ other.documentationComment) &&
+ _isEqualNodeLists(node.metadata, other.metadata) &&
+ isEqualNodes(node.variables, other.variables) &&
+ isEqualTokens(node.semicolon, other.semicolon);
}
@override
bool visitTryStatement(TryStatement node) {
TryStatement other = _other as TryStatement;
- return isEqualTokens(node.tryKeyword, other.tryKeyword) && isEqualNodes(node.body, other.body) && _isEqualNodeLists(node.catchClauses, other.catchClauses) && isEqualTokens(node.finallyKeyword, other.finallyKeyword) && isEqualNodes(node.finallyBlock, other.finallyBlock);
+ return isEqualTokens(node.tryKeyword, other.tryKeyword) &&
+ isEqualNodes(node.body, other.body) &&
+ _isEqualNodeLists(node.catchClauses, other.catchClauses) &&
+ isEqualTokens(node.finallyKeyword, other.finallyKeyword) &&
+ isEqualNodes(node.finallyBlock, other.finallyBlock);
}
@override
bool visitTypeArgumentList(TypeArgumentList node) {
TypeArgumentList other = _other as TypeArgumentList;
- return isEqualTokens(node.leftBracket, other.leftBracket) && _isEqualNodeLists(node.arguments, other.arguments) && isEqualTokens(node.rightBracket, other.rightBracket);
+ return isEqualTokens(node.leftBracket, other.leftBracket) &&
+ _isEqualNodeLists(node.arguments, other.arguments) &&
+ isEqualTokens(node.rightBracket, other.rightBracket);
}
@override
bool visitTypeName(TypeName node) {
TypeName other = _other as TypeName;
- return isEqualNodes(node.name, other.name) && isEqualNodes(node.typeArguments, other.typeArguments);
+ return isEqualNodes(node.name, other.name) &&
+ isEqualNodes(node.typeArguments, other.typeArguments);
}
@override
bool visitTypeParameter(TypeParameter node) {
TypeParameter other = _other as TypeParameter;
- return isEqualNodes(node.documentationComment, other.documentationComment) && _isEqualNodeLists(node.metadata, other.metadata) && isEqualNodes(node.name, other.name) && isEqualTokens(node.keyword, other.keyword) && isEqualNodes(node.bound, other.bound);
+ return isEqualNodes(
+ node.documentationComment,
+ other.documentationComment) &&
+ _isEqualNodeLists(node.metadata, other.metadata) &&
+ isEqualNodes(node.name, other.name) &&
+ isEqualTokens(node.keyword, other.keyword) &&
+ isEqualNodes(node.bound, other.bound);
}
@override
bool visitTypeParameterList(TypeParameterList node) {
TypeParameterList other = _other as TypeParameterList;
- return isEqualTokens(node.leftBracket, other.leftBracket) && _isEqualNodeLists(node.typeParameters, other.typeParameters) && isEqualTokens(node.rightBracket, other.rightBracket);
+ return isEqualTokens(node.leftBracket, other.leftBracket) &&
+ _isEqualNodeLists(node.typeParameters, other.typeParameters) &&
+ isEqualTokens(node.rightBracket, other.rightBracket);
}
@override
bool visitVariableDeclaration(VariableDeclaration node) {
VariableDeclaration other = _other as VariableDeclaration;
- return isEqualNodes(node.documentationComment, other.documentationComment) && _isEqualNodeLists(node.metadata, other.metadata) && isEqualNodes(node.name, other.name) && isEqualTokens(node.equals, other.equals) && isEqualNodes(node.initializer, other.initializer);
+ return isEqualNodes(
+ node.documentationComment,
+ other.documentationComment) &&
+ _isEqualNodeLists(node.metadata, other.metadata) &&
+ isEqualNodes(node.name, other.name) &&
+ isEqualTokens(node.equals, other.equals) &&
+ isEqualNodes(node.initializer, other.initializer);
}
@override
bool visitVariableDeclarationList(VariableDeclarationList node) {
VariableDeclarationList other = _other as VariableDeclarationList;
- return isEqualNodes(node.documentationComment, other.documentationComment) && _isEqualNodeLists(node.metadata, other.metadata) && isEqualTokens(node.keyword, other.keyword) && isEqualNodes(node.type, other.type) && _isEqualNodeLists(node.variables, other.variables);
+ return isEqualNodes(
+ node.documentationComment,
+ other.documentationComment) &&
+ _isEqualNodeLists(node.metadata, other.metadata) &&
+ isEqualTokens(node.keyword, other.keyword) &&
+ isEqualNodes(node.type, other.type) &&
+ _isEqualNodeLists(node.variables, other.variables);
}
@override
bool visitVariableDeclarationStatement(VariableDeclarationStatement node) {
VariableDeclarationStatement other = _other as VariableDeclarationStatement;
- return isEqualNodes(node.variables, other.variables) && isEqualTokens(node.semicolon, other.semicolon);
+ return isEqualNodes(node.variables, other.variables) &&
+ isEqualTokens(node.semicolon, other.semicolon);
}
@override
bool visitWhileStatement(WhileStatement node) {
WhileStatement other = _other as WhileStatement;
- return isEqualTokens(node.keyword, other.keyword) && isEqualTokens(node.leftParenthesis, other.leftParenthesis) && isEqualNodes(node.condition, other.condition) && isEqualTokens(node.rightParenthesis, other.rightParenthesis) && isEqualNodes(node.body, other.body);
+ return isEqualTokens(node.keyword, other.keyword) &&
+ isEqualTokens(node.leftParenthesis, other.leftParenthesis) &&
+ isEqualNodes(node.condition, other.condition) &&
+ isEqualTokens(node.rightParenthesis, other.rightParenthesis) &&
+ isEqualNodes(node.body, other.body);
}
@override
bool visitWithClause(WithClause node) {
WithClause other = _other as WithClause;
- return isEqualTokens(node.withKeyword, other.withKeyword) && _isEqualNodeLists(node.mixinTypes, other.mixinTypes);
+ return isEqualTokens(node.withKeyword, other.withKeyword) &&
+ _isEqualNodeLists(node.mixinTypes, other.mixinTypes);
}
@override
bool visitYieldStatement(YieldStatement node) {
YieldStatement other = _other as YieldStatement;
- return isEqualTokens(node.yieldKeyword, other.yieldKeyword) && isEqualNodes(node.expression, other.expression) && isEqualTokens(node.semicolon, other.semicolon);
+ return isEqualTokens(node.yieldKeyword, other.yieldKeyword) &&
+ isEqualNodes(node.expression, other.expression) &&
+ isEqualTokens(node.semicolon, other.semicolon);
}
/**
@@ -2512,25 +2885,6 @@ class AstComparator implements AstVisitor<bool> {
}
/**
- * Return `true` if the [first] node and the [second] node have the same
- * structure.
- *
- * *Note:* This method is only visible for testing purposes and should not be
- * used by clients.
- */
- bool isEqualNodes(AstNode first, AstNode second) {
- if (first == null) {
- return second == null;
- } else if (second == null) {
- return false;
- } else if (first.runtimeType != second.runtimeType) {
- return false;
- }
- _other = second;
- return first.accept(this);
- }
-
- /**
* Return `true` if the given arrays of tokens have the same length and corresponding
* elements are equal.
*
@@ -2553,23 +2907,11 @@ class AstComparator implements AstVisitor<bool> {
}
/**
- * Return `true` if the [first] token and the [second] token have the same
- * structure.
- *
- * *Note:* This method is only visible for testing purposes and should not be
- * used by clients.
+ * Return `true` if the [first] node and the [second] node are equal.
*/
- bool isEqualTokens(Token first, Token second) {
- if (first == null) {
- return second == null;
- } else if (second == null) {
- return false;
- } else if (identical(first, second)) {
- return true;
- }
- return first.offset == second.offset
- && first.length == second.length
- && first.lexeme == second.lexeme;
+ static bool equalNodes(AstNode first, AstNode second) {
+ AstComparator comparator = new AstComparator();
+ return comparator.isEqualNodes(first, second);
}
}
@@ -2579,17 +2921,6 @@ class AstComparator implements AstVisitor<bool> {
*/
abstract class AstNode {
/**
- * The parent of the node, or `null` if the node is the root of an AST structure.
- */
- AstNode _parent;
-
- /**
- * A table mapping the names of properties to their values, or `null` if this node does not
- * have any properties associated with it.
- */
- Map<String, Object> _propertyMap;
-
- /**
* An empty array of ast nodes.
*/
static const List<AstNode> EMPTY_ARRAY = const <AstNode>[];
@@ -2600,30 +2931,19 @@ abstract class AstNode {
* offset of the second node, zero (0) if the nodes have the same offset, and a positive value if
* if the offset of the first node is greater than the offset of the second node.
*/
- static Comparator<AstNode> LEXICAL_ORDER = (AstNode first, AstNode second) => second.offset - first.offset;
+ static Comparator<AstNode> LEXICAL_ORDER =
+ (AstNode first, AstNode second) => second.offset - first.offset;
/**
- * Use the given visitor to visit this node.
- *
- * @param visitor the visitor that will visit this node
- * @return the value returned by the visitor as a result of visiting this node
+ * The parent of the node, or `null` if the node is the root of an AST structure.
*/
- accept(AstVisitor visitor);
+ AstNode _parent;
/**
- * Return the node of the given class that most immediately encloses this node, or `null` if
- * there is no enclosing node of the given class.
- *
- * @param nodeClass the class of the node to be returned
- * @return the node of the given type that encloses this node
+ * A table mapping the names of properties to their values, or `null` if this node does not
+ * have any properties associated with it.
*/
- AstNode getAncestor(Predicate<AstNode> predicate) {
- AstNode node = this;
- while (node != null && !predicate(node)) {
- node = node.parent;
- }
- return node;
- }
+ Map<String, Object> _propertyMap;
/**
* Return the first token included in this node's source range.
@@ -2650,6 +2970,15 @@ abstract class AstNode {
Token get endToken;
/**
+ * Return `true` if this node is a synthetic node. A synthetic node is a node that was
+ * introduced by the parser in order to recover from an error in the code. Synthetic nodes always
+ * have a length of zero (`0`).
+ *
+ * @return `true` if this node is a synthetic node
+ */
+ bool get isSynthetic => false;
+
+ /**
* Return the number of characters in the node's source range.
*
* @return the number of characters in the node's source range
@@ -2689,16 +3018,13 @@ abstract class AstNode {
AstNode get parent => _parent;
/**
- * Return the value of the property with the given name, or `null` if this node does not
- * have a property with the given name.
+ * Set the parent of this node to the given node.
*
- * @return the value of the property with the given name
+ * @param newParent the node that is to be made the parent of this node
*/
- Object getProperty(String propertyName) {
- if (_propertyMap == null) {
- return null;
- }
- return _propertyMap[propertyName];
+ @deprecated
+ void set parent(AstNode newParent) {
+ _parent = newParent;
}
/**
@@ -2718,13 +3044,65 @@ abstract class AstNode {
}
/**
- * Return `true` if this node is a synthetic node. A synthetic node is a node that was
- * introduced by the parser in order to recover from an error in the code. Synthetic nodes always
- * have a length of zero (`0`).
+ * Use the given visitor to visit this node.
*
- * @return `true` if this node is a synthetic node
+ * @param visitor the visitor that will visit this node
+ * @return the value returned by the visitor as a result of visiting this node
*/
- bool get isSynthetic => false;
+ accept(AstVisitor visitor);
+
+ /**
+ * Make this node the parent of the given child node.
+ *
+ * @param child the node that will become a child of this node
+ * @return the node that was made a child of this node
+ */
+ AstNode becomeParentOf(AstNode child) {
+ if (child != null) {
+ child._parent = this;
+ }
+ return child;
+ }
+
+ /**
+ * Return the node of the given class that most immediately encloses this node, or `null` if
+ * there is no enclosing node of the given class.
+ *
+ * @param nodeClass the class of the node to be returned
+ * @return the node of the given type that encloses this node
+ */
+ AstNode getAncestor(Predicate<AstNode> predicate) {
+ AstNode node = this;
+ while (node != null && !predicate(node)) {
+ node = node.parent;
+ }
+ return node;
+ }
+
+ /**
+ * Return the value of the property with the given name, or `null` if this node does not
+ * have a property with the given name.
+ *
+ * @return the value of the property with the given name
+ */
+ Object getProperty(String propertyName) {
+ if (_propertyMap == null) {
+ return null;
+ }
+ return _propertyMap[propertyName];
+ }
+
+ /**
+ * If the given child is not `null`, use the given visitor to visit it.
+ *
+ * @param child the child to be visited
+ * @param visitor the visitor that will be used to visit the child
+ */
+ void safelyVisitChild(AstNode child, AstVisitor visitor) {
+ if (child != null) {
+ child.accept(visitor);
+ }
+ }
/**
* Set the value of the property with the given name to the given value. If the value is
@@ -2771,41 +3149,6 @@ abstract class AstNode {
* @param visitor the visitor that will be used to visit the children of this node
*/
void visitChildren(AstVisitor visitor);
-
- /**
- * Make this node the parent of the given child node.
- *
- * @param child the node that will become a child of this node
- * @return the node that was made a child of this node
- */
- AstNode becomeParentOf(AstNode child) {
- if (child != null) {
- child._parent = this;
- }
- return child;
- }
-
- /**
- * If the given child is not `null`, use the given visitor to visit it.
- *
- * @param child the child to be visited
- * @param visitor the visitor that will be used to visit the child
- */
- void safelyVisitChild(AstNode child, AstVisitor visitor) {
- if (child != null) {
- child.accept(visitor);
- }
- }
-
- /**
- * Set the parent of this node to the given node.
- *
- * @param newParent the node that is to be made the parent of this node
- */
- @deprecated
- void set parent(AstNode newParent) {
- _parent = newParent;
- }
}
/**
@@ -2967,7 +3310,8 @@ abstract class AstVisitor<R> {
R visitPropertyAccess(PropertyAccess node);
- R visitRedirectingConstructorInvocation(RedirectingConstructorInvocation node);
+ R
+ visitRedirectingConstructorInvocation(RedirectingConstructorInvocation node);
R visitRethrowExpression(RethrowExpression node);
@@ -3051,9 +3395,6 @@ class AwaitExpression extends Expression {
}
@override
- accept(AstVisitor visitor) => visitor.visitAwaitExpression(this);
-
- @override
Token get beginToken {
if (awaitKeyword != null) {
return awaitKeyword;
@@ -3071,9 +3412,6 @@ class AwaitExpression extends Expression {
*/
Expression get expression => _expression;
- @override
- int get precedence => 0;
-
/**
* Set the expression whose value is being waited on to the given expression.
*
@@ -3084,6 +3422,12 @@ class AwaitExpression extends Expression {
}
@override
+ int get precedence => 0;
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitAwaitExpression(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_expression, visitor);
}
@@ -3134,15 +3478,13 @@ class BinaryExpression extends Expression {
* @param operator the binary operator being applied
* @param rightOperand the expression used to compute the right operand
*/
- BinaryExpression(Expression leftOperand, this.operator, Expression rightOperand) {
+ BinaryExpression(Expression leftOperand, this.operator,
+ Expression rightOperand) {
_leftOperand = becomeParentOf(leftOperand);
_rightOperand = becomeParentOf(rightOperand);
}
@override
- accept(AstVisitor visitor) => visitor.visitBinaryExpression(this);
-
- @override
Token get beginToken => _leftOperand.beginToken;
/**
@@ -3171,16 +3513,6 @@ class BinaryExpression extends Expression {
*/
Expression get leftOperand => _leftOperand;
- @override
- int get precedence => operator.type.precedence;
-
- /**
- * Return the expression used to compute the right operand.
- *
- * @return the expression used to compute the right operand
- */
- Expression get rightOperand => _rightOperand;
-
/**
* Set the expression used to compute the left operand to the given expression.
*
@@ -3190,20 +3522,8 @@ class BinaryExpression extends Expression {
_leftOperand = becomeParentOf(expression);
}
- /**
- * Set the expression used to compute the right operand to the given expression.
- *
- * @param expression the expression used to compute the right operand
- */
- void set rightOperand(Expression expression) {
- _rightOperand = becomeParentOf(expression);
- }
-
@override
- void visitChildren(AstVisitor visitor) {
- safelyVisitChild(_leftOperand, visitor);
- safelyVisitChild(_rightOperand, visitor);
- }
+ int get precedence => operator.type.precedence;
/**
* If the AST structure has been resolved, and the function being invoked is known based on
@@ -3227,6 +3547,22 @@ class BinaryExpression extends Expression {
}
/**
+ * Return the expression used to compute the right operand.
+ *
+ * @return the expression used to compute the right operand
+ */
+ Expression get rightOperand => _rightOperand;
+
+ /**
+ * Set the expression used to compute the right operand to the given expression.
+ *
+ * @param expression the expression used to compute the right operand
+ */
+ void set rightOperand(Expression expression) {
+ _rightOperand = becomeParentOf(expression);
+ }
+
+ /**
* If the AST structure has been resolved, and the function being invoked is known based on static
* type information, then return the parameter element representing the parameter to which the
* value of the right operand will be bound. Otherwise, return `null`.
@@ -3246,6 +3582,15 @@ class BinaryExpression extends Expression {
}
return parameters[0];
}
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitBinaryExpression(this);
+
+ @override
+ void visitChildren(AstVisitor visitor) {
+ safelyVisitChild(_leftOperand, visitor);
+ safelyVisitChild(_rightOperand, visitor);
+ }
}
/**
@@ -3284,9 +3629,6 @@ class Block extends Statement {
}
@override
- accept(AstVisitor visitor) => visitor.visitBlock(this);
-
- @override
Token get beginToken => leftBracket;
@override
@@ -3300,6 +3642,9 @@ class Block extends Statement {
NodeList<Statement> get statements => _statements;
@override
+ accept(AstVisitor visitor) => visitor.visitBlock(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
_statements.accept(visitor);
}
@@ -3343,9 +3688,6 @@ class BlockFunctionBody extends FunctionBody {
}
@override
- accept(AstVisitor visitor) => visitor.visitBlockFunctionBody(this);
-
- @override
Token get beginToken => _block.beginToken;
/**
@@ -3355,6 +3697,15 @@ class BlockFunctionBody extends FunctionBody {
*/
Block get block => _block;
+ /**
+ * Set the block representing the body of the function to the given block.
+ *
+ * @param block the block representing the body of the function
+ */
+ void set block(Block block) {
+ _block = becomeParentOf(block);
+ }
+
@override
Token get endToken => _block.endToken;
@@ -3373,14 +3724,8 @@ class BlockFunctionBody extends FunctionBody {
@override
bool get isSynchronous => keyword == null || keyword.lexeme != Parser.ASYNC;
- /**
- * Set the block representing the body of the function to the given block.
- *
- * @param block the block representing the body of the function
- */
- void set block(Block block) {
- _block = becomeParentOf(block);
- }
+ @override
+ accept(AstVisitor visitor) => visitor.visitBlockFunctionBody(this);
@override
void visitChildren(AstVisitor visitor) {
@@ -3416,9 +3761,6 @@ class BooleanLiteral extends Literal {
BooleanLiteral(this.literal, this.value);
@override
- accept(AstVisitor visitor) => visitor.visitBooleanLiteral(this);
-
- @override
Token get beginToken => literal;
@override
@@ -3428,6 +3770,9 @@ class BooleanLiteral extends Literal {
bool get isSynthetic => literal.isSynthetic;
@override
+ accept(AstVisitor visitor) => visitor.visitBooleanLiteral(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
// There are no children to visit.
}
@@ -3461,6 +3806,10 @@ class BreadthFirstVisitor<R> extends GeneralizingAstVisitor<R> {
*/
GeneralizingAstVisitor<Object> _childVisitor;
+ BreadthFirstVisitor() {
+ _childVisitor = new GeneralizingAstVisitor_BreadthFirstVisitor(this);
+ }
+
/**
* Visit all nodes in the tree starting at the given `root` node, in breadth-first order.
*
@@ -3479,10 +3828,6 @@ class BreadthFirstVisitor<R> extends GeneralizingAstVisitor<R> {
node.visitChildren(_childVisitor);
return null;
}
-
- BreadthFirstVisitor() {
- _childVisitor = new GeneralizingAstVisitor_BreadthFirstVisitor(this);
- }
}
/**
@@ -3521,9 +3866,6 @@ class BreakStatement extends Statement {
}
@override
- accept(AstVisitor visitor) => visitor.visitBreakStatement(this);
-
- @override
Token get beginToken => keyword;
@override
@@ -3546,6 +3888,9 @@ class BreakStatement extends Statement {
}
@override
+ accept(AstVisitor visitor) => visitor.visitBreakStatement(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_label, visitor);
}
@@ -3592,9 +3937,6 @@ class CascadeExpression extends Expression {
}
@override
- accept(AstVisitor visitor) => visitor.visitCascadeExpression(this);
-
- @override
Token get beginToken => _target.beginToken;
/**
@@ -3627,6 +3969,9 @@ class CascadeExpression extends Expression {
}
@override
+ accept(AstVisitor visitor) => visitor.visitCascadeExpression(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_target, visitor);
_cascadeSections.accept(visitor);
@@ -3707,7 +4052,9 @@ class CatchClause extends AstNode {
* @param rightParenthesis the right parenthesis
* @param body the body of the catch block
*/
- CatchClause(this.onKeyword, TypeName exceptionType, this.catchKeyword, this.leftParenthesis, SimpleIdentifier exceptionParameter, this.comma, SimpleIdentifier stackTraceParameter, this.rightParenthesis, Block body) {
+ CatchClause(this.onKeyword, TypeName exceptionType, this.catchKeyword,
+ this.leftParenthesis, SimpleIdentifier exceptionParameter, this.comma,
+ SimpleIdentifier stackTraceParameter, this.rightParenthesis, Block body) {
_exceptionType = becomeParentOf(exceptionType);
_exceptionParameter = becomeParentOf(exceptionParameter);
_stackTraceParameter = becomeParentOf(stackTraceParameter);
@@ -3715,9 +4062,6 @@ class CatchClause extends AstNode {
}
@override
- accept(AstVisitor visitor) => visitor.visitCatchClause(this);
-
- @override
Token get beginToken {
if (onKeyword != null) {
return onKeyword;
@@ -3732,6 +4076,15 @@ class CatchClause extends AstNode {
*/
Block get body => _body;
+ /**
+ * Set the body of the catch block to the given block.
+ *
+ * @param block the body of the catch block
+ */
+ void set body(Block block) {
+ _body = becomeParentOf(block);
+ }
+
@override
Token get endToken => _body.endToken;
@@ -3743,31 +4096,6 @@ class CatchClause extends AstNode {
SimpleIdentifier get exceptionParameter => _exceptionParameter;
/**
- * Return the type of exceptions caught by this catch clause, or `null` if this catch clause
- * catches every type of exception.
- *
- * @return the type of exceptions caught by this catch clause
- */
- TypeName get exceptionType => _exceptionType;
-
- /**
- * Return the parameter whose value will be the stack trace associated with the exception, or
- * `null` if there is no stack trace parameter.
- *
- * @return the parameter whose value will be the stack trace associated with the exception
- */
- SimpleIdentifier get stackTraceParameter => _stackTraceParameter;
-
- /**
- * Set the body of the catch block to the given block.
- *
- * @param block the body of the catch block
- */
- void set body(Block block) {
- _body = becomeParentOf(block);
- }
-
- /**
* Set the parameter whose value will be the exception that was thrown to the given parameter.
*
* @param parameter the parameter whose value will be the exception that was thrown
@@ -3777,6 +4105,14 @@ class CatchClause extends AstNode {
}
/**
+ * Return the type of exceptions caught by this catch clause, or `null` if this catch clause
+ * catches every type of exception.
+ *
+ * @return the type of exceptions caught by this catch clause
+ */
+ TypeName get exceptionType => _exceptionType;
+
+ /**
* Set the type of exceptions caught by this catch clause to the given type.
*
* @param exceptionType the type of exceptions caught by this catch clause
@@ -3786,6 +4122,14 @@ class CatchClause extends AstNode {
}
/**
+ * Return the parameter whose value will be the stack trace associated with the exception, or
+ * `null` if there is no stack trace parameter.
+ *
+ * @return the parameter whose value will be the stack trace associated with the exception
+ */
+ SimpleIdentifier get stackTraceParameter => _stackTraceParameter;
+
+ /**
* Set the parameter whose value will be the stack trace associated with the exception to the
* given parameter.
*
@@ -3797,6 +4141,9 @@ class CatchClause extends AstNode {
}
@override
+ accept(AstVisitor visitor) => visitor.visitCatchClause(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_exceptionType, visitor);
safelyVisitChild(_exceptionParameter, visitor);
@@ -3890,7 +4237,12 @@ class ClassDeclaration extends CompilationUnitMember {
* @param members the members defined by the class
* @param rightBracket the right curly bracket
*/
- ClassDeclaration(Comment comment, List<Annotation> metadata, this.abstractKeyword, this.classKeyword, SimpleIdentifier name, TypeParameterList typeParameters, ExtendsClause extendsClause, WithClause withClause, ImplementsClause implementsClause, this.leftBracket, List<ClassMember> members, this.rightBracket) : super(comment, metadata) {
+ ClassDeclaration(Comment comment, List<Annotation> metadata,
+ this.abstractKeyword, this.classKeyword, SimpleIdentifier name,
+ TypeParameterList typeParameters, ExtendsClause extendsClause,
+ WithClause withClause, ImplementsClause implementsClause, this.leftBracket,
+ List<ClassMember> members, this.rightBracket)
+ : super(comment, metadata) {
_name = becomeParentOf(name);
_typeParameters = becomeParentOf(typeParameters);
_extendsClause = becomeParentOf(extendsClause);
@@ -3900,32 +4252,8 @@ class ClassDeclaration extends CompilationUnitMember {
}
@override
- accept(AstVisitor visitor) => visitor.visitClassDeclaration(this);
-
- /**
- * Return the constructor declared in the class with the given name.
- *
- * @param name the name of the constructor to find, `null` for default
- * @return the found constructor or `null` if not found
- */
- ConstructorDeclaration getConstructor(String name) {
- for (ClassMember classMember in _members) {
- if (classMember is ConstructorDeclaration) {
- ConstructorDeclaration constructor = classMember;
- SimpleIdentifier constructorName = constructor.name;
- if (name == null && constructorName == null) {
- return constructor;
- }
- if (constructorName != null && constructorName.name == name) {
- return constructor;
- }
- }
- }
- return null;
- }
-
- @override
- ClassElement get element => _name != null ? (_name.staticElement as ClassElement) : null;
+ ClassElement get element =>
+ _name != null ? (_name.staticElement as ClassElement) : null;
@override
Token get endToken => rightBracket;
@@ -3939,25 +4267,20 @@ class ClassDeclaration extends CompilationUnitMember {
ExtendsClause get extendsClause => _extendsClause;
/**
- * Return the field declared in the class with the given name.
+ * Set the extends clause for this class to the given clause.
*
- * @param name the name of the field to find
- * @return the found field or `null` if not found
+ * @param extendsClause the extends clause for this class
*/
- VariableDeclaration getField(String name) {
- for (ClassMember classMember in _members) {
- if (classMember is FieldDeclaration) {
- FieldDeclaration fieldDeclaration = classMember;
- NodeList<VariableDeclaration> fields = fieldDeclaration.fields.variables;
- for (VariableDeclaration field in fields) {
- SimpleIdentifier fieldName = field.name;
- if (fieldName != null && name == fieldName.name) {
- return field;
- }
- }
- }
+ void set extendsClause(ExtendsClause extendsClause) {
+ _extendsClause = becomeParentOf(extendsClause);
+ }
+
+ @override
+ Token get firstTokenAfterCommentAndMetadata {
+ if (abstractKeyword != null) {
+ return abstractKeyword;
}
- return null;
+ return classKeyword;
}
/**
@@ -3969,30 +4292,27 @@ class ClassDeclaration extends CompilationUnitMember {
ImplementsClause get implementsClause => _implementsClause;
/**
- * Return the members defined by the class.
+ * Set the implements clause for the class to the given clause.
*
- * @return the members defined by the class
+ * @param implementsClause the implements clause for the class
*/
- NodeList<ClassMember> get members => _members;
+ void set implementsClause(ImplementsClause implementsClause) {
+ _implementsClause = becomeParentOf(implementsClause);
+ }
/**
- * Return the method declared in the class with the given name.
+ * Return `true` if this class is declared to be an abstract class.
*
- * @param name the name of the method to find
- * @return the found method or `null` if not found
+ * @return `true` if this class is declared to be an abstract class
*/
- MethodDeclaration getMethod(String name) {
- for (ClassMember classMember in _members) {
- if (classMember is MethodDeclaration) {
- MethodDeclaration method = classMember;
- SimpleIdentifier methodName = method.name;
- if (methodName != null && name == methodName.name) {
- return method;
- }
- }
- }
- return null;
- }
+ bool get isAbstract => abstractKeyword != null;
+
+ /**
+ * Return the members defined by the class.
+ *
+ * @return the members defined by the class
+ */
+ NodeList<ClassMember> get members => _members;
/**
* Return the name of the class being declared.
@@ -4002,6 +4322,15 @@ class ClassDeclaration extends CompilationUnitMember {
SimpleIdentifier get name => _name;
/**
+ * Set the name of the class being declared to the given identifier.
+ *
+ * @param identifier the name of the class being declared
+ */
+ void set name(SimpleIdentifier identifier) {
+ _name = becomeParentOf(identifier);
+ }
+
+ /**
* Return the native clause for this class, or `null` if the class does not have a native
* cluse.
*
@@ -4010,6 +4339,15 @@ class ClassDeclaration extends CompilationUnitMember {
NativeClause get nativeClause => _nativeClause;
/**
+ * Set the native clause for this class to the given clause.
+ *
+ * @param nativeClause the native clause for this class
+ */
+ void set nativeClause(NativeClause nativeClause) {
+ _nativeClause = becomeParentOf(nativeClause);
+ }
+
+ /**
* Return the type parameters for the class, or `null` if the class does not have any type
* parameters.
*
@@ -4018,71 +4356,95 @@ class ClassDeclaration extends CompilationUnitMember {
TypeParameterList get typeParameters => _typeParameters;
/**
- * Return the with clause for the class, or `null` if the class does not have a with clause.
+ * Set the type parameters for the class to the given list of type parameters.
*
- * @return the with clause for the class
+ * @param typeParameters the type parameters for the class
*/
- WithClause get withClause => _withClause;
-
- /**
- * Return `true` if this class is declared to be an abstract class.
- *
- * @return `true` if this class is declared to be an abstract class
- */
- bool get isAbstract => abstractKeyword != null;
-
- /**
- * Set the extends clause for this class to the given clause.
- *
- * @param extendsClause the extends clause for this class
- */
- void set extendsClause(ExtendsClause extendsClause) {
- _extendsClause = becomeParentOf(extendsClause);
+ void set typeParameters(TypeParameterList typeParameters) {
+ _typeParameters = becomeParentOf(typeParameters);
}
/**
- * Set the implements clause for the class to the given clause.
+ * Return the with clause for the class, or `null` if the class does not have a with clause.
*
- * @param implementsClause the implements clause for the class
+ * @return the with clause for the class
*/
- void set implementsClause(ImplementsClause implementsClause) {
- _implementsClause = becomeParentOf(implementsClause);
- }
+ WithClause get withClause => _withClause;
/**
- * Set the name of the class being declared to the given identifier.
+ * Set the with clause for the class to the given clause.
*
- * @param identifier the name of the class being declared
+ * @param withClause the with clause for the class
*/
- void set name(SimpleIdentifier identifier) {
- _name = becomeParentOf(identifier);
+ void set withClause(WithClause withClause) {
+ _withClause = becomeParentOf(withClause);
}
+ @override
+ accept(AstVisitor visitor) => visitor.visitClassDeclaration(this);
+
/**
- * Set the native clause for this class to the given clause.
+ * Return the constructor declared in the class with the given name.
*
- * @param nativeClause the native clause for this class
+ * @param name the name of the constructor to find, `null` for default
+ * @return the found constructor or `null` if not found
*/
- void set nativeClause(NativeClause nativeClause) {
- _nativeClause = becomeParentOf(nativeClause);
+ ConstructorDeclaration getConstructor(String name) {
+ for (ClassMember classMember in _members) {
+ if (classMember is ConstructorDeclaration) {
+ ConstructorDeclaration constructor = classMember;
+ SimpleIdentifier constructorName = constructor.name;
+ if (name == null && constructorName == null) {
+ return constructor;
+ }
+ if (constructorName != null && constructorName.name == name) {
+ return constructor;
+ }
+ }
+ }
+ return null;
}
/**
- * Set the type parameters for the class to the given list of type parameters.
+ * Return the field declared in the class with the given name.
*
- * @param typeParameters the type parameters for the class
+ * @param name the name of the field to find
+ * @return the found field or `null` if not found
*/
- void set typeParameters(TypeParameterList typeParameters) {
- _typeParameters = becomeParentOf(typeParameters);
+ VariableDeclaration getField(String name) {
+ for (ClassMember classMember in _members) {
+ if (classMember is FieldDeclaration) {
+ FieldDeclaration fieldDeclaration = classMember;
+ NodeList<VariableDeclaration> fields =
+ fieldDeclaration.fields.variables;
+ for (VariableDeclaration field in fields) {
+ SimpleIdentifier fieldName = field.name;
+ if (fieldName != null && name == fieldName.name) {
+ return field;
+ }
+ }
+ }
+ }
+ return null;
}
/**
- * Set the with clause for the class to the given clause.
+ * Return the method declared in the class with the given name.
*
- * @param withClause the with clause for the class
+ * @param name the name of the method to find
+ * @return the found method or `null` if not found
*/
- void set withClause(WithClause withClause) {
- _withClause = becomeParentOf(withClause);
+ MethodDeclaration getMethod(String name) {
+ for (ClassMember classMember in _members) {
+ if (classMember is MethodDeclaration) {
+ MethodDeclaration method = classMember;
+ SimpleIdentifier methodName = method.name;
+ if (methodName != null && name == methodName.name) {
+ return method;
+ }
+ }
+ }
+ return null;
}
@override
@@ -4096,14 +4458,6 @@ class ClassDeclaration extends CompilationUnitMember {
safelyVisitChild(_nativeClause, visitor);
members.accept(visitor);
}
-
- @override
- Token get firstTokenAfterCommentAndMetadata {
- if (abstractKeyword != null) {
- return abstractKeyword;
- }
- return classKeyword;
- }
}
/**
@@ -4117,7 +4471,8 @@ abstract class ClassMember extends Declaration {
* @param comment the documentation comment associated with this member
* @param metadata the annotations associated with this member
*/
- ClassMember(Comment comment, List<Annotation> metadata) : super(comment, metadata);
+ ClassMember(Comment comment, List<Annotation> metadata)
+ : super(comment, metadata);
}
/**
@@ -4184,7 +4539,11 @@ class ClassTypeAlias extends TypeAlias {
* @param implementsClause the implements clause for this class
* @param semicolon the semicolon terminating the declaration
*/
- ClassTypeAlias(Comment comment, List<Annotation> metadata, Token keyword, SimpleIdentifier name, TypeParameterList typeParameters, this.equals, this.abstractKeyword, TypeName superclass, WithClause withClause, ImplementsClause implementsClause, Token semicolon) : super(comment, metadata, keyword, semicolon) {
+ ClassTypeAlias(Comment comment, List<Annotation> metadata, Token keyword,
+ SimpleIdentifier name, TypeParameterList typeParameters, this.equals,
+ this.abstractKeyword, TypeName superclass, WithClause withClause,
+ ImplementsClause implementsClause, Token semicolon)
+ : super(comment, metadata, keyword, semicolon) {
_name = becomeParentOf(name);
_typeParameters = becomeParentOf(typeParameters);
_superclass = becomeParentOf(superclass);
@@ -4193,10 +4552,8 @@ class ClassTypeAlias extends TypeAlias {
}
@override
- accept(AstVisitor visitor) => visitor.visitClassTypeAlias(this);
-
- @override
- ClassElement get element => _name != null ? (_name.staticElement as ClassElement) : null;
+ ClassElement get element =>
+ _name != null ? (_name.staticElement as ClassElement) : null;
/**
* Return the implements clause for this class, or `null` if there is no implements clause.
@@ -4206,33 +4563,13 @@ class ClassTypeAlias extends TypeAlias {
ImplementsClause get implementsClause => _implementsClause;
/**
- * Return the name of the class being declared.
- *
- * @return the name of the class being declared
- */
- SimpleIdentifier get name => _name;
-
- /**
- * Return the name of the superclass of the class being declared.
- *
- * @return the name of the superclass of the class being declared
- */
- TypeName get superclass => _superclass;
-
- /**
- * Return the type parameters for the class, or `null` if the class does not have any type
- * parameters.
- *
- * @return the type parameters for the class
- */
- TypeParameterList get typeParameters => _typeParameters;
-
- /**
- * Return the with clause for this class.
+ * Set the implements clause for this class to the given implements clause.
*
- * @return the with clause for this class
+ * @param implementsClause the implements clause for this class
*/
- WithClause get withClause => _withClause;
+ void set implementsClause(ImplementsClause implementsClause) {
+ _implementsClause = becomeParentOf(implementsClause);
+ }
/**
* Return `true` if this class is declared to be an abstract class.
@@ -4242,13 +4579,11 @@ class ClassTypeAlias extends TypeAlias {
bool get isAbstract => abstractKeyword != null;
/**
- * Set the implements clause for this class to the given implements clause.
+ * Return the name of the class being declared.
*
- * @param implementsClause the implements clause for this class
+ * @return the name of the class being declared
*/
- void set implementsClause(ImplementsClause implementsClause) {
- _implementsClause = becomeParentOf(implementsClause);
- }
+ SimpleIdentifier get name => _name;
/**
* Set the name of the class being declared to the given identifier.
@@ -4260,6 +4595,13 @@ class ClassTypeAlias extends TypeAlias {
}
/**
+ * Return the name of the superclass of the class being declared.
+ *
+ * @return the name of the superclass of the class being declared
+ */
+ TypeName get superclass => _superclass;
+
+ /**
* Set the name of the superclass of the class being declared to the given name.
*
* @param superclass the name of the superclass of the class being declared
@@ -4269,6 +4611,14 @@ class ClassTypeAlias extends TypeAlias {
}
/**
+ * Return the type parameters for the class, or `null` if the class does not have any type
+ * parameters.
+ *
+ * @return the type parameters for the class
+ */
+ TypeParameterList get typeParameters => _typeParameters;
+
+ /**
* Set the type parameters for the class to the given list of parameters.
*
* @param typeParameters the type parameters for the class
@@ -4278,6 +4628,13 @@ class ClassTypeAlias extends TypeAlias {
}
/**
+ * Return the with clause for this class.
+ *
+ * @return the with clause for this class
+ */
+ WithClause get withClause => _withClause;
+
+ /**
* Set the with clause for this class to the given with clause.
*
* @param withClause the with clause for this class
@@ -4287,6 +4644,9 @@ class ClassTypeAlias extends TypeAlias {
}
@override
+ accept(AstVisitor visitor) => visitor.visitClassTypeAlias(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChild(_name, visitor);
@@ -4347,39 +4707,6 @@ abstract class Combinator extends AstNode {
*/
class Comment extends AstNode {
/**
- * Create a block comment.
- *
- * @param tokens the tokens representing the comment
- * @return the block comment that was created
- */
- static Comment createBlockComment(List<Token> tokens) => new Comment(tokens, CommentType.BLOCK, null);
-
- /**
- * Create a documentation comment.
- *
- * @param tokens the tokens representing the comment
- * @return the documentation comment that was created
- */
- static Comment createDocumentationComment(List<Token> tokens) => new Comment(tokens, CommentType.DOCUMENTATION, new List<CommentReference>());
-
- /**
- * Create a documentation comment.
- *
- * @param tokens the tokens representing the comment
- * @param references the references embedded within the documentation comment
- * @return the documentation comment that was created
- */
- static Comment createDocumentationCommentWithReferences(List<Token> tokens, List<CommentReference> references) => new Comment(tokens, CommentType.DOCUMENTATION, references);
-
- /**
- * Create an end-of-line comment.
- *
- * @param tokens the tokens representing the comment
- * @return the end-of-line comment that was created
- */
- static Comment createEndOfLineComment(List<Token> tokens) => new Comment(tokens, CommentType.END_OF_LINE, null);
-
- /**
* The tokens representing the comment.
*/
final List<Token> tokens;
@@ -4407,22 +4734,12 @@ class Comment extends AstNode {
}
@override
- accept(AstVisitor visitor) => visitor.visitComment(this);
-
- @override
Token get beginToken => tokens[0];
@override
Token get endToken => tokens[tokens.length - 1];
/**
- * Return the references embedded within the documentation comment.
- *
- * @return the references embedded within the documentation comment
- */
- NodeList<CommentReference> get references => _references;
-
- /**
* Return `true` if this is a block comment.
*
* @return `true` if this is a block comment
@@ -4443,10 +4760,58 @@ class Comment extends AstNode {
*/
bool get isEndOfLine => _type == CommentType.END_OF_LINE;
+ /**
+ * Return the references embedded within the documentation comment.
+ *
+ * @return the references embedded within the documentation comment
+ */
+ NodeList<CommentReference> get references => _references;
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitComment(this);
+
@override
void visitChildren(AstVisitor visitor) {
_references.accept(visitor);
}
+
+ /**
+ * Create a block comment.
+ *
+ * @param tokens the tokens representing the comment
+ * @return the block comment that was created
+ */
+ static Comment createBlockComment(List<Token> tokens) =>
+ new Comment(tokens, CommentType.BLOCK, null);
+
+ /**
+ * Create a documentation comment.
+ *
+ * @param tokens the tokens representing the comment
+ * @return the documentation comment that was created
+ */
+ static Comment createDocumentationComment(List<Token> tokens) =>
+ new Comment(tokens, CommentType.DOCUMENTATION, new List<CommentReference>());
+
+ /**
+ * Create a documentation comment.
+ *
+ * @param tokens the tokens representing the comment
+ * @param references the references embedded within the documentation comment
+ * @return the documentation comment that was created
+ */
+ static Comment createDocumentationCommentWithReferences(List<Token> tokens,
+ List<CommentReference> references) =>
+ new Comment(tokens, CommentType.DOCUMENTATION, references);
+
+ /**
+ * Create an end-of-line comment.
+ *
+ * @param tokens the tokens representing the comment
+ * @return the end-of-line comment that was created
+ */
+ static Comment createEndOfLineComment(List<Token> tokens) =>
+ new Comment(tokens, CommentType.END_OF_LINE, null);
}
/**
@@ -4480,9 +4845,6 @@ class CommentReference extends AstNode {
}
@override
- accept(AstVisitor visitor) => visitor.visitCommentReference(this);
-
- @override
Token get beginToken => _identifier.beginToken;
@override
@@ -4505,6 +4867,9 @@ class CommentReference extends AstNode {
}
@override
+ accept(AstVisitor visitor) => visitor.visitCommentReference(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_identifier, visitor);
}
@@ -4516,14 +4881,9 @@ class CommentReference extends AstNode {
*/
class CommentType {
/**
- * The name of the comment type.
+ * A block comment.
*/
- final String name;
-
- /**
- * A block comment.
- */
- static const CommentType BLOCK = const CommentType('BLOCK');
+ static const CommentType BLOCK = const CommentType('BLOCK');
/**
* A documentation comment.
@@ -4536,6 +4896,11 @@ class CommentType {
static const CommentType END_OF_LINE = const CommentType('END_OF_LINE');
/**
+ * The name of the comment type.
+ */
+ final String name;
+
+ /**
* Initialize a newly created comment type to have the given [name].
*/
const CommentType(this.name);
@@ -4616,15 +4981,14 @@ class CompilationUnit extends AstNode {
* @param declarations the declarations contained in this compilation unit
* @param endToken the last token in the token stream
*/
- CompilationUnit(this.beginToken, ScriptTag scriptTag, List<Directive> directives, List<CompilationUnitMember> declarations, this.endToken) {
+ CompilationUnit(this.beginToken, ScriptTag scriptTag,
+ List<Directive> directives, List<CompilationUnitMember> declarations,
+ this.endToken) {
_scriptTag = becomeParentOf(scriptTag);
_directives = new NodeList<Directive>(this, directives);
_declarations = new NodeList<CompilationUnitMember>(this, declarations);
}
- @override
- accept(AstVisitor visitor) => visitor.visitCompilationUnit(this);
-
/**
* Return the declarations contained in this compilation unit.
*
@@ -4668,6 +5032,23 @@ class CompilationUnit extends AstNode {
_scriptTag = becomeParentOf(scriptTag);
}
+ /**
+ * Return an array containing all of the directives and declarations in this compilation unit,
+ * sorted in lexical order.
+ *
+ * @return the directives and declarations in this compilation unit in the order in which they
+ * appeared in the original source
+ */
+ List<AstNode> get sortedDirectivesAndDeclarations {
+ return <AstNode>[]
+ ..addAll(_directives)
+ ..addAll(_declarations)
+ ..sort(AstNode.LEXICAL_ORDER);
+ }
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitCompilationUnit(this);
+
@override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_scriptTag, visitor);
@@ -4694,20 +5075,6 @@ class CompilationUnit extends AstNode {
CompilationUnitMember firstDeclaration = _declarations[0];
return lastDirective.offset < firstDeclaration.offset;
}
-
- /**
- * Return an array containing all of the directives and declarations in this compilation unit,
- * sorted in lexical order.
- *
- * @return the directives and declarations in this compilation unit in the order in which they
- * appeared in the original source
- */
- List<AstNode> get sortedDirectivesAndDeclarations {
- return <AstNode>[]
- ..addAll(_directives)
- ..addAll(_declarations)
- ..sort(AstNode.LEXICAL_ORDER);
- }
}
/**
@@ -4731,7 +5098,8 @@ abstract class CompilationUnitMember extends Declaration {
* @param comment the documentation comment associated with this member
* @param metadata the annotations associated with this member
*/
- CompilationUnitMember(Comment comment, List<Annotation> metadata) : super(comment, metadata);
+ CompilationUnitMember(Comment comment, List<Annotation> metadata)
+ : super(comment, metadata);
}
/**
@@ -4779,16 +5147,14 @@ class ConditionalExpression extends Expression {
* @param elseExpression the expression that is executed if the condition evaluates to
* `false`
*/
- ConditionalExpression(Expression condition, this.question, Expression thenExpression, this.colon, Expression elseExpression) {
+ ConditionalExpression(Expression condition, this.question,
+ Expression thenExpression, this.colon, Expression elseExpression) {
_condition = becomeParentOf(condition);
_thenExpression = becomeParentOf(thenExpression);
_elseExpression = becomeParentOf(elseExpression);
}
@override
- accept(AstVisitor visitor) => visitor.visitConditionalExpression(this);
-
- @override
Token get beginToken => _condition.beginToken;
/**
@@ -4799,26 +5165,6 @@ class ConditionalExpression extends Expression {
Expression get condition => _condition;
/**
- * Return the expression that is executed if the condition evaluates to `false`.
- *
- * @return the expression that is executed if the condition evaluates to `false`
- */
- Expression get elseExpression => _elseExpression;
-
- @override
- Token get endToken => _elseExpression.endToken;
-
- @override
- int get precedence => 3;
-
- /**
- * Return the expression that is executed if the condition evaluates to `true`.
- *
- * @return the expression that is executed if the condition evaluates to `true`
- */
- Expression get thenExpression => _thenExpression;
-
- /**
* Set the condition used to determine which of the expressions is executed next to the given
* expression.
*
@@ -4829,6 +5175,13 @@ class ConditionalExpression extends Expression {
}
/**
+ * Return the expression that is executed if the condition evaluates to `false`.
+ *
+ * @return the expression that is executed if the condition evaluates to `false`
+ */
+ Expression get elseExpression => _elseExpression;
+
+ /**
* Set the expression that is executed if the condition evaluates to `false` to the given
* expression.
*
@@ -4838,6 +5191,19 @@ class ConditionalExpression extends Expression {
_elseExpression = becomeParentOf(expression);
}
+ @override
+ Token get endToken => _elseExpression.endToken;
+
+ @override
+ int get precedence => 3;
+
+ /**
+ * Return the expression that is executed if the condition evaluates to `true`.
+ *
+ * @return the expression that is executed if the condition evaluates to `true`
+ */
+ Expression get thenExpression => _thenExpression;
+
/**
* Set the expression that is executed if the condition evaluates to `true` to the given
* expression.
@@ -4849,6 +5215,9 @@ class ConditionalExpression extends Expression {
}
@override
+ accept(AstVisitor visitor) => visitor.visitConditionalExpression(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_condition, visitor);
safelyVisitChild(_thenExpression, visitor);
@@ -5079,7 +5448,11 @@ class ConstantEvaluator extends GeneralizingAstVisitor<Object> {
@override
Object visitInterpolationExpression(InterpolationExpression node) {
Object value = node.expression.accept(this);
- if (value == null || value is bool || value is String || value is int || value is double) {
+ if (value == null ||
+ value is bool ||
+ value is String ||
+ value is int ||
+ value is double) {
return value;
}
return NOT_A_CONSTANT;
@@ -5125,10 +5498,12 @@ class ConstantEvaluator extends GeneralizingAstVisitor<Object> {
Object visitNullLiteral(NullLiteral node) => null;
@override
- Object visitParenthesizedExpression(ParenthesizedExpression node) => node.expression.accept(this);
+ Object visitParenthesizedExpression(ParenthesizedExpression node) =>
+ node.expression.accept(this);
@override
- Object visitPrefixedIdentifier(PrefixedIdentifier node) => _getConstantValue(null);
+ Object visitPrefixedIdentifier(PrefixedIdentifier node) =>
+ _getConstantValue(null);
@override
Object visitPrefixExpression(PrefixExpression node) {
@@ -5166,7 +5541,8 @@ class ConstantEvaluator extends GeneralizingAstVisitor<Object> {
Object visitPropertyAccess(PropertyAccess node) => _getConstantValue(null);
@override
- Object visitSimpleIdentifier(SimpleIdentifier node) => _getConstantValue(null);
+ Object visitSimpleIdentifier(SimpleIdentifier node) =>
+ _getConstantValue(null);
@override
Object visitSimpleStringLiteral(SimpleStringLiteral node) => node.value;
@@ -5329,7 +5705,13 @@ class ConstructorDeclaration extends ClassMember {
* redirected
* @param body the body of the constructor
*/
- ConstructorDeclaration(Comment comment, List<Annotation> metadata, this.externalKeyword, this.constKeyword, this.factoryKeyword, Identifier returnType, this.period, SimpleIdentifier name, FormalParameterList parameters, this.separator, List<ConstructorInitializer> initializers, ConstructorName redirectedConstructor, FunctionBody body) : super(comment, metadata) {
+ ConstructorDeclaration(Comment comment, List<Annotation> metadata,
+ this.externalKeyword, this.constKeyword, this.factoryKeyword,
+ Identifier returnType, this.period, SimpleIdentifier name,
+ FormalParameterList parameters, this.separator,
+ List<ConstructorInitializer> initializers,
+ ConstructorName redirectedConstructor, FunctionBody body)
+ : super(comment, metadata) {
_returnType = becomeParentOf(returnType);
_name = becomeParentOf(name);
_parameters = becomeParentOf(parameters);
@@ -5338,9 +5720,6 @@ class ConstructorDeclaration extends ClassMember {
_body = becomeParentOf(body);
}
- @override
- accept(AstVisitor visitor) => visitor.visitConstructorDeclaration(this);
-
/**
* Return the body of the constructor, or `null` if the constructor does not have a body.
*
@@ -5348,6 +5727,15 @@ class ConstructorDeclaration extends ClassMember {
*/
FunctionBody get body => _body;
+ /**
+ * Set the body of the constructor to the given function body.
+ *
+ * @param functionBody the body of the constructor
+ */
+ void set body(FunctionBody functionBody) {
+ _body = becomeParentOf(functionBody);
+ }
+
@override
Token get endToken {
if (_body != null) {
@@ -5358,6 +5746,16 @@ class ConstructorDeclaration extends ClassMember {
return _parameters.endToken;
}
+ @override
+ Token get firstTokenAfterCommentAndMetadata {
+ Token leftMost =
+ Token.lexicallyFirst([externalKeyword, constKeyword, factoryKeyword]);
+ if (leftMost != null) {
+ return leftMost;
+ }
+ return _returnType.beginToken;
+ }
+
/**
* Return the initializers associated with the constructor.
*
@@ -5374,39 +5772,6 @@ class ConstructorDeclaration extends ClassMember {
SimpleIdentifier get name => _name;
/**
- * Return the parameters associated with the constructor.
- *
- * @return the parameters associated with the constructor
- */
- FormalParameterList get parameters => _parameters;
-
- /**
- * Return the name of the constructor to which this constructor will be redirected, or
- * `null` if this is not a redirecting factory constructor.
- *
- * @return the name of the constructor to which this constructor will be redirected
- */
- ConstructorName get redirectedConstructor => _redirectedConstructor;
-
- /**
- * Return the type of object being created. This can be different than the type in which the
- * constructor is being declared if the constructor is the implementation of a factory
- * constructor.
- *
- * @return the type of object being created
- */
- Identifier get returnType => _returnType;
-
- /**
- * Set the body of the constructor to the given function body.
- *
- * @param functionBody the body of the constructor
- */
- void set body(FunctionBody functionBody) {
- _body = becomeParentOf(functionBody);
- }
-
- /**
* Set the name of the constructor to the given identifier.
*
* @param identifier the name of the constructor
@@ -5416,6 +5781,13 @@ class ConstructorDeclaration extends ClassMember {
}
/**
+ * Return the parameters associated with the constructor.
+ *
+ * @return the parameters associated with the constructor
+ */
+ FormalParameterList get parameters => _parameters;
+
+ /**
* Set the parameters associated with the constructor to the given list of parameters.
*
* @param parameters the parameters associated with the constructor
@@ -5425,6 +5797,14 @@ class ConstructorDeclaration extends ClassMember {
}
/**
+ * Return the name of the constructor to which this constructor will be redirected, or
+ * `null` if this is not a redirecting factory constructor.
+ *
+ * @return the name of the constructor to which this constructor will be redirected
+ */
+ ConstructorName get redirectedConstructor => _redirectedConstructor;
+
+ /**
* Set the name of the constructor to which this constructor will be redirected to the given
* constructor name.
*
@@ -5436,6 +5816,15 @@ class ConstructorDeclaration extends ClassMember {
}
/**
+ * Return the type of object being created. This can be different than the type in which the
+ * constructor is being declared if the constructor is the implementation of a factory
+ * constructor.
+ *
+ * @return the type of object being created
+ */
+ Identifier get returnType => _returnType;
+
+ /**
* Set the type of object being created to the given type name.
*
* @param typeName the type of object being created
@@ -5445,6 +5834,9 @@ class ConstructorDeclaration extends ClassMember {
}
@override
+ accept(AstVisitor visitor) => visitor.visitConstructorDeclaration(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChild(_returnType, visitor);
@@ -5454,15 +5846,6 @@ class ConstructorDeclaration extends ClassMember {
safelyVisitChild(_redirectedConstructor, visitor);
safelyVisitChild(_body, visitor);
}
-
- @override
- Token get firstTokenAfterCommentAndMetadata {
- Token leftMost = Token.lexicallyFirst([externalKeyword, constKeyword, factoryKeyword]);
- if (leftMost != null) {
- return leftMost;
- }
- return _returnType.beginToken;
- }
}
/**
@@ -5511,15 +5894,13 @@ class ConstructorFieldInitializer extends ConstructorInitializer {
* @param equals the token for the equal sign between the field name and the expression
* @param expression the expression computing the value to which the field will be initialized
*/
- ConstructorFieldInitializer(this.keyword, this.period, SimpleIdentifier fieldName, this.equals, Expression expression) {
+ ConstructorFieldInitializer(this.keyword, this.period,
+ SimpleIdentifier fieldName, this.equals, Expression expression) {
_fieldName = becomeParentOf(fieldName);
_expression = becomeParentOf(expression);
}
@override
- accept(AstVisitor visitor) => visitor.visitConstructorFieldInitializer(this);
-
- @override
Token get beginToken {
if (keyword != null) {
return keyword;
@@ -5538,13 +5919,6 @@ class ConstructorFieldInitializer extends ConstructorInitializer {
Expression get expression => _expression;
/**
- * Return the name of the field being initialized.
- *
- * @return the name of the field being initialized
- */
- SimpleIdentifier get fieldName => _fieldName;
-
- /**
* Set the expression computing the value to which the field will be initialized to the given
* expression.
*
@@ -5555,6 +5929,13 @@ class ConstructorFieldInitializer extends ConstructorInitializer {
}
/**
+ * Return the name of the field being initialized.
+ *
+ * @return the name of the field being initialized
+ */
+ SimpleIdentifier get fieldName => _fieldName;
+
+ /**
* Set the name of the field being initialized to the given identifier.
*
* @param identifier the name of the field being initialized
@@ -5564,6 +5945,9 @@ class ConstructorFieldInitializer extends ConstructorInitializer {
}
@override
+ accept(AstVisitor visitor) => visitor.visitConstructorFieldInitializer(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_fieldName, visitor);
safelyVisitChild(_expression, visitor);
@@ -5629,9 +6013,6 @@ class ConstructorName extends AstNode {
}
@override
- accept(AstVisitor visitor) => visitor.visitConstructorName(this);
-
- @override
Token get beginToken => _type.beginToken;
@override
@@ -5651,13 +6032,6 @@ class ConstructorName extends AstNode {
SimpleIdentifier get name => _name;
/**
- * Return the name of the type defining the constructor.
- *
- * @return the name of the type defining the constructor
- */
- TypeName get type => _type;
-
- /**
* Set the name of the constructor to the given name.
*
* @param name the name of the constructor
@@ -5667,6 +6041,13 @@ class ConstructorName extends AstNode {
}
/**
+ * Return the name of the type defining the constructor.
+ *
+ * @return the name of the type defining the constructor
+ */
+ TypeName get type => _type;
+
+ /**
* Set the name of the type defining the constructor to the given type name.
*
* @param type the name of the type defining the constructor
@@ -5676,6 +6057,9 @@ class ConstructorName extends AstNode {
}
@override
+ accept(AstVisitor visitor) => visitor.visitConstructorName(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_type, visitor);
safelyVisitChild(_name, visitor);
@@ -5718,9 +6102,6 @@ class ContinueStatement extends Statement {
}
@override
- accept(AstVisitor visitor) => visitor.visitContinueStatement(this);
-
- @override
Token get beginToken => keyword;
@override
@@ -5743,6 +6124,9 @@ class ContinueStatement extends Statement {
}
@override
+ accept(AstVisitor visitor) => visitor.visitContinueStatement(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_label, visitor);
}
@@ -5759,7 +6143,8 @@ abstract class Declaration extends AnnotatedNode {
* @param comment the documentation comment associated with this declaration
* @param metadata the annotations associated with this declaration
*/
- Declaration(Comment comment, List<Annotation> metadata) : super(comment, metadata);
+ Declaration(Comment comment, List<Annotation> metadata)
+ : super(comment, metadata);
/**
* Return the element associated with this declaration, or `null` if either this node
@@ -5806,15 +6191,14 @@ class DeclaredIdentifier extends Declaration {
* @param type the name of the declared type of the parameter
* @param identifier the name of the parameter being declared
*/
- DeclaredIdentifier(Comment comment, List<Annotation> metadata, this.keyword, TypeName type, SimpleIdentifier identifier) : super(comment, metadata) {
+ DeclaredIdentifier(Comment comment, List<Annotation> metadata, this.keyword,
+ TypeName type, SimpleIdentifier identifier)
+ : super(comment, metadata) {
_type = becomeParentOf(type);
_identifier = becomeParentOf(identifier);
}
@override
- accept(AstVisitor visitor) => visitor.visitDeclaredIdentifier(this);
-
- @override
LocalVariableElement get element {
if (_identifier == null) {
return null;
@@ -5825,6 +6209,16 @@ class DeclaredIdentifier extends Declaration {
@override
Token get endToken => _identifier.endToken;
+ @override
+ Token get firstTokenAfterCommentAndMetadata {
+ if (keyword != null) {
+ return keyword;
+ } else if (_type != null) {
+ return _type.beginToken;
+ }
+ return _identifier.beginToken;
+ }
+
/**
* Return the name of the variable being declared.
*
@@ -5833,19 +6227,21 @@ class DeclaredIdentifier extends Declaration {
SimpleIdentifier get identifier => _identifier;
/**
- * Return the name of the declared type of the parameter, or `null` if the parameter does
- * not have a declared type.
+ * Set the name of the variable being declared to the given name.
*
- * @return the name of the declared type of the parameter
+ * @param identifier the new name of the variable being declared
*/
- TypeName get type => _type;
+ void set identifier(SimpleIdentifier identifier) {
+ _identifier = becomeParentOf(identifier);
+ }
/**
* Return `true` if this variable was declared with the 'const' modifier.
*
* @return `true` if this variable was declared with the 'const' modifier
*/
- bool get isConst => (keyword is KeywordToken) && (keyword as KeywordToken).keyword == Keyword.CONST;
+ bool get isConst =>
+ (keyword is KeywordToken) && (keyword as KeywordToken).keyword == Keyword.CONST;
/**
* Return `true` if this variable was declared with the 'final' modifier. Variables that are
@@ -5854,16 +6250,16 @@ class DeclaredIdentifier extends Declaration {
*
* @return `true` if this variable was declared with the 'final' modifier
*/
- bool get isFinal => (keyword is KeywordToken) && (keyword as KeywordToken).keyword == Keyword.FINAL;
+ bool get isFinal =>
+ (keyword is KeywordToken) && (keyword as KeywordToken).keyword == Keyword.FINAL;
/**
- * Set the name of the variable being declared to the given name.
+ * Return the name of the declared type of the parameter, or `null` if the parameter does
+ * not have a declared type.
*
- * @param identifier the new name of the variable being declared
+ * @return the name of the declared type of the parameter
*/
- void set identifier(SimpleIdentifier identifier) {
- _identifier = becomeParentOf(identifier);
- }
+ TypeName get type => _type;
/**
* Set the name of the declared type of the parameter to the given type name.
@@ -5875,22 +6271,15 @@ class DeclaredIdentifier extends Declaration {
}
@override
+ accept(AstVisitor visitor) => visitor.visitDeclaredIdentifier(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChild(_type, visitor);
safelyVisitChild(_identifier, visitor);
}
-
- @override
- Token get firstTokenAfterCommentAndMetadata {
- if (keyword != null) {
- return keyword;
- } else if (_type != null) {
- return _type.beginToken;
- }
- return _identifier.beginToken;
- }
-}
+}
/**
* Instances of the class `DefaultFormalParameter` represent a formal parameter with a default
@@ -5936,15 +6325,13 @@ class DefaultFormalParameter extends FormalParameter {
* @param separator the token separating the parameter from the default value
* @param defaultValue the expression computing the default value for the parameter
*/
- DefaultFormalParameter(NormalFormalParameter parameter, this.kind, this.separator, Expression defaultValue) {
+ DefaultFormalParameter(NormalFormalParameter parameter, this.kind,
+ this.separator, Expression defaultValue) {
_parameter = becomeParentOf(parameter);
_defaultValue = becomeParentOf(defaultValue);
}
@override
- accept(AstVisitor visitor) => visitor.visitDefaultFormalParameter(this);
-
- @override
Token get beginToken => _parameter.beginToken;
/**
@@ -5955,6 +6342,15 @@ class DefaultFormalParameter extends FormalParameter {
*/
Expression get defaultValue => _defaultValue;
+ /**
+ * Set the expression computing the default value for the parameter to the given expression.
+ *
+ * @param expression the expression computing the default value for the parameter
+ */
+ void set defaultValue(Expression expression) {
+ _defaultValue = becomeParentOf(expression);
+ }
+
@override
Token get endToken {
if (_defaultValue != null) {
@@ -5966,13 +6362,6 @@ class DefaultFormalParameter extends FormalParameter {
@override
SimpleIdentifier get identifier => _parameter.identifier;
- /**
- * Return the formal parameter with which the default value is associated.
- *
- * @return the formal parameter with which the default value is associated
- */
- NormalFormalParameter get parameter => _parameter;
-
@override
bool get isConst => _parameter != null && _parameter.isConst;
@@ -5980,13 +6369,11 @@ class DefaultFormalParameter extends FormalParameter {
bool get isFinal => _parameter != null && _parameter.isFinal;
/**
- * Set the expression computing the default value for the parameter to the given expression.
+ * Return the formal parameter with which the default value is associated.
*
- * @param expression the expression computing the default value for the parameter
+ * @return the formal parameter with which the default value is associated
*/
- void set defaultValue(Expression expression) {
- _defaultValue = becomeParentOf(expression);
- }
+ NormalFormalParameter get parameter => _parameter;
/**
* Set the formal parameter with which the default value is associated to the given parameter.
@@ -5998,6 +6385,9 @@ class DefaultFormalParameter extends FormalParameter {
}
@override
+ accept(AstVisitor visitor) => visitor.visitDefaultFormalParameter(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_parameter, visitor);
safelyVisitChild(_defaultValue, visitor);
@@ -6056,7 +6446,8 @@ abstract class Directive extends AnnotatedNode {
* @param comment the documentation comment associated with this directive
* @param metadata the annotations associated with the directive
*/
- Directive(Comment comment, List<Annotation> metadata) : super(comment, metadata);
+ Directive(Comment comment, List<Annotation> metadata)
+ : super(comment, metadata);
/**
* Return the token representing the keyword that introduces this directive ('import', 'export',
@@ -6122,15 +6513,14 @@ class DoStatement extends Statement {
* @param rightParenthesis the right parenthesis
* @param semicolon the semicolon terminating the statement
*/
- DoStatement(this.doKeyword, Statement body, this.whileKeyword, this.leftParenthesis, Expression condition, this.rightParenthesis, this.semicolon) {
+ DoStatement(this.doKeyword, Statement body, this.whileKeyword,
+ this.leftParenthesis, Expression condition, this.rightParenthesis,
+ this.semicolon) {
_body = becomeParentOf(body);
_condition = becomeParentOf(condition);
}
@override
- accept(AstVisitor visitor) => visitor.visitDoStatement(this);
-
- @override
Token get beginToken => doKeyword;
/**
@@ -6141,16 +6531,6 @@ class DoStatement extends Statement {
Statement get body => _body;
/**
- * Return the condition that determines when the loop will terminate.
- *
- * @return the condition that determines when the loop will terminate
- */
- Expression get condition => _condition;
-
- @override
- Token get endToken => semicolon;
-
- /**
* Set the body of the loop to the given statement.
*
* @param statement the body of the loop
@@ -6160,6 +6540,13 @@ class DoStatement extends Statement {
}
/**
+ * Return the condition that determines when the loop will terminate.
+ *
+ * @return the condition that determines when the loop will terminate
+ */
+ Expression get condition => _condition;
+
+ /**
* Set the condition that determines when the loop will terminate to the given expression.
*
* @param expression the condition that determines when the loop will terminate
@@ -6169,6 +6556,12 @@ class DoStatement extends Statement {
}
@override
+ Token get endToken => semicolon;
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitDoStatement(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_body, visitor);
safelyVisitChild(_condition, visitor);
@@ -6207,15 +6600,15 @@ class DoubleLiteral extends Literal {
DoubleLiteral(this.literal, this.value);
@override
- accept(AstVisitor visitor) => visitor.visitDoubleLiteral(this);
-
- @override
Token get beginToken => literal;
@override
Token get endToken => literal;
@override
+ accept(AstVisitor visitor) => visitor.visitDoubleLiteral(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
// There are no children to visit.
}
@@ -6281,7 +6674,8 @@ class ElementLocator_ElementMapper extends GeneralizingAstVisitor<Element> {
Element visitAnnotation(Annotation node) => node.element;
@override
- Element visitAssignmentExpression(AssignmentExpression node) => node.bestElement;
+ Element visitAssignmentExpression(AssignmentExpression node) =>
+ node.bestElement;
@override
Element visitBinaryExpression(BinaryExpression node) => node.bestElement;
@@ -6293,7 +6687,8 @@ class ElementLocator_ElementMapper extends GeneralizingAstVisitor<Element> {
Element visitCompilationUnit(CompilationUnit node) => node.element;
@override
- Element visitConstructorDeclaration(ConstructorDeclaration node) => node.element;
+ Element visitConstructorDeclaration(ConstructorDeclaration node) =>
+ node.element;
@override
Element visitFunctionDeclaration(FunctionDeclaration node) => node.element;
@@ -6304,11 +6699,13 @@ class ElementLocator_ElementMapper extends GeneralizingAstVisitor<Element> {
// Type name in Annotation
if (parent is Annotation) {
Annotation annotation = parent;
- if (identical(annotation.name, node) && annotation.constructorName == null) {
+ if (identical(annotation.name, node) &&
+ annotation.constructorName == null) {
return annotation.element;
}
}
- // Extra work to map Constructor Declarations to their associated Constructor Elements
+ // Extra work to map Constructor Declarations to their associated
+ // Constructor Elements
if (parent is ConstructorDeclaration) {
ConstructorDeclaration decl = parent;
Identifier returnType = decl.returnType;
@@ -6342,7 +6739,8 @@ class ElementLocator_ElementMapper extends GeneralizingAstVisitor<Element> {
Element visitIndexExpression(IndexExpression node) => node.bestElement;
@override
- Element visitInstanceCreationExpression(InstanceCreationExpression node) => node.staticElement;
+ Element visitInstanceCreationExpression(InstanceCreationExpression node) =>
+ node.staticElement;
@override
Element visitLibraryDirective(LibraryDirective node) => node.element;
@@ -6351,7 +6749,8 @@ class ElementLocator_ElementMapper extends GeneralizingAstVisitor<Element> {
Element visitMethodDeclaration(MethodDeclaration node) => node.element;
@override
- Element visitMethodInvocation(MethodInvocation node) => node.methodName.bestElement;
+ Element visitMethodInvocation(MethodInvocation node) =>
+ node.methodName.bestElement;
@override
Element visitPostfixExpression(PostfixExpression node) => node.bestElement;
@@ -6398,15 +6797,15 @@ class EmptyFunctionBody extends FunctionBody {
EmptyFunctionBody(this.semicolon);
@override
- accept(AstVisitor visitor) => visitor.visitEmptyFunctionBody(this);
-
- @override
Token get beginToken => semicolon;
@override
Token get endToken => semicolon;
@override
+ accept(AstVisitor visitor) => visitor.visitEmptyFunctionBody(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
// Empty function bodies have no children.
}
@@ -6434,15 +6833,15 @@ class EmptyStatement extends Statement {
EmptyStatement(this.semicolon);
@override
- accept(AstVisitor visitor) => visitor.visitEmptyStatement(this);
-
- @override
Token get beginToken => semicolon;
@override
Token get endToken => semicolon;
@override
+ accept(AstVisitor visitor) => visitor.visitEmptyStatement(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
// There are no children to visit.
}
@@ -6465,18 +6864,21 @@ class EnumConstantDeclaration extends Declaration {
* @param metadata the annotations associated with this declaration
* @param name the name of the constant
*/
- EnumConstantDeclaration(Comment comment, List<Annotation> metadata, SimpleIdentifier name) : super(comment, metadata) {
+ EnumConstantDeclaration(Comment comment, List<Annotation> metadata,
+ SimpleIdentifier name)
+ : super(comment, metadata) {
_name = becomeParentOf(name);
}
@override
- accept(AstVisitor visitor) => visitor.visitEnumConstantDeclaration(this);
+ FieldElement get element =>
+ _name == null ? null : (_name.staticElement as FieldElement);
@override
- FieldElement get element => _name == null ? null : (_name.staticElement as FieldElement);
+ Token get endToken => _name.endToken;
@override
- Token get endToken => _name.endToken;
+ Token get firstTokenAfterCommentAndMetadata => _name.beginToken;
/**
* Return the name of the constant.
@@ -6495,7 +6897,7 @@ class EnumConstantDeclaration extends Declaration {
}
@override
- Token get firstTokenAfterCommentAndMetadata => _name.beginToken;
+ accept(AstVisitor visitor) => visitor.visitEnumConstantDeclaration(this);
@override
void visitChildren(AstVisitor visitor) {
@@ -6549,14 +6951,14 @@ class EnumDeclaration extends CompilationUnitMember {
* @param constants the enumeration constants being declared
* @param rightBracket the right curly bracket
*/
- EnumDeclaration(Comment comment, List<Annotation> metadata, this.keyword, SimpleIdentifier name, this.leftBracket, List<EnumConstantDeclaration> constants, this.rightBracket) : super(comment, metadata) {
+ EnumDeclaration(Comment comment, List<Annotation> metadata, this.keyword,
+ SimpleIdentifier name, this.leftBracket,
+ List<EnumConstantDeclaration> constants, this.rightBracket)
+ : super(comment, metadata) {
_name = becomeParentOf(name);
_constants = new NodeList<EnumConstantDeclaration>(this, constants);
}
- @override
- accept(AstVisitor visitor) => visitor.visitEnumDeclaration(this);
-
/**
* Return the enumeration constants being declared.
*
@@ -6565,11 +6967,15 @@ class EnumDeclaration extends CompilationUnitMember {
NodeList<EnumConstantDeclaration> get constants => _constants;
@override
- ClassElement get element => _name != null ? (_name.staticElement as ClassElement) : null;
+ ClassElement get element =>
+ _name != null ? (_name.staticElement as ClassElement) : null;
@override
Token get endToken => rightBracket;
+ @override
+ Token get firstTokenAfterCommentAndMetadata => keyword;
+
/**
* Return the name of the enumeration.
*
@@ -6587,7 +6993,7 @@ class EnumDeclaration extends CompilationUnitMember {
}
@override
- Token get firstTokenAfterCommentAndMetadata => keyword;
+ accept(AstVisitor visitor) => visitor.visitEnumDeclaration(this);
@override
void visitChildren(AstVisitor visitor) {
@@ -6601,7 +7007,8 @@ class EnumDeclaration extends CompilationUnitMember {
* Ephemeral identifiers are created as needed to mimic the presence of an empty identifier.
*/
class EphemeralIdentifier extends SimpleIdentifier {
- EphemeralIdentifier(AstNode parent, int location) : super(new StringToken(TokenType.IDENTIFIER, "", location)) {
+ EphemeralIdentifier(AstNode parent, int location)
+ : super(new StringToken(TokenType.IDENTIFIER, "", location)) {
parent.becomeParentOf(this);
}
}
@@ -6625,10 +7032,9 @@ class ExportDirective extends NamespaceDirective {
* @param combinators the combinators used to control which names are exported
* @param semicolon the semicolon terminating the directive
*/
- ExportDirective(Comment comment, List<Annotation> metadata, Token keyword, StringLiteral libraryUri, List<Combinator> combinators, Token semicolon) : super(comment, metadata, keyword, libraryUri, combinators, semicolon);
-
- @override
- accept(AstVisitor visitor) => visitor.visitExportDirective(this);
+ ExportDirective(Comment comment, List<Annotation> metadata, Token keyword,
+ StringLiteral libraryUri, List<Combinator> combinators, Token semicolon)
+ : super(comment, metadata, keyword, libraryUri, combinators, semicolon);
@override
ExportElement get element => super.element as ExportElement;
@@ -6642,6 +7048,9 @@ class ExportDirective extends NamespaceDirective {
}
@override
+ accept(AstVisitor visitor) => visitor.visitExportDirective(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
super.visitChildren(visitor);
combinators.accept(visitor);
@@ -6661,6 +7070,11 @@ class ExportDirective extends NamespaceDirective {
*/
abstract class Expression extends AstNode {
/**
+ * An empty list of expressions.
+ */
+ static const List<Expression> EMPTY_ARRAY = const <Expression>[];
+
+ /**
* The static type of this expression, or `null` if the AST structure has not been resolved.
*/
DartType staticType;
@@ -6672,11 +7086,6 @@ abstract class Expression extends AstNode {
DartType propagatedType;
/**
- * An empty list of expressions.
- */
- static const List<Expression> EMPTY_ARRAY = const <Expression>[];
-
- /**
* Return the best parameter element information available for this expression. If type
* propagation was able to find a better parameter element than static analysis, that type will be
* returned. Otherwise, the result of static analysis will be returned.
@@ -6710,6 +7119,14 @@ abstract class Expression extends AstNode {
}
/**
+ * Return `true` if this expression is syntactically valid for the LHS of an
+ * [AssignmentExpression].
+ *
+ * @return `true` if this expression matches the `assignableExpression` production
+ */
+ bool get isAssignable => false;
+
+ /**
* Return the precedence of this expression. The precedence is a positive integer value that
* defines how the source code is parsed into an AST. For example `a * b + c` is parsed as
* `(a * b) + c` because the precedence of `*` is greater than the precedence of
@@ -6795,14 +7212,6 @@ abstract class Expression extends AstNode {
}
return null;
}
-
- /**
- * Return `true` if this expression is syntactically valid for the LHS of an
- * [AssignmentExpression].
- *
- * @return `true` if this expression matches the `assignableExpression` production
- */
- bool get isAssignable => false;
}
/**
@@ -6844,14 +7253,12 @@ class ExpressionFunctionBody extends FunctionBody {
* @param expression the expression representing the body of the function
* @param semicolon the semicolon terminating the statement
*/
- ExpressionFunctionBody(this.keyword, this.functionDefinition, Expression expression, this.semicolon) {
+ ExpressionFunctionBody(this.keyword, this.functionDefinition,
+ Expression expression, this.semicolon) {
_expression = becomeParentOf(expression);
}
@override
- accept(AstVisitor visitor) => visitor.visitExpressionFunctionBody(this);
-
- @override
Token get beginToken => functionDefinition;
@override
@@ -6869,12 +7276,6 @@ class ExpressionFunctionBody extends FunctionBody {
*/
Expression get expression => _expression;
- @override
- bool get isAsynchronous => keyword != null;
-
- @override
- bool get isSynchronous => keyword == null;
-
/**
* Set the expression representing the body of the function to the given expression.
*
@@ -6885,6 +7286,15 @@ class ExpressionFunctionBody extends FunctionBody {
}
@override
+ bool get isAsynchronous => keyword != null;
+
+ @override
+ bool get isSynchronous => keyword == null;
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitExpressionFunctionBody(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_expression, visitor);
}
@@ -6921,9 +7331,6 @@ class ExpressionStatement extends Statement {
}
@override
- accept(AstVisitor visitor) => visitor.visitExpressionStatement(this);
-
- @override
Token get beginToken => _expression.beginToken;
@override
@@ -6941,9 +7348,6 @@ class ExpressionStatement extends Statement {
*/
Expression get expression => _expression;
- @override
- bool get isSynthetic => _expression.isSynthetic && semicolon.isSynthetic;
-
/**
* Set the expression that comprises the statement to the given expression.
*
@@ -6954,6 +7358,12 @@ class ExpressionStatement extends Statement {
}
@override
+ bool get isSynthetic => _expression.isSynthetic && semicolon.isSynthetic;
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitExpressionStatement(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_expression, visitor);
}
@@ -6990,9 +7400,6 @@ class ExtendsClause extends AstNode {
}
@override
- accept(AstVisitor visitor) => visitor.visitExtendsClause(this);
-
- @override
Token get beginToken => keyword;
@override
@@ -7015,6 +7422,9 @@ class ExtendsClause extends AstNode {
}
@override
+ accept(AstVisitor visitor) => visitor.visitExtendsClause(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_superclass, visitor);
}
@@ -7054,14 +7464,13 @@ class FieldDeclaration extends ClassMember {
* @param fieldList the fields being declared
* @param semicolon the semicolon terminating the declaration
*/
- FieldDeclaration(Comment comment, List<Annotation> metadata, this.staticKeyword, VariableDeclarationList fieldList, this.semicolon) : super(comment, metadata) {
+ FieldDeclaration(Comment comment, List<Annotation> metadata,
+ this.staticKeyword, VariableDeclarationList fieldList, this.semicolon)
+ : super(comment, metadata) {
_fieldList = becomeParentOf(fieldList);
}
@override
- accept(AstVisitor visitor) => visitor.visitFieldDeclaration(this);
-
- @override
Element get element => null;
@override
@@ -7075,13 +7484,6 @@ class FieldDeclaration extends ClassMember {
VariableDeclarationList get fields => _fieldList;
/**
- * Return `true` if the fields are static.
- *
- * @return `true` if the fields are declared to be static
- */
- bool get isStatic => staticKeyword != null;
-
- /**
* Set the fields being declared to the given list of variables.
*
* @param fieldList the fields being declared
@@ -7091,18 +7493,28 @@ class FieldDeclaration extends ClassMember {
}
@override
- void visitChildren(AstVisitor visitor) {
- super.visitChildren(visitor);
- safelyVisitChild(_fieldList, visitor);
- }
-
- @override
Token get firstTokenAfterCommentAndMetadata {
if (staticKeyword != null) {
return staticKeyword;
}
return _fieldList.beginToken;
}
+
+ /**
+ * Return `true` if the fields are static.
+ *
+ * @return `true` if the fields are declared to be static
+ */
+ bool get isStatic => staticKeyword != null;
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitFieldDeclaration(this);
+
+ @override
+ void visitChildren(AstVisitor visitor) {
+ super.visitChildren(visitor);
+ safelyVisitChild(_fieldList, visitor);
+ }
}
/**
@@ -7155,15 +7567,15 @@ class FieldFormalParameter extends NormalFormalParameter {
* @param parameters the parameters of the function-typed parameter, or `null` if this is
* not a function-typed field formal parameter
*/
- FieldFormalParameter(Comment comment, List<Annotation> metadata, this.keyword, TypeName type, this.thisToken, this.period, SimpleIdentifier identifier, FormalParameterList parameters) : super(comment, metadata, identifier) {
+ FieldFormalParameter(Comment comment, List<Annotation> metadata, this.keyword,
+ TypeName type, this.thisToken, this.period, SimpleIdentifier identifier,
+ FormalParameterList parameters)
+ : super(comment, metadata, identifier) {
_type = becomeParentOf(type);
_parameters = becomeParentOf(parameters);
}
@override
- accept(AstVisitor visitor) => visitor.visitFieldFormalParameter(this);
-
- @override
Token get beginToken {
if (keyword != null) {
return keyword;
@@ -7176,6 +7588,14 @@ class FieldFormalParameter extends NormalFormalParameter {
@override
Token get endToken => identifier.endToken;
+ @override
+ bool get isConst =>
+ (keyword is KeywordToken) && (keyword as KeywordToken).keyword == Keyword.CONST;
+
+ @override
+ bool get isFinal =>
+ (keyword is KeywordToken) && (keyword as KeywordToken).keyword == Keyword.FINAL;
+
/**
* Return the parameters of the function-typed parameter, or `null` if this is not a
* function-typed field formal parameter.
@@ -7185,21 +7605,6 @@ class FieldFormalParameter extends NormalFormalParameter {
FormalParameterList get parameters => _parameters;
/**
- * Return the name of the declared type of the parameter, or `null` if the parameter does
- * not have a declared type. Note that if this is a function-typed field formal parameter this is
- * the return type of the function.
- *
- * @return the name of the declared type of the parameter
- */
- TypeName get type => _type;
-
- @override
- bool get isConst => (keyword is KeywordToken) && (keyword as KeywordToken).keyword == Keyword.CONST;
-
- @override
- bool get isFinal => (keyword is KeywordToken) && (keyword as KeywordToken).keyword == Keyword.FINAL;
-
- /**
* Set the parameters of the function-typed parameter to the given parameters.
*
* @param parameters the parameters of the function-typed parameter
@@ -7209,6 +7614,15 @@ class FieldFormalParameter extends NormalFormalParameter {
}
/**
+ * Return the name of the declared type of the parameter, or `null` if the parameter does
+ * not have a declared type. Note that if this is a function-typed field formal parameter this is
+ * the return type of the function.
+ *
+ * @return the name of the declared type of the parameter
+ */
+ TypeName get type => _type;
+
+ /**
* Set the name of the declared type of the parameter to the given type name.
*
* @param typeName the name of the declared type of the parameter
@@ -7218,6 +7632,9 @@ class FieldFormalParameter extends NormalFormalParameter {
}
@override
+ accept(AstVisitor visitor) => visitor.visitFieldFormalParameter(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChild(_type, visitor);
@@ -7293,7 +7710,9 @@ class ForEachStatement extends Statement {
* @param rightParenthesis the right parenthesis
* @param body the body of the loop
*/
- ForEachStatement.con1(this.awaitKeyword, this.forKeyword, this.leftParenthesis, DeclaredIdentifier loopVariable, this.inKeyword, Expression iterator, this.rightParenthesis, Statement body) {
+ ForEachStatement.con1(this.awaitKeyword, this.forKeyword,
+ this.leftParenthesis, DeclaredIdentifier loopVariable, this.inKeyword,
+ Expression iterator, this.rightParenthesis, Statement body) {
_loopVariable = becomeParentOf(loopVariable);
_iterable = becomeParentOf(iterator);
_body = becomeParentOf(body);
@@ -7310,16 +7729,15 @@ class ForEachStatement extends Statement {
* @param rightParenthesis the right parenthesis
* @param body the body of the loop
*/
- ForEachStatement.con2(this.awaitKeyword, this.forKeyword, this.leftParenthesis, SimpleIdentifier identifier, this.inKeyword, Expression iterator, this.rightParenthesis, Statement body) {
+ ForEachStatement.con2(this.awaitKeyword, this.forKeyword,
+ this.leftParenthesis, SimpleIdentifier identifier, this.inKeyword,
+ Expression iterator, this.rightParenthesis, Statement body) {
_identifier = becomeParentOf(identifier);
_iterable = becomeParentOf(iterator);
_body = becomeParentOf(body);
}
@override
- accept(AstVisitor visitor) => visitor.visitForEachStatement(this);
-
- @override
Token get beginToken => forKeyword;
/**
@@ -7329,6 +7747,15 @@ class ForEachStatement extends Statement {
*/
Statement get body => _body;
+ /**
+ * Set the body of the loop to the given block.
+ *
+ * @param body the body of the loop
+ */
+ void set body(Statement body) {
+ _body = becomeParentOf(body);
+ }
+
@override
Token get endToken => _body.endToken;
@@ -7340,6 +7767,15 @@ class ForEachStatement extends Statement {
SimpleIdentifier get identifier => _identifier;
/**
+ * Set the loop variable to the given variable.
+ *
+ * @param identifier the loop variable
+ */
+ void set identifier(SimpleIdentifier identifier) {
+ _identifier = becomeParentOf(identifier);
+ }
+
+ /**
* Return the expression evaluated to produce the iterator.
*
* @return the expression evaluated to produce the iterator
@@ -7347,39 +7783,21 @@ class ForEachStatement extends Statement {
Expression get iterable => _iterable;
/**
- * Return the declaration of the loop variable, or `null` if the loop variable is a simple
- * identifier.
+ * Set the expression evaluated to produce the iterator to the given expression.
*
- * @return the declaration of the loop variable
+ * @param expression the expression evaluated to produce the iterator
*/
- DeclaredIdentifier get loopVariable => _loopVariable;
-
- /**
- * Set the body of the loop to the given block.
- *
- * @param body the body of the loop
- */
- void set body(Statement body) {
- _body = becomeParentOf(body);
- }
-
- /**
- * Set the loop variable to the given variable.
- *
- * @param identifier the loop variable
- */
- void set identifier(SimpleIdentifier identifier) {
- _identifier = becomeParentOf(identifier);
+ void set iterable(Expression expression) {
+ _iterable = becomeParentOf(expression);
}
/**
- * Set the expression evaluated to produce the iterator to the given expression.
+ * Return the declaration of the loop variable, or `null` if the loop variable is a simple
+ * identifier.
*
- * @param expression the expression evaluated to produce the iterator
+ * @return the declaration of the loop variable
*/
- void set iterable(Expression expression) {
- _iterable = becomeParentOf(expression);
- }
+ DeclaredIdentifier get loopVariable => _loopVariable;
/**
* Set the declaration of the loop variable to the given variable.
@@ -7391,6 +7809,9 @@ class ForEachStatement extends Statement {
}
@override
+ accept(AstVisitor visitor) => visitor.visitForEachStatement(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_loopVariable, visitor);
safelyVisitChild(_identifier, visitor);
@@ -7400,190 +7821,6 @@ class ForEachStatement extends Statement {
}
/**
- * Instances of the class `ForStatement` represent a for statement.
- *
- * <pre>
- * forStatement ::=
- * 'for' '(' forLoopParts ')' [Statement]
- *
- * forLoopParts ::=
- * forInitializerStatement ';' [Expression]? ';' [Expression]?
- *
- * forInitializerStatement ::=
- * [DefaultFormalParameter]
- * | [Expression]?
- * </pre>
- */
-class ForStatement extends Statement {
- /**
- * The token representing the 'for' keyword.
- */
- Token forKeyword;
-
- /**
- * The left parenthesis.
- */
- Token leftParenthesis;
-
- /**
- * The declaration of the loop variables, or `null` if there are no variables. Note that a
- * for statement cannot have both a variable list and an initialization expression, but can
- * validly have neither.
- */
- VariableDeclarationList _variableList;
-
- /**
- * The initialization expression, or `null` if there is no initialization expression. Note
- * that a for statement cannot have both a variable list and an initialization expression, but can
- * validly have neither.
- */
- Expression _initialization;
-
- /**
- * The semicolon separating the initializer and the condition.
- */
- Token leftSeparator;
-
- /**
- * The condition used to determine when to terminate the loop, or `null` if there is no
- * condition.
- */
- Expression _condition;
-
- /**
- * The semicolon separating the condition and the updater.
- */
- Token rightSeparator;
-
- /**
- * The list of expressions run after each execution of the loop body.
- */
- NodeList<Expression> _updaters;
-
- /**
- * The right parenthesis.
- */
- Token rightParenthesis;
-
- /**
- * The body of the loop.
- */
- Statement _body;
-
- /**
- * Initialize a newly created for statement.
- *
- * @param forKeyword the token representing the 'for' keyword
- * @param leftParenthesis the left parenthesis
- * @param variableList the declaration of the loop variables
- * @param initialization the initialization expression
- * @param leftSeparator the semicolon separating the initializer and the condition
- * @param condition the condition used to determine when to terminate the loop
- * @param rightSeparator the semicolon separating the condition and the updater
- * @param updaters the list of expressions run after each execution of the loop body
- * @param rightParenthesis the right parenthesis
- * @param body the body of the loop
- */
- ForStatement(this.forKeyword, this.leftParenthesis, VariableDeclarationList variableList, Expression initialization, this.leftSeparator, Expression condition, this.rightSeparator, List<Expression> updaters, this.rightParenthesis, Statement body) {
- _variableList = becomeParentOf(variableList);
- _initialization = becomeParentOf(initialization);
- _condition = becomeParentOf(condition);
- _updaters = new NodeList<Expression>(this, updaters);
- _body = becomeParentOf(body);
- }
-
- @override
- accept(AstVisitor visitor) => visitor.visitForStatement(this);
-
- @override
- Token get beginToken => forKeyword;
-
- /**
- * Return the body of the loop.
- *
- * @return the body of the loop
- */
- Statement get body => _body;
-
- /**
- * Return the condition used to determine when to terminate the loop, or `null` if there is
- * no condition.
- *
- * @return the condition used to determine when to terminate the loop
- */
- Expression get condition => _condition;
-
- @override
- Token get endToken => _body.endToken;
-
- /**
- * Return the initialization expression, or `null` if there is no initialization expression.
- *
- * @return the initialization expression
- */
- Expression get initialization => _initialization;
-
- /**
- * Return the list of expressions run after each execution of the loop body.
- *
- * @return the list of expressions run after each execution of the loop body
- */
- NodeList<Expression> get updaters => _updaters;
-
- /**
- * Return the declaration of the loop variables, or `null` if there are no variables.
- *
- * @return the declaration of the loop variables, or `null` if there are no variables
- */
- VariableDeclarationList get variables => _variableList;
-
- /**
- * Set the body of the loop to the given statement.
- *
- * @param body the body of the loop
- */
- void set body(Statement body) {
- _body = becomeParentOf(body);
- }
-
- /**
- * Set the condition used to determine when to terminate the loop to the given expression.
- *
- * @param expression the condition used to determine when to terminate the loop
- */
- void set condition(Expression expression) {
- _condition = becomeParentOf(expression);
- }
-
- /**
- * Set the initialization expression to the given expression.
- *
- * @param initialization the initialization expression
- */
- void set initialization(Expression initialization) {
- _initialization = becomeParentOf(initialization);
- }
-
- /**
- * Set the declaration of the loop variables to the given parameter.
- *
- * @param variableList the declaration of the loop variables
- */
- void set variables(VariableDeclarationList variableList) {
- _variableList = becomeParentOf(variableList);
- }
-
- @override
- void visitChildren(AstVisitor visitor) {
- safelyVisitChild(_variableList, visitor);
- safelyVisitChild(_initialization, visitor);
- safelyVisitChild(_condition, visitor);
- _updaters.accept(visitor);
- safelyVisitChild(_body, visitor);
- }
-}
-
-/**
* The abstract class `FormalParameter` defines the behavior of objects representing a
* parameter to a function.
*
@@ -7616,13 +7853,6 @@ abstract class FormalParameter extends AstNode {
SimpleIdentifier get identifier;
/**
- * Return the kind of this parameter.
- *
- * @return the kind of this parameter
- */
- ParameterKind get kind;
-
- /**
* Return `true` if this parameter was declared with the 'const' modifier.
*
* @return `true` if this parameter was declared with the 'const' modifier
@@ -7637,6 +7867,13 @@ abstract class FormalParameter extends AstNode {
* @return `true` if this parameter was declared with the 'final' modifier
*/
bool get isFinal;
+
+ /**
+ * Return the kind of this parameter.
+ *
+ * @return the kind of this parameter
+ */
+ ParameterKind get kind;
}
/**
@@ -7675,21 +7912,138 @@ class FormalParameterList extends AstNode {
Token leftParenthesis;
/**
- * The parameters associated with the method.
+ * The parameters associated with the method.
+ */
+ NodeList<FormalParameter> _parameters;
+
+ /**
+ * The left square bracket ('[') or left curly brace ('{') introducing the optional parameters, or
+ * `null` if there are no optional parameters.
+ */
+ Token leftDelimiter;
+
+ /**
+ * The right square bracket (']') or right curly brace ('}') introducing the optional parameters,
+ * or `null` if there are no optional parameters.
+ */
+ Token rightDelimiter;
+
+ /**
+ * The right parenthesis.
+ */
+ Token rightParenthesis;
+
+ /**
+ * Initialize a newly created parameter list.
+ *
+ * @param leftParenthesis the left parenthesis
+ * @param parameters the parameters associated with the method
+ * @param leftDelimiter the left delimiter introducing the optional parameters
+ * @param rightDelimiter the right delimiter introducing the optional parameters
+ * @param rightParenthesis the right parenthesis
+ */
+ FormalParameterList(this.leftParenthesis, List<FormalParameter> parameters,
+ this.leftDelimiter, this.rightDelimiter, this.rightParenthesis) {
+ _parameters = new NodeList<FormalParameter>(this, parameters);
+ }
+
+ @override
+ Token get beginToken => leftParenthesis;
+
+ @override
+ Token get endToken => rightParenthesis;
+
+ /**
+ * Return an array containing the elements representing the parameters in this list. The array
+ * will contain `null`s if the parameters in this list have not been resolved.
+ *
+ * @return the elements representing the parameters in this list
+ */
+ List<ParameterElement> get parameterElements {
+ int count = _parameters.length;
+ List<ParameterElement> types = new List<ParameterElement>(count);
+ for (int i = 0; i < count; i++) {
+ types[i] = _parameters[i].element;
+ }
+ return types;
+ }
+
+ /**
+ * Return the parameters associated with the method.
+ *
+ * @return the parameters associated with the method
+ */
+ NodeList<FormalParameter> get parameters => _parameters;
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitFormalParameterList(this);
+
+ @override
+ void visitChildren(AstVisitor visitor) {
+ _parameters.accept(visitor);
+ }
+}
+
+/**
+ * Instances of the class `ForStatement` represent a for statement.
+ *
+ * <pre>
+ * forStatement ::=
+ * 'for' '(' forLoopParts ')' [Statement]
+ *
+ * forLoopParts ::=
+ * forInitializerStatement ';' [Expression]? ';' [Expression]?
+ *
+ * forInitializerStatement ::=
+ * [DefaultFormalParameter]
+ * | [Expression]?
+ * </pre>
+ */
+class ForStatement extends Statement {
+ /**
+ * The token representing the 'for' keyword.
+ */
+ Token forKeyword;
+
+ /**
+ * The left parenthesis.
+ */
+ Token leftParenthesis;
+
+ /**
+ * The declaration of the loop variables, or `null` if there are no variables. Note that a
+ * for statement cannot have both a variable list and an initialization expression, but can
+ * validly have neither.
*/
- NodeList<FormalParameter> _parameters;
+ VariableDeclarationList _variableList;
/**
- * The left square bracket ('[') or left curly brace ('{') introducing the optional parameters, or
- * `null` if there are no optional parameters.
+ * The initialization expression, or `null` if there is no initialization expression. Note
+ * that a for statement cannot have both a variable list and an initialization expression, but can
+ * validly have neither.
*/
- Token leftDelimiter;
+ Expression _initialization;
/**
- * The right square bracket (']') or right curly brace ('}') introducing the optional parameters,
- * or `null` if there are no optional parameters.
+ * The semicolon separating the initializer and the condition.
*/
- Token rightDelimiter;
+ Token leftSeparator;
+
+ /**
+ * The condition used to determine when to terminate the loop, or `null` if there is no
+ * condition.
+ */
+ Expression _condition;
+
+ /**
+ * The semicolon separating the condition and the updater.
+ */
+ Token rightSeparator;
+
+ /**
+ * The list of expressions run after each execution of the loop body.
+ */
+ NodeList<Expression> _updaters;
/**
* The right parenthesis.
@@ -7697,52 +8051,123 @@ class FormalParameterList extends AstNode {
Token rightParenthesis;
/**
- * Initialize a newly created parameter list.
+ * The body of the loop.
+ */
+ Statement _body;
+
+ /**
+ * Initialize a newly created for statement.
*
+ * @param forKeyword the token representing the 'for' keyword
* @param leftParenthesis the left parenthesis
- * @param parameters the parameters associated with the method
- * @param leftDelimiter the left delimiter introducing the optional parameters
- * @param rightDelimiter the right delimiter introducing the optional parameters
+ * @param variableList the declaration of the loop variables
+ * @param initialization the initialization expression
+ * @param leftSeparator the semicolon separating the initializer and the condition
+ * @param condition the condition used to determine when to terminate the loop
+ * @param rightSeparator the semicolon separating the condition and the updater
+ * @param updaters the list of expressions run after each execution of the loop body
* @param rightParenthesis the right parenthesis
+ * @param body the body of the loop
*/
- FormalParameterList(this.leftParenthesis, List<FormalParameter> parameters, this.leftDelimiter, this.rightDelimiter, this.rightParenthesis) {
- _parameters = new NodeList<FormalParameter>(this, parameters);
+ ForStatement(this.forKeyword, this.leftParenthesis,
+ VariableDeclarationList variableList, Expression initialization,
+ this.leftSeparator, Expression condition, this.rightSeparator,
+ List<Expression> updaters, this.rightParenthesis, Statement body) {
+ _variableList = becomeParentOf(variableList);
+ _initialization = becomeParentOf(initialization);
+ _condition = becomeParentOf(condition);
+ _updaters = new NodeList<Expression>(this, updaters);
+ _body = becomeParentOf(body);
}
@override
- accept(AstVisitor visitor) => visitor.visitFormalParameterList(this);
+ Token get beginToken => forKeyword;
- @override
- Token get beginToken => leftParenthesis;
+ /**
+ * Return the body of the loop.
+ *
+ * @return the body of the loop
+ */
+ Statement get body => _body;
+
+ /**
+ * Set the body of the loop to the given statement.
+ *
+ * @param body the body of the loop
+ */
+ void set body(Statement body) {
+ _body = becomeParentOf(body);
+ }
+
+ /**
+ * Return the condition used to determine when to terminate the loop, or `null` if there is
+ * no condition.
+ *
+ * @return the condition used to determine when to terminate the loop
+ */
+ Expression get condition => _condition;
+
+ /**
+ * Set the condition used to determine when to terminate the loop to the given expression.
+ *
+ * @param expression the condition used to determine when to terminate the loop
+ */
+ void set condition(Expression expression) {
+ _condition = becomeParentOf(expression);
+ }
@override
- Token get endToken => rightParenthesis;
+ Token get endToken => _body.endToken;
/**
- * Return an array containing the elements representing the parameters in this list. The array
- * will contain `null`s if the parameters in this list have not been resolved.
+ * Return the initialization expression, or `null` if there is no initialization expression.
*
- * @return the elements representing the parameters in this list
+ * @return the initialization expression
*/
- List<ParameterElement> get parameterElements {
- int count = _parameters.length;
- List<ParameterElement> types = new List<ParameterElement>(count);
- for (int i = 0; i < count; i++) {
- types[i] = _parameters[i].element;
- }
- return types;
+ Expression get initialization => _initialization;
+
+ /**
+ * Set the initialization expression to the given expression.
+ *
+ * @param initialization the initialization expression
+ */
+ void set initialization(Expression initialization) {
+ _initialization = becomeParentOf(initialization);
}
/**
- * Return the parameters associated with the method.
+ * Return the list of expressions run after each execution of the loop body.
*
- * @return the parameters associated with the method
+ * @return the list of expressions run after each execution of the loop body
*/
- NodeList<FormalParameter> get parameters => _parameters;
+ NodeList<Expression> get updaters => _updaters;
+
+ /**
+ * Return the declaration of the loop variables, or `null` if there are no variables.
+ *
+ * @return the declaration of the loop variables, or `null` if there are no variables
+ */
+ VariableDeclarationList get variables => _variableList;
+
+ /**
+ * Set the declaration of the loop variables to the given parameter.
+ *
+ * @param variableList the declaration of the loop variables
+ */
+ void set variables(VariableDeclarationList variableList) {
+ _variableList = becomeParentOf(variableList);
+ }
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitForStatement(this);
@override
void visitChildren(AstVisitor visitor) {
- _parameters.accept(visitor);
+ safelyVisitChild(_variableList, visitor);
+ safelyVisitChild(_initialization, visitor);
+ safelyVisitChild(_condition, visitor);
+ _updaters.accept(visitor);
+ safelyVisitChild(_body, visitor);
}
}
@@ -7759,21 +8184,6 @@ class FormalParameterList extends AstNode {
*/
abstract class FunctionBody extends AstNode {
/**
- * Return the token representing the 'async' or 'sync' keyword, or `null` if there is no
- * such keyword.
- *
- * @return the token representing the 'async' or 'sync' keyword
- */
- Token get keyword => null;
-
- /**
- * Return the star following the 'async' or 'sync' keyword, or `null` if there is no star.
- *
- * @return the star following the 'async' or 'sync' keyword
- */
- Token get star => null;
-
- /**
* Return `true` if this function body is asynchronous.
*
* @return `true` if this function body is asynchronous
@@ -7793,6 +8203,21 @@ abstract class FunctionBody extends AstNode {
* @return `true` if this function body is synchronous
*/
bool get isSynchronous => true;
+
+ /**
+ * Return the token representing the 'async' or 'sync' keyword, or `null` if there is no
+ * such keyword.
+ *
+ * @return the token representing the 'async' or 'sync' keyword
+ */
+ Token get keyword => null;
+
+ /**
+ * Return the star following the 'async' or 'sync' keyword, or `null` if there is no star.
+ *
+ * @return the star following the 'async' or 'sync' keyword
+ */
+ Token get star => null;
}
/**
@@ -7846,20 +8271,35 @@ class FunctionDeclaration extends CompilationUnitMember {
* @param name the name of the function
* @param functionExpression the function expression being wrapped
*/
- FunctionDeclaration(Comment comment, List<Annotation> metadata, this.externalKeyword, TypeName returnType, this.propertyKeyword, SimpleIdentifier name, FunctionExpression functionExpression) : super(comment, metadata) {
+ FunctionDeclaration(Comment comment, List<Annotation> metadata,
+ this.externalKeyword, TypeName returnType, this.propertyKeyword,
+ SimpleIdentifier name, FunctionExpression functionExpression)
+ : super(comment, metadata) {
_returnType = becomeParentOf(returnType);
_name = becomeParentOf(name);
_functionExpression = becomeParentOf(functionExpression);
}
@override
- accept(AstVisitor visitor) => visitor.visitFunctionDeclaration(this);
+ ExecutableElement get element =>
+ _name != null ? (_name.staticElement as ExecutableElement) : null;
@override
- ExecutableElement get element => _name != null ? (_name.staticElement as ExecutableElement) : null;
+ Token get endToken => _functionExpression.endToken;
@override
- Token get endToken => _functionExpression.endToken;
+ Token get firstTokenAfterCommentAndMetadata {
+ if (externalKeyword != null) {
+ return externalKeyword;
+ } else if (_returnType != null) {
+ return _returnType.beginToken;
+ } else if (propertyKeyword != null) {
+ return propertyKeyword;
+ } else if (_name != null) {
+ return _name.beginToken;
+ }
+ return _functionExpression.beginToken;
+ }
/**
* Return the function expression being wrapped.
@@ -7869,41 +8309,38 @@ class FunctionDeclaration extends CompilationUnitMember {
FunctionExpression get functionExpression => _functionExpression;
/**
- * Return the name of the function, or `null` if the function is not named.
- *
- * @return the name of the function
- */
- SimpleIdentifier get name => _name;
-
- /**
- * Return the return type of the function, or `null` if no return type was declared.
+ * Set the function expression being wrapped to the given function expression.
*
- * @return the return type of the function
+ * @param functionExpression the function expression being wrapped
*/
- TypeName get returnType => _returnType;
+ void set functionExpression(FunctionExpression functionExpression) {
+ _functionExpression = becomeParentOf(functionExpression);
+ }
/**
* Return `true` if this function declares a getter.
*
* @return `true` if this function declares a getter
*/
- bool get isGetter => propertyKeyword != null && (propertyKeyword as KeywordToken).keyword == Keyword.GET;
+ bool get isGetter =>
+ propertyKeyword != null &&
+ (propertyKeyword as KeywordToken).keyword == Keyword.GET;
/**
* Return `true` if this function declares a setter.
*
* @return `true` if this function declares a setter
*/
- bool get isSetter => propertyKeyword != null && (propertyKeyword as KeywordToken).keyword == Keyword.SET;
+ bool get isSetter =>
+ propertyKeyword != null &&
+ (propertyKeyword as KeywordToken).keyword == Keyword.SET;
/**
- * Set the function expression being wrapped to the given function expression.
+ * Return the name of the function, or `null` if the function is not named.
*
- * @param functionExpression the function expression being wrapped
+ * @return the name of the function
*/
- void set functionExpression(FunctionExpression functionExpression) {
- _functionExpression = becomeParentOf(functionExpression);
- }
+ SimpleIdentifier get name => _name;
/**
* Set the name of the function to the given identifier.
@@ -7915,6 +8352,13 @@ class FunctionDeclaration extends CompilationUnitMember {
}
/**
+ * Return the return type of the function, or `null` if no return type was declared.
+ *
+ * @return the return type of the function
+ */
+ TypeName get returnType => _returnType;
+
+ /**
* Set the return type of the function to the given name.
*
* @param returnType the return type of the function
@@ -7924,26 +8368,15 @@ class FunctionDeclaration extends CompilationUnitMember {
}
@override
+ accept(AstVisitor visitor) => visitor.visitFunctionDeclaration(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChild(_returnType, visitor);
safelyVisitChild(_name, visitor);
safelyVisitChild(_functionExpression, visitor);
}
-
- @override
- Token get firstTokenAfterCommentAndMetadata {
- if (externalKeyword != null) {
- return externalKeyword;
- } else if (_returnType != null) {
- return _returnType.beginToken;
- } else if (propertyKeyword != null) {
- return propertyKeyword;
- } else if (_name != null) {
- return _name.beginToken;
- }
- return _functionExpression.beginToken;
- }
}
/**
@@ -7966,9 +8399,6 @@ class FunctionDeclarationStatement extends Statement {
}
@override
- accept(AstVisitor visitor) => visitor.visitFunctionDeclarationStatement(this);
-
- @override
Token get beginToken => _functionDeclaration.beginToken;
@override
@@ -7991,6 +8421,9 @@ class FunctionDeclarationStatement extends Statement {
}
@override
+ accept(AstVisitor visitor) => visitor.visitFunctionDeclarationStatement(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_functionDeclaration, visitor);
}
@@ -8033,26 +8466,32 @@ class FunctionExpression extends Expression {
}
@override
- accept(AstVisitor visitor) => visitor.visitFunctionExpression(this);
-
- @override
Token get beginToken {
if (_parameters != null) {
return _parameters.beginToken;
} else if (_body != null) {
return _body.beginToken;
}
- // This should never be reached because external functions must be named, hence either the body
- // or the name should be non-null.
+ // This should never be reached because external functions must be named,
+ // hence either the body or the name should be non-null.
throw new IllegalStateException("Non-external functions must have a body");
}
/**
* Return the body of the function, or `null` if this is an external function.
*
- * @return the body of the function
+ * @return the body of the function
+ */
+ FunctionBody get body => _body;
+
+ /**
+ * Set the body of the function to the given function body.
+ *
+ * @param functionBody the body of the function
*/
- FunctionBody get body => _body;
+ void set body(FunctionBody functionBody) {
+ _body = becomeParentOf(functionBody);
+ }
@override
Token get endToken {
@@ -8061,8 +8500,8 @@ class FunctionExpression extends Expression {
} else if (_parameters != null) {
return _parameters.endToken;
}
- // This should never be reached because external functions must be named, hence either the body
- // or the name should be non-null.
+ // This should never be reached because external functions must be named,
+ // hence either the body or the name should be non-null.
throw new IllegalStateException("Non-external functions must have a body");
}
@@ -8073,18 +8512,6 @@ class FunctionExpression extends Expression {
*/
FormalParameterList get parameters => _parameters;
- @override
- int get precedence => 16;
-
- /**
- * Set the body of the function to the given function body.
- *
- * @param functionBody the body of the function
- */
- void set body(FunctionBody functionBody) {
- _body = becomeParentOf(functionBody);
- }
-
/**
* Set the parameters associated with the function to the given list of parameters.
*
@@ -8095,6 +8522,12 @@ class FunctionExpression extends Expression {
}
@override
+ int get precedence => 16;
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitFunctionExpression(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_parameters, visitor);
safelyVisitChild(_body, visitor);
@@ -8147,9 +8580,6 @@ class FunctionExpressionInvocation extends Expression {
_argumentList = becomeParentOf(argumentList);
}
- @override
- accept(AstVisitor visitor) => visitor.visitFunctionExpressionInvocation(this);
-
/**
* Return the list of arguments to the method.
*
@@ -8157,6 +8587,15 @@ class FunctionExpressionInvocation extends Expression {
*/
ArgumentList get argumentList => _argumentList;
+ /**
+ * Set the list of arguments to the method to the given list.
+ *
+ * @param argumentList the list of arguments to the method
+ */
+ void set argumentList(ArgumentList argumentList) {
+ _argumentList = becomeParentOf(argumentList);
+ }
+
@override
Token get beginToken => _function.beginToken;
@@ -8186,18 +8625,6 @@ class FunctionExpressionInvocation extends Expression {
*/
Expression get function => _function;
- @override
- int get precedence => 15;
-
- /**
- * Set the list of arguments to the method to the given list.
- *
- * @param argumentList the list of arguments to the method
- */
- void set argumentList(ArgumentList argumentList) {
- _argumentList = becomeParentOf(argumentList);
- }
-
/**
* Set the expression producing the function being invoked to the given expression.
*
@@ -8208,6 +8635,12 @@ class FunctionExpressionInvocation extends Expression {
}
@override
+ int get precedence => 15;
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitFunctionExpressionInvocation(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_function, visitor);
safelyVisitChild(_argumentList, visitor);
@@ -8260,7 +8693,10 @@ class FunctionTypeAlias extends TypeAlias {
* @param parameters the parameters associated with the function
* @param semicolon the semicolon terminating the declaration
*/
- FunctionTypeAlias(Comment comment, List<Annotation> metadata, Token keyword, TypeName returnType, SimpleIdentifier name, TypeParameterList typeParameters, FormalParameterList parameters, Token semicolon) : super(comment, metadata, keyword, semicolon) {
+ FunctionTypeAlias(Comment comment, List<Annotation> metadata, Token keyword,
+ TypeName returnType, SimpleIdentifier name, TypeParameterList typeParameters,
+ FormalParameterList parameters, Token semicolon)
+ : super(comment, metadata, keyword, semicolon) {
_returnType = becomeParentOf(returnType);
_name = becomeParentOf(name);
_typeParameters = becomeParentOf(typeParameters);
@@ -8268,10 +8704,8 @@ class FunctionTypeAlias extends TypeAlias {
}
@override
- accept(AstVisitor visitor) => visitor.visitFunctionTypeAlias(this);
-
- @override
- FunctionTypeAliasElement get element => _name != null ? (_name.staticElement as FunctionTypeAliasElement) : null;
+ FunctionTypeAliasElement get element =>
+ _name != null ? (_name.staticElement as FunctionTypeAliasElement) : null;
/**
* Return the name of the function type being declared.
@@ -8281,29 +8715,6 @@ class FunctionTypeAlias extends TypeAlias {
SimpleIdentifier get name => _name;
/**
- * Return the parameters associated with the function type.
- *
- * @return the parameters associated with the function type
- */
- FormalParameterList get parameters => _parameters;
-
- /**
- * Return the name of the return type of the function type being defined, or `null` if no
- * return type was given.
- *
- * @return the name of the return type of the function type being defined
- */
- TypeName get returnType => _returnType;
-
- /**
- * Return the type parameters for the function type, or `null` if the function type does not
- * have any type parameters.
- *
- * @return the type parameters for the function type
- */
- TypeParameterList get typeParameters => _typeParameters;
-
- /**
* Set the name of the function type being declared to the given identifier.
*
* @param name the name of the function type being declared
@@ -8313,6 +8724,13 @@ class FunctionTypeAlias extends TypeAlias {
}
/**
+ * Return the parameters associated with the function type.
+ *
+ * @return the parameters associated with the function type
+ */
+ FormalParameterList get parameters => _parameters;
+
+ /**
* Set the parameters associated with the function type to the given list of parameters.
*
* @param parameters the parameters associated with the function type
@@ -8322,6 +8740,14 @@ class FunctionTypeAlias extends TypeAlias {
}
/**
+ * Return the name of the return type of the function type being defined, or `null` if no
+ * return type was given.
+ *
+ * @return the name of the return type of the function type being defined
+ */
+ TypeName get returnType => _returnType;
+
+ /**
* Set the name of the return type of the function type being defined to the given type name.
*
* @param typeName the name of the return type of the function type being defined
@@ -8331,6 +8757,14 @@ class FunctionTypeAlias extends TypeAlias {
}
/**
+ * Return the type parameters for the function type, or `null` if the function type does not
+ * have any type parameters.
+ *
+ * @return the type parameters for the function type
+ */
+ TypeParameterList get typeParameters => _typeParameters;
+
+ /**
* Set the type parameters for the function type to the given list of parameters.
*
* @param typeParameters the type parameters for the function type
@@ -8340,6 +8774,9 @@ class FunctionTypeAlias extends TypeAlias {
}
@override
+ accept(AstVisitor visitor) => visitor.visitFunctionTypeAlias(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChild(_returnType, visitor);
@@ -8379,15 +8816,15 @@ class FunctionTypedFormalParameter extends NormalFormalParameter {
* @param identifier the name of the function-typed parameter
* @param parameters the parameters of the function-typed parameter
*/
- FunctionTypedFormalParameter(Comment comment, List<Annotation> metadata, TypeName returnType, SimpleIdentifier identifier, FormalParameterList parameters) : super(comment, metadata, identifier) {
+ FunctionTypedFormalParameter(Comment comment, List<Annotation> metadata,
+ TypeName returnType, SimpleIdentifier identifier,
+ FormalParameterList parameters)
+ : super(comment, metadata, identifier) {
_returnType = becomeParentOf(returnType);
_parameters = becomeParentOf(parameters);
}
@override
- accept(AstVisitor visitor) => visitor.visitFunctionTypedFormalParameter(this);
-
- @override
Token get beginToken {
if (_returnType != null) {
return _returnType.beginToken;
@@ -8398,6 +8835,12 @@ class FunctionTypedFormalParameter extends NormalFormalParameter {
@override
Token get endToken => _parameters.endToken;
+ @override
+ bool get isConst => false;
+
+ @override
+ bool get isFinal => false;
+
/**
* Return the parameters of the function-typed parameter.
*
@@ -8406,20 +8849,6 @@ class FunctionTypedFormalParameter extends NormalFormalParameter {
FormalParameterList get parameters => _parameters;
/**
- * Return the return type of the function, or `null` if the function does not have a return
- * type.
- *
- * @return the return type of the function
- */
- TypeName get returnType => _returnType;
-
- @override
- bool get isConst => false;
-
- @override
- bool get isFinal => false;
-
- /**
* Set the parameters of the function-typed parameter to the given parameters.
*
* @param parameters the parameters of the function-typed parameter
@@ -8429,6 +8858,14 @@ class FunctionTypedFormalParameter extends NormalFormalParameter {
}
/**
+ * Return the return type of the function, or `null` if the function does not have a return
+ * type.
+ *
+ * @return the return type of the function
+ */
+ TypeName get returnType => _returnType;
+
+ /**
* Set the return type of the function to the given type.
*
* @param returnType the return type of the function
@@ -8438,6 +8875,9 @@ class FunctionTypedFormalParameter extends NormalFormalParameter {
}
@override
+ accept(AstVisitor visitor) => visitor.visitFunctionTypedFormalParameter(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChild(_returnType, visitor);
@@ -8481,7 +8921,8 @@ class GeneralizingAstVisitor<R> implements AstVisitor<R> {
R visitAssertStatement(AssertStatement node) => visitStatement(node);
@override
- R visitAssignmentExpression(AssignmentExpression node) => visitExpression(node);
+ R visitAssignmentExpression(AssignmentExpression node) =>
+ visitExpression(node);
@override
R visitAwaitExpression(AwaitExpression node) => visitExpression(node);
@@ -8508,7 +8949,8 @@ class GeneralizingAstVisitor<R> implements AstVisitor<R> {
R visitCatchClause(CatchClause node) => visitNode(node);
@override
- R visitClassDeclaration(ClassDeclaration node) => visitCompilationUnitMember(node);
+ R visitClassDeclaration(ClassDeclaration node) =>
+ visitCompilationUnitMember(node);
R visitClassMember(ClassMember node) => visitDeclaration(node);
@@ -8526,16 +8968,20 @@ class GeneralizingAstVisitor<R> implements AstVisitor<R> {
@override
R visitCompilationUnit(CompilationUnit node) => visitNode(node);
- R visitCompilationUnitMember(CompilationUnitMember node) => visitDeclaration(node);
+ R visitCompilationUnitMember(CompilationUnitMember node) =>
+ visitDeclaration(node);
@override
- R visitConditionalExpression(ConditionalExpression node) => visitExpression(node);
+ R visitConditionalExpression(ConditionalExpression node) =>
+ visitExpression(node);
@override
- R visitConstructorDeclaration(ConstructorDeclaration node) => visitClassMember(node);
+ R visitConstructorDeclaration(ConstructorDeclaration node) =>
+ visitClassMember(node);
@override
- R visitConstructorFieldInitializer(ConstructorFieldInitializer node) => visitConstructorInitializer(node);
+ R visitConstructorFieldInitializer(ConstructorFieldInitializer node) =>
+ visitConstructorInitializer(node);
R visitConstructorInitializer(ConstructorInitializer node) => visitNode(node);
@@ -8551,7 +8997,8 @@ class GeneralizingAstVisitor<R> implements AstVisitor<R> {
R visitDeclaredIdentifier(DeclaredIdentifier node) => visitDeclaration(node);
@override
- R visitDefaultFormalParameter(DefaultFormalParameter node) => visitFormalParameter(node);
+ R visitDefaultFormalParameter(DefaultFormalParameter node) =>
+ visitFormalParameter(node);
R visitDirective(Directive node) => visitAnnotatedNode(node);
@@ -8568,10 +9015,12 @@ class GeneralizingAstVisitor<R> implements AstVisitor<R> {
R visitEmptyStatement(EmptyStatement node) => visitStatement(node);
@override
- R visitEnumConstantDeclaration(EnumConstantDeclaration node) => visitDeclaration(node);
+ R visitEnumConstantDeclaration(EnumConstantDeclaration node) =>
+ visitDeclaration(node);
@override
- R visitEnumDeclaration(EnumDeclaration node) => visitCompilationUnitMember(node);
+ R visitEnumDeclaration(EnumDeclaration node) =>
+ visitCompilationUnitMember(node);
@override
R visitExportDirective(ExportDirective node) => visitNamespaceDirective(node);
@@ -8579,7 +9028,8 @@ class GeneralizingAstVisitor<R> implements AstVisitor<R> {
R visitExpression(Expression node) => visitNode(node);
@override
- R visitExpressionFunctionBody(ExpressionFunctionBody node) => visitFunctionBody(node);
+ R visitExpressionFunctionBody(ExpressionFunctionBody node) =>
+ visitFunctionBody(node);
@override
R visitExpressionStatement(ExpressionStatement node) => visitStatement(node);
@@ -8591,7 +9041,8 @@ class GeneralizingAstVisitor<R> implements AstVisitor<R> {
R visitFieldDeclaration(FieldDeclaration node) => visitClassMember(node);
@override
- R visitFieldFormalParameter(FieldFormalParameter node) => visitNormalFormalParameter(node);
+ R visitFieldFormalParameter(FieldFormalParameter node) =>
+ visitNormalFormalParameter(node);
@override
R visitForEachStatement(ForEachStatement node) => visitStatement(node);
@@ -8607,22 +9058,26 @@ class GeneralizingAstVisitor<R> implements AstVisitor<R> {
R visitFunctionBody(FunctionBody node) => visitNode(node);
@override
- R visitFunctionDeclaration(FunctionDeclaration node) => visitCompilationUnitMember(node);
+ R visitFunctionDeclaration(FunctionDeclaration node) =>
+ visitCompilationUnitMember(node);
@override
- R visitFunctionDeclarationStatement(FunctionDeclarationStatement node) => visitStatement(node);
+ R visitFunctionDeclarationStatement(FunctionDeclarationStatement node) =>
+ visitStatement(node);
@override
R visitFunctionExpression(FunctionExpression node) => visitExpression(node);
@override
- R visitFunctionExpressionInvocation(FunctionExpressionInvocation node) => visitExpression(node);
+ R visitFunctionExpressionInvocation(FunctionExpressionInvocation node) =>
+ visitExpression(node);
@override
R visitFunctionTypeAlias(FunctionTypeAlias node) => visitTypeAlias(node);
@override
- R visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) => visitNormalFormalParameter(node);
+ R visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) =>
+ visitNormalFormalParameter(node);
@override
R visitHideCombinator(HideCombinator node) => visitCombinator(node);
@@ -8642,7 +9097,8 @@ class GeneralizingAstVisitor<R> implements AstVisitor<R> {
R visitIndexExpression(IndexExpression node) => visitExpression(node);
@override
- R visitInstanceCreationExpression(InstanceCreationExpression node) => visitExpression(node);
+ R visitInstanceCreationExpression(InstanceCreationExpression node) =>
+ visitExpression(node);
@override
R visitIntegerLiteral(IntegerLiteral node) => visitLiteral(node);
@@ -8650,10 +9106,12 @@ class GeneralizingAstVisitor<R> implements AstVisitor<R> {
R visitInterpolationElement(InterpolationElement node) => visitNode(node);
@override
- R visitInterpolationExpression(InterpolationExpression node) => visitInterpolationElement(node);
+ R visitInterpolationExpression(InterpolationExpression node) =>
+ visitInterpolationElement(node);
@override
- R visitInterpolationString(InterpolationString node) => visitInterpolationElement(node);
+ R visitInterpolationString(InterpolationString node) =>
+ visitInterpolationElement(node);
@override
R visitIsExpression(IsExpression node) => visitExpression(node);
@@ -8690,7 +9148,8 @@ class GeneralizingAstVisitor<R> implements AstVisitor<R> {
@override
R visitNamedExpression(NamedExpression node) => visitExpression(node);
- R visitNamespaceDirective(NamespaceDirective node) => visitUriBasedDirective(node);
+ R visitNamespaceDirective(NamespaceDirective node) =>
+ visitUriBasedDirective(node);
@override
R visitNativeClause(NativeClause node) => visitNode(node);
@@ -8703,13 +9162,15 @@ class GeneralizingAstVisitor<R> implements AstVisitor<R> {
return null;
}
- R visitNormalFormalParameter(NormalFormalParameter node) => visitFormalParameter(node);
+ R visitNormalFormalParameter(NormalFormalParameter node) =>
+ visitFormalParameter(node);
@override
R visitNullLiteral(NullLiteral node) => visitLiteral(node);
@override
- R visitParenthesizedExpression(ParenthesizedExpression node) => visitExpression(node);
+ R visitParenthesizedExpression(ParenthesizedExpression node) =>
+ visitExpression(node);
@override
R visitPartDirective(PartDirective node) => visitUriBasedDirective(node);
@@ -8730,7 +9191,9 @@ class GeneralizingAstVisitor<R> implements AstVisitor<R> {
R visitPropertyAccess(PropertyAccess node) => visitExpression(node);
@override
- R visitRedirectingConstructorInvocation(RedirectingConstructorInvocation node) => visitConstructorInitializer(node);
+ R
+ visitRedirectingConstructorInvocation(RedirectingConstructorInvocation node) =>
+ visitConstructorInitializer(node);
@override
R visitRethrowExpression(RethrowExpression node) => visitExpression(node);
@@ -8745,25 +9208,30 @@ class GeneralizingAstVisitor<R> implements AstVisitor<R> {
R visitShowCombinator(ShowCombinator node) => visitCombinator(node);
@override
- R visitSimpleFormalParameter(SimpleFormalParameter node) => visitNormalFormalParameter(node);
+ R visitSimpleFormalParameter(SimpleFormalParameter node) =>
+ visitNormalFormalParameter(node);
@override
R visitSimpleIdentifier(SimpleIdentifier node) => visitIdentifier(node);
@override
- R visitSimpleStringLiteral(SimpleStringLiteral node) => visitSingleStringLiteral(node);
+ R visitSimpleStringLiteral(SimpleStringLiteral node) =>
+ visitSingleStringLiteral(node);
- R visitSingleStringLiteral(SingleStringLiteral node) => visitStringLiteral(node);
+ R visitSingleStringLiteral(SingleStringLiteral node) =>
+ visitStringLiteral(node);
R visitStatement(Statement node) => visitNode(node);
@override
- R visitStringInterpolation(StringInterpolation node) => visitSingleStringLiteral(node);
+ R visitStringInterpolation(StringInterpolation node) =>
+ visitSingleStringLiteral(node);
R visitStringLiteral(StringLiteral node) => visitLiteral(node);
@override
- R visitSuperConstructorInvocation(SuperConstructorInvocation node) => visitConstructorInitializer(node);
+ R visitSuperConstructorInvocation(SuperConstructorInvocation node) =>
+ visitConstructorInitializer(node);
@override
R visitSuperExpression(SuperExpression node) => visitExpression(node);
@@ -8789,7 +9257,8 @@ class GeneralizingAstVisitor<R> implements AstVisitor<R> {
R visitThrowExpression(ThrowExpression node) => visitExpression(node);
@override
- R visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) => visitCompilationUnitMember(node);
+ R visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) =>
+ visitCompilationUnitMember(node);
@override
R visitTryStatement(TryStatement node) => visitStatement(node);
@@ -8813,13 +9282,16 @@ class GeneralizingAstVisitor<R> implements AstVisitor<R> {
R visitUriBasedDirective(UriBasedDirective node) => visitDirective(node);
@override
- R visitVariableDeclaration(VariableDeclaration node) => visitDeclaration(node);
+ R visitVariableDeclaration(VariableDeclaration node) =>
+ visitDeclaration(node);
@override
- R visitVariableDeclarationList(VariableDeclarationList node) => visitNode(node);
+ R visitVariableDeclarationList(VariableDeclarationList node) =>
+ visitNode(node);
@override
- R visitVariableDeclarationStatement(VariableDeclarationStatement node) => visitStatement(node);
+ R visitVariableDeclarationStatement(VariableDeclarationStatement node) =>
+ visitStatement(node);
@override
R visitWhileStatement(WhileStatement node) => visitStatement(node);
@@ -8831,10 +9303,12 @@ class GeneralizingAstVisitor<R> implements AstVisitor<R> {
R visitYieldStatement(YieldStatement node) => visitStatement(node);
}
-class GeneralizingAstVisitor_BreadthFirstVisitor extends GeneralizingAstVisitor<Object> {
+class GeneralizingAstVisitor_BreadthFirstVisitor extends
+ GeneralizingAstVisitor<Object> {
final BreadthFirstVisitor BreadthFirstVisitor_this;
- GeneralizingAstVisitor_BreadthFirstVisitor(this.BreadthFirstVisitor_this) : super();
+ GeneralizingAstVisitor_BreadthFirstVisitor(this.BreadthFirstVisitor_this)
+ : super();
@override
Object visitNode(AstNode node) {
@@ -8864,14 +9338,12 @@ class HideCombinator extends Combinator {
* @param keyword the comma introducing the combinator
* @param hiddenNames the list of names from the library that are hidden by this combinator
*/
- HideCombinator(Token keyword, List<SimpleIdentifier> hiddenNames) : super(keyword) {
+ HideCombinator(Token keyword, List<SimpleIdentifier> hiddenNames)
+ : super(keyword) {
_hiddenNames = new NodeList<SimpleIdentifier>(this, hiddenNames);
}
@override
- accept(AstVisitor visitor) => visitor.visitHideCombinator(this);
-
- @override
Token get endToken => _hiddenNames.endToken;
/**
@@ -8882,6 +9354,9 @@ class HideCombinator extends Combinator {
NodeList<SimpleIdentifier> get hiddenNames => _hiddenNames;
@override
+ accept(AstVisitor visitor) => visitor.visitHideCombinator(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
_hiddenNames.accept(visitor);
}
@@ -8899,15 +9374,6 @@ class HideCombinator extends Combinator {
*/
abstract class Identifier extends Expression {
/**
- * Return `true` if the given name is visible only within the library in which it is
- * declared.
- *
- * @param name the name being tested
- * @return `true` if the given name is private
- */
- static bool isPrivateName(String name) => StringUtilities.startsWithChar(name, 0x5F);
-
- /**
* Return the best element available for this operator. If resolution was able to find a better
* element based on type propagation, that element will be returned. Otherwise, the element found
* using the result of static analysis will be returned. If resolution has not been performed,
@@ -8917,6 +9383,9 @@ abstract class Identifier extends Expression {
*/
Element get bestElement;
+ @override
+ bool get isAssignable => true;
+
/**
* Return the lexical representation of the identifier.
*
@@ -8944,8 +9413,15 @@ abstract class Identifier extends Expression {
*/
Element get staticElement;
- @override
- bool get isAssignable => true;
+ /**
+ * Return `true` if the given name is visible only within the library in which it is
+ * declared.
+ *
+ * @param name the name being tested
+ * @return `true` if the given name is private
+ */
+ static bool isPrivateName(String name) =>
+ StringUtilities.startsWithChar(name, 0x5F);
}
/**
@@ -9004,16 +9480,15 @@ class IfStatement extends Statement {
* @param elseKeyword the token representing the 'else' keyword
* @param elseStatement the statement that is executed if the condition evaluates to `false`
*/
- IfStatement(this.ifKeyword, this.leftParenthesis, Expression condition, this.rightParenthesis, Statement thenStatement, this.elseKeyword, Statement elseStatement) {
+ IfStatement(this.ifKeyword, this.leftParenthesis, Expression condition,
+ this.rightParenthesis, Statement thenStatement, this.elseKeyword,
+ Statement elseStatement) {
_condition = becomeParentOf(condition);
_thenStatement = becomeParentOf(thenStatement);
_elseStatement = becomeParentOf(elseStatement);
}
@override
- accept(AstVisitor visitor) => visitor.visitIfStatement(this);
-
- @override
Token get beginToken => ifKeyword;
/**
@@ -9024,6 +9499,16 @@ class IfStatement extends Statement {
Expression get condition => _condition;
/**
+ * Set the condition used to determine which of the statements is executed next to the given
+ * expression.
+ *
+ * @param expression the condition used to determine which statement is executed next
+ */
+ void set condition(Expression expression) {
+ _condition = becomeParentOf(expression);
+ }
+
+ /**
* Return the statement that is executed if the condition evaluates to `false`, or
* `null` if there is no else statement.
*
@@ -9031,6 +9516,16 @@ class IfStatement extends Statement {
*/
Statement get elseStatement => _elseStatement;
+ /**
+ * Set the statement that is executed if the condition evaluates to `false` to the given
+ * statement.
+ *
+ * @param statement the statement that is executed if the condition evaluates to `false`
+ */
+ void set elseStatement(Statement statement) {
+ _elseStatement = becomeParentOf(statement);
+ }
+
@override
Token get endToken {
if (_elseStatement != null) {
@@ -9047,26 +9542,6 @@ class IfStatement extends Statement {
Statement get thenStatement => _thenStatement;
/**
- * Set the condition used to determine which of the statements is executed next to the given
- * expression.
- *
- * @param expression the condition used to determine which statement is executed next
- */
- void set condition(Expression expression) {
- _condition = becomeParentOf(expression);
- }
-
- /**
- * Set the statement that is executed if the condition evaluates to `false` to the given
- * statement.
- *
- * @param statement the statement that is executed if the condition evaluates to `false`
- */
- void set elseStatement(Statement statement) {
- _elseStatement = becomeParentOf(statement);
- }
-
- /**
* Set the statement that is executed if the condition evaluates to `true` to the given
* statement.
*
@@ -9077,6 +9552,9 @@ class IfStatement extends Statement {
}
@override
+ accept(AstVisitor visitor) => visitor.visitIfStatement(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_condition, visitor);
safelyVisitChild(_thenStatement, visitor);
@@ -9115,9 +9593,6 @@ class ImplementsClause extends AstNode {
}
@override
- accept(AstVisitor visitor) => visitor.visitImplementsClause(this);
-
- @override
Token get beginToken => keyword;
@override
@@ -9131,6 +9606,9 @@ class ImplementsClause extends AstNode {
NodeList<TypeName> get interfaces => _interfaces;
@override
+ accept(AstVisitor visitor) => visitor.visitImplementsClause(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
_interfaces.accept(visitor);
}
@@ -9146,7 +9624,8 @@ class ImplementsClause extends AstNode {
* </pre>
*/
class ImportDirective extends NamespaceDirective {
- static Comparator<ImportDirective> COMPARATOR = (ImportDirective import1, ImportDirective import2) {
+ static Comparator<ImportDirective> COMPARATOR =
+ (ImportDirective import1, ImportDirective import2) {
//
// uri
//
@@ -9198,7 +9677,8 @@ class ImportDirective extends NamespaceDirective {
allHides1.add(simpleIdentifier.name);
}
} else {
- NodeList<SimpleIdentifier> shows = (combinator as ShowCombinator).shownNames;
+ NodeList<SimpleIdentifier> shows =
+ (combinator as ShowCombinator).shownNames;
for (SimpleIdentifier simpleIdentifier in shows) {
allShows1.add(simpleIdentifier.name);
}
@@ -9214,7 +9694,8 @@ class ImportDirective extends NamespaceDirective {
allHides2.add(simpleIdentifier.name);
}
} else {
- NodeList<SimpleIdentifier> shows = (combinator as ShowCombinator).shownNames;
+ NodeList<SimpleIdentifier> shows =
+ (combinator as ShowCombinator).shownNames;
for (SimpleIdentifier simpleIdentifier in shows) {
allShows2.add(simpleIdentifier.name);
}
@@ -9266,14 +9747,14 @@ class ImportDirective extends NamespaceDirective {
* @param combinators the combinators used to control how names are imported
* @param semicolon the semicolon terminating the directive
*/
- ImportDirective(Comment comment, List<Annotation> metadata, Token keyword, StringLiteral libraryUri, this.deferredToken, this.asToken, SimpleIdentifier prefix, List<Combinator> combinators, Token semicolon) : super(comment, metadata, keyword, libraryUri, combinators, semicolon) {
+ ImportDirective(Comment comment, List<Annotation> metadata, Token keyword,
+ StringLiteral libraryUri, this.deferredToken, this.asToken,
+ SimpleIdentifier prefix, List<Combinator> combinators, Token semicolon)
+ : super(comment, metadata, keyword, libraryUri, combinators, semicolon) {
_prefix = becomeParentOf(prefix);
}
@override
- accept(AstVisitor visitor) => visitor.visitImportDirective(this);
-
- @override
ImportElement get element => super.element as ImportElement;
/**
@@ -9284,6 +9765,15 @@ class ImportDirective extends NamespaceDirective {
*/
SimpleIdentifier get prefix => _prefix;
+ /**
+ * Set the prefix to be used with the imported names to the given identifier.
+ *
+ * @param prefix the prefix to be used with the imported names
+ */
+ void set prefix(SimpleIdentifier prefix) {
+ _prefix = becomeParentOf(prefix);
+ }
+
@override
LibraryElement get uriElement {
ImportElement element = this.element;
@@ -9293,14 +9783,8 @@ class ImportDirective extends NamespaceDirective {
return element.importedLibrary;
}
- /**
- * Set the prefix to be used with the imported names to the given identifier.
- *
- * @param prefix the prefix to be used with the imported names
- */
- void set prefix(SimpleIdentifier prefix) {
- _prefix = becomeParentOf(prefix);
- }
+ @override
+ accept(AstVisitor visitor) => visitor.visitImportDirective(this);
@override
void visitChildren(AstVisitor visitor) {
@@ -9343,32 +9827,54 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
IncrementalAstCloner(this._oldNode, this._newNode, this._tokenMap);
@override
- AdjacentStrings visitAdjacentStrings(AdjacentStrings node) => new AdjacentStrings(_cloneNodeList(node.strings));
+ AdjacentStrings visitAdjacentStrings(AdjacentStrings node) =>
+ new AdjacentStrings(_cloneNodeList(node.strings));
@override
Annotation visitAnnotation(Annotation node) {
- Annotation copy = new Annotation(_mapToken(node.atSign), _cloneNode(node.name), _mapToken(node.period), _cloneNode(node.constructorName), _cloneNode(node.arguments));
+ Annotation copy = new Annotation(
+ _mapToken(node.atSign),
+ _cloneNode(node.name),
+ _mapToken(node.period),
+ _cloneNode(node.constructorName),
+ _cloneNode(node.arguments));
copy.element = node.element;
return copy;
}
@override
- ArgumentList visitArgumentList(ArgumentList node) => new ArgumentList(_mapToken(node.leftParenthesis), _cloneNodeList(node.arguments), _mapToken(node.rightParenthesis));
+ ArgumentList visitArgumentList(ArgumentList node) =>
+ new ArgumentList(
+ _mapToken(node.leftParenthesis),
+ _cloneNodeList(node.arguments),
+ _mapToken(node.rightParenthesis));
@override
AsExpression visitAsExpression(AsExpression node) {
- AsExpression copy = new AsExpression(_cloneNode(node.expression), _mapToken(node.asOperator), _cloneNode(node.type));
+ AsExpression copy = new AsExpression(
+ _cloneNode(node.expression),
+ _mapToken(node.asOperator),
+ _cloneNode(node.type));
copy.propagatedType = node.propagatedType;
copy.staticType = node.staticType;
return copy;
}
@override
- AstNode visitAssertStatement(AssertStatement node) => new AssertStatement(_mapToken(node.keyword), _mapToken(node.leftParenthesis), _cloneNode(node.condition), _mapToken(node.rightParenthesis), _mapToken(node.semicolon));
+ AstNode visitAssertStatement(AssertStatement node) =>
+ new AssertStatement(
+ _mapToken(node.keyword),
+ _mapToken(node.leftParenthesis),
+ _cloneNode(node.condition),
+ _mapToken(node.rightParenthesis),
+ _mapToken(node.semicolon));
@override
AssignmentExpression visitAssignmentExpression(AssignmentExpression node) {
- AssignmentExpression copy = new AssignmentExpression(_cloneNode(node.leftHandSide), _mapToken(node.operator), _cloneNode(node.rightHandSide));
+ AssignmentExpression copy = new AssignmentExpression(
+ _cloneNode(node.leftHandSide),
+ _mapToken(node.operator),
+ _cloneNode(node.rightHandSide));
copy.propagatedElement = node.propagatedElement;
copy.propagatedType = node.propagatedType;
copy.staticElement = node.staticElement;
@@ -9377,11 +9883,15 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
}
@override
- AwaitExpression visitAwaitExpression(AwaitExpression node) => new AwaitExpression(_mapToken(node.awaitKeyword), _cloneNode(node.expression));
+ AwaitExpression visitAwaitExpression(AwaitExpression node) =>
+ new AwaitExpression(_mapToken(node.awaitKeyword), _cloneNode(node.expression));
@override
BinaryExpression visitBinaryExpression(BinaryExpression node) {
- BinaryExpression copy = new BinaryExpression(_cloneNode(node.leftOperand), _mapToken(node.operator), _cloneNode(node.rightOperand));
+ BinaryExpression copy = new BinaryExpression(
+ _cloneNode(node.leftOperand),
+ _mapToken(node.operator),
+ _cloneNode(node.rightOperand));
copy.propagatedElement = node.propagatedElement;
copy.propagatedType = node.propagatedType;
copy.staticElement = node.staticElement;
@@ -9390,47 +9900,98 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
}
@override
- Block visitBlock(Block node) => new Block(_mapToken(node.leftBracket), _cloneNodeList(node.statements), _mapToken(node.rightBracket));
+ Block visitBlock(Block node) =>
+ new Block(
+ _mapToken(node.leftBracket),
+ _cloneNodeList(node.statements),
+ _mapToken(node.rightBracket));
@override
- BlockFunctionBody visitBlockFunctionBody(BlockFunctionBody node) => new BlockFunctionBody(_mapToken(node.keyword), _mapToken(node.star), _cloneNode(node.block));
+ BlockFunctionBody visitBlockFunctionBody(BlockFunctionBody node) =>
+ new BlockFunctionBody(
+ _mapToken(node.keyword),
+ _mapToken(node.star),
+ _cloneNode(node.block));
@override
BooleanLiteral visitBooleanLiteral(BooleanLiteral node) {
- BooleanLiteral copy = new BooleanLiteral(_mapToken(node.literal), node.value);
+ BooleanLiteral copy =
+ new BooleanLiteral(_mapToken(node.literal), node.value);
copy.propagatedType = node.propagatedType;
copy.staticType = node.staticType;
return copy;
}
@override
- BreakStatement visitBreakStatement(BreakStatement node) => new BreakStatement(_mapToken(node.keyword), _cloneNode(node.label), _mapToken(node.semicolon));
+ BreakStatement visitBreakStatement(BreakStatement node) =>
+ new BreakStatement(
+ _mapToken(node.keyword),
+ _cloneNode(node.label),
+ _mapToken(node.semicolon));
@override
CascadeExpression visitCascadeExpression(CascadeExpression node) {
- CascadeExpression copy = new CascadeExpression(_cloneNode(node.target), _cloneNodeList(node.cascadeSections));
+ CascadeExpression copy = new CascadeExpression(
+ _cloneNode(node.target),
+ _cloneNodeList(node.cascadeSections));
copy.propagatedType = node.propagatedType;
copy.staticType = node.staticType;
return copy;
}
@override
- CatchClause visitCatchClause(CatchClause node) => new CatchClause(_mapToken(node.onKeyword), _cloneNode(node.exceptionType), _mapToken(node.catchKeyword), _mapToken(node.leftParenthesis), _cloneNode(node.exceptionParameter), _mapToken(node.comma), _cloneNode(node.stackTraceParameter), _mapToken(node.rightParenthesis), _cloneNode(node.body));
+ CatchClause visitCatchClause(CatchClause node) =>
+ new CatchClause(
+ _mapToken(node.onKeyword),
+ _cloneNode(node.exceptionType),
+ _mapToken(node.catchKeyword),
+ _mapToken(node.leftParenthesis),
+ _cloneNode(node.exceptionParameter),
+ _mapToken(node.comma),
+ _cloneNode(node.stackTraceParameter),
+ _mapToken(node.rightParenthesis),
+ _cloneNode(node.body));
@override
ClassDeclaration visitClassDeclaration(ClassDeclaration node) {
- ClassDeclaration copy = new ClassDeclaration(_cloneNode(node.documentationComment), _cloneNodeList(node.metadata), _mapToken(node.abstractKeyword), _mapToken(node.classKeyword), _cloneNode(node.name), _cloneNode(node.typeParameters), _cloneNode(node.extendsClause), _cloneNode(node.withClause), _cloneNode(node.implementsClause), _mapToken(node.leftBracket), _cloneNodeList(node.members), _mapToken(node.rightBracket));
+ ClassDeclaration copy = new ClassDeclaration(
+ _cloneNode(node.documentationComment),
+ _cloneNodeList(node.metadata),
+ _mapToken(node.abstractKeyword),
+ _mapToken(node.classKeyword),
+ _cloneNode(node.name),
+ _cloneNode(node.typeParameters),
+ _cloneNode(node.extendsClause),
+ _cloneNode(node.withClause),
+ _cloneNode(node.implementsClause),
+ _mapToken(node.leftBracket),
+ _cloneNodeList(node.members),
+ _mapToken(node.rightBracket));
copy.nativeClause = _cloneNode(node.nativeClause);
return copy;
}
@override
- ClassTypeAlias visitClassTypeAlias(ClassTypeAlias node) => new ClassTypeAlias(_cloneNode(node.documentationComment), _cloneNodeList(node.metadata), _mapToken(node.keyword), _cloneNode(node.name), _cloneNode(node.typeParameters), _mapToken(node.equals), _mapToken(node.abstractKeyword), _cloneNode(node.superclass), _cloneNode(node.withClause), _cloneNode(node.implementsClause), _mapToken(node.semicolon));
+ ClassTypeAlias visitClassTypeAlias(ClassTypeAlias node) =>
+ new ClassTypeAlias(
+ _cloneNode(node.documentationComment),
+ _cloneNodeList(node.metadata),
+ _mapToken(node.keyword),
+ _cloneNode(node.name),
+ _cloneNode(node.typeParameters),
+ _mapToken(node.equals),
+ _mapToken(node.abstractKeyword),
+ _cloneNode(node.superclass),
+ _cloneNode(node.withClause),
+ _cloneNode(node.implementsClause),
+ _mapToken(node.semicolon));
@override
Comment visitComment(Comment node) {
if (node.isDocumentation) {
- return Comment.createDocumentationCommentWithReferences(_mapTokens(node.tokens), _cloneNodeList(node.references));
+ return Comment.createDocumentationCommentWithReferences(
+ _mapTokens(node.tokens),
+ _cloneNodeList(node.references));
} else if (node.isBlock) {
return Comment.createBlockComment(_mapTokens(node.tokens));
}
@@ -9438,11 +9999,17 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
}
@override
- CommentReference visitCommentReference(CommentReference node) => new CommentReference(_mapToken(node.newKeyword), _cloneNode(node.identifier));
+ CommentReference visitCommentReference(CommentReference node) =>
+ new CommentReference(_mapToken(node.newKeyword), _cloneNode(node.identifier));
@override
CompilationUnit visitCompilationUnit(CompilationUnit node) {
- CompilationUnit copy = new CompilationUnit(_mapToken(node.beginToken), _cloneNode(node.scriptTag), _cloneNodeList(node.directives), _cloneNodeList(node.declarations), _mapToken(node.endToken));
+ CompilationUnit copy = new CompilationUnit(
+ _mapToken(node.beginToken),
+ _cloneNode(node.scriptTag),
+ _cloneNodeList(node.directives),
+ _cloneNodeList(node.declarations),
+ _mapToken(node.endToken));
copy.lineInfo = node.lineInfo;
copy.element = node.element;
return copy;
@@ -9450,40 +10017,93 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
@override
ConditionalExpression visitConditionalExpression(ConditionalExpression node) {
- ConditionalExpression copy = new ConditionalExpression(_cloneNode(node.condition), _mapToken(node.question), _cloneNode(node.thenExpression), _mapToken(node.colon), _cloneNode(node.elseExpression));
+ ConditionalExpression copy = new ConditionalExpression(
+ _cloneNode(node.condition),
+ _mapToken(node.question),
+ _cloneNode(node.thenExpression),
+ _mapToken(node.colon),
+ _cloneNode(node.elseExpression));
copy.propagatedType = node.propagatedType;
copy.staticType = node.staticType;
return copy;
}
@override
- ConstructorDeclaration visitConstructorDeclaration(ConstructorDeclaration node) {
- ConstructorDeclaration copy = new ConstructorDeclaration(_cloneNode(node.documentationComment), _cloneNodeList(node.metadata), _mapToken(node.externalKeyword), _mapToken(node.constKeyword), _mapToken(node.factoryKeyword), _cloneNode(node.returnType), _mapToken(node.period), _cloneNode(node.name), _cloneNode(node.parameters), _mapToken(node.separator), _cloneNodeList(node.initializers), _cloneNode(node.redirectedConstructor), _cloneNode(node.body));
+ ConstructorDeclaration
+ visitConstructorDeclaration(ConstructorDeclaration node) {
+ ConstructorDeclaration copy = new ConstructorDeclaration(
+ _cloneNode(node.documentationComment),
+ _cloneNodeList(node.metadata),
+ _mapToken(node.externalKeyword),
+ _mapToken(node.constKeyword),
+ _mapToken(node.factoryKeyword),
+ _cloneNode(node.returnType),
+ _mapToken(node.period),
+ _cloneNode(node.name),
+ _cloneNode(node.parameters),
+ _mapToken(node.separator),
+ _cloneNodeList(node.initializers),
+ _cloneNode(node.redirectedConstructor),
+ _cloneNode(node.body));
copy.element = node.element;
return copy;
}
@override
- ConstructorFieldInitializer visitConstructorFieldInitializer(ConstructorFieldInitializer node) => new ConstructorFieldInitializer(_mapToken(node.keyword), _mapToken(node.period), _cloneNode(node.fieldName), _mapToken(node.equals), _cloneNode(node.expression));
+ ConstructorFieldInitializer
+ visitConstructorFieldInitializer(ConstructorFieldInitializer node) =>
+ new ConstructorFieldInitializer(
+ _mapToken(node.keyword),
+ _mapToken(node.period),
+ _cloneNode(node.fieldName),
+ _mapToken(node.equals),
+ _cloneNode(node.expression));
@override
ConstructorName visitConstructorName(ConstructorName node) {
- ConstructorName copy = new ConstructorName(_cloneNode(node.type), _mapToken(node.period), _cloneNode(node.name));
+ ConstructorName copy = new ConstructorName(
+ _cloneNode(node.type),
+ _mapToken(node.period),
+ _cloneNode(node.name));
copy.staticElement = node.staticElement;
return copy;
}
@override
- ContinueStatement visitContinueStatement(ContinueStatement node) => new ContinueStatement(_mapToken(node.keyword), _cloneNode(node.label), _mapToken(node.semicolon));
+ ContinueStatement visitContinueStatement(ContinueStatement node) =>
+ new ContinueStatement(
+ _mapToken(node.keyword),
+ _cloneNode(node.label),
+ _mapToken(node.semicolon));
@override
- DeclaredIdentifier visitDeclaredIdentifier(DeclaredIdentifier node) => new DeclaredIdentifier(_cloneNode(node.documentationComment), _cloneNodeList(node.metadata), _mapToken(node.keyword), _cloneNode(node.type), _cloneNode(node.identifier));
+ DeclaredIdentifier visitDeclaredIdentifier(DeclaredIdentifier node) =>
+ new DeclaredIdentifier(
+ _cloneNode(node.documentationComment),
+ _cloneNodeList(node.metadata),
+ _mapToken(node.keyword),
+ _cloneNode(node.type),
+ _cloneNode(node.identifier));
@override
- DefaultFormalParameter visitDefaultFormalParameter(DefaultFormalParameter node) => new DefaultFormalParameter(_cloneNode(node.parameter), node.kind, _mapToken(node.separator), _cloneNode(node.defaultValue));
+ DefaultFormalParameter
+ visitDefaultFormalParameter(DefaultFormalParameter node) =>
+ new DefaultFormalParameter(
+ _cloneNode(node.parameter),
+ node.kind,
+ _mapToken(node.separator),
+ _cloneNode(node.defaultValue));
@override
- DoStatement visitDoStatement(DoStatement node) => new DoStatement(_mapToken(node.doKeyword), _cloneNode(node.body), _mapToken(node.whileKeyword), _mapToken(node.leftParenthesis), _cloneNode(node.condition), _mapToken(node.rightParenthesis), _mapToken(node.semicolon));
+ DoStatement visitDoStatement(DoStatement node) =>
+ new DoStatement(
+ _mapToken(node.doKeyword),
+ _cloneNode(node.body),
+ _mapToken(node.whileKeyword),
+ _mapToken(node.leftParenthesis),
+ _cloneNode(node.condition),
+ _mapToken(node.rightParenthesis),
+ _mapToken(node.semicolon));
@override
DoubleLiteral visitDoubleLiteral(DoubleLiteral node) {
@@ -9494,63 +10114,150 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
}
@override
- EmptyFunctionBody visitEmptyFunctionBody(EmptyFunctionBody node) => new EmptyFunctionBody(_mapToken(node.semicolon));
+ EmptyFunctionBody visitEmptyFunctionBody(EmptyFunctionBody node) =>
+ new EmptyFunctionBody(_mapToken(node.semicolon));
@override
- EmptyStatement visitEmptyStatement(EmptyStatement node) => new EmptyStatement(_mapToken(node.semicolon));
+ EmptyStatement visitEmptyStatement(EmptyStatement node) =>
+ new EmptyStatement(_mapToken(node.semicolon));
@override
- AstNode visitEnumConstantDeclaration(EnumConstantDeclaration node) => new EnumConstantDeclaration(_cloneNode(node.documentationComment), _cloneNodeList(node.metadata), _cloneNode(node.name));
+ AstNode visitEnumConstantDeclaration(EnumConstantDeclaration node) =>
+ new EnumConstantDeclaration(
+ _cloneNode(node.documentationComment),
+ _cloneNodeList(node.metadata),
+ _cloneNode(node.name));
@override
- AstNode visitEnumDeclaration(EnumDeclaration node) => new EnumDeclaration(_cloneNode(node.documentationComment), _cloneNodeList(node.metadata), _mapToken(node.keyword), _cloneNode(node.name), _mapToken(node.leftBracket), _cloneNodeList(node.constants), _mapToken(node.rightBracket));
+ AstNode visitEnumDeclaration(EnumDeclaration node) =>
+ new EnumDeclaration(
+ _cloneNode(node.documentationComment),
+ _cloneNodeList(node.metadata),
+ _mapToken(node.keyword),
+ _cloneNode(node.name),
+ _mapToken(node.leftBracket),
+ _cloneNodeList(node.constants),
+ _mapToken(node.rightBracket));
@override
ExportDirective visitExportDirective(ExportDirective node) {
- ExportDirective copy = new ExportDirective(_cloneNode(node.documentationComment), _cloneNodeList(node.metadata), _mapToken(node.keyword), _cloneNode(node.uri), _cloneNodeList(node.combinators), _mapToken(node.semicolon));
+ ExportDirective copy = new ExportDirective(
+ _cloneNode(node.documentationComment),
+ _cloneNodeList(node.metadata),
+ _mapToken(node.keyword),
+ _cloneNode(node.uri),
+ _cloneNodeList(node.combinators),
+ _mapToken(node.semicolon));
copy.element = node.element;
return copy;
}
@override
- ExpressionFunctionBody visitExpressionFunctionBody(ExpressionFunctionBody node) => new ExpressionFunctionBody(_mapToken(node.keyword), _mapToken(node.functionDefinition), _cloneNode(node.expression), _mapToken(node.semicolon));
-
- @override
- ExpressionStatement visitExpressionStatement(ExpressionStatement node) => new ExpressionStatement(_cloneNode(node.expression), _mapToken(node.semicolon));
-
- @override
- ExtendsClause visitExtendsClause(ExtendsClause node) => new ExtendsClause(_mapToken(node.keyword), _cloneNode(node.superclass));
-
- @override
- FieldDeclaration visitFieldDeclaration(FieldDeclaration node) => new FieldDeclaration(_cloneNode(node.documentationComment), _cloneNodeList(node.metadata), _mapToken(node.staticKeyword), _cloneNode(node.fields), _mapToken(node.semicolon));
-
- @override
- FieldFormalParameter visitFieldFormalParameter(FieldFormalParameter node) => new FieldFormalParameter(_cloneNode(node.documentationComment), _cloneNodeList(node.metadata), _mapToken(node.keyword), _cloneNode(node.type), _mapToken(node.thisToken), _mapToken(node.period), _cloneNode(node.identifier), _cloneNode(node.parameters));
+ ExpressionFunctionBody
+ visitExpressionFunctionBody(ExpressionFunctionBody node) =>
+ new ExpressionFunctionBody(
+ _mapToken(node.keyword),
+ _mapToken(node.functionDefinition),
+ _cloneNode(node.expression),
+ _mapToken(node.semicolon));
@override
- ForEachStatement visitForEachStatement(ForEachStatement node) {
- DeclaredIdentifier loopVariable = node.loopVariable;
- if (loopVariable == null) {
- return new ForEachStatement.con2(_mapToken(node.awaitKeyword), _mapToken(node.forKeyword), _mapToken(node.leftParenthesis), _cloneNode(node.identifier), _mapToken(node.inKeyword), _cloneNode(node.iterable), _mapToken(node.rightParenthesis), _cloneNode(node.body));
- }
- return new ForEachStatement.con1(_mapToken(node.awaitKeyword), _mapToken(node.forKeyword), _mapToken(node.leftParenthesis), _cloneNode(loopVariable), _mapToken(node.inKeyword), _cloneNode(node.iterable), _mapToken(node.rightParenthesis), _cloneNode(node.body));
- }
+ ExpressionStatement visitExpressionStatement(ExpressionStatement node) =>
+ new ExpressionStatement(_cloneNode(node.expression), _mapToken(node.semicolon));
@override
- FormalParameterList visitFormalParameterList(FormalParameterList node) => new FormalParameterList(_mapToken(node.leftParenthesis), _cloneNodeList(node.parameters), _mapToken(node.leftDelimiter), _mapToken(node.rightDelimiter), _mapToken(node.rightParenthesis));
+ ExtendsClause visitExtendsClause(ExtendsClause node) =>
+ new ExtendsClause(_mapToken(node.keyword), _cloneNode(node.superclass));
@override
- ForStatement visitForStatement(ForStatement node) => new ForStatement(_mapToken(node.forKeyword), _mapToken(node.leftParenthesis), _cloneNode(node.variables), _cloneNode(node.initialization), _mapToken(node.leftSeparator), _cloneNode(node.condition), _mapToken(node.rightSeparator), _cloneNodeList(node.updaters), _mapToken(node.rightParenthesis), _cloneNode(node.body));
+ FieldDeclaration visitFieldDeclaration(FieldDeclaration node) =>
+ new FieldDeclaration(
+ _cloneNode(node.documentationComment),
+ _cloneNodeList(node.metadata),
+ _mapToken(node.staticKeyword),
+ _cloneNode(node.fields),
+ _mapToken(node.semicolon));
@override
- FunctionDeclaration visitFunctionDeclaration(FunctionDeclaration node) => new FunctionDeclaration(_cloneNode(node.documentationComment), _cloneNodeList(node.metadata), _mapToken(node.externalKeyword), _cloneNode(node.returnType), _mapToken(node.propertyKeyword), _cloneNode(node.name), _cloneNode(node.functionExpression));
+ FieldFormalParameter visitFieldFormalParameter(FieldFormalParameter node) =>
+ new FieldFormalParameter(
+ _cloneNode(node.documentationComment),
+ _cloneNodeList(node.metadata),
+ _mapToken(node.keyword),
+ _cloneNode(node.type),
+ _mapToken(node.thisToken),
+ _mapToken(node.period),
+ _cloneNode(node.identifier),
+ _cloneNode(node.parameters));
@override
- FunctionDeclarationStatement visitFunctionDeclarationStatement(FunctionDeclarationStatement node) => new FunctionDeclarationStatement(_cloneNode(node.functionDeclaration));
+ ForEachStatement visitForEachStatement(ForEachStatement node) {
+ DeclaredIdentifier loopVariable = node.loopVariable;
+ if (loopVariable == null) {
+ return new ForEachStatement.con2(
+ _mapToken(node.awaitKeyword),
+ _mapToken(node.forKeyword),
+ _mapToken(node.leftParenthesis),
+ _cloneNode(node.identifier),
+ _mapToken(node.inKeyword),
+ _cloneNode(node.iterable),
+ _mapToken(node.rightParenthesis),
+ _cloneNode(node.body));
+ }
+ return new ForEachStatement.con1(
+ _mapToken(node.awaitKeyword),
+ _mapToken(node.forKeyword),
+ _mapToken(node.leftParenthesis),
+ _cloneNode(loopVariable),
+ _mapToken(node.inKeyword),
+ _cloneNode(node.iterable),
+ _mapToken(node.rightParenthesis),
+ _cloneNode(node.body));
+ }
+
+ @override
+ FormalParameterList visitFormalParameterList(FormalParameterList node) =>
+ new FormalParameterList(
+ _mapToken(node.leftParenthesis),
+ _cloneNodeList(node.parameters),
+ _mapToken(node.leftDelimiter),
+ _mapToken(node.rightDelimiter),
+ _mapToken(node.rightParenthesis));
+
+ @override
+ ForStatement visitForStatement(ForStatement node) =>
+ new ForStatement(
+ _mapToken(node.forKeyword),
+ _mapToken(node.leftParenthesis),
+ _cloneNode(node.variables),
+ _cloneNode(node.initialization),
+ _mapToken(node.leftSeparator),
+ _cloneNode(node.condition),
+ _mapToken(node.rightSeparator),
+ _cloneNodeList(node.updaters),
+ _mapToken(node.rightParenthesis),
+ _cloneNode(node.body));
+
+ @override
+ FunctionDeclaration visitFunctionDeclaration(FunctionDeclaration node) =>
+ new FunctionDeclaration(
+ _cloneNode(node.documentationComment),
+ _cloneNodeList(node.metadata),
+ _mapToken(node.externalKeyword),
+ _cloneNode(node.returnType),
+ _mapToken(node.propertyKeyword),
+ _cloneNode(node.name),
+ _cloneNode(node.functionExpression));
+
+ @override
+ FunctionDeclarationStatement
+ visitFunctionDeclarationStatement(FunctionDeclarationStatement node) =>
+ new FunctionDeclarationStatement(_cloneNode(node.functionDeclaration));
@override
FunctionExpression visitFunctionExpression(FunctionExpression node) {
- FunctionExpression copy = new FunctionExpression(_cloneNode(node.parameters), _cloneNode(node.body));
+ FunctionExpression copy =
+ new FunctionExpression(_cloneNode(node.parameters), _cloneNode(node.body));
copy.element = node.element;
copy.propagatedType = node.propagatedType;
copy.staticType = node.staticType;
@@ -9558,8 +10265,11 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
}
@override
- FunctionExpressionInvocation visitFunctionExpressionInvocation(FunctionExpressionInvocation node) {
- FunctionExpressionInvocation copy = new FunctionExpressionInvocation(_cloneNode(node.function), _cloneNode(node.argumentList));
+ FunctionExpressionInvocation
+ visitFunctionExpressionInvocation(FunctionExpressionInvocation node) {
+ FunctionExpressionInvocation copy = new FunctionExpressionInvocation(
+ _cloneNode(node.function),
+ _cloneNode(node.argumentList));
copy.propagatedElement = node.propagatedElement;
copy.propagatedType = node.propagatedType;
copy.staticElement = node.staticElement;
@@ -9568,31 +10278,75 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
}
@override
- FunctionTypeAlias visitFunctionTypeAlias(FunctionTypeAlias node) => new FunctionTypeAlias(_cloneNode(node.documentationComment), _cloneNodeList(node.metadata), _mapToken(node.keyword), _cloneNode(node.returnType), _cloneNode(node.name), _cloneNode(node.typeParameters), _cloneNode(node.parameters), _mapToken(node.semicolon));
+ FunctionTypeAlias visitFunctionTypeAlias(FunctionTypeAlias node) =>
+ new FunctionTypeAlias(
+ _cloneNode(node.documentationComment),
+ _cloneNodeList(node.metadata),
+ _mapToken(node.keyword),
+ _cloneNode(node.returnType),
+ _cloneNode(node.name),
+ _cloneNode(node.typeParameters),
+ _cloneNode(node.parameters),
+ _mapToken(node.semicolon));
@override
- FunctionTypedFormalParameter visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) => new FunctionTypedFormalParameter(_cloneNode(node.documentationComment), _cloneNodeList(node.metadata), _cloneNode(node.returnType), _cloneNode(node.identifier), _cloneNode(node.parameters));
+ FunctionTypedFormalParameter
+ visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) =>
+ new FunctionTypedFormalParameter(
+ _cloneNode(node.documentationComment),
+ _cloneNodeList(node.metadata),
+ _cloneNode(node.returnType),
+ _cloneNode(node.identifier),
+ _cloneNode(node.parameters));
@override
- HideCombinator visitHideCombinator(HideCombinator node) => new HideCombinator(_mapToken(node.keyword), _cloneNodeList(node.hiddenNames));
+ HideCombinator visitHideCombinator(HideCombinator node) =>
+ new HideCombinator(_mapToken(node.keyword), _cloneNodeList(node.hiddenNames));
@override
- IfStatement visitIfStatement(IfStatement node) => new IfStatement(_mapToken(node.ifKeyword), _mapToken(node.leftParenthesis), _cloneNode(node.condition), _mapToken(node.rightParenthesis), _cloneNode(node.thenStatement), _mapToken(node.elseKeyword), _cloneNode(node.elseStatement));
+ IfStatement visitIfStatement(IfStatement node) =>
+ new IfStatement(
+ _mapToken(node.ifKeyword),
+ _mapToken(node.leftParenthesis),
+ _cloneNode(node.condition),
+ _mapToken(node.rightParenthesis),
+ _cloneNode(node.thenStatement),
+ _mapToken(node.elseKeyword),
+ _cloneNode(node.elseStatement));
@override
- ImplementsClause visitImplementsClause(ImplementsClause node) => new ImplementsClause(_mapToken(node.keyword), _cloneNodeList(node.interfaces));
+ ImplementsClause visitImplementsClause(ImplementsClause node) =>
+ new ImplementsClause(_mapToken(node.keyword), _cloneNodeList(node.interfaces));
@override
- ImportDirective visitImportDirective(ImportDirective node) => new ImportDirective(_cloneNode(node.documentationComment), _cloneNodeList(node.metadata), _mapToken(node.keyword), _cloneNode(node.uri), _mapToken(node.deferredToken), _mapToken(node.asToken), _cloneNode(node.prefix), _cloneNodeList(node.combinators), _mapToken(node.semicolon));
+ ImportDirective visitImportDirective(ImportDirective node) =>
+ new ImportDirective(
+ _cloneNode(node.documentationComment),
+ _cloneNodeList(node.metadata),
+ _mapToken(node.keyword),
+ _cloneNode(node.uri),
+ _mapToken(node.deferredToken),
+ _mapToken(node.asToken),
+ _cloneNode(node.prefix),
+ _cloneNodeList(node.combinators),
+ _mapToken(node.semicolon));
@override
IndexExpression visitIndexExpression(IndexExpression node) {
Token period = _mapToken(node.period);
IndexExpression copy;
if (period == null) {
- copy = new IndexExpression.forTarget(_cloneNode(node.target), _mapToken(node.leftBracket), _cloneNode(node.index), _mapToken(node.rightBracket));
+ copy = new IndexExpression.forTarget(
+ _cloneNode(node.target),
+ _mapToken(node.leftBracket),
+ _cloneNode(node.index),
+ _mapToken(node.rightBracket));
} else {
- copy = new IndexExpression.forCascade(period, _mapToken(node.leftBracket), _cloneNode(node.index), _mapToken(node.rightBracket));
+ copy = new IndexExpression.forCascade(
+ period,
+ _mapToken(node.leftBracket),
+ _cloneNode(node.index),
+ _mapToken(node.rightBracket));
}
copy.auxiliaryElements = node.auxiliaryElements;
copy.propagatedElement = node.propagatedElement;
@@ -9603,8 +10357,12 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
}
@override
- InstanceCreationExpression visitInstanceCreationExpression(InstanceCreationExpression node) {
- InstanceCreationExpression copy = new InstanceCreationExpression(_mapToken(node.keyword), _cloneNode(node.constructorName), _cloneNode(node.argumentList));
+ InstanceCreationExpression
+ visitInstanceCreationExpression(InstanceCreationExpression node) {
+ InstanceCreationExpression copy = new InstanceCreationExpression(
+ _mapToken(node.keyword),
+ _cloneNode(node.constructorName),
+ _cloneNode(node.argumentList));
copy.propagatedType = node.propagatedType;
copy.staticElement = node.staticElement;
copy.staticType = node.staticType;
@@ -9613,38 +10371,58 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
@override
IntegerLiteral visitIntegerLiteral(IntegerLiteral node) {
- IntegerLiteral copy = new IntegerLiteral(_mapToken(node.literal), node.value);
+ IntegerLiteral copy =
+ new IntegerLiteral(_mapToken(node.literal), node.value);
copy.propagatedType = node.propagatedType;
copy.staticType = node.staticType;
return copy;
}
@override
- InterpolationExpression visitInterpolationExpression(InterpolationExpression node) => new InterpolationExpression(_mapToken(node.leftBracket), _cloneNode(node.expression), _mapToken(node.rightBracket));
+ InterpolationExpression
+ visitInterpolationExpression(InterpolationExpression node) =>
+ new InterpolationExpression(
+ _mapToken(node.leftBracket),
+ _cloneNode(node.expression),
+ _mapToken(node.rightBracket));
@override
- InterpolationString visitInterpolationString(InterpolationString node) => new InterpolationString(_mapToken(node.contents), node.value);
+ InterpolationString visitInterpolationString(InterpolationString node) =>
+ new InterpolationString(_mapToken(node.contents), node.value);
@override
IsExpression visitIsExpression(IsExpression node) {
- IsExpression copy = new IsExpression(_cloneNode(node.expression), _mapToken(node.isOperator), _mapToken(node.notOperator), _cloneNode(node.type));
+ IsExpression copy = new IsExpression(
+ _cloneNode(node.expression),
+ _mapToken(node.isOperator),
+ _mapToken(node.notOperator),
+ _cloneNode(node.type));
copy.propagatedType = node.propagatedType;
copy.staticType = node.staticType;
return copy;
}
@override
- Label visitLabel(Label node) => new Label(_cloneNode(node.label), _mapToken(node.colon));
+ Label visitLabel(Label node) =>
+ new Label(_cloneNode(node.label), _mapToken(node.colon));
@override
- LabeledStatement visitLabeledStatement(LabeledStatement node) => new LabeledStatement(_cloneNodeList(node.labels), _cloneNode(node.statement));
+ LabeledStatement visitLabeledStatement(LabeledStatement node) =>
+ new LabeledStatement(_cloneNodeList(node.labels), _cloneNode(node.statement));
@override
- LibraryDirective visitLibraryDirective(LibraryDirective node) => new LibraryDirective(_cloneNode(node.documentationComment), _cloneNodeList(node.metadata), _mapToken(node.libraryToken), _cloneNode(node.name), _mapToken(node.semicolon));
+ LibraryDirective visitLibraryDirective(LibraryDirective node) =>
+ new LibraryDirective(
+ _cloneNode(node.documentationComment),
+ _cloneNodeList(node.metadata),
+ _mapToken(node.libraryToken),
+ _cloneNode(node.name),
+ _mapToken(node.semicolon));
@override
LibraryIdentifier visitLibraryIdentifier(LibraryIdentifier node) {
- LibraryIdentifier copy = new LibraryIdentifier(_cloneNodeList(node.components));
+ LibraryIdentifier copy =
+ new LibraryIdentifier(_cloneNodeList(node.components));
copy.propagatedType = node.propagatedType;
copy.staticType = node.staticType;
return copy;
@@ -9652,7 +10430,12 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
@override
ListLiteral visitListLiteral(ListLiteral node) {
- ListLiteral copy = new ListLiteral(_mapToken(node.constKeyword), _cloneNode(node.typeArguments), _mapToken(node.leftBracket), _cloneNodeList(node.elements), _mapToken(node.rightBracket));
+ ListLiteral copy = new ListLiteral(
+ _mapToken(node.constKeyword),
+ _cloneNode(node.typeArguments),
+ _mapToken(node.leftBracket),
+ _cloneNodeList(node.elements),
+ _mapToken(node.rightBracket));
copy.propagatedType = node.propagatedType;
copy.staticType = node.staticType;
return copy;
@@ -9660,21 +10443,45 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
@override
MapLiteral visitMapLiteral(MapLiteral node) {
- MapLiteral copy = new MapLiteral(_mapToken(node.constKeyword), _cloneNode(node.typeArguments), _mapToken(node.leftBracket), _cloneNodeList(node.entries), _mapToken(node.rightBracket));
+ MapLiteral copy = new MapLiteral(
+ _mapToken(node.constKeyword),
+ _cloneNode(node.typeArguments),
+ _mapToken(node.leftBracket),
+ _cloneNodeList(node.entries),
+ _mapToken(node.rightBracket));
copy.propagatedType = node.propagatedType;
copy.staticType = node.staticType;
return copy;
}
@override
- MapLiteralEntry visitMapLiteralEntry(MapLiteralEntry node) => new MapLiteralEntry(_cloneNode(node.key), _mapToken(node.separator), _cloneNode(node.value));
+ MapLiteralEntry visitMapLiteralEntry(MapLiteralEntry node) =>
+ new MapLiteralEntry(
+ _cloneNode(node.key),
+ _mapToken(node.separator),
+ _cloneNode(node.value));
@override
- MethodDeclaration visitMethodDeclaration(MethodDeclaration node) => new MethodDeclaration(_cloneNode(node.documentationComment), _cloneNodeList(node.metadata), _mapToken(node.externalKeyword), _mapToken(node.modifierKeyword), _cloneNode(node.returnType), _mapToken(node.propertyKeyword), _mapToken(node.operatorKeyword), _cloneNode(node.name), _cloneNode(node.parameters), _cloneNode(node.body));
+ MethodDeclaration visitMethodDeclaration(MethodDeclaration node) =>
+ new MethodDeclaration(
+ _cloneNode(node.documentationComment),
+ _cloneNodeList(node.metadata),
+ _mapToken(node.externalKeyword),
+ _mapToken(node.modifierKeyword),
+ _cloneNode(node.returnType),
+ _mapToken(node.propertyKeyword),
+ _mapToken(node.operatorKeyword),
+ _cloneNode(node.name),
+ _cloneNode(node.parameters),
+ _cloneNode(node.body));
@override
MethodInvocation visitMethodInvocation(MethodInvocation node) {
- MethodInvocation copy = new MethodInvocation(_cloneNode(node.target), _mapToken(node.period), _cloneNode(node.methodName), _cloneNode(node.argumentList));
+ MethodInvocation copy = new MethodInvocation(
+ _cloneNode(node.target),
+ _mapToken(node.period),
+ _cloneNode(node.methodName),
+ _cloneNode(node.argumentList));
copy.propagatedType = node.propagatedType;
copy.staticType = node.staticType;
return copy;
@@ -9682,17 +10489,23 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
@override
NamedExpression visitNamedExpression(NamedExpression node) {
- NamedExpression copy = new NamedExpression(_cloneNode(node.name), _cloneNode(node.expression));
+ NamedExpression copy =
+ new NamedExpression(_cloneNode(node.name), _cloneNode(node.expression));
copy.propagatedType = node.propagatedType;
copy.staticType = node.staticType;
return copy;
}
@override
- AstNode visitNativeClause(NativeClause node) => new NativeClause(_mapToken(node.keyword), _cloneNode(node.name));
+ AstNode visitNativeClause(NativeClause node) =>
+ new NativeClause(_mapToken(node.keyword), _cloneNode(node.name));
@override
- NativeFunctionBody visitNativeFunctionBody(NativeFunctionBody node) => new NativeFunctionBody(_mapToken(node.nativeToken), _cloneNode(node.stringLiteral), _mapToken(node.semicolon));
+ NativeFunctionBody visitNativeFunctionBody(NativeFunctionBody node) =>
+ new NativeFunctionBody(
+ _mapToken(node.nativeToken),
+ _cloneNode(node.stringLiteral),
+ _mapToken(node.semicolon));
@override
NullLiteral visitNullLiteral(NullLiteral node) {
@@ -9703,8 +10516,12 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
}
@override
- ParenthesizedExpression visitParenthesizedExpression(ParenthesizedExpression node) {
- ParenthesizedExpression copy = new ParenthesizedExpression(_mapToken(node.leftParenthesis), _cloneNode(node.expression), _mapToken(node.rightParenthesis));
+ ParenthesizedExpression
+ visitParenthesizedExpression(ParenthesizedExpression node) {
+ ParenthesizedExpression copy = new ParenthesizedExpression(
+ _mapToken(node.leftParenthesis),
+ _cloneNode(node.expression),
+ _mapToken(node.rightParenthesis));
copy.propagatedType = node.propagatedType;
copy.staticType = node.staticType;
return copy;
@@ -9712,21 +10529,33 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
@override
PartDirective visitPartDirective(PartDirective node) {
- PartDirective copy = new PartDirective(_cloneNode(node.documentationComment), _cloneNodeList(node.metadata), _mapToken(node.partToken), _cloneNode(node.uri), _mapToken(node.semicolon));
+ PartDirective copy = new PartDirective(
+ _cloneNode(node.documentationComment),
+ _cloneNodeList(node.metadata),
+ _mapToken(node.partToken),
+ _cloneNode(node.uri),
+ _mapToken(node.semicolon));
copy.element = node.element;
return copy;
}
@override
PartOfDirective visitPartOfDirective(PartOfDirective node) {
- PartOfDirective copy = new PartOfDirective(_cloneNode(node.documentationComment), _cloneNodeList(node.metadata), _mapToken(node.partToken), _mapToken(node.ofToken), _cloneNode(node.libraryName), _mapToken(node.semicolon));
+ PartOfDirective copy = new PartOfDirective(
+ _cloneNode(node.documentationComment),
+ _cloneNodeList(node.metadata),
+ _mapToken(node.partToken),
+ _mapToken(node.ofToken),
+ _cloneNode(node.libraryName),
+ _mapToken(node.semicolon));
copy.element = node.element;
return copy;
}
@override
PostfixExpression visitPostfixExpression(PostfixExpression node) {
- PostfixExpression copy = new PostfixExpression(_cloneNode(node.operand), _mapToken(node.operator));
+ PostfixExpression copy =
+ new PostfixExpression(_cloneNode(node.operand), _mapToken(node.operator));
copy.propagatedElement = node.propagatedElement;
copy.propagatedType = node.propagatedType;
copy.staticElement = node.staticElement;
@@ -9736,7 +10565,10 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
@override
PrefixedIdentifier visitPrefixedIdentifier(PrefixedIdentifier node) {
- PrefixedIdentifier copy = new PrefixedIdentifier(_cloneNode(node.prefix), _mapToken(node.period), _cloneNode(node.identifier));
+ PrefixedIdentifier copy = new PrefixedIdentifier(
+ _cloneNode(node.prefix),
+ _mapToken(node.period),
+ _cloneNode(node.identifier));
copy.propagatedType = node.propagatedType;
copy.staticType = node.staticType;
return copy;
@@ -9744,7 +10576,8 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
@override
PrefixExpression visitPrefixExpression(PrefixExpression node) {
- PrefixExpression copy = new PrefixExpression(_mapToken(node.operator), _cloneNode(node.operand));
+ PrefixExpression copy =
+ new PrefixExpression(_mapToken(node.operator), _cloneNode(node.operand));
copy.propagatedElement = node.propagatedElement;
copy.propagatedType = node.propagatedType;
copy.staticElement = node.staticElement;
@@ -9754,15 +10587,24 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
@override
PropertyAccess visitPropertyAccess(PropertyAccess node) {
- PropertyAccess copy = new PropertyAccess(_cloneNode(node.target), _mapToken(node.operator), _cloneNode(node.propertyName));
+ PropertyAccess copy = new PropertyAccess(
+ _cloneNode(node.target),
+ _mapToken(node.operator),
+ _cloneNode(node.propertyName));
copy.propagatedType = node.propagatedType;
copy.staticType = node.staticType;
return copy;
}
@override
- RedirectingConstructorInvocation visitRedirectingConstructorInvocation(RedirectingConstructorInvocation node) {
- RedirectingConstructorInvocation copy = new RedirectingConstructorInvocation(_mapToken(node.keyword), _mapToken(node.period), _cloneNode(node.constructorName), _cloneNode(node.argumentList));
+ RedirectingConstructorInvocation
+ visitRedirectingConstructorInvocation(RedirectingConstructorInvocation node) {
+ RedirectingConstructorInvocation copy =
+ new RedirectingConstructorInvocation(
+ _mapToken(node.keyword),
+ _mapToken(node.period),
+ _cloneNode(node.constructorName),
+ _cloneNode(node.argumentList));
copy.staticElement = node.staticElement;
return copy;
}
@@ -9776,25 +10618,39 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
}
@override
- ReturnStatement visitReturnStatement(ReturnStatement node) => new ReturnStatement(_mapToken(node.keyword), _cloneNode(node.expression), _mapToken(node.semicolon));
+ ReturnStatement visitReturnStatement(ReturnStatement node) =>
+ new ReturnStatement(
+ _mapToken(node.keyword),
+ _cloneNode(node.expression),
+ _mapToken(node.semicolon));
@override
- ScriptTag visitScriptTag(ScriptTag node) => new ScriptTag(_mapToken(node.scriptTag));
+ ScriptTag visitScriptTag(ScriptTag node) =>
+ new ScriptTag(_mapToken(node.scriptTag));
@override
- ShowCombinator visitShowCombinator(ShowCombinator node) => new ShowCombinator(_mapToken(node.keyword), _cloneNodeList(node.shownNames));
+ ShowCombinator visitShowCombinator(ShowCombinator node) =>
+ new ShowCombinator(_mapToken(node.keyword), _cloneNodeList(node.shownNames));
@override
- SimpleFormalParameter visitSimpleFormalParameter(SimpleFormalParameter node) => new SimpleFormalParameter(_cloneNode(node.documentationComment), _cloneNodeList(node.metadata), _mapToken(node.keyword), _cloneNode(node.type), _cloneNode(node.identifier));
+ SimpleFormalParameter
+ visitSimpleFormalParameter(SimpleFormalParameter node) =>
+ new SimpleFormalParameter(
+ _cloneNode(node.documentationComment),
+ _cloneNodeList(node.metadata),
+ _mapToken(node.keyword),
+ _cloneNode(node.type),
+ _cloneNode(node.identifier));
@override
SimpleIdentifier visitSimpleIdentifier(SimpleIdentifier node) {
Token mappedToken = _mapToken(node.token);
if (mappedToken == null) {
- // This only happens for SimpleIdentifiers created by the parser as part of scanning
- // documentation comments (the tokens for those identifiers are not in the original token
- // stream and hence do not get copied). This extra check can be removed if the scanner is
- // changed to scan documentation comments for the parser.
+ // This only happens for SimpleIdentifiers created by the parser as part
+ // of scanning documentation comments (the tokens for those identifiers
+ // are not in the original token stream and hence do not get copied).
+ // This extra check can be removed if the scanner is changed to scan
+ // documentation comments for the parser.
mappedToken = node.token;
}
SimpleIdentifier copy = new SimpleIdentifier(mappedToken);
@@ -9808,7 +10664,8 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
@override
SimpleStringLiteral visitSimpleStringLiteral(SimpleStringLiteral node) {
- SimpleStringLiteral copy = new SimpleStringLiteral(_mapToken(node.literal), node.value);
+ SimpleStringLiteral copy =
+ new SimpleStringLiteral(_mapToken(node.literal), node.value);
copy.propagatedType = node.propagatedType;
copy.staticType = node.staticType;
return copy;
@@ -9816,15 +10673,21 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
@override
StringInterpolation visitStringInterpolation(StringInterpolation node) {
- StringInterpolation copy = new StringInterpolation(_cloneNodeList(node.elements));
+ StringInterpolation copy =
+ new StringInterpolation(_cloneNodeList(node.elements));
copy.propagatedType = node.propagatedType;
copy.staticType = node.staticType;
return copy;
}
@override
- SuperConstructorInvocation visitSuperConstructorInvocation(SuperConstructorInvocation node) {
- SuperConstructorInvocation copy = new SuperConstructorInvocation(_mapToken(node.keyword), _mapToken(node.period), _cloneNode(node.constructorName), _cloneNode(node.argumentList));
+ SuperConstructorInvocation
+ visitSuperConstructorInvocation(SuperConstructorInvocation node) {
+ SuperConstructorInvocation copy = new SuperConstructorInvocation(
+ _mapToken(node.keyword),
+ _mapToken(node.period),
+ _cloneNode(node.constructorName),
+ _cloneNode(node.argumentList));
copy.staticElement = node.staticElement;
return copy;
}
@@ -9838,17 +10701,37 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
}
@override
- SwitchCase visitSwitchCase(SwitchCase node) => new SwitchCase(_cloneNodeList(node.labels), _mapToken(node.keyword), _cloneNode(node.expression), _mapToken(node.colon), _cloneNodeList(node.statements));
+ SwitchCase visitSwitchCase(SwitchCase node) =>
+ new SwitchCase(
+ _cloneNodeList(node.labels),
+ _mapToken(node.keyword),
+ _cloneNode(node.expression),
+ _mapToken(node.colon),
+ _cloneNodeList(node.statements));
@override
- SwitchDefault visitSwitchDefault(SwitchDefault node) => new SwitchDefault(_cloneNodeList(node.labels), _mapToken(node.keyword), _mapToken(node.colon), _cloneNodeList(node.statements));
+ SwitchDefault visitSwitchDefault(SwitchDefault node) =>
+ new SwitchDefault(
+ _cloneNodeList(node.labels),
+ _mapToken(node.keyword),
+ _mapToken(node.colon),
+ _cloneNodeList(node.statements));
@override
- SwitchStatement visitSwitchStatement(SwitchStatement node) => new SwitchStatement(_mapToken(node.keyword), _mapToken(node.leftParenthesis), _cloneNode(node.expression), _mapToken(node.rightParenthesis), _mapToken(node.leftBracket), _cloneNodeList(node.members), _mapToken(node.rightBracket));
+ SwitchStatement visitSwitchStatement(SwitchStatement node) =>
+ new SwitchStatement(
+ _mapToken(node.keyword),
+ _mapToken(node.leftParenthesis),
+ _cloneNode(node.expression),
+ _mapToken(node.rightParenthesis),
+ _mapToken(node.leftBracket),
+ _cloneNodeList(node.members),
+ _mapToken(node.rightBracket));
@override
AstNode visitSymbolLiteral(SymbolLiteral node) {
- SymbolLiteral copy = new SymbolLiteral(_mapToken(node.poundSign), _mapTokens(node.components));
+ SymbolLiteral copy =
+ new SymbolLiteral(_mapToken(node.poundSign), _mapTokens(node.components));
copy.propagatedType = node.propagatedType;
copy.staticType = node.staticType;
return copy;
@@ -9864,51 +10747,108 @@ class IncrementalAstCloner implements AstVisitor<AstNode> {
@override
ThrowExpression visitThrowExpression(ThrowExpression node) {
- ThrowExpression copy = new ThrowExpression(_mapToken(node.keyword), _cloneNode(node.expression));
+ ThrowExpression copy =
+ new ThrowExpression(_mapToken(node.keyword), _cloneNode(node.expression));
copy.propagatedType = node.propagatedType;
copy.staticType = node.staticType;
return copy;
}
@override
- TopLevelVariableDeclaration visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) => new TopLevelVariableDeclaration(_cloneNode(node.documentationComment), _cloneNodeList(node.metadata), _cloneNode(node.variables), _mapToken(node.semicolon));
+ TopLevelVariableDeclaration
+ visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) =>
+ new TopLevelVariableDeclaration(
+ _cloneNode(node.documentationComment),
+ _cloneNodeList(node.metadata),
+ _cloneNode(node.variables),
+ _mapToken(node.semicolon));
@override
- TryStatement visitTryStatement(TryStatement node) => new TryStatement(_mapToken(node.tryKeyword), _cloneNode(node.body), _cloneNodeList(node.catchClauses), _mapToken(node.finallyKeyword), _cloneNode(node.finallyBlock));
+ TryStatement visitTryStatement(TryStatement node) =>
+ new TryStatement(
+ _mapToken(node.tryKeyword),
+ _cloneNode(node.body),
+ _cloneNodeList(node.catchClauses),
+ _mapToken(node.finallyKeyword),
+ _cloneNode(node.finallyBlock));
@override
- TypeArgumentList visitTypeArgumentList(TypeArgumentList node) => new TypeArgumentList(_mapToken(node.leftBracket), _cloneNodeList(node.arguments), _mapToken(node.rightBracket));
+ TypeArgumentList visitTypeArgumentList(TypeArgumentList node) =>
+ new TypeArgumentList(
+ _mapToken(node.leftBracket),
+ _cloneNodeList(node.arguments),
+ _mapToken(node.rightBracket));
@override
TypeName visitTypeName(TypeName node) {
- TypeName copy = new TypeName(_cloneNode(node.name), _cloneNode(node.typeArguments));
+ TypeName copy =
+ new TypeName(_cloneNode(node.name), _cloneNode(node.typeArguments));
copy.type = node.type;
return copy;
}
@override
- TypeParameter visitTypeParameter(TypeParameter node) => new TypeParameter(_cloneNode(node.documentationComment), _cloneNodeList(node.metadata), _cloneNode(node.name), _mapToken(node.keyword), _cloneNode(node.bound));
+ TypeParameter visitTypeParameter(TypeParameter node) =>
+ new TypeParameter(
+ _cloneNode(node.documentationComment),
+ _cloneNodeList(node.metadata),
+ _cloneNode(node.name),
+ _mapToken(node.keyword),
+ _cloneNode(node.bound));
@override
- TypeParameterList visitTypeParameterList(TypeParameterList node) => new TypeParameterList(_mapToken(node.leftBracket), _cloneNodeList(node.typeParameters), _mapToken(node.rightBracket));
+ TypeParameterList visitTypeParameterList(TypeParameterList node) =>
+ new TypeParameterList(
+ _mapToken(node.leftBracket),
+ _cloneNodeList(node.typeParameters),
+ _mapToken(node.rightBracket));
@override
- VariableDeclaration visitVariableDeclaration(VariableDeclaration node) => new VariableDeclaration(null, _cloneNodeList(node.metadata), _cloneNode(node.name), _mapToken(node.equals), _cloneNode(node.initializer));
+ VariableDeclaration visitVariableDeclaration(VariableDeclaration node) =>
+ new VariableDeclaration(
+ null,
+ _cloneNodeList(node.metadata),
+ _cloneNode(node.name),
+ _mapToken(node.equals),
+ _cloneNode(node.initializer));
@override
- VariableDeclarationList visitVariableDeclarationList(VariableDeclarationList node) => new VariableDeclarationList(null, _cloneNodeList(node.metadata), _mapToken(node.keyword), _cloneNode(node.type), _cloneNodeList(node.variables));
+ VariableDeclarationList
+ visitVariableDeclarationList(VariableDeclarationList node) =>
+ new VariableDeclarationList(
+ null,
+ _cloneNodeList(node.metadata),
+ _mapToken(node.keyword),
+ _cloneNode(node.type),
+ _cloneNodeList(node.variables));
@override
- VariableDeclarationStatement visitVariableDeclarationStatement(VariableDeclarationStatement node) => new VariableDeclarationStatement(_cloneNode(node.variables), _mapToken(node.semicolon));
+ VariableDeclarationStatement
+ visitVariableDeclarationStatement(VariableDeclarationStatement node) =>
+ new VariableDeclarationStatement(
+ _cloneNode(node.variables),
+ _mapToken(node.semicolon));
@override
- WhileStatement visitWhileStatement(WhileStatement node) => new WhileStatement(_mapToken(node.keyword), _mapToken(node.leftParenthesis), _cloneNode(node.condition), _mapToken(node.rightParenthesis), _cloneNode(node.body));
+ WhileStatement visitWhileStatement(WhileStatement node) =>
+ new WhileStatement(
+ _mapToken(node.keyword),
+ _mapToken(node.leftParenthesis),
+ _cloneNode(node.condition),
+ _mapToken(node.rightParenthesis),
+ _cloneNode(node.body));
@override
- WithClause visitWithClause(WithClause node) => new WithClause(_mapToken(node.withKeyword), _cloneNodeList(node.mixinTypes));
+ WithClause visitWithClause(WithClause node) =>
+ new WithClause(_mapToken(node.withKeyword), _cloneNodeList(node.mixinTypes));
@override
- YieldStatement visitYieldStatement(YieldStatement node) => new YieldStatement(_mapToken(node.yieldKeyword), _mapToken(node.star), _cloneNode(node.expression), _mapToken(node.semicolon));
+ YieldStatement visitYieldStatement(YieldStatement node) =>
+ new YieldStatement(
+ _mapToken(node.yieldKeyword),
+ _mapToken(node.star),
+ _cloneNode(node.expression),
+ _mapToken(node.semicolon));
AstNode _cloneNode(AstNode node) {
if (node == null) {
@@ -10004,32 +10944,31 @@ class IndexExpression extends Expression {
/**
* Initialize a newly created index expression.
*
- * @param target the expression used to compute the object being indexed
+ * @param period the period ("..") before a cascaded index expression
* @param leftBracket the left square bracket
* @param index the expression used to compute the index
* @param rightBracket the right square bracket
*/
- IndexExpression.forTarget(Expression target, this.leftBracket, Expression index, this.rightBracket) {
- _target = becomeParentOf(target);
+ IndexExpression.forCascade(this.period, this.leftBracket, Expression index,
+ this.rightBracket) {
_index = becomeParentOf(index);
}
/**
* Initialize a newly created index expression.
*
- * @param period the period ("..") before a cascaded index expression
+ * @param target the expression used to compute the object being indexed
* @param leftBracket the left square bracket
* @param index the expression used to compute the index
* @param rightBracket the right square bracket
*/
- IndexExpression.forCascade(this.period, this.leftBracket, Expression index, this.rightBracket) {
+ IndexExpression.forTarget(Expression target, this.leftBracket,
+ Expression index, this.rightBracket) {
+ _target = becomeParentOf(target);
_index = becomeParentOf(index);
}
@override
- accept(AstVisitor visitor) => visitor.visitIndexExpression(this);
-
- @override
Token get beginToken {
if (_target != null) {
return _target.beginToken;
@@ -10063,10 +11002,52 @@ class IndexExpression extends Expression {
*/
Expression get index => _index;
+ /**
+ * Set the expression used to compute the index to the given expression.
+ *
+ * @param expression the expression used to compute the index
+ */
+ void set index(Expression expression) {
+ _index = becomeParentOf(expression);
+ }
+
+ @override
+ bool get isAssignable => true;
+
+ /**
+ * Return `true` if this expression is cascaded. If it is, then the target of this
+ * expression is not stored locally but is stored in the nearest ancestor that is a
+ * [CascadeExpression].
+ *
+ * @return `true` if this expression is cascaded
+ */
+ bool get isCascaded => period != null;
+
@override
int get precedence => 15;
/**
+ * If the AST structure has been resolved, and the function being invoked is known based on
+ * propagated type information, then return the parameter element representing the parameter to
+ * which the value of the index expression will be bound. Otherwise, return `null`.
+ *
+ * This method is only intended to be used by [Expression.propagatedParameterElement].
+ *
+ * @return the parameter element representing the parameter to which the value of the index
+ * expression will be bound
+ */
+ ParameterElement get propagatedParameterElementForIndex {
+ if (propagatedElement == null) {
+ return null;
+ }
+ List<ParameterElement> parameters = propagatedElement.parameters;
+ if (parameters.length < 1) {
+ return null;
+ }
+ return parameters[0];
+ }
+
+ /**
* Return the expression used to compute the object being indexed. If this index expression is not
* part of a cascade expression, then this is the same as [getTarget]. If this index
* expression is part of a cascade expression, then the target expression stored with the cascade
@@ -10090,6 +11071,27 @@ class IndexExpression extends Expression {
}
/**
+ * If the AST structure has been resolved, and the function being invoked is known based on static
+ * type information, then return the parameter element representing the parameter to which the
+ * value of the index expression will be bound. Otherwise, return `null`.
+ *
+ * This method is only intended to be used by [Expression.staticParameterElement].
+ *
+ * @return the parameter element representing the parameter to which the value of the index
+ * expression will be bound
+ */
+ ParameterElement get staticParameterElementForIndex {
+ if (staticElement == null) {
+ return null;
+ }
+ List<ParameterElement> parameters = staticElement.parameters;
+ if (parameters.length < 1) {
+ return null;
+ }
+ return parameters[0];
+ }
+
+ /**
* Return the expression used to compute the object being indexed, or `null` if this index
* expression is part of a cascade expression.
*
@@ -10099,6 +11101,18 @@ class IndexExpression extends Expression {
Expression get target => _target;
/**
+ * Set the expression used to compute the object being indexed to the given expression.
+ *
+ * @param expression the expression used to compute the object being indexed
+ */
+ void set target(Expression expression) {
+ _target = becomeParentOf(expression);
+ }
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitIndexExpression(this);
+
+ /**
* Return `true` if this expression is computing a right-hand value.
*
* Note that [inGetterContext] and [inSetterContext] are not opposites, nor are
@@ -10111,7 +11125,8 @@ class IndexExpression extends Expression {
AstNode parent = this.parent;
if (parent is AssignmentExpression) {
AssignmentExpression assignment = parent;
- if (identical(assignment.leftHandSide, this) && assignment.operator.type == TokenType.EQ) {
+ if (identical(assignment.leftHandSide, this) &&
+ assignment.operator.type == TokenType.EQ) {
return false;
}
}
@@ -10141,82 +11156,10 @@ class IndexExpression extends Expression {
}
@override
- bool get isAssignable => true;
-
- /**
- * Return `true` if this expression is cascaded. If it is, then the target of this
- * expression is not stored locally but is stored in the nearest ancestor that is a
- * [CascadeExpression].
- *
- * @return `true` if this expression is cascaded
- */
- bool get isCascaded => period != null;
-
- /**
- * Set the expression used to compute the index to the given expression.
- *
- * @param expression the expression used to compute the index
- */
- void set index(Expression expression) {
- _index = becomeParentOf(expression);
- }
-
- /**
- * Set the expression used to compute the object being indexed to the given expression.
- *
- * @param expression the expression used to compute the object being indexed
- */
- void set target(Expression expression) {
- _target = becomeParentOf(expression);
- }
-
- @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_target, visitor);
safelyVisitChild(_index, visitor);
}
-
- /**
- * If the AST structure has been resolved, and the function being invoked is known based on
- * propagated type information, then return the parameter element representing the parameter to
- * which the value of the index expression will be bound. Otherwise, return `null`.
- *
- * This method is only intended to be used by [Expression.propagatedParameterElement].
- *
- * @return the parameter element representing the parameter to which the value of the index
- * expression will be bound
- */
- ParameterElement get propagatedParameterElementForIndex {
- if (propagatedElement == null) {
- return null;
- }
- List<ParameterElement> parameters = propagatedElement.parameters;
- if (parameters.length < 1) {
- return null;
- }
- return parameters[0];
- }
-
- /**
- * If the AST structure has been resolved, and the function being invoked is known based on static
- * type information, then return the parameter element representing the parameter to which the
- * value of the index expression will be bound. Otherwise, return `null`.
- *
- * This method is only intended to be used by [Expression.staticParameterElement].
- *
- * @return the parameter element representing the parameter to which the value of the index
- * expression will be bound
- */
- ParameterElement get staticParameterElementForIndex {
- if (staticElement == null) {
- return null;
- }
- List<ParameterElement> parameters = staticElement.parameters;
- if (parameters.length < 1) {
- return null;
- }
- return parameters[0];
- }
}
/**
@@ -10262,14 +11205,12 @@ class InstanceCreationExpression extends Expression {
* @param constructorName the name of the constructor to be invoked
* @param argumentList the list of arguments to the constructor
*/
- InstanceCreationExpression(this.keyword, ConstructorName constructorName, ArgumentList argumentList) {
+ InstanceCreationExpression(this.keyword, ConstructorName constructorName,
+ ArgumentList argumentList) {
_constructorName = becomeParentOf(constructorName);
_argumentList = becomeParentOf(argumentList);
}
- @override
- accept(AstVisitor visitor) => visitor.visitInstanceCreationExpression(this);
-
/**
* Return the list of arguments to the constructor.
*
@@ -10277,6 +11218,15 @@ class InstanceCreationExpression extends Expression {
*/
ArgumentList get argumentList => _argumentList;
+ /**
+ * Set the list of arguments to the constructor to the given list.
+ *
+ * @param argumentList the list of arguments to the constructor
+ */
+ void set argumentList(ArgumentList argumentList) {
+ _argumentList = becomeParentOf(argumentList);
+ }
+
@override
Token get beginToken => keyword;
@@ -10287,36 +11237,31 @@ class InstanceCreationExpression extends Expression {
*/
ConstructorName get constructorName => _constructorName;
- @override
- Token get endToken => _argumentList.endToken;
+ /**
+ * Set the name of the constructor to be invoked to the given name.
+ *
+ * @param constructorName the name of the constructor to be invoked
+ */
+ void set constructorName(ConstructorName constructorName) {
+ _constructorName = becomeParentOf(constructorName);
+ }
@override
- int get precedence => 16;
+ Token get endToken => _argumentList.endToken;
/**
* Return `true` if this creation expression is used to invoke a constant constructor.
*
* @return `true` if this creation expression is used to invoke a constant constructor
*/
- bool get isConst => keyword is KeywordToken && (keyword as KeywordToken).keyword == Keyword.CONST;
+ bool get isConst =>
+ keyword is KeywordToken && (keyword as KeywordToken).keyword == Keyword.CONST;
- /**
- * Set the list of arguments to the constructor to the given list.
- *
- * @param argumentList the list of arguments to the constructor
- */
- void set argumentList(ArgumentList argumentList) {
- _argumentList = becomeParentOf(argumentList);
- }
+ @override
+ int get precedence => 16;
- /**
- * Set the name of the constructor to be invoked to the given name.
- *
- * @param constructorName the name of the constructor to be invoked
- */
- void set constructorName(ConstructorName constructorName) {
- _constructorName = becomeParentOf(constructorName);
- }
+ @override
+ accept(AstVisitor visitor) => visitor.visitInstanceCreationExpression(this);
@override
void visitChildren(AstVisitor visitor) {
@@ -10361,15 +11306,15 @@ class IntegerLiteral extends Literal {
IntegerLiteral(this.literal, this.value);
@override
- accept(AstVisitor visitor) => visitor.visitIntegerLiteral(this);
-
- @override
Token get beginToken => literal;
@override
Token get endToken => literal;
@override
+ accept(AstVisitor visitor) => visitor.visitIntegerLiteral(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
// There are no children to visit.
}
@@ -10422,14 +11367,12 @@ class InterpolationExpression extends InterpolationElement {
* @param expression the expression to be evaluated for the value to be converted into a string
* @param rightBracket the right curly bracket
*/
- InterpolationExpression(this.leftBracket, Expression expression, this.rightBracket) {
+ InterpolationExpression(this.leftBracket, Expression expression,
+ this.rightBracket) {
_expression = becomeParentOf(expression);
}
@override
- accept(AstVisitor visitor) => visitor.visitInterpolationExpression(this);
-
- @override
Token get beginToken => leftBracket;
@override
@@ -10458,6 +11401,9 @@ class InterpolationExpression extends InterpolationElement {
}
@override
+ accept(AstVisitor visitor) => visitor.visitInterpolationExpression(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_expression, visitor);
}
@@ -10494,34 +11440,8 @@ class InterpolationString extends InterpolationElement {
}
@override
- accept(AstVisitor visitor) => visitor.visitInterpolationString(this);
-
- @override
Token get beginToken => contents;
- @override
- Token get endToken => contents;
-
- /**
- * Return the value of the literal.
- *
- * @return the value of the literal
- */
- String get value => _value;
-
- /**
- * Set the value of the literal to the given string.
- *
- * @param string the value of the literal
- */
- void set value(String string) {
- _value = string;
- }
-
- @override
- void visitChildren(AstVisitor visitor) {
- }
-
/**
* Return the offset of the after-last contents character.
*/
@@ -10554,6 +11474,32 @@ class InterpolationString extends InterpolationElement {
}
return offset;
}
+
+ @override
+ Token get endToken => contents;
+
+ /**
+ * Return the value of the literal.
+ *
+ * @return the value of the literal
+ */
+ String get value => _value;
+
+ /**
+ * Set the value of the literal to the given string.
+ *
+ * @param string the value of the literal
+ */
+ void set value(String string) {
+ _value = string;
+ }
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitInterpolationString(this);
+
+ @override
+ void visitChildren(AstVisitor visitor) {
+ }
}
/**
@@ -10593,15 +11539,13 @@ class IsExpression extends Expression {
* @param notOperator the not operator, or `null` if the sense of the test is not negated
* @param type the name of the type being tested for
*/
- IsExpression(Expression expression, this.isOperator, this.notOperator, TypeName type) {
+ IsExpression(Expression expression, this.isOperator, this.notOperator,
+ TypeName type) {
_expression = becomeParentOf(expression);
_type = becomeParentOf(type);
}
@override
- accept(AstVisitor visitor) => visitor.visitIsExpression(this);
-
- @override
Token get beginToken => _expression.beginToken;
@override
@@ -10614,16 +11558,6 @@ class IsExpression extends Expression {
*/
Expression get expression => _expression;
- @override
- int get precedence => 7;
-
- /**
- * Return the name of the type being tested for.
- *
- * @return the name of the type being tested for
- */
- TypeName get type => _type;
-
/**
* Set the expression used to compute the value whose type is being tested to the given
* expression.
@@ -10634,6 +11568,16 @@ class IsExpression extends Expression {
_expression = becomeParentOf(expression);
}
+ @override
+ int get precedence => 7;
+
+ /**
+ * Return the name of the type being tested for.
+ *
+ * @return the name of the type being tested for
+ */
+ TypeName get type => _type;
+
/**
* Set the name of the type being tested for to the given name.
*
@@ -10644,6 +11588,9 @@ class IsExpression extends Expression {
}
@override
+ accept(AstVisitor visitor) => visitor.visitIsExpression(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_expression, visitor);
safelyVisitChild(_type, visitor);
@@ -10680,9 +11627,6 @@ class Label extends AstNode {
}
@override
- accept(AstVisitor visitor) => visitor.visitLabel(this);
-
- @override
Token get beginToken => _label.beginToken;
@override
@@ -10705,6 +11649,9 @@ class Label extends AstNode {
}
@override
+ accept(AstVisitor visitor) => visitor.visitLabel(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_label, visitor);
}
@@ -10742,9 +11689,6 @@ class LabeledStatement extends Statement {
}
@override
- accept(AstVisitor visitor) => visitor.visitLabeledStatement(this);
-
- @override
Token get beginToken {
if (!_labels.isEmpty) {
return _labels.beginToken;
@@ -10779,6 +11723,9 @@ class LabeledStatement extends Statement {
}
@override
+ accept(AstVisitor visitor) => visitor.visitLabeledStatement(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
_labels.accept(visitor);
safelyVisitChild(_statement, visitor);
@@ -10818,15 +11765,17 @@ class LibraryDirective extends Directive {
* @param name the name of the library being defined
* @param semicolon the semicolon terminating the directive
*/
- LibraryDirective(Comment comment, List<Annotation> metadata, this.libraryToken, LibraryIdentifier name, this.semicolon) : super(comment, metadata) {
+ LibraryDirective(Comment comment, List<Annotation> metadata,
+ this.libraryToken, LibraryIdentifier name, this.semicolon)
+ : super(comment, metadata) {
_name = becomeParentOf(name);
}
@override
- accept(AstVisitor visitor) => visitor.visitLibraryDirective(this);
+ Token get endToken => semicolon;
@override
- Token get endToken => semicolon;
+ Token get firstTokenAfterCommentAndMetadata => libraryToken;
@override
Token get keyword => libraryToken;
@@ -10848,13 +11797,13 @@ class LibraryDirective extends Directive {
}
@override
+ accept(AstVisitor visitor) => visitor.visitLibraryDirective(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChild(_name, visitor);
}
-
- @override
- Token get firstTokenAfterCommentAndMetadata => libraryToken;
}
/**
@@ -10881,9 +11830,6 @@ class LibraryIdentifier extends Identifier {
}
@override
- accept(AstVisitor visitor) => visitor.visitLibraryIdentifier(this);
-
- @override
Token get beginToken => _components.beginToken;
@override
@@ -10924,6 +11870,9 @@ class LibraryIdentifier extends Identifier {
Element get staticElement => null;
@override
+ accept(AstVisitor visitor) => visitor.visitLibraryIdentifier(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
_components.accept(visitor);
}
@@ -10963,14 +11912,13 @@ class ListLiteral extends TypedLiteral {
* @param elements the expressions used to compute the elements of the list
* @param rightBracket the right square bracket
*/
- ListLiteral(Token constKeyword, TypeArgumentList typeArguments, this.leftBracket, List<Expression> elements, this.rightBracket) : super(constKeyword, typeArguments) {
+ ListLiteral(Token constKeyword, TypeArgumentList typeArguments,
+ this.leftBracket, List<Expression> elements, this.rightBracket)
+ : super(constKeyword, typeArguments) {
_elements = new NodeList<Expression>(this, elements);
}
@override
- accept(AstVisitor visitor) => visitor.visitListLiteral(this);
-
- @override
Token get beginToken {
if (constKeyword != null) {
return constKeyword;
@@ -10993,6 +11941,9 @@ class ListLiteral extends TypedLiteral {
Token get endToken => rightBracket;
@override
+ accept(AstVisitor visitor) => visitor.visitListLiteral(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
super.visitChildren(visitor);
_elements.accept(visitor);
@@ -11053,14 +12004,13 @@ class MapLiteral extends TypedLiteral {
* @param entries the entries in the map
* @param rightBracket the right curly bracket
*/
- MapLiteral(Token constKeyword, TypeArgumentList typeArguments, this.leftBracket, List<MapLiteralEntry> entries, this.rightBracket) : super(constKeyword, typeArguments) {
+ MapLiteral(Token constKeyword, TypeArgumentList typeArguments,
+ this.leftBracket, List<MapLiteralEntry> entries, this.rightBracket)
+ : super(constKeyword, typeArguments) {
_entries = new NodeList<MapLiteralEntry>(this, entries);
}
@override
- accept(AstVisitor visitor) => visitor.visitMapLiteral(this);
-
- @override
Token get beginToken {
if (constKeyword != null) {
return constKeyword;
@@ -11083,6 +12033,9 @@ class MapLiteral extends TypedLiteral {
NodeList<MapLiteralEntry> get entries => _entries;
@override
+ accept(AstVisitor visitor) => visitor.visitMapLiteral(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
super.visitChildren(visitor);
_entries.accept(visitor);
@@ -11127,9 +12080,6 @@ class MapLiteralEntry extends AstNode {
}
@override
- accept(AstVisitor visitor) => visitor.visitMapLiteralEntry(this);
-
- @override
Token get beginToken => _key.beginToken;
@override
@@ -11143,13 +12093,6 @@ class MapLiteralEntry extends AstNode {
Expression get key => _key;
/**
- * Return the expression computing the value that will be associated with the key.
- *
- * @return the expression computing the value that will be associated with the key
- */
- Expression get value => _value;
-
- /**
* Set the expression computing the key with which the value will be associated to the given
* string.
*
@@ -11160,6 +12103,13 @@ class MapLiteralEntry extends AstNode {
}
/**
+ * Return the expression computing the value that will be associated with the key.
+ *
+ * @return the expression computing the value that will be associated with the key
+ */
+ Expression get value => _value;
+
+ /**
* Set the expression computing the value that will be associated with the key to the given
* expression.
*
@@ -11170,6 +12120,9 @@ class MapLiteralEntry extends AstNode {
}
@override
+ accept(AstVisitor visitor) => visitor.visitMapLiteralEntry(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_key, visitor);
safelyVisitChild(_value, visitor);
@@ -11251,16 +12204,17 @@ class MethodDeclaration extends ClassMember {
* declares a getter
* @param body the body of the method
*/
- MethodDeclaration(Comment comment, List<Annotation> metadata, this.externalKeyword, this.modifierKeyword, TypeName returnType, this.propertyKeyword, this.operatorKeyword, SimpleIdentifier name, FormalParameterList parameters, FunctionBody body) : super(comment, metadata) {
+ MethodDeclaration(Comment comment, List<Annotation> metadata,
+ this.externalKeyword, this.modifierKeyword, TypeName returnType,
+ this.propertyKeyword, this.operatorKeyword, SimpleIdentifier name,
+ FormalParameterList parameters, FunctionBody body)
+ : super(comment, metadata) {
_returnType = becomeParentOf(returnType);
_name = becomeParentOf(name);
_parameters = becomeParentOf(parameters);
_body = becomeParentOf(body);
}
- @override
- accept(AstVisitor visitor) => visitor.visitMethodDeclaration(this);
-
/**
* Return the body of the method.
*
@@ -11269,6 +12223,15 @@ class MethodDeclaration extends ClassMember {
FunctionBody get body => _body;
/**
+ * Set the body of the method to the given function body.
+ *
+ * @param functionBody the body of the method
+ */
+ void set body(FunctionBody functionBody) {
+ _body = becomeParentOf(functionBody);
+ }
+
+ /**
* Return the element associated with this method, or `null` if the AST structure has not
* been resolved. The element can either be a [MethodElement], if this represents the
* declaration of a normal method, or a [PropertyAccessorElement] if this represents the
@@ -11277,46 +12240,42 @@ class MethodDeclaration extends ClassMember {
* @return the element associated with this method
*/
@override
- ExecutableElement get element => _name != null ? (_name.staticElement as ExecutableElement) : null;
+ ExecutableElement get element =>
+ _name != null ? (_name.staticElement as ExecutableElement) : null;
@override
Token get endToken => _body.endToken;
- /**
- * Return the name of the method.
- *
- * @return the name of the method
- */
- SimpleIdentifier get name => _name;
-
- /**
- * Return the parameters associated with the method, or `null` if this method declares a
- * getter.
- *
- * @return the parameters associated with the method
- */
- FormalParameterList get parameters => _parameters;
-
- /**
- * Return the return type of the method, or `null` if no return type was declared.
- *
- * @return the return type of the method
- */
- TypeName get returnType => _returnType;
+ @override
+ Token get firstTokenAfterCommentAndMetadata {
+ if (modifierKeyword != null) {
+ return modifierKeyword;
+ } else if (_returnType != null) {
+ return _returnType.beginToken;
+ } else if (propertyKeyword != null) {
+ return propertyKeyword;
+ } else if (operatorKeyword != null) {
+ return operatorKeyword;
+ }
+ return _name.beginToken;
+ }
/**
* Return `true` if this method is declared to be an abstract method.
*
* @return `true` if this method is declared to be an abstract method
*/
- bool get isAbstract => externalKeyword == null && (_body is EmptyFunctionBody);
+ bool get isAbstract =>
+ externalKeyword == null && (_body is EmptyFunctionBody);
/**
* Return `true` if this method declares a getter.
*
* @return `true` if this method declares a getter
*/
- bool get isGetter => propertyKeyword != null && (propertyKeyword as KeywordToken).keyword == Keyword.GET;
+ bool get isGetter =>
+ propertyKeyword != null &&
+ (propertyKeyword as KeywordToken).keyword == Keyword.GET;
/**
* Return `true` if this method declares an operator.
@@ -11330,23 +12289,25 @@ class MethodDeclaration extends ClassMember {
*
* @return `true` if this method declares a setter
*/
- bool get isSetter => propertyKeyword != null && (propertyKeyword as KeywordToken).keyword == Keyword.SET;
+ bool get isSetter =>
+ propertyKeyword != null &&
+ (propertyKeyword as KeywordToken).keyword == Keyword.SET;
/**
* Return `true` if this method is declared to be a static method.
*
* @return `true` if this method is declared to be a static method
*/
- bool get isStatic => modifierKeyword != null && (modifierKeyword as KeywordToken).keyword == Keyword.STATIC;
+ bool get isStatic =>
+ modifierKeyword != null &&
+ (modifierKeyword as KeywordToken).keyword == Keyword.STATIC;
/**
- * Set the body of the method to the given function body.
+ * Return the name of the method.
*
- * @param functionBody the body of the method
+ * @return the name of the method
*/
- void set body(FunctionBody functionBody) {
- _body = becomeParentOf(functionBody);
- }
+ SimpleIdentifier get name => _name;
/**
* Set the name of the method to the given identifier.
@@ -11358,6 +12319,14 @@ class MethodDeclaration extends ClassMember {
}
/**
+ * Return the parameters associated with the method, or `null` if this method declares a
+ * getter.
+ *
+ * @return the parameters associated with the method
+ */
+ FormalParameterList get parameters => _parameters;
+
+ /**
* Set the parameters associated with the method to the given list of parameters.
*
* @param parameters the parameters associated with the method
@@ -11367,6 +12336,13 @@ class MethodDeclaration extends ClassMember {
}
/**
+ * Return the return type of the method, or `null` if no return type was declared.
+ *
+ * @return the return type of the method
+ */
+ TypeName get returnType => _returnType;
+
+ /**
* Set the return type of the method to the given type name.
*
* @param typeName the return type of the method
@@ -11376,6 +12352,9 @@ class MethodDeclaration extends ClassMember {
}
@override
+ accept(AstVisitor visitor) => visitor.visitMethodDeclaration(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChild(_returnType, visitor);
@@ -11383,20 +12362,6 @@ class MethodDeclaration extends ClassMember {
safelyVisitChild(_parameters, visitor);
safelyVisitChild(_body, visitor);
}
-
- @override
- Token get firstTokenAfterCommentAndMetadata {
- if (modifierKeyword != null) {
- return modifierKeyword;
- } else if (_returnType != null) {
- return _returnType.beginToken;
- } else if (propertyKeyword != null) {
- return propertyKeyword;
- } else if (operatorKeyword != null) {
- return operatorKeyword;
- }
- return _name.beginToken;
- }
}
/**
@@ -11442,15 +12407,13 @@ class MethodInvocation extends Expression {
* @param methodName the name of the method being invoked
* @param argumentList the list of arguments to the method
*/
- MethodInvocation(Expression target, this.period, SimpleIdentifier methodName, ArgumentList argumentList) {
+ MethodInvocation(Expression target, this.period, SimpleIdentifier methodName,
+ ArgumentList argumentList) {
_target = becomeParentOf(target);
_methodName = becomeParentOf(methodName);
_argumentList = becomeParentOf(argumentList);
}
- @override
- accept(AstVisitor visitor) => visitor.visitMethodInvocation(this);
-
/**
* Return the list of arguments to the method.
*
@@ -11458,6 +12421,15 @@ class MethodInvocation extends Expression {
*/
ArgumentList get argumentList => _argumentList;
+ /**
+ * Set the list of arguments to the method to the given list.
+ *
+ * @param argumentList the list of arguments to the method
+ */
+ void set argumentList(ArgumentList argumentList) {
+ _argumentList = becomeParentOf(argumentList);
+ }
+
@override
Token get beginToken {
if (_target != null) {
@@ -11472,12 +12444,31 @@ class MethodInvocation extends Expression {
Token get endToken => _argumentList.endToken;
/**
+ * Return `true` if this expression is cascaded. If it is, then the target of this
+ * expression is not stored locally but is stored in the nearest ancestor that is a
+ * [CascadeExpression].
+ *
+ * @return `true` if this expression is cascaded
+ */
+ bool get isCascaded =>
+ period != null && period.type == TokenType.PERIOD_PERIOD;
+
+ /**
* Return the name of the method being invoked.
*
* @return the name of the method being invoked
*/
SimpleIdentifier get methodName => _methodName;
+ /**
+ * Set the name of the method being invoked to the given identifier.
+ *
+ * @param identifier the name of the method being invoked
+ */
+ void set methodName(SimpleIdentifier identifier) {
+ _methodName = becomeParentOf(identifier);
+ }
+
@override
int get precedence => 15;
@@ -11515,33 +12506,6 @@ class MethodInvocation extends Expression {
Expression get target => _target;
/**
- * Return `true` if this expression is cascaded. If it is, then the target of this
- * expression is not stored locally but is stored in the nearest ancestor that is a
- * [CascadeExpression].
- *
- * @return `true` if this expression is cascaded
- */
- bool get isCascaded => period != null && period.type == TokenType.PERIOD_PERIOD;
-
- /**
- * Set the list of arguments to the method to the given list.
- *
- * @param argumentList the list of arguments to the method
- */
- void set argumentList(ArgumentList argumentList) {
- _argumentList = becomeParentOf(argumentList);
- }
-
- /**
- * Set the name of the method being invoked to the given identifier.
- *
- * @param identifier the name of the method being invoked
- */
- void set methodName(SimpleIdentifier identifier) {
- _methodName = becomeParentOf(identifier);
- }
-
- /**
* Set the expression producing the object on which the method is defined to the given expression.
*
* @param expression the expression producing the object on which the method is defined
@@ -11551,6 +12515,9 @@ class MethodInvocation extends Expression {
}
@override
+ accept(AstVisitor visitor) => visitor.visitMethodInvocation(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_target, visitor);
safelyVisitChild(_methodName, visitor);
@@ -11590,9 +12557,6 @@ class NamedExpression extends Expression {
}
@override
- accept(AstVisitor visitor) => visitor.visitNamedExpression(this);
-
- @override
Token get beginToken => _name.beginToken;
/**
@@ -11616,19 +12580,9 @@ class NamedExpression extends Expression {
/**
* Return the expression with which the name is associated.
*
- * @return the expression with which the name is associated
- */
- Expression get expression => _expression;
-
- /**
- * Return the name associated with the expression.
- *
- * @return the name associated with the expression
+ * @return the expression with which the name is associated
*/
- Label get name => _name;
-
- @override
- int get precedence => 0;
+ Expression get expression => _expression;
/**
* Set the expression with which the name is associated to the given expression.
@@ -11640,6 +12594,13 @@ class NamedExpression extends Expression {
}
/**
+ * Return the name associated with the expression.
+ *
+ * @return the name associated with the expression
+ */
+ Label get name => _name;
+
+ /**
* Set the name associated with the expression to the given identifier.
*
* @param identifier the name associated with the expression
@@ -11649,6 +12610,12 @@ class NamedExpression extends Expression {
}
@override
+ int get precedence => 0;
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitNamedExpression(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_name, visitor);
safelyVisitChild(_expression, visitor);
@@ -11691,7 +12658,9 @@ abstract class NamespaceDirective extends UriBasedDirective {
* @param combinators the combinators used to control which names are imported or exported
* @param semicolon the semicolon terminating the directive
*/
- NamespaceDirective(Comment comment, List<Annotation> metadata, this.keyword, StringLiteral libraryUri, List<Combinator> combinators, this.semicolon) : super(comment, metadata, libraryUri) {
+ NamespaceDirective(Comment comment, List<Annotation> metadata, this.keyword,
+ StringLiteral libraryUri, List<Combinator> combinators, this.semicolon)
+ : super(comment, metadata, libraryUri) {
_combinators = new NodeList<Combinator>(this, combinators);
}
@@ -11706,10 +12675,10 @@ abstract class NamespaceDirective extends UriBasedDirective {
Token get endToken => semicolon;
@override
- LibraryElement get uriElement;
+ Token get firstTokenAfterCommentAndMetadata => keyword;
@override
- Token get firstTokenAfterCommentAndMetadata => keyword;
+ LibraryElement get uriElement;
}
/**
@@ -11743,9 +12712,6 @@ class NativeClause extends AstNode {
}
@override
- accept(AstVisitor visitor) => visitor.visitNativeClause(this);
-
- @override
Token get beginToken => keyword;
@override
@@ -11768,6 +12734,9 @@ class NativeClause extends AstNode {
}
@override
+ accept(AstVisitor visitor) => visitor.visitNativeClause(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_name, visitor);
}
@@ -11806,14 +12775,12 @@ class NativeFunctionBody extends FunctionBody {
* @param stringLiteral the string literal
* @param semicolon the token representing the semicolon that marks the end of the function body
*/
- NativeFunctionBody(this.nativeToken, StringLiteral stringLiteral, this.semicolon) {
+ NativeFunctionBody(this.nativeToken, StringLiteral stringLiteral,
+ this.semicolon) {
_stringLiteral = becomeParentOf(stringLiteral);
}
@override
- accept(AstVisitor visitor) => visitor.visitNativeFunctionBody(this);
-
- @override
Token get beginToken => nativeToken;
@override
@@ -11836,12 +12803,149 @@ class NativeFunctionBody extends FunctionBody {
}
@override
+ accept(AstVisitor visitor) => visitor.visitNativeFunctionBody(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_stringLiteral, visitor);
}
}
/**
+ * Instances of the class `NodeList` represent a list of AST nodes that have a
+ * common parent.
+ */
+class NodeList<E extends AstNode> extends Object with ListMixin<E> {
+ /**
+ * The node that is the parent of each of the elements in the list.
+ */
+ AstNode owner;
+
+ /**
+ * The elements contained in the list.
+ */
+ List<E> _elements = <E>[];
+
+ /**
+ * Initialize a newly created list of nodes such that all of the nodes that
+ * are added to the list will have their parent set to the given [owner]. The
+ * list will initially be populated with the given [elements].
+ */
+ NodeList(this.owner, [List<E> elements]) {
+ addAll(elements);
+ }
+
+ /**
+ * Return the first token included in this node list's source range, or `null`
+ * if the list is empty.
+ */
+ Token get beginToken {
+ if (_elements.length == 0) {
+ return null;
+ }
+ return _elements[0].beginToken;
+ }
+
+ /**
+ * Return the last token included in this node list's source range, or `null`
+ * if the list is empty.
+ */
+ Token get endToken {
+ int length = _elements.length;
+ if (length == 0) {
+ return null;
+ }
+ return _elements[length - 1].endToken;
+ }
+
+ int get length => _elements.length;
+
+ @deprecated
+ void set length(int value) {
+ throw new UnsupportedError("Cannot resize NodeList.");
+ }
+
+ E operator [](int index) {
+ if (index < 0 || index >= _elements.length) {
+ throw new RangeError("Index: $index, Size: ${_elements.length}");
+ }
+ return _elements[index];
+ }
+
+ void operator []=(int index, E node) {
+ if (index < 0 || index >= _elements.length) {
+ throw new RangeError("Index: $index, Size: ${_elements.length}");
+ }
+ owner.becomeParentOf(node);
+ _elements[index] = node;
+ }
+
+ /**
+ * Use the given [visitor] to visit each of the nodes in this list.
+ */
+ accept(AstVisitor visitor) {
+ int length = _elements.length;
+ for (var i = 0; i < length; i++) {
+ _elements[i].accept(visitor);
+ }
+ }
+
+ @override
+ void add(E node) {
+ insert(length, node);
+ }
+
+ @override
+ bool addAll(Iterable<E> nodes) {
+ if (nodes != null && !nodes.isEmpty) {
+ _elements.addAll(nodes);
+ for (E node in nodes) {
+ owner.becomeParentOf(node);
+ }
+ return true;
+ }
+ return false;
+ }
+
+ @override
+ void clear() {
+ _elements = <E>[];
+ }
+
+ @override
+ void insert(int index, E node) {
+ int length = _elements.length;
+ if (index < 0 || index > length) {
+ throw new RangeError("Index: $index, Size: ${_elements.length}");
+ }
+ owner.becomeParentOf(node);
+ if (length == 0) {
+ _elements.add(node);
+ } else {
+ _elements.insert(index, node);
+ }
+ }
+
+ @override
+ E removeAt(int index) {
+ if (index < 0 || index >= _elements.length) {
+ throw new RangeError("Index: $index, Size: ${_elements.length}");
+ }
+ E removedNode = _elements[index];
+ _elements.removeAt(index);
+ return removedNode;
+ }
+
+ /**
+ * Create an empty list with the given [owner].
+ *
+ * Use "new NodeList<E>(owner)"
+ */
+ @deprecated
+ static NodeList create(AstNode owner) => new NodeList(owner);
+}
+
+/**
* Instances of the class `NodeLocator` locate the [AstNode] associated with a
* source range, given the AST structure built from the source. More specifically, they will return
* the [AstNode] with the shortest length whose source range completely encompasses
@@ -11929,7 +13033,8 @@ class NodeLocator extends UnifyingAstVisitor<Object> {
} on NodeLocator_NodeFoundException catch (exception) {
rethrow;
} catch (exception, stackTrace) {
- // Ignore the exception and proceed in order to visit the rest of the structure.
+ // Ignore the exception and proceed in order to visit the rest of the
+ // structure.
AnalysisEngine.instance.logger.logInformation(
"Exception caught while traversing an AST structure.",
new CaughtException(exception, stackTrace));
@@ -11954,29 +13059,6 @@ class NodeLocator_NodeFoundException extends RuntimeException {
* in an AST node with another node.
*/
class NodeReplacer implements AstVisitor<bool> {
- /**
- * Replace the old node with the new node in the AST structure containing the old node.
- *
- * @param oldNode
- * @param newNode
- * @return `true` if the replacement was successful
- * @throws IllegalArgumentException if either node is `null`, if the old node does not have
- * a parent node, or if the AST structure has been corrupted
- */
- static bool replace(AstNode oldNode, AstNode newNode) {
- if (oldNode == null || newNode == null) {
- throw new IllegalArgumentException("The old and new nodes must be non-null");
- } else if (identical(oldNode, newNode)) {
- return true;
- }
- AstNode parent = oldNode.parent;
- if (parent == null) {
- throw new IllegalArgumentException("The old node is not a child of another node");
- }
- NodeReplacer replacer = new NodeReplacer(oldNode, newNode);
- return parent.accept(replacer);
- }
-
final AstNode _oldNode;
final AstNode _newNode;
@@ -12346,7 +13428,8 @@ class NodeReplacer implements AstVisitor<bool> {
}
@override
- bool visitExportDirective(ExportDirective node) => visitNamespaceDirective(node);
+ bool visitExportDirective(ExportDirective node) =>
+ visitNamespaceDirective(node);
@override
bool visitExpressionFunctionBody(ExpressionFunctionBody node) {
@@ -12747,7 +13830,8 @@ class NodeReplacer implements AstVisitor<bool> {
}
bool visitNode(AstNode node) {
- throw new IllegalArgumentException("The old node is not a child of it's parent");
+ throw new IllegalArgumentException(
+ "The old node is not a child of it's parent");
}
bool visitNormalFormalParameter(NormalFormalParameter node) {
@@ -12830,7 +13914,8 @@ class NodeReplacer implements AstVisitor<bool> {
}
@override
- bool visitRedirectingConstructorInvocation(RedirectingConstructorInvocation node) {
+ bool
+ visitRedirectingConstructorInvocation(RedirectingConstructorInvocation node) {
if (identical(node.constructorName, _oldNode)) {
node.constructorName = _newNode as SimpleIdentifier;
return true;
@@ -13098,6 +14183,31 @@ class NodeReplacer implements AstVisitor<bool> {
}
return false;
}
+
+ /**
+ * Replace the old node with the new node in the AST structure containing the old node.
+ *
+ * @param oldNode
+ * @param newNode
+ * @return `true` if the replacement was successful
+ * @throws IllegalArgumentException if either node is `null`, if the old node does not have
+ * a parent node, or if the AST structure has been corrupted
+ */
+ static bool replace(AstNode oldNode, AstNode newNode) {
+ if (oldNode == null || newNode == null) {
+ throw new IllegalArgumentException(
+ "The old and new nodes must be non-null");
+ } else if (identical(oldNode, newNode)) {
+ return true;
+ }
+ AstNode parent = oldNode.parent;
+ if (parent == null) {
+ throw new IllegalArgumentException(
+ "The old node is not a child of another node");
+ }
+ NodeReplacer replacer = new NodeReplacer(oldNode, newNode);
+ return parent.accept(replacer);
+ }
}
/**
@@ -13135,7 +14245,8 @@ abstract class NormalFormalParameter extends FormalParameter {
* @param metadata the annotations associated with this parameter
* @param identifier the name of the parameter being declared
*/
- NormalFormalParameter(Comment comment, List<Annotation> metadata, SimpleIdentifier identifier) {
+ NormalFormalParameter(Comment comment, List<Annotation> metadata,
+ SimpleIdentifier identifier) {
_comment = becomeParentOf(comment);
_metadata = new NodeList<Annotation>(this, metadata);
_identifier = becomeParentOf(identifier);
@@ -13149,9 +14260,27 @@ abstract class NormalFormalParameter extends FormalParameter {
*/
Comment get documentationComment => _comment;
+ /**
+ * Set the documentation comment associated with this parameter to the given comment
+ *
+ * @param comment the documentation comment to be associated with this parameter
+ */
+ void set documentationComment(Comment comment) {
+ _comment = becomeParentOf(comment);
+ }
+
@override
SimpleIdentifier get identifier => _identifier;
+ /**
+ * Set the name of the parameter being declared to the given identifier.
+ *
+ * @param identifier the name of the parameter being declared
+ */
+ void set identifier(SimpleIdentifier identifier) {
+ _identifier = becomeParentOf(identifier);
+ }
+
@override
ParameterKind get kind {
AstNode parent = this.parent;
@@ -13169,24 +14298,6 @@ abstract class NormalFormalParameter extends FormalParameter {
NodeList<Annotation> get metadata => _metadata;
/**
- * Set the documentation comment associated with this parameter to the given comment
- *
- * @param comment the documentation comment to be associated with this parameter
- */
- void set documentationComment(Comment comment) {
- _comment = becomeParentOf(comment);
- }
-
- /**
- * Set the name of the parameter being declared to the given identifier.
- *
- * @param identifier the name of the parameter being declared
- */
- void set identifier(SimpleIdentifier identifier) {
- _identifier = becomeParentOf(identifier);
- }
-
- /**
* Set the metadata associated with this node to the given metadata.
*
* @param metadata the metadata to be associated with this node
@@ -13196,11 +14307,25 @@ abstract class NormalFormalParameter extends FormalParameter {
_metadata.addAll(metadata);
}
+ /**
+ * Return an array containing the comment and annotations associated with this parameter, sorted
+ * in lexical order.
+ *
+ * @return the comment and annotations associated with this parameter in the order in which they
+ * appeared in the original source
+ */
+ List<AstNode> get sortedCommentAndAnnotations {
+ return <AstNode>[]
+ ..add(_comment)
+ ..addAll(_metadata)
+ ..sort(AstNode.LEXICAL_ORDER);
+ }
+
@override
void visitChildren(AstVisitor visitor) {
//
- // Note that subclasses are responsible for visiting the identifier because they often need to
- // visit other nodes before visiting the identifier.
+ // Note that subclasses are responsible for visiting the identifier because
+ // they often need to visit other nodes before visiting the identifier.
//
if (_commentIsBeforeAnnotations()) {
safelyVisitChild(_comment, visitor);
@@ -13224,20 +14349,6 @@ abstract class NormalFormalParameter extends FormalParameter {
Annotation firstAnnotation = _metadata[0];
return _comment.offset < firstAnnotation.offset;
}
-
- /**
- * Return an array containing the comment and annotations associated with this parameter, sorted
- * in lexical order.
- *
- * @return the comment and annotations associated with this parameter in the order in which they
- * appeared in the original source
- */
- List<AstNode> get sortedCommentAndAnnotations {
- return <AstNode>[]
- ..add(_comment)
- ..addAll(_metadata)
- ..sort(AstNode.LEXICAL_ORDER);
- }
}
/**
@@ -13262,15 +14373,15 @@ class NullLiteral extends Literal {
NullLiteral(this.literal);
@override
- accept(AstVisitor visitor) => visitor.visitNullLiteral(this);
-
- @override
Token get beginToken => literal;
@override
Token get endToken => literal;
@override
+ accept(AstVisitor visitor) => visitor.visitNullLiteral(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
// There are no children to visit.
}
@@ -13307,14 +14418,12 @@ class ParenthesizedExpression extends Expression {
* @param expression the expression within the parentheses
* @param rightParenthesis the right parenthesis
*/
- ParenthesizedExpression(this.leftParenthesis, Expression expression, this.rightParenthesis) {
+ ParenthesizedExpression(this.leftParenthesis, Expression expression,
+ this.rightParenthesis) {
_expression = becomeParentOf(expression);
}
@override
- accept(AstVisitor visitor) => visitor.visitParenthesizedExpression(this);
-
- @override
Token get beginToken => leftParenthesis;
@override
@@ -13327,9 +14436,6 @@ class ParenthesizedExpression extends Expression {
*/
Expression get expression => _expression;
- @override
- int get precedence => 15;
-
/**
* Set the expression within the parentheses to the given expression.
*
@@ -13340,6 +14446,12 @@ class ParenthesizedExpression extends Expression {
}
@override
+ int get precedence => 15;
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitParenthesizedExpression(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_expression, visitor);
}
@@ -13373,13 +14485,15 @@ class PartDirective extends UriBasedDirective {
* @param partUri the URI of the part being included
* @param semicolon the semicolon terminating the directive
*/
- PartDirective(Comment comment, List<Annotation> metadata, this.partToken, StringLiteral partUri, this.semicolon) : super(comment, metadata, partUri);
+ PartDirective(Comment comment, List<Annotation> metadata, this.partToken,
+ StringLiteral partUri, this.semicolon)
+ : super(comment, metadata, partUri);
@override
- accept(AstVisitor visitor) => visitor.visitPartDirective(this);
+ Token get endToken => semicolon;
@override
- Token get endToken => semicolon;
+ Token get firstTokenAfterCommentAndMetadata => partToken;
@override
Token get keyword => partToken;
@@ -13388,7 +14502,7 @@ class PartDirective extends UriBasedDirective {
CompilationUnitElement get uriElement => element as CompilationUnitElement;
@override
- Token get firstTokenAfterCommentAndMetadata => partToken;
+ accept(AstVisitor visitor) => visitor.visitPartDirective(this);
}
/**
@@ -13430,15 +14544,17 @@ class PartOfDirective extends Directive {
* @param libraryName the name of the library that the containing compilation unit is part of
* @param semicolon the semicolon terminating the directive
*/
- PartOfDirective(Comment comment, List<Annotation> metadata, this.partToken, this.ofToken, LibraryIdentifier libraryName, this.semicolon) : super(comment, metadata) {
+ PartOfDirective(Comment comment, List<Annotation> metadata, this.partToken,
+ this.ofToken, LibraryIdentifier libraryName, this.semicolon)
+ : super(comment, metadata) {
_libraryName = becomeParentOf(libraryName);
}
@override
- accept(AstVisitor visitor) => visitor.visitPartOfDirective(this);
+ Token get endToken => semicolon;
@override
- Token get endToken => semicolon;
+ Token get firstTokenAfterCommentAndMetadata => partToken;
@override
Token get keyword => partToken;
@@ -13460,13 +14576,13 @@ class PartOfDirective extends Directive {
}
@override
+ accept(AstVisitor visitor) => visitor.visitPartOfDirective(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChild(_libraryName, visitor);
}
-
- @override
- Token get firstTokenAfterCommentAndMetadata => partToken;
}
/**
@@ -13513,9 +14629,6 @@ class PostfixExpression extends Expression {
}
@override
- accept(AstVisitor visitor) => visitor.visitPostfixExpression(this);
-
- @override
Token get beginToken => _operand.beginToken;
/**
@@ -13544,9 +14657,6 @@ class PostfixExpression extends Expression {
*/
Expression get operand => _operand;
- @override
- int get precedence => 15;
-
/**
* Set the expression computing the operand for the operator to the given expression.
*
@@ -13557,9 +14667,7 @@ class PostfixExpression extends Expression {
}
@override
- void visitChildren(AstVisitor visitor) {
- safelyVisitChild(_operand, visitor);
- }
+ int get precedence => 15;
/**
* If the AST structure has been resolved, and the function being invoked is known based on
@@ -13602,278 +14710,288 @@ class PostfixExpression extends Expression {
}
return parameters[0];
}
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitPostfixExpression(this);
+
+ @override
+ void visitChildren(AstVisitor visitor) {
+ safelyVisitChild(_operand, visitor);
+ }
}
/**
- * Instances of the class `PrefixExpression` represent a prefix unary expression.
+ * Instances of the class `PrefixedIdentifier` represent either an identifier that is prefixed
+ * or an access to an object property where the target of the property access is a simple
+ * identifier.
*
* <pre>
- * prefixExpression ::=
- * [Token] [Expression]
+ * prefixedIdentifier ::=
+ * [SimpleIdentifier] '.' [SimpleIdentifier]
* </pre>
*/
-class PrefixExpression extends Expression {
- /**
- * The prefix operator being applied to the operand.
- */
- Token operator;
-
+class PrefixedIdentifier extends Identifier {
/**
- * The expression computing the operand for the operator.
+ * The prefix associated with the library in which the identifier is defined.
*/
- Expression _operand;
+ SimpleIdentifier _prefix;
/**
- * The element associated with the operator based on the static type of the operand, or
- * `null` if the AST structure has not been resolved, if the operator is not user definable,
- * or if the operator could not be resolved.
+ * The period used to separate the prefix from the identifier.
*/
- MethodElement staticElement;
+ Token period;
/**
- * The element associated with the operator based on the propagated type of the operand, or
- * `null` if the AST structure has not been resolved, if the operator is not user definable,
- * or if the operator could not be resolved.
+ * The identifier being prefixed.
*/
- MethodElement propagatedElement;
+ SimpleIdentifier _identifier;
/**
- * Initialize a newly created prefix expression.
+ * Initialize a newly created prefixed identifier.
*
- * @param operator the prefix operator being applied to the operand
- * @param operand the expression computing the operand for the operator
+ * @param prefix the identifier being prefixed
+ * @param period the period used to separate the prefix from the identifier
+ * @param identifier the prefix associated with the library in which the identifier is defined
*/
- PrefixExpression(this.operator, Expression operand) {
- _operand = becomeParentOf(operand);
+ PrefixedIdentifier(SimpleIdentifier prefix, this.period,
+ SimpleIdentifier identifier) {
+ _prefix = becomeParentOf(prefix);
+ _identifier = becomeParentOf(identifier);
}
@override
- accept(AstVisitor visitor) => visitor.visitPrefixExpression(this);
+ Token get beginToken => _prefix.beginToken;
@override
- Token get beginToken => operator;
-
- /**
- * Return the best element available for this operator. If resolution was able to find a better
- * element based on type propagation, that element will be returned. Otherwise, the element found
- * using the result of static analysis will be returned. If resolution has not been performed,
- * then `null` will be returned.
- *
- * @return the best element available for this operator
- */
- MethodElement get bestElement {
- MethodElement element = propagatedElement;
- if (element == null) {
- element = staticElement;
+ Element get bestElement {
+ if (_identifier == null) {
+ return null;
}
- return element;
+ return _identifier.bestElement;
}
@override
- Token get endToken => _operand.endToken;
+ Token get endToken => _identifier.endToken;
/**
- * Return the expression computing the operand for the operator.
+ * Return the identifier being prefixed.
*
- * @return the expression computing the operand for the operator
+ * @return the identifier being prefixed
*/
- Expression get operand => _operand;
-
- @override
- int get precedence => 14;
+ SimpleIdentifier get identifier => _identifier;
/**
- * Set the expression computing the operand for the operator to the given expression.
+ * Set the identifier being prefixed to the given identifier.
*
- * @param expression the expression computing the operand for the operator
+ * @param identifier the identifier being prefixed
*/
- void set operand(Expression expression) {
- _operand = becomeParentOf(expression);
- }
-
- @override
- void visitChildren(AstVisitor visitor) {
- safelyVisitChild(_operand, visitor);
+ void set identifier(SimpleIdentifier identifier) {
+ _identifier = becomeParentOf(identifier);
}
/**
- * If the AST structure has been resolved, and the function being invoked is known based on
- * propagated type information, then return the parameter element representing the parameter to
- * which the value of the operand will be bound. Otherwise, return `null`.
+ * Return `true` if this type is a deferred type.
*
- * This method is only intended to be used by [Expression.propagatedParameterElement].
+ * 15.1 Static Types: A type <i>T</i> is deferred iff it is of the form </i>p.T</i> where <i>p</i>
+ * is a deferred prefix.
*
- * @return the parameter element representing the parameter to which the value of the right
- * operand will be bound
+ * @return `true` if this type is a deferred type
*/
- ParameterElement get propagatedParameterElementForOperand {
- if (propagatedElement == null) {
- return null;
+ bool get isDeferred {
+ Element element = _prefix.staticElement;
+ if (element is! PrefixElement) {
+ return false;
}
- List<ParameterElement> parameters = propagatedElement.parameters;
- if (parameters.length < 1) {
- return null;
+ PrefixElement prefixElement = element as PrefixElement;
+ List<ImportElement> imports =
+ prefixElement.enclosingElement.getImportsWithPrefix(prefixElement);
+ if (imports.length != 1) {
+ return false;
}
- return parameters[0];
+ return imports[0].isDeferred;
}
+ @override
+ String get name => "${_prefix.name}.${_identifier.name}";
+
+ @override
+ int get precedence => 15;
+
/**
- * If the AST structure has been resolved, and the function being invoked is known based on static
- * type information, then return the parameter element representing the parameter to which the
- * value of the operand will be bound. Otherwise, return `null`.
+ * Return the prefix associated with the library in which the identifier is defined.
*
- * This method is only intended to be used by [Expression.staticParameterElement].
+ * @return the prefix associated with the library in which the identifier is defined
+ */
+ SimpleIdentifier get prefix => _prefix;
+
+ /**
+ * Set the prefix associated with the library in which the identifier is defined to the given
+ * identifier.
*
- * @return the parameter element representing the parameter to which the value of the right
- * operand will be bound
+ * @param identifier the prefix associated with the library in which the identifier is defined
*/
- ParameterElement get staticParameterElementForOperand {
- if (staticElement == null) {
+ void set prefix(SimpleIdentifier identifier) {
+ _prefix = becomeParentOf(identifier);
+ }
+
+ @override
+ Element get propagatedElement {
+ if (_identifier == null) {
return null;
}
- List<ParameterElement> parameters = staticElement.parameters;
- if (parameters.length < 1) {
+ return _identifier.propagatedElement;
+ }
+
+ @override
+ Element get staticElement {
+ if (_identifier == null) {
return null;
}
- return parameters[0];
+ return _identifier.staticElement;
+ }
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitPrefixedIdentifier(this);
+
+ @override
+ void visitChildren(AstVisitor visitor) {
+ safelyVisitChild(_prefix, visitor);
+ safelyVisitChild(_identifier, visitor);
}
}
/**
- * Instances of the class `PrefixedIdentifier` represent either an identifier that is prefixed
- * or an access to an object property where the target of the property access is a simple
- * identifier.
+ * Instances of the class `PrefixExpression` represent a prefix unary expression.
*
* <pre>
- * prefixedIdentifier ::=
- * [SimpleIdentifier] '.' [SimpleIdentifier]
+ * prefixExpression ::=
+ * [Token] [Expression]
* </pre>
*/
-class PrefixedIdentifier extends Identifier {
+class PrefixExpression extends Expression {
/**
- * The prefix associated with the library in which the identifier is defined.
+ * The prefix operator being applied to the operand.
*/
- SimpleIdentifier _prefix;
+ Token operator;
/**
- * The period used to separate the prefix from the identifier.
+ * The expression computing the operand for the operator.
*/
- Token period;
+ Expression _operand;
/**
- * The identifier being prefixed.
+ * The element associated with the operator based on the static type of the operand, or
+ * `null` if the AST structure has not been resolved, if the operator is not user definable,
+ * or if the operator could not be resolved.
*/
- SimpleIdentifier _identifier;
+ MethodElement staticElement;
+
+ /**
+ * The element associated with the operator based on the propagated type of the operand, or
+ * `null` if the AST structure has not been resolved, if the operator is not user definable,
+ * or if the operator could not be resolved.
+ */
+ MethodElement propagatedElement;
/**
- * Initialize a newly created prefixed identifier.
+ * Initialize a newly created prefix expression.
*
- * @param prefix the identifier being prefixed
- * @param period the period used to separate the prefix from the identifier
- * @param identifier the prefix associated with the library in which the identifier is defined
+ * @param operator the prefix operator being applied to the operand
+ * @param operand the expression computing the operand for the operator
*/
- PrefixedIdentifier(SimpleIdentifier prefix, this.period, SimpleIdentifier identifier) {
- _prefix = becomeParentOf(prefix);
- _identifier = becomeParentOf(identifier);
+ PrefixExpression(this.operator, Expression operand) {
+ _operand = becomeParentOf(operand);
}
@override
- accept(AstVisitor visitor) => visitor.visitPrefixedIdentifier(this);
-
- @override
- Token get beginToken => _prefix.beginToken;
+ Token get beginToken => operator;
- @override
- Element get bestElement {
- if (_identifier == null) {
- return null;
+ /**
+ * Return the best element available for this operator. If resolution was able to find a better
+ * element based on type propagation, that element will be returned. Otherwise, the element found
+ * using the result of static analysis will be returned. If resolution has not been performed,
+ * then `null` will be returned.
+ *
+ * @return the best element available for this operator
+ */
+ MethodElement get bestElement {
+ MethodElement element = propagatedElement;
+ if (element == null) {
+ element = staticElement;
}
- return _identifier.bestElement;
+ return element;
}
@override
- Token get endToken => _identifier.endToken;
+ Token get endToken => _operand.endToken;
/**
- * Return the identifier being prefixed.
+ * Return the expression computing the operand for the operator.
*
- * @return the identifier being prefixed
+ * @return the expression computing the operand for the operator
*/
- SimpleIdentifier get identifier => _identifier;
-
- @override
- String get name => "${_prefix.name}.${_identifier.name}";
-
- @override
- int get precedence => 15;
+ Expression get operand => _operand;
/**
- * Return the prefix associated with the library in which the identifier is defined.
+ * Set the expression computing the operand for the operator to the given expression.
*
- * @return the prefix associated with the library in which the identifier is defined
+ * @param expression the expression computing the operand for the operator
*/
- SimpleIdentifier get prefix => _prefix;
-
- @override
- Element get propagatedElement {
- if (_identifier == null) {
- return null;
- }
- return _identifier.propagatedElement;
+ void set operand(Expression expression) {
+ _operand = becomeParentOf(expression);
}
@override
- Element get staticElement {
- if (_identifier == null) {
- return null;
- }
- return _identifier.staticElement;
- }
+ int get precedence => 14;
/**
- * Return `true` if this type is a deferred type.
+ * If the AST structure has been resolved, and the function being invoked is known based on
+ * propagated type information, then return the parameter element representing the parameter to
+ * which the value of the operand will be bound. Otherwise, return `null`.
*
- * 15.1 Static Types: A type <i>T</i> is deferred iff it is of the form </i>p.T</i> where <i>p</i>
- * is a deferred prefix.
+ * This method is only intended to be used by [Expression.propagatedParameterElement].
*
- * @return `true` if this type is a deferred type
+ * @return the parameter element representing the parameter to which the value of the right
+ * operand will be bound
*/
- bool get isDeferred {
- Element element = _prefix.staticElement;
- if (element is! PrefixElement) {
- return false;
+ ParameterElement get propagatedParameterElementForOperand {
+ if (propagatedElement == null) {
+ return null;
}
- PrefixElement prefixElement = element as PrefixElement;
- List<ImportElement> imports = prefixElement.enclosingElement.getImportsWithPrefix(prefixElement);
- if (imports.length != 1) {
- return false;
+ List<ParameterElement> parameters = propagatedElement.parameters;
+ if (parameters.length < 1) {
+ return null;
}
- return imports[0].isDeferred;
+ return parameters[0];
}
/**
- * Set the identifier being prefixed to the given identifier.
+ * If the AST structure has been resolved, and the function being invoked is known based on static
+ * type information, then return the parameter element representing the parameter to which the
+ * value of the operand will be bound. Otherwise, return `null`.
*
- * @param identifier the identifier being prefixed
- */
- void set identifier(SimpleIdentifier identifier) {
- _identifier = becomeParentOf(identifier);
- }
-
- /**
- * Set the prefix associated with the library in which the identifier is defined to the given
- * identifier.
+ * This method is only intended to be used by [Expression.staticParameterElement].
*
- * @param identifier the prefix associated with the library in which the identifier is defined
+ * @return the parameter element representing the parameter to which the value of the right
+ * operand will be bound
*/
- void set prefix(SimpleIdentifier identifier) {
- _prefix = becomeParentOf(identifier);
+ ParameterElement get staticParameterElementForOperand {
+ if (staticElement == null) {
+ return null;
+ }
+ List<ParameterElement> parameters = staticElement.parameters;
+ if (parameters.length < 1) {
+ return null;
+ }
+ return parameters[0];
}
@override
+ accept(AstVisitor visitor) => visitor.visitPrefixExpression(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
- safelyVisitChild(_prefix, visitor);
- safelyVisitChild(_identifier, visitor);
+ safelyVisitChild(_operand, visitor);
}
}
@@ -13912,15 +15030,13 @@ class PropertyAccess extends Expression {
* @param operator the property access operator
* @param propertyName the name of the property being accessed
*/
- PropertyAccess(Expression target, this.operator, SimpleIdentifier propertyName) {
+ PropertyAccess(Expression target, this.operator,
+ SimpleIdentifier propertyName) {
_target = becomeParentOf(target);
_propertyName = becomeParentOf(propertyName);
}
@override
- accept(AstVisitor visitor) => visitor.visitPropertyAccess(this);
-
- @override
Token get beginToken {
if (_target != null) {
return _target.beginToken;
@@ -13932,6 +15048,19 @@ class PropertyAccess extends Expression {
Token get endToken => _propertyName.endToken;
@override
+ bool get isAssignable => true;
+
+ /**
+ * Return `true` if this expression is cascaded. If it is, then the target of this
+ * expression is not stored locally but is stored in the nearest ancestor that is a
+ * [CascadeExpression].
+ *
+ * @return `true` if this expression is cascaded
+ */
+ bool get isCascaded =>
+ operator != null && operator.type == TokenType.PERIOD_PERIOD;
+
+ @override
int get precedence => 15;
/**
@@ -13942,6 +15071,15 @@ class PropertyAccess extends Expression {
SimpleIdentifier get propertyName => _propertyName;
/**
+ * Set the name of the property being accessed to the given identifier.
+ *
+ * @param identifier the name of the property being accessed
+ */
+ void set propertyName(SimpleIdentifier identifier) {
+ _propertyName = becomeParentOf(identifier);
+ }
+
+ /**
* Return the expression used to compute the receiver of the invocation. If this invocation is not
* part of a cascade expression, then this is the same as [getTarget]. If this invocation
* is part of a cascade expression, then the target stored with the cascade expression is
@@ -13973,27 +15111,6 @@ class PropertyAccess extends Expression {
*/
Expression get target => _target;
- @override
- bool get isAssignable => true;
-
- /**
- * Return `true` if this expression is cascaded. If it is, then the target of this
- * expression is not stored locally but is stored in the nearest ancestor that is a
- * [CascadeExpression].
- *
- * @return `true` if this expression is cascaded
- */
- bool get isCascaded => operator != null && operator.type == TokenType.PERIOD_PERIOD;
-
- /**
- * Set the name of the property being accessed to the given identifier.
- *
- * @param identifier the name of the property being accessed
- */
- void set propertyName(SimpleIdentifier identifier) {
- _propertyName = becomeParentOf(identifier);
- }
-
/**
* Set the expression computing the object defining the property being accessed to the given
* expression.
@@ -14005,6 +15122,9 @@ class PropertyAccess extends Expression {
}
@override
+ accept(AstVisitor visitor) => visitor.visitPropertyAccess(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_target, visitor);
safelyVisitChild(_propertyName, visitor);
@@ -14484,7 +15604,8 @@ class RecursiveAstVisitor<R> implements AstVisitor<R> {
}
@override
- R visitRedirectingConstructorInvocation(RedirectingConstructorInvocation node) {
+ R
+ visitRedirectingConstructorInvocation(RedirectingConstructorInvocation node) {
node.visitChildren(this);
return null;
}
@@ -14705,14 +15826,12 @@ class RedirectingConstructorInvocation extends ConstructorInitializer {
* @param constructorName the name of the constructor that is being invoked
* @param argumentList the list of arguments to the constructor
*/
- RedirectingConstructorInvocation(this.keyword, this.period, SimpleIdentifier constructorName, ArgumentList argumentList) {
+ RedirectingConstructorInvocation(this.keyword, this.period,
+ SimpleIdentifier constructorName, ArgumentList argumentList) {
_constructorName = becomeParentOf(constructorName);
_argumentList = becomeParentOf(argumentList);
}
- @override
- accept(AstVisitor visitor) => visitor.visitRedirectingConstructorInvocation(this);
-
/**
* Return the list of arguments to the constructor.
*
@@ -14720,6 +15839,15 @@ class RedirectingConstructorInvocation extends ConstructorInitializer {
*/
ArgumentList get argumentList => _argumentList;
+ /**
+ * Set the list of arguments to the constructor to the given list.
+ *
+ * @param argumentList the list of arguments to the constructor
+ */
+ void set argumentList(ArgumentList argumentList) {
+ _argumentList = becomeParentOf(argumentList);
+ }
+
@override
Token get beginToken => keyword;
@@ -14731,18 +15859,6 @@ class RedirectingConstructorInvocation extends ConstructorInitializer {
*/
SimpleIdentifier get constructorName => _constructorName;
- @override
- Token get endToken => _argumentList.endToken;
-
- /**
- * Set the list of arguments to the constructor to the given list.
- *
- * @param argumentList the list of arguments to the constructor
- */
- void set argumentList(ArgumentList argumentList) {
- _argumentList = becomeParentOf(argumentList);
- }
-
/**
* Set the name of the constructor that is being invoked to the given identifier.
*
@@ -14753,6 +15869,13 @@ class RedirectingConstructorInvocation extends ConstructorInitializer {
}
@override
+ Token get endToken => _argumentList.endToken;
+
+ @override
+ accept(AstVisitor visitor) =>
+ visitor.visitRedirectingConstructorInvocation(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_constructorName, visitor);
safelyVisitChild(_argumentList, visitor);
@@ -14781,9 +15904,6 @@ class RethrowExpression extends Expression {
RethrowExpression(this.keyword);
@override
- accept(AstVisitor visitor) => visitor.visitRethrowExpression(this);
-
- @override
Token get beginToken => keyword;
@override
@@ -14793,6 +15913,9 @@ class RethrowExpression extends Expression {
int get precedence => 0;
@override
+ accept(AstVisitor visitor) => visitor.visitRethrowExpression(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
// There are no children to visit.
}
@@ -14835,9 +15958,6 @@ class ReturnStatement extends Statement {
}
@override
- accept(AstVisitor visitor) => visitor.visitReturnStatement(this);
-
- @override
Token get beginToken => keyword;
@override
@@ -14861,6 +15981,9 @@ class ReturnStatement extends Statement {
}
@override
+ accept(AstVisitor visitor) => visitor.visitReturnStatement(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_expression, visitor);
}
@@ -14879,7 +16002,8 @@ class ScopedNameFinder extends GeneralizingAstVisitor<Object> {
AstNode _immediateChild;
- Map<String, SimpleIdentifier> _locals = new HashMap<String, SimpleIdentifier>();
+ Map<String, SimpleIdentifier> _locals =
+ new HashMap<String, SimpleIdentifier>();
final int _position;
@@ -14953,7 +16077,8 @@ class ScopedNameFinder extends GeneralizingAstVisitor<Object> {
@override
Object visitFunctionExpression(FunctionExpression node) {
- if (node.parameters != null && !identical(_immediateChild, node.parameters)) {
+ if (node.parameters != null &&
+ !identical(_immediateChild, node.parameters)) {
_addParameters(node.parameters.parameters);
}
return super.visitFunctionExpression(node);
@@ -15032,7 +16157,8 @@ class ScopedNameFinder extends GeneralizingAstVisitor<Object> {
}
if (stmt is VariableDeclarationStatement) {
_addVariables(stmt.variables.variables);
- } else if (stmt is FunctionDeclarationStatement && !_referenceIsWithinLocalFunction) {
+ } else if (stmt is FunctionDeclarationStatement &&
+ !_referenceIsWithinLocalFunction) {
_addToScope(stmt.functionDeclaration.name);
}
}
@@ -15071,15 +16197,15 @@ class ScriptTag extends AstNode {
ScriptTag(this.scriptTag);
@override
- accept(AstVisitor visitor) => visitor.visitScriptTag(this);
-
- @override
Token get beginToken => scriptTag;
@override
Token get endToken => scriptTag;
@override
+ accept(AstVisitor visitor) => visitor.visitScriptTag(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
// There are no children to visit.
}
@@ -15106,14 +16232,12 @@ class ShowCombinator extends Combinator {
* @param keyword the comma introducing the combinator
* @param shownNames the list of names from the library that are made visible by this combinator
*/
- ShowCombinator(Token keyword, List<SimpleIdentifier> shownNames) : super(keyword) {
+ ShowCombinator(Token keyword, List<SimpleIdentifier> shownNames)
+ : super(keyword) {
_shownNames = new NodeList<SimpleIdentifier>(this, shownNames);
}
@override
- accept(AstVisitor visitor) => visitor.visitShowCombinator(this);
-
- @override
Token get endToken => _shownNames.endToken;
/**
@@ -15124,6 +16248,9 @@ class ShowCombinator extends Combinator {
NodeList<SimpleIdentifier> get shownNames => _shownNames;
@override
+ accept(AstVisitor visitor) => visitor.visitShowCombinator(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
_shownNames.accept(visitor);
}
@@ -15263,19 +16390,22 @@ class SimpleAstVisitor<R> implements AstVisitor<R> {
R visitFunctionDeclaration(FunctionDeclaration node) => null;
@override
- R visitFunctionDeclarationStatement(FunctionDeclarationStatement node) => null;
+ R visitFunctionDeclarationStatement(FunctionDeclarationStatement node) =>
+ null;
@override
R visitFunctionExpression(FunctionExpression node) => null;
@override
- R visitFunctionExpressionInvocation(FunctionExpressionInvocation node) => null;
+ R visitFunctionExpressionInvocation(FunctionExpressionInvocation node) =>
+ null;
@override
R visitFunctionTypeAlias(FunctionTypeAlias node) => null;
@override
- R visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) => null;
+ R visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) =>
+ null;
@override
R visitHideCombinator(HideCombinator node) => null;
@@ -15368,7 +16498,9 @@ class SimpleAstVisitor<R> implements AstVisitor<R> {
R visitPropertyAccess(PropertyAccess node) => null;
@override
- R visitRedirectingConstructorInvocation(RedirectingConstructorInvocation node) => null;
+ R
+ visitRedirectingConstructorInvocation(RedirectingConstructorInvocation node) =>
+ null;
@override
R visitRethrowExpression(RethrowExpression node) => null;
@@ -15443,7 +16575,8 @@ class SimpleAstVisitor<R> implements AstVisitor<R> {
R visitVariableDeclarationList(VariableDeclarationList node) => null;
@override
- R visitVariableDeclarationStatement(VariableDeclarationStatement node) => null;
+ R visitVariableDeclarationStatement(VariableDeclarationStatement node) =>
+ null;
@override
R visitWhileStatement(WhileStatement node) => null;
@@ -15485,14 +16618,13 @@ class SimpleFormalParameter extends NormalFormalParameter {
* @param type the name of the declared type of the parameter
* @param identifier the name of the parameter being declared
*/
- SimpleFormalParameter(Comment comment, List<Annotation> metadata, this.keyword, TypeName type, SimpleIdentifier identifier) : super(comment, metadata, identifier) {
+ SimpleFormalParameter(Comment comment, List<Annotation> metadata,
+ this.keyword, TypeName type, SimpleIdentifier identifier)
+ : super(comment, metadata, identifier) {
_type = becomeParentOf(type);
}
@override
- accept(AstVisitor visitor) => visitor.visitSimpleFormalParameter(this);
-
- @override
Token get beginToken {
NodeList<Annotation> metadata = this.metadata;
if (!metadata.isEmpty) {
@@ -15508,6 +16640,14 @@ class SimpleFormalParameter extends NormalFormalParameter {
@override
Token get endToken => identifier.endToken;
+ @override
+ bool get isConst =>
+ (keyword is KeywordToken) && (keyword as KeywordToken).keyword == Keyword.CONST;
+
+ @override
+ bool get isFinal =>
+ (keyword is KeywordToken) && (keyword as KeywordToken).keyword == Keyword.FINAL;
+
/**
* Return the name of the declared type of the parameter, or `null` if the parameter does
* not have a declared type.
@@ -15516,12 +16656,6 @@ class SimpleFormalParameter extends NormalFormalParameter {
*/
TypeName get type => _type;
- @override
- bool get isConst => (keyword is KeywordToken) && (keyword as KeywordToken).keyword == Keyword.CONST;
-
- @override
- bool get isFinal => (keyword is KeywordToken) && (keyword as KeywordToken).keyword == Keyword.FINAL;
-
/**
* Set the name of the declared type of the parameter to the given type name.
*
@@ -15532,6 +16666,9 @@ class SimpleFormalParameter extends NormalFormalParameter {
}
@override
+ accept(AstVisitor visitor) => visitor.visitSimpleFormalParameter(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChild(_type, visitor);
@@ -15585,9 +16722,6 @@ class SimpleIdentifier extends Identifier {
SimpleIdentifier(this.token);
@override
- accept(AstVisitor visitor) => visitor.visitSimpleIdentifier(this);
-
- @override
Token get beginToken => token;
@override
@@ -15595,11 +16729,37 @@ class SimpleIdentifier extends Identifier {
if (_propagatedElement == null) {
return _staticElement;
}
- return _propagatedElement;
+ return _propagatedElement;
+ }
+
+ @override
+ Token get endToken => token;
+
+ /**
+ * Returns `true` if this identifier is the "name" part of a prefixed identifier or a method
+ * invocation.
+ *
+ * @return `true` if this identifier is the "name" part of a prefixed identifier or a method
+ * invocation
+ */
+ bool get isQualified {
+ AstNode parent = this.parent;
+ if (parent is PrefixedIdentifier) {
+ return identical(parent.identifier, this);
+ }
+ if (parent is PropertyAccess) {
+ return identical(parent.propertyName, this);
+ }
+ if (parent is MethodInvocation) {
+ MethodInvocation invocation = parent;
+ return identical(invocation.methodName, this) &&
+ invocation.realTarget != null;
+ }
+ return false;
}
@override
- Token get endToken => token;
+ bool get isSynthetic => token.isSynthetic;
@override
String get name => token.lexeme;
@@ -15610,10 +16770,33 @@ class SimpleIdentifier extends Identifier {
@override
Element get propagatedElement => _propagatedElement;
+ /**
+ * Set the element associated with this identifier based on propagated type information to the
+ * given element.
+ *
+ * @param element the element to be associated with this identifier
+ */
+ void set propagatedElement(Element element) {
+ _propagatedElement = _validateElement(element);
+ }
+
@override
Element get staticElement => _staticElement;
/**
+ * Set the element associated with this identifier based on static type information to the given
+ * element.
+ *
+ * @param element the element to be associated with this identifier
+ */
+ void set staticElement(Element element) {
+ _staticElement = _validateElement(element);
+ }
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitSimpleIdentifier(this);
+
+ /**
* Return `true` if this identifier is the name being declared in a declaration.
*
* @return `true` if this identifier is the name being declared in a declaration
@@ -15643,10 +16826,12 @@ class SimpleIdentifier extends Identifier {
} else if (parent is ImportDirective) {
return identical(this, parent.prefix);
} else if (parent is Label) {
- return identical(this, parent.label) && (parent.parent is LabeledStatement);
+ return identical(this, parent.label) &&
+ (parent.parent is LabeledStatement);
} else if (parent is MethodDeclaration) {
return identical(this, parent.name);
- } else if (parent is FunctionTypedFormalParameter || parent is SimpleFormalParameter) {
+ } else if (parent is FunctionTypedFormalParameter ||
+ parent is SimpleFormalParameter) {
return identical(this, (parent as NormalFormalParameter).identifier);
} else if (parent is TypeParameter) {
return identical(this, parent.name);
@@ -15691,7 +16876,8 @@ class SimpleIdentifier extends Identifier {
// analyze usage
if (parent is AssignmentExpression) {
AssignmentExpression expr = parent as AssignmentExpression;
- if (identical(expr.leftHandSide, target) && expr.operator.type == TokenType.EQ) {
+ if (identical(expr.leftHandSide, target) &&
+ expr.operator.type == TokenType.EQ) {
return false;
}
}
@@ -15746,51 +16932,6 @@ class SimpleIdentifier extends Identifier {
return false;
}
- /**
- * Returns `true` if this identifier is the "name" part of a prefixed identifier or a method
- * invocation.
- *
- * @return `true` if this identifier is the "name" part of a prefixed identifier or a method
- * invocation
- */
- bool get isQualified {
- AstNode parent = this.parent;
- if (parent is PrefixedIdentifier) {
- return identical(parent.identifier, this);
- }
- if (parent is PropertyAccess) {
- return identical(parent.propertyName, this);
- }
- if (parent is MethodInvocation) {
- MethodInvocation invocation = parent;
- return identical(invocation.methodName, this) && invocation.realTarget != null;
- }
- return false;
- }
-
- @override
- bool get isSynthetic => token.isSynthetic;
-
- /**
- * Set the element associated with this identifier based on propagated type information to the
- * given element.
- *
- * @param element the element to be associated with this identifier
- */
- void set propagatedElement(Element element) {
- _propagatedElement = _validateElement(element);
- }
-
- /**
- * Set the element associated with this identifier based on static type information to the given
- * element.
- *
- * @param element the element to be associated with this identifier
- */
- void set staticElement(Element element) {
- _staticElement = _validateElement(element);
- }
-
@override
void visitChildren(AstVisitor visitor) {
// There are no children to visit.
@@ -15805,7 +16946,8 @@ class SimpleIdentifier extends Identifier {
* @param element the element to be associated with this identifier
* @return the element to be associated with this identifier
*/
- Element _returnOrReportElement(AstNode parent, bool isValid, Element element) {
+ Element _returnOrReportElement(AstNode parent, bool isValid,
+ Element element) {
if (!isValid) {
AnalysisEngine.instance.logger.logInformation(
"Internal error: attempting to set the name of a ${parent.runtimeType} to a ${element.runtimeType}",
@@ -15831,20 +16973,43 @@ class SimpleIdentifier extends Identifier {
return _returnOrReportElement(parent, element is ClassElement, element);
} else if (parent is ClassTypeAlias && identical(parent.name, this)) {
return _returnOrReportElement(parent, element is ClassElement, element);
- } else if (parent is DeclaredIdentifier && identical(parent.identifier, this)) {
- return _returnOrReportElement(parent, element is LocalVariableElement, element);
- } else if (parent is FormalParameter && identical(parent.identifier, this)) {
- return _returnOrReportElement(parent, element is ParameterElement, element);
+ } else if (parent is DeclaredIdentifier &&
+ identical(parent.identifier, this)) {
+ return _returnOrReportElement(
+ parent,
+ element is LocalVariableElement,
+ element);
+ } else if (parent is FormalParameter &&
+ identical(parent.identifier, this)) {
+ return _returnOrReportElement(
+ parent,
+ element is ParameterElement,
+ element);
} else if (parent is FunctionDeclaration && identical(parent.name, this)) {
- return _returnOrReportElement(parent, element is ExecutableElement, element);
+ return _returnOrReportElement(
+ parent,
+ element is ExecutableElement,
+ element);
} else if (parent is FunctionTypeAlias && identical(parent.name, this)) {
- return _returnOrReportElement(parent, element is FunctionTypeAliasElement, element);
+ return _returnOrReportElement(
+ parent,
+ element is FunctionTypeAliasElement,
+ element);
} else if (parent is MethodDeclaration && identical(parent.name, this)) {
- return _returnOrReportElement(parent, element is ExecutableElement, element);
+ return _returnOrReportElement(
+ parent,
+ element is ExecutableElement,
+ element);
} else if (parent is TypeParameter && identical(parent.name, this)) {
- return _returnOrReportElement(parent, element is TypeParameterElement, element);
+ return _returnOrReportElement(
+ parent,
+ element is TypeParameterElement,
+ element);
} else if (parent is VariableDeclaration && identical(parent.name, this)) {
- return _returnOrReportElement(parent, element is VariableElement, element);
+ return _returnOrReportElement(
+ parent,
+ element is VariableElement,
+ element);
}
return element;
}
@@ -15902,10 +17067,12 @@ class SimpleStringLiteral extends SingleStringLiteral {
}
@override
- accept(AstVisitor visitor) => visitor.visitSimpleStringLiteral(this);
+ Token get beginToken => literal;
@override
- Token get beginToken => literal;
+ int get contentsEnd {
+ return contentsOffset + value.length;
+ }
@override
int get contentsOffset {
@@ -15922,20 +17089,8 @@ class SimpleStringLiteral extends SingleStringLiteral {
}
@override
- int get contentsEnd {
- return contentsOffset + value.length;
- }
-
- @override
Token get endToken => literal;
- /**
- * Return the value of the literal.
- *
- * @return the value of the literal
- */
- String get value => _value;
-
@override
bool get isMultiline {
String lexeme = literal.lexeme;
@@ -15972,6 +17127,13 @@ class SimpleStringLiteral extends SingleStringLiteral {
bool get isSynthetic => literal.isSynthetic;
/**
+ * Return the value of the literal.
+ *
+ * @return the value of the literal
+ */
+ String get value => _value;
+
+ /**
* Set the value of the literal to the given string.
*
* @param string the value of the literal
@@ -15981,14 +17143,55 @@ class SimpleStringLiteral extends SingleStringLiteral {
}
@override
- void visitChildren(AstVisitor visitor) {
- // There are no children to visit.
- }
+ accept(AstVisitor visitor) => visitor.visitSimpleStringLiteral(this);
@override
void appendStringValue(StringBuffer buffer) {
buffer.write(value);
}
+
+ @override
+ void visitChildren(AstVisitor visitor) {
+ // There are no children to visit.
+ }
+}
+
+/**
+ * Instances of the class [SingleStringLiteral] represent a single string
+ * literal expression.
+ *
+ * <pre>
+ * singleStringLiteral ::=
+ * [SimpleStringLiteral]
+ * | [StringInterpolation]
+ * </pre>
+ */
+abstract class SingleStringLiteral extends StringLiteral {
+ /**
+ * Return the offset of the after-last contents character.
+ */
+ int get contentsEnd;
+
+ /**
+ * Return the offset of the first contents character.
+ */
+ int get contentsOffset;
+
+ /**
+ * Return `true` if this string literal is a multi-line string.
+ */
+ bool get isMultiline;
+
+ /**
+ * Return `true` if this string literal is a raw string.
+ */
+ bool get isRaw;
+
+ /**
+ * Return `true` if this string literal uses single qoutes (' or ''').
+ * Return `false` if this string literal uses double qoutes (" or """).
+ */
+ bool get isSingleQuoted;
}
/**
@@ -16041,29 +17244,12 @@ class StringInterpolation extends SingleStringLiteral {
}
@override
- accept(AstVisitor visitor) => visitor.visitStringInterpolation(this);
-
- @override
Token get beginToken => _elements.beginToken;
- /**
- * Return the elements that will be composed to produce the resulting string.
- *
- * @return the elements that will be composed to produce the resulting string
- */
- NodeList<InterpolationElement> get elements => _elements;
-
- @override
- Token get endToken => _elements.endToken;
-
- @override
- void visitChildren(AstVisitor visitor) {
- _elements.accept(visitor);
- }
-
@override
- void appendStringValue(StringBuffer buffer) {
- throw new IllegalArgumentException();
+ int get contentsEnd {
+ InterpolationString element = _elements.last;
+ return element.contentsEnd;
}
@override
@@ -16072,11 +17258,15 @@ class StringInterpolation extends SingleStringLiteral {
return element.contentsOffset;
}
+ /**
+ * Return the elements that will be composed to produce the resulting string.
+ *
+ * @return the elements that will be composed to produce the resulting string
+ */
+ NodeList<InterpolationElement> get elements => _elements;
+
@override
- int get contentsEnd {
- InterpolationString element = _elements.last;
- return element.contentsEnd;
- }
+ Token get endToken => _elements.endToken;
@override
bool get isMultiline {
@@ -16092,84 +17282,59 @@ class StringInterpolation extends SingleStringLiteral {
@override
bool get isRaw => false;
-
@override
bool get isSingleQuoted {
InterpolationString lastString = _elements.first;
String lexeme = lastString.contents.lexeme;
return StringUtilities.startsWithChar(lexeme, 0x27);
}
-}
-
-/**
- * Instances of the class `StringLiteral` represent a string literal expression.
- *
- * <pre>
- * stringLiteral ::=
- * [SimpleStringLiteral]
- * | [AdjacentStrings]
- * | [StringInterpolation]
- * </pre>
- */
-abstract class StringLiteral extends Literal {
- /**
- * Return the value of the string literal, or `null` if the string is not a
- * constant string without any string interpolation.
- */
- String get stringValue {
- StringBuffer buffer = new StringBuffer();
- try {
- appendStringValue(buffer);
- } on IllegalArgumentException catch (exception) {
- return null;
- }
- return buffer.toString();
- }
- /**
- * Append the value of this string literal to the given [buffer]. Throw an
- * [IllegalArgumentException] if the string is not a constant string without
- * any string interpolation.
- */
- void appendStringValue(StringBuffer buffer);
-}
+ @override
+ accept(AstVisitor visitor) => visitor.visitStringInterpolation(this);
-/**
- * Instances of the class [SingleStringLiteral] represent a single string
- * literal expression.
- *
- * <pre>
- * singleStringLiteral ::=
- * [SimpleStringLiteral]
- * | [StringInterpolation]
- * </pre>
- */
-abstract class SingleStringLiteral extends StringLiteral {
- /**
- * Return the offset of the first contents character.
- */
- int get contentsOffset;
+ @override
+ void appendStringValue(StringBuffer buffer) {
+ throw new IllegalArgumentException();
+ }
- /**
- * Return the offset of the after-last contents character.
- */
- int get contentsEnd;
- /**
- * Return `true` if this string literal is a multi-line string.
- */
- bool get isMultiline;
+ @override
+ void visitChildren(AstVisitor visitor) {
+ _elements.accept(visitor);
+ }
+}
+/**
+ * Instances of the class `StringLiteral` represent a string literal expression.
+ *
+ * <pre>
+ * stringLiteral ::=
+ * [SimpleStringLiteral]
+ * | [AdjacentStrings]
+ * | [StringInterpolation]
+ * </pre>
+ */
+abstract class StringLiteral extends Literal {
/**
- * Return `true` if this string literal is a raw string.
+ * Return the value of the string literal, or `null` if the string is not a
+ * constant string without any string interpolation.
*/
- bool get isRaw;
+ String get stringValue {
+ StringBuffer buffer = new StringBuffer();
+ try {
+ appendStringValue(buffer);
+ } on IllegalArgumentException catch (exception) {
+ return null;
+ }
+ return buffer.toString();
+ }
/**
- * Return `true` if this string literal uses single qoutes (' or ''').
- * Return `false` if this string literal uses double qoutes (" or """).
+ * Append the value of this string literal to the given [buffer]. Throw an
+ * [IllegalArgumentException] if the string is not a constant string without
+ * any string interpolation.
*/
- bool get isSingleQuoted;
+ void appendStringValue(StringBuffer buffer);
}
/**
@@ -16219,14 +17384,12 @@ class SuperConstructorInvocation extends ConstructorInitializer {
* @param constructorName the name of the constructor that is being invoked
* @param argumentList the list of arguments to the constructor
*/
- SuperConstructorInvocation(this.keyword, this.period, SimpleIdentifier constructorName, ArgumentList argumentList) {
+ SuperConstructorInvocation(this.keyword, this.period,
+ SimpleIdentifier constructorName, ArgumentList argumentList) {
_constructorName = becomeParentOf(constructorName);
_argumentList = becomeParentOf(argumentList);
}
- @override
- accept(AstVisitor visitor) => visitor.visitSuperConstructorInvocation(this);
-
/**
* Return the list of arguments to the constructor.
*
@@ -16234,6 +17397,15 @@ class SuperConstructorInvocation extends ConstructorInitializer {
*/
ArgumentList get argumentList => _argumentList;
+ /**
+ * Set the list of arguments to the constructor to the given list.
+ *
+ * @param argumentList the list of arguments to the constructor
+ */
+ void set argumentList(ArgumentList argumentList) {
+ _argumentList = becomeParentOf(argumentList);
+ }
+
@override
Token get beginToken => keyword;
@@ -16245,18 +17417,6 @@ class SuperConstructorInvocation extends ConstructorInitializer {
*/
SimpleIdentifier get constructorName => _constructorName;
- @override
- Token get endToken => _argumentList.endToken;
-
- /**
- * Set the list of arguments to the constructor to the given list.
- *
- * @param argumentList the list of arguments to the constructor
- */
- void set argumentList(ArgumentList argumentList) {
- _argumentList = becomeParentOf(argumentList);
- }
-
/**
* Set the name of the constructor that is being invoked to the given identifier.
*
@@ -16267,6 +17427,12 @@ class SuperConstructorInvocation extends ConstructorInitializer {
}
@override
+ Token get endToken => _argumentList.endToken;
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitSuperConstructorInvocation(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_constructorName, visitor);
safelyVisitChild(_argumentList, visitor);
@@ -16295,9 +17461,6 @@ class SuperExpression extends Expression {
SuperExpression(this.keyword);
@override
- accept(AstVisitor visitor) => visitor.visitSuperExpression(this);
-
- @override
Token get beginToken => keyword;
@override
@@ -16307,6 +17470,9 @@ class SuperExpression extends Expression {
int get precedence => 16;
@override
+ accept(AstVisitor visitor) => visitor.visitSuperExpression(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
// There are no children to visit.
}
@@ -16335,13 +17501,12 @@ class SwitchCase extends SwitchMember {
* @param colon the colon separating the keyword or the expression from the statements
* @param statements the statements that will be executed if this switch member is selected
*/
- SwitchCase(List<Label> labels, Token keyword, Expression expression, Token colon, List<Statement> statements) : super(labels, keyword, colon, statements) {
+ SwitchCase(List<Label> labels, Token keyword, Expression expression,
+ Token colon, List<Statement> statements)
+ : super(labels, keyword, colon, statements) {
_expression = becomeParentOf(expression);
}
- @override
- accept(AstVisitor visitor) => visitor.visitSwitchCase(this);
-
/**
* Return the expression controlling whether the statements will be executed.
*
@@ -16359,6 +17524,9 @@ class SwitchCase extends SwitchMember {
}
@override
+ accept(AstVisitor visitor) => visitor.visitSwitchCase(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
labels.accept(visitor);
safelyVisitChild(_expression, visitor);
@@ -16383,7 +17551,9 @@ class SwitchDefault extends SwitchMember {
* @param colon the colon separating the keyword or the expression from the statements
* @param statements the statements that will be executed if this switch member is selected
*/
- SwitchDefault(List<Label> labels, Token keyword, Token colon, List<Statement> statements) : super(labels, keyword, colon, statements);
+ SwitchDefault(List<Label> labels, Token keyword, Token colon,
+ List<Statement> statements)
+ : super(labels, keyword, colon, statements);
@override
accept(AstVisitor visitor) => visitor.visitSwitchDefault(this);
@@ -16434,7 +17604,8 @@ abstract class SwitchMember extends AstNode {
* @param colon the colon separating the keyword or the expression from the statements
* @param statements the statements that will be executed if this switch member is selected
*/
- SwitchMember(List<Label> labels, this.keyword, this.colon, List<Statement> statements) {
+ SwitchMember(List<Label> labels, this.keyword, this.colon,
+ List<Statement> statements) {
_labels = new NodeList<Label>(this, labels);
_statements = new NodeList<Statement>(this, statements);
}
@@ -16525,15 +17696,14 @@ class SwitchStatement extends Statement {
* @param members the switch members that can be selected by the expression
* @param rightBracket the right curly bracket
*/
- SwitchStatement(this.keyword, this.leftParenthesis, Expression expression, this.rightParenthesis, this.leftBracket, List<SwitchMember> members, this.rightBracket) {
+ SwitchStatement(this.keyword, this.leftParenthesis, Expression expression,
+ this.rightParenthesis, this.leftBracket, List<SwitchMember> members,
+ this.rightBracket) {
_expression = becomeParentOf(expression);
_members = new NodeList<SwitchMember>(this, members);
}
@override
- accept(AstVisitor visitor) => visitor.visitSwitchStatement(this);
-
- @override
Token get beginToken => keyword;
@override
@@ -16547,13 +17717,6 @@ class SwitchStatement extends Statement {
Expression get expression => _expression;
/**
- * Return the switch members that can be selected by the expression.
- *
- * @return the switch members that can be selected by the expression
- */
- NodeList<SwitchMember> get members => _members;
-
- /**
* Set the expression used to determine which of the switch members will be selected to the given
* expression.
*
@@ -16563,6 +17726,16 @@ class SwitchStatement extends Statement {
_expression = becomeParentOf(expression);
}
+ /**
+ * Return the switch members that can be selected by the expression.
+ *
+ * @return the switch members that can be selected by the expression
+ */
+ NodeList<SwitchMember> get members => _members;
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitSwitchStatement(this);
+
@override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_expression, visitor);
@@ -16598,15 +17771,15 @@ class SymbolLiteral extends Literal {
SymbolLiteral(this.poundSign, this.components);
@override
- accept(AstVisitor visitor) => visitor.visitSymbolLiteral(this);
-
- @override
Token get beginToken => poundSign;
@override
Token get endToken => components[components.length - 1];
@override
+ accept(AstVisitor visitor) => visitor.visitSymbolLiteral(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
// There are no children to visit.
}
@@ -16634,9 +17807,6 @@ class ThisExpression extends Expression {
ThisExpression(this.keyword);
@override
- accept(AstVisitor visitor) => visitor.visitThisExpression(this);
-
- @override
Token get beginToken => keyword;
@override
@@ -16646,6 +17816,9 @@ class ThisExpression extends Expression {
int get precedence => 16;
@override
+ accept(AstVisitor visitor) => visitor.visitThisExpression(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
// There are no children to visit.
}
@@ -16681,9 +17854,6 @@ class ThrowExpression extends Expression {
}
@override
- accept(AstVisitor visitor) => visitor.visitThrowExpression(this);
-
- @override
Token get beginToken => keyword;
@override
@@ -16701,9 +17871,6 @@ class ThrowExpression extends Expression {
*/
Expression get expression => _expression;
- @override
- int get precedence => 0;
-
/**
* Set the expression computing the exception to be thrown to the given expression.
*
@@ -16714,12 +17881,88 @@ class ThrowExpression extends Expression {
}
@override
+ int get precedence => 0;
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitThrowExpression(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_expression, visitor);
}
}
/**
+ * Instances of the class `TopLevelVariableDeclaration` represent the declaration of one or
+ * more top-level variables of the same type.
+ *
+ * <pre>
+ * topLevelVariableDeclaration ::=
+ * ('final' | 'const') type? staticFinalDeclarationList ';'
+ * | variableDeclaration ';'
+ * </pre>
+ */
+class TopLevelVariableDeclaration extends CompilationUnitMember {
+ /**
+ * The top-level variables being declared.
+ */
+ VariableDeclarationList _variableList;
+
+ /**
+ * The semicolon terminating the declaration.
+ */
+ Token semicolon;
+
+ /**
+ * Initialize a newly created top-level variable declaration.
+ *
+ * @param comment the documentation comment associated with this variable
+ * @param metadata the annotations associated with this variable
+ * @param variableList the top-level variables being declared
+ * @param semicolon the semicolon terminating the declaration
+ */
+ TopLevelVariableDeclaration(Comment comment, List<Annotation> metadata,
+ VariableDeclarationList variableList, this.semicolon)
+ : super(comment, metadata) {
+ _variableList = becomeParentOf(variableList);
+ }
+
+ @override
+ Element get element => null;
+
+ @override
+ Token get endToken => semicolon;
+
+ @override
+ Token get firstTokenAfterCommentAndMetadata => _variableList.beginToken;
+
+ /**
+ * Return the top-level variables being declared.
+ *
+ * @return the top-level variables being declared
+ */
+ VariableDeclarationList get variables => _variableList;
+
+ /**
+ * Set the top-level variables being declared to the given list of variables.
+ *
+ * @param variableList the top-level variables being declared
+ */
+ void set variables(VariableDeclarationList variableList) {
+ _variableList = becomeParentOf(variableList);
+ }
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitTopLevelVariableDeclaration(this);
+
+ @override
+ void visitChildren(AstVisitor visitor) {
+ super.visitChildren(visitor);
+ safelyVisitChild(_variableList, visitor);
+ }
+}
+
+/**
* Instances of the class `ToSourceVisitor` write a source representation of a visited AST
* node (and all of it's children) to a writer.
*/
@@ -17482,7 +18725,8 @@ class ToSourceVisitor implements AstVisitor<Object> {
}
@override
- Object visitRedirectingConstructorInvocation(RedirectingConstructorInvocation node) {
+ Object
+ visitRedirectingConstructorInvocation(RedirectingConstructorInvocation node) {
_writer.print("this");
_visitNodeWithPrefix(".", node.constructorName);
_visitNode(node.argumentList);
@@ -17772,7 +19016,8 @@ class ToSourceVisitor implements AstVisitor<Object> {
* @param nodes the nodes to be printed
* @param separator the separator to be printed between adjacent nodes
*/
- void _visitNodeListWithSeparatorAndPrefix(String prefix, NodeList<AstNode> nodes, String separator) {
+ void _visitNodeListWithSeparatorAndPrefix(String prefix,
+ NodeList<AstNode> nodes, String separator) {
if (nodes != null) {
int size = nodes.length;
if (size > 0) {
@@ -17794,7 +19039,8 @@ class ToSourceVisitor implements AstVisitor<Object> {
* @param separator the separator to be printed between adjacent nodes
* @param suffix the suffix to be printed if the list is not empty
*/
- void _visitNodeListWithSeparatorAndSuffix(NodeList<AstNode> nodes, String separator, String suffix) {
+ void _visitNodeListWithSeparatorAndSuffix(NodeList<AstNode> nodes,
+ String separator, String suffix) {
if (nodes != null) {
int size = nodes.length;
if (size > 0) {
@@ -17850,74 +19096,6 @@ class ToSourceVisitor implements AstVisitor<Object> {
}
/**
- * Instances of the class `TopLevelVariableDeclaration` represent the declaration of one or
- * more top-level variables of the same type.
- *
- * <pre>
- * topLevelVariableDeclaration ::=
- * ('final' | 'const') type? staticFinalDeclarationList ';'
- * | variableDeclaration ';'
- * </pre>
- */
-class TopLevelVariableDeclaration extends CompilationUnitMember {
- /**
- * The top-level variables being declared.
- */
- VariableDeclarationList _variableList;
-
- /**
- * The semicolon terminating the declaration.
- */
- Token semicolon;
-
- /**
- * Initialize a newly created top-level variable declaration.
- *
- * @param comment the documentation comment associated with this variable
- * @param metadata the annotations associated with this variable
- * @param variableList the top-level variables being declared
- * @param semicolon the semicolon terminating the declaration
- */
- TopLevelVariableDeclaration(Comment comment, List<Annotation> metadata, VariableDeclarationList variableList, this.semicolon) : super(comment, metadata) {
- _variableList = becomeParentOf(variableList);
- }
-
- @override
- accept(AstVisitor visitor) => visitor.visitTopLevelVariableDeclaration(this);
-
- @override
- Element get element => null;
-
- @override
- Token get endToken => semicolon;
-
- /**
- * Return the top-level variables being declared.
- *
- * @return the top-level variables being declared
- */
- VariableDeclarationList get variables => _variableList;
-
- /**
- * Set the top-level variables being declared to the given list of variables.
- *
- * @param variableList the top-level variables being declared
- */
- void set variables(VariableDeclarationList variableList) {
- _variableList = becomeParentOf(variableList);
- }
-
- @override
- void visitChildren(AstVisitor visitor) {
- super.visitChildren(visitor);
- safelyVisitChild(_variableList, visitor);
- }
-
- @override
- Token get firstTokenAfterCommentAndMetadata => _variableList.beginToken;
-}
-
-/**
* Instances of the class `TryStatement` represent a try statement.
*
* <pre>
@@ -17965,14 +19143,12 @@ class TryStatement extends Statement {
* @param finallyKeyword the token representing the 'finally' keyword
* @param finallyBlock the finally block contained in the try statement
*/
- TryStatement(this.tryKeyword, Block body, List<CatchClause> catchClauses, this.finallyKeyword, Block finallyBlock) {
+ TryStatement(this.tryKeyword, Block body, List<CatchClause> catchClauses,
+ this.finallyKeyword, Block finallyBlock) {
_body = becomeParentOf(body);
_catchClauses = new NodeList<CatchClause>(this, catchClauses);
_finallyBlock = becomeParentOf(finallyBlock);
- }
-
- @override
- accept(AstVisitor visitor) => visitor.visitTryStatement(this);
+ }
@override
Token get beginToken => tryKeyword;
@@ -17985,6 +19161,15 @@ class TryStatement extends Statement {
Block get body => _body;
/**
+ * Set the body of the statement to the given block.
+ *
+ * @param block the body of the statement
+ */
+ void set body(Block block) {
+ _body = becomeParentOf(block);
+ }
+
+ /**
* Return the catch clauses contained in the try statement.
*
* @return the catch clauses contained in the try statement
@@ -18012,15 +19197,6 @@ class TryStatement extends Statement {
Block get finallyBlock => _finallyBlock;
/**
- * Set the body of the statement to the given block.
- *
- * @param block the body of the statement
- */
- void set body(Block block) {
- _body = becomeParentOf(block);
- }
-
- /**
* Set the finally block contained in the try statement to the given block.
*
* @param block the finally block contained in the try statement
@@ -18030,6 +19206,9 @@ class TryStatement extends Statement {
}
@override
+ accept(AstVisitor visitor) => visitor.visitTryStatement(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_body, visitor);
_catchClauses.accept(visitor);
@@ -18068,7 +19247,9 @@ abstract class TypeAlias extends CompilationUnitMember {
* @param keyword the token representing the 'typedef' keyword
* @param semicolon the semicolon terminating the declaration
*/
- TypeAlias(Comment comment, List<Annotation> metadata, this.keyword, this.semicolon) : super(comment, metadata);
+ TypeAlias(Comment comment, List<Annotation> metadata, this.keyword,
+ this.semicolon)
+ : super(comment, metadata);
@override
Token get endToken => semicolon;
@@ -18108,13 +19289,11 @@ class TypeArgumentList extends AstNode {
* @param arguments the type arguments associated with the type
* @param rightBracket the right bracket
*/
- TypeArgumentList(this.leftBracket, List<TypeName> arguments, this.rightBracket) {
+ TypeArgumentList(this.leftBracket, List<TypeName> arguments,
+ this.rightBracket) {
_arguments = new NodeList<TypeName>(this, arguments);
}
- @override
- accept(AstVisitor visitor) => visitor.visitTypeArgumentList(this);
-
/**
* Return the type arguments associated with the type.
*
@@ -18129,12 +19308,71 @@ class TypeArgumentList extends AstNode {
Token get endToken => rightBracket;
@override
+ accept(AstVisitor visitor) => visitor.visitTypeArgumentList(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
_arguments.accept(visitor);
}
}
/**
+ * The abstract class `TypedLiteral` defines the behavior common to literals that have a type
+ * associated with them.
+ *
+ * <pre>
+ * listLiteral ::=
+ * [ListLiteral]
+ * | [MapLiteral]
+ * </pre>
+ */
+abstract class TypedLiteral extends Literal {
+ /**
+ * The token representing the 'const' keyword, or `null` if the literal is not a constant.
+ */
+ Token constKeyword;
+
+ /**
+ * The type argument associated with this literal, or `null` if no type arguments were
+ * declared.
+ */
+ TypeArgumentList _typeArguments;
+
+ /**
+ * Initialize a newly created typed literal.
+ *
+ * @param constKeyword the token representing the 'const' keyword
+ * @param typeArguments the type argument associated with this literal, or `null` if no type
+ * arguments were declared
+ */
+ TypedLiteral(this.constKeyword, TypeArgumentList typeArguments) {
+ _typeArguments = becomeParentOf(typeArguments);
+ }
+
+ /**
+ * Return the type argument associated with this literal, or `null` if no type arguments
+ * were declared.
+ *
+ * @return the type argument associated with this literal
+ */
+ TypeArgumentList get typeArguments => _typeArguments;
+
+ /**
+ * Set the type argument associated with this literal to the given arguments.
+ *
+ * @param typeArguments the type argument associated with this literal
+ */
+ void set typeArguments(TypeArgumentList typeArguments) {
+ _typeArguments = becomeParentOf(typeArguments);
+ }
+
+ @override
+ void visitChildren(AstVisitor visitor) {
+ safelyVisitChild(_typeArguments, visitor);
+ }
+}
+
+/**
* Instances of the class `TypeName` represent the name of a type, which can optionally
* include type arguments.
*
@@ -18172,9 +19410,6 @@ class TypeName extends AstNode {
}
@override
- accept(AstVisitor visitor) => visitor.visitTypeName(this);
-
- @override
Token get beginToken => _name.beginToken;
@override
@@ -18186,21 +19421,6 @@ class TypeName extends AstNode {
}
/**
- * Return the name of the type.
- *
- * @return the name of the type
- */
- Identifier get name => _name;
-
- /**
- * Return the type arguments associated with the type, or `null` if there are no type
- * arguments.
- *
- * @return the type arguments associated with the type
- */
- TypeArgumentList get typeArguments => _typeArguments;
-
- /**
* Return `true` if this type is a deferred type.
*
* 15.1 Static Types: A type <i>T</i> is deferred iff it is of the form </i>p.T</i> where <i>p</i>
@@ -18220,6 +19440,13 @@ class TypeName extends AstNode {
bool get isSynthetic => _name.isSynthetic && _typeArguments == null;
/**
+ * Return the name of the type.
+ *
+ * @return the name of the type
+ */
+ Identifier get name => _name;
+
+ /**
* Set the name of the type to the given identifier.
*
* @param identifier the name of the type
@@ -18229,6 +19456,14 @@ class TypeName extends AstNode {
}
/**
+ * Return the type arguments associated with the type, or `null` if there are no type
+ * arguments.
+ *
+ * @return the type arguments associated with the type
+ */
+ TypeArgumentList get typeArguments => _typeArguments;
+
+ /**
* Set the type arguments associated with the type to the given type arguments.
*
* @param typeArguments the type arguments associated with the type
@@ -18238,6 +19473,9 @@ class TypeName extends AstNode {
}
@override
+ accept(AstVisitor visitor) => visitor.visitTypeName(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_name, visitor);
safelyVisitChild(_typeArguments, visitor);
@@ -18279,14 +19517,13 @@ class TypeParameter extends Declaration {
* @param keyword the token representing the 'extends' keyword
* @param bound the name of the upper bound for legal arguments
*/
- TypeParameter(Comment comment, List<Annotation> metadata, SimpleIdentifier name, this.keyword, TypeName bound) : super(comment, metadata) {
+ TypeParameter(Comment comment, List<Annotation> metadata,
+ SimpleIdentifier name, this.keyword, TypeName bound)
+ : super(comment, metadata) {
_name = becomeParentOf(name);
_bound = becomeParentOf(bound);
}
- @override
- accept(AstVisitor visitor) => visitor.visitTypeParameter(this);
-
/**
* Return the name of the upper bound for legal arguments, or `null` if there was no
* explicit upper bound.
@@ -18295,8 +19532,18 @@ class TypeParameter extends Declaration {
*/
TypeName get bound => _bound;
+ /**
+ * Set the name of the upper bound for legal arguments to the given type name.
+ *
+ * @param typeName the name of the upper bound for legal arguments
+ */
+ void set bound(TypeName typeName) {
+ _bound = becomeParentOf(typeName);
+ }
+
@override
- TypeParameterElement get element => _name != null ? (_name.staticElement as TypeParameterElement) : null;
+ TypeParameterElement get element =>
+ _name != null ? (_name.staticElement as TypeParameterElement) : null;
@override
Token get endToken {
@@ -18306,6 +19553,9 @@ class TypeParameter extends Declaration {
return _bound.endToken;
}
+ @override
+ Token get firstTokenAfterCommentAndMetadata => _name.beginToken;
+
/**
* Return the name of the type parameter.
*
@@ -18314,15 +19564,6 @@ class TypeParameter extends Declaration {
SimpleIdentifier get name => _name;
/**
- * Set the name of the upper bound for legal arguments to the given type name.
- *
- * @param typeName the name of the upper bound for legal arguments
- */
- void set bound(TypeName typeName) {
- _bound = becomeParentOf(typeName);
- }
-
- /**
* Set the name of the type parameter to the given identifier.
*
* @param identifier the name of the type parameter
@@ -18332,14 +19573,14 @@ class TypeParameter extends Declaration {
}
@override
+ accept(AstVisitor visitor) => visitor.visitTypeParameter(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChild(_name, visitor);
safelyVisitChild(_bound, visitor);
}
-
- @override
- Token get firstTokenAfterCommentAndMetadata => _name.beginToken;
}
/**
@@ -18373,14 +19614,12 @@ class TypeParameterList extends AstNode {
* @param typeParameters the type parameters in the list
* @param rightBracket the right angle bracket
*/
- TypeParameterList(this.leftBracket, List<TypeParameter> typeParameters, this.rightBracket) {
+ TypeParameterList(this.leftBracket, List<TypeParameter> typeParameters,
+ this.rightBracket) {
_typeParameters = new NodeList<TypeParameter>(this, typeParameters);
}
@override
- accept(AstVisitor visitor) => visitor.visitTypeParameterList(this);
-
- @override
Token get beginToken => leftBracket;
@override
@@ -18394,64 +19633,11 @@ class TypeParameterList extends AstNode {
NodeList<TypeParameter> get typeParameters => _typeParameters;
@override
- void visitChildren(AstVisitor visitor) {
- _typeParameters.accept(visitor);
- }
-}
-
-/**
- * The abstract class `TypedLiteral` defines the behavior common to literals that have a type
- * associated with them.
- *
- * <pre>
- * listLiteral ::=
- * [ListLiteral]
- * | [MapLiteral]
- * </pre>
- */
-abstract class TypedLiteral extends Literal {
- /**
- * The token representing the 'const' keyword, or `null` if the literal is not a constant.
- */
- Token constKeyword;
-
- /**
- * The type argument associated with this literal, or `null` if no type arguments were
- * declared.
- */
- TypeArgumentList _typeArguments;
-
- /**
- * Initialize a newly created typed literal.
- *
- * @param constKeyword the token representing the 'const' keyword
- * @param typeArguments the type argument associated with this literal, or `null` if no type
- * arguments were declared
- */
- TypedLiteral(this.constKeyword, TypeArgumentList typeArguments) {
- _typeArguments = becomeParentOf(typeArguments);
- }
-
- /**
- * Return the type argument associated with this literal, or `null` if no type arguments
- * were declared.
- *
- * @return the type argument associated with this literal
- */
- TypeArgumentList get typeArguments => _typeArguments;
-
- /**
- * Set the type argument associated with this literal to the given arguments.
- *
- * @param typeArguments the type argument associated with this literal
- */
- void set typeArguments(TypeArgumentList typeArguments) {
- _typeArguments = becomeParentOf(typeArguments);
- }
+ accept(AstVisitor visitor) => visitor.visitTypeParameterList(this);
@override
void visitChildren(AstVisitor visitor) {
- safelyVisitChild(_typeArguments, visitor);
+ _typeParameters.accept(visitor);
}
}
@@ -18530,7 +19716,8 @@ class UnifyingAstVisitor<R> implements AstVisitor<R> {
R visitConstructorDeclaration(ConstructorDeclaration node) => visitNode(node);
@override
- R visitConstructorFieldInitializer(ConstructorFieldInitializer node) => visitNode(node);
+ R visitConstructorFieldInitializer(ConstructorFieldInitializer node) =>
+ visitNode(node);
@override
R visitConstructorName(ConstructorName node) => visitNode(node);
@@ -18557,7 +19744,8 @@ class UnifyingAstVisitor<R> implements AstVisitor<R> {
R visitEmptyStatement(EmptyStatement node) => visitNode(node);
@override
- R visitEnumConstantDeclaration(EnumConstantDeclaration node) => visitNode(node);
+ R visitEnumConstantDeclaration(EnumConstantDeclaration node) =>
+ visitNode(node);
@override
R visitEnumDeclaration(EnumDeclaration node) => visitNode(node);
@@ -18593,19 +19781,22 @@ class UnifyingAstVisitor<R> implements AstVisitor<R> {
R visitFunctionDeclaration(FunctionDeclaration node) => visitNode(node);
@override
- R visitFunctionDeclarationStatement(FunctionDeclarationStatement node) => visitNode(node);
+ R visitFunctionDeclarationStatement(FunctionDeclarationStatement node) =>
+ visitNode(node);
@override
R visitFunctionExpression(FunctionExpression node) => visitNode(node);
@override
- R visitFunctionExpressionInvocation(FunctionExpressionInvocation node) => visitNode(node);
+ R visitFunctionExpressionInvocation(FunctionExpressionInvocation node) =>
+ visitNode(node);
@override
R visitFunctionTypeAlias(FunctionTypeAlias node) => visitNode(node);
@override
- R visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) => visitNode(node);
+ R visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) =>
+ visitNode(node);
@override
R visitHideCombinator(HideCombinator node) => visitNode(node);
@@ -18623,13 +19814,15 @@ class UnifyingAstVisitor<R> implements AstVisitor<R> {
R visitIndexExpression(IndexExpression node) => visitNode(node);
@override
- R visitInstanceCreationExpression(InstanceCreationExpression node) => visitNode(node);
+ R visitInstanceCreationExpression(InstanceCreationExpression node) =>
+ visitNode(node);
@override
R visitIntegerLiteral(IntegerLiteral node) => visitNode(node);
@override
- R visitInterpolationExpression(InterpolationExpression node) => visitNode(node);
+ R visitInterpolationExpression(InterpolationExpression node) =>
+ visitNode(node);
@override
R visitInterpolationString(InterpolationString node) => visitNode(node);
@@ -18682,7 +19875,8 @@ class UnifyingAstVisitor<R> implements AstVisitor<R> {
R visitNullLiteral(NullLiteral node) => visitNode(node);
@override
- R visitParenthesizedExpression(ParenthesizedExpression node) => visitNode(node);
+ R visitParenthesizedExpression(ParenthesizedExpression node) =>
+ visitNode(node);
@override
R visitPartDirective(PartDirective node) => visitNode(node);
@@ -18703,7 +19897,9 @@ class UnifyingAstVisitor<R> implements AstVisitor<R> {
R visitPropertyAccess(PropertyAccess node) => visitNode(node);
@override
- R visitRedirectingConstructorInvocation(RedirectingConstructorInvocation node) => visitNode(node);
+ R
+ visitRedirectingConstructorInvocation(RedirectingConstructorInvocation node) =>
+ visitNode(node);
@override
R visitRethrowExpression(RethrowExpression node) => visitNode(node);
@@ -18730,7 +19926,8 @@ class UnifyingAstVisitor<R> implements AstVisitor<R> {
R visitStringInterpolation(StringInterpolation node) => visitNode(node);
@override
- R visitSuperConstructorInvocation(SuperConstructorInvocation node) => visitNode(node);
+ R visitSuperConstructorInvocation(SuperConstructorInvocation node) =>
+ visitNode(node);
@override
R visitSuperExpression(SuperExpression node) => visitNode(node);
@@ -18754,7 +19951,8 @@ class UnifyingAstVisitor<R> implements AstVisitor<R> {
R visitThrowExpression(ThrowExpression node) => visitNode(node);
@override
- R visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) => visitNode(node);
+ R visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) =>
+ visitNode(node);
@override
R visitTryStatement(TryStatement node) => visitNode(node);
@@ -18775,10 +19973,12 @@ class UnifyingAstVisitor<R> implements AstVisitor<R> {
R visitVariableDeclaration(VariableDeclaration node) => visitNode(node);
@override
- R visitVariableDeclarationList(VariableDeclarationList node) => visitNode(node);
+ R visitVariableDeclarationList(VariableDeclarationList node) =>
+ visitNode(node);
@override
- R visitVariableDeclarationStatement(VariableDeclarationStatement node) => visitNode(node);
+ R visitVariableDeclarationStatement(VariableDeclarationStatement node) =>
+ visitNode(node);
@override
R visitWhileStatement(WhileStatement node) => visitNode(node);
@@ -18803,14 +20003,14 @@ class UnifyingAstVisitor<R> implements AstVisitor<R> {
*/
abstract class UriBasedDirective extends Directive {
/**
- * The URI referenced by this directive.
+ * The prefix of a URI using the `dart-ext` scheme to reference a native code library.
*/
- StringLiteral _uri;
+ static String _DART_EXT_SCHEME = "dart-ext:";
/**
- * The prefix of a URI using the `dart-ext` scheme to reference a native code library.
+ * The URI referenced by this directive.
*/
- static String _DART_EXT_SCHEME = "dart-ext:";
+ StringLiteral _uri;
/**
* The content of the URI.
@@ -18829,7 +20029,9 @@ abstract class UriBasedDirective extends Directive {
* @param metadata the annotations associated with the directive
* @param uri the URI referenced by this directive
*/
- UriBasedDirective(Comment comment, List<Annotation> metadata, StringLiteral uri) : super(comment, metadata) {
+ UriBasedDirective(Comment comment, List<Annotation> metadata,
+ StringLiteral uri)
+ : super(comment, metadata) {
_uri = becomeParentOf(uri);
}
@@ -18841,15 +20043,6 @@ abstract class UriBasedDirective extends Directive {
StringLiteral get uri => _uri;
/**
- * Return the element associated with the URI of this directive, or `null` if the AST
- * structure has not been resolved or if the URI could not be resolved. Examples of the latter
- * case include a directive that contains an invalid URL or a URL that does not exist.
- *
- * @return the element associated with this directive
- */
- Element get uriElement;
-
- /**
* Set the URI referenced by this directive to the given URI.
*
* @param uri the URI referenced by this directive
@@ -18859,6 +20052,15 @@ abstract class UriBasedDirective extends Directive {
}
/**
+ * Return the element associated with the URI of this directive, or `null` if the AST
+ * structure has not been resolved or if the URI could not be resolved. Examples of the latter
+ * case include a directive that contains an invalid URL or a URL that does not exist.
+ *
+ * @return the element associated with this directive
+ */
+ Element get uriElement;
+
+ /**
* Validate the given directive, but do not check for existence.
*
* @return a code indicating the problem if there is one, or `null` no problem
@@ -18894,17 +20096,20 @@ abstract class UriBasedDirective extends Directive {
* Validation codes returned by [UriBasedDirective.validate].
*/
class UriValidationCode {
+ static const UriValidationCode INVALID_URI =
+ const UriValidationCode('INVALID_URI');
+
+ static const UriValidationCode URI_WITH_INTERPOLATION =
+ const UriValidationCode('URI_WITH_INTERPOLATION');
+
+ static const UriValidationCode URI_WITH_DART_EXT_SCHEME =
+ const UriValidationCode('URI_WITH_DART_EXT_SCHEME');
+
/**
* The name of the validation code.
*/
final String name;
- static const UriValidationCode INVALID_URI = const UriValidationCode('INVALID_URI');
-
- static const UriValidationCode URI_WITH_INTERPOLATION = const UriValidationCode('URI_WITH_INTERPOLATION');
-
- static const UriValidationCode URI_WITH_DART_EXT_SCHEME = const UriValidationCode('URI_WITH_DART_EXT_SCHEME');
-
/**
* Initialize a newly created validation code to have the given [name].
*/
@@ -18951,14 +20156,13 @@ class VariableDeclaration extends Declaration {
* @param equals the equal sign separating the variable name from the initial value
* @param initializer the expression used to compute the initial value for the variable
*/
- VariableDeclaration(Comment comment, List<Annotation> metadata, SimpleIdentifier name, this.equals, Expression initializer) : super(comment, metadata) {
+ VariableDeclaration(Comment comment, List<Annotation> metadata,
+ SimpleIdentifier name, this.equals, Expression initializer)
+ : super(comment, metadata) {
_name = becomeParentOf(name);
_initializer = becomeParentOf(initializer);
}
- @override
- accept(AstVisitor visitor) => visitor.visitVariableDeclaration(this);
-
/**
* This overridden implementation of getDocumentationComment() looks in the grandparent node for
* dartdoc comments if no documentation is specifically available on the node.
@@ -18978,7 +20182,8 @@ class VariableDeclaration extends Declaration {
}
@override
- VariableElement get element => _name != null ? (_name.staticElement as VariableElement) : null;
+ VariableElement get element =>
+ _name != null ? (_name.staticElement as VariableElement) : null;
@override
Token get endToken {
@@ -18988,6 +20193,9 @@ class VariableDeclaration extends Declaration {
return _name.endToken;
}
+ @override
+ Token get firstTokenAfterCommentAndMetadata => _name.beginToken;
+
/**
* Return the expression used to compute the initial value for the variable, or `null` if
* the initial value was not specified.
@@ -18997,11 +20205,13 @@ class VariableDeclaration extends Declaration {
Expression get initializer => _initializer;
/**
- * Return the name of the variable being declared.
+ * Set the expression used to compute the initial value for the variable to the given expression.
*
- * @return the name of the variable being declared
+ * @param initializer the expression used to compute the initial value for the variable
*/
- SimpleIdentifier get name => _name;
+ void set initializer(Expression initializer) {
+ _initializer = becomeParentOf(initializer);
+ }
/**
* Return `true` if this variable was declared with the 'const' modifier.
@@ -19026,13 +20236,11 @@ class VariableDeclaration extends Declaration {
}
/**
- * Set the expression used to compute the initial value for the variable to the given expression.
+ * Return the name of the variable being declared.
*
- * @param initializer the expression used to compute the initial value for the variable
+ * @return the name of the variable being declared
*/
- void set initializer(Expression initializer) {
- _initializer = becomeParentOf(initializer);
- }
+ SimpleIdentifier get name => _name;
/**
* Set the name of the variable being declared to the given identifier.
@@ -19044,14 +20252,14 @@ class VariableDeclaration extends Declaration {
}
@override
+ accept(AstVisitor visitor) => visitor.visitVariableDeclaration(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChild(_name, visitor);
safelyVisitChild(_initializer, visitor);
}
-
- @override
- Token get firstTokenAfterCommentAndMetadata => _name.beginToken;
}
/**
@@ -19095,37 +20303,33 @@ class VariableDeclarationList extends AnnotatedNode {
* @param type the type of the variables being declared
* @param variables a list containing the individual variables being declared
*/
- VariableDeclarationList(Comment comment, List<Annotation> metadata, this.keyword, TypeName type, List<VariableDeclaration> variables) : super(comment, metadata) {
+ VariableDeclarationList(Comment comment, List<Annotation> metadata,
+ this.keyword, TypeName type, List<VariableDeclaration> variables)
+ : super(comment, metadata) {
_type = becomeParentOf(type);
_variables = new NodeList<VariableDeclaration>(this, variables);
}
@override
- accept(AstVisitor visitor) => visitor.visitVariableDeclarationList(this);
-
- @override
Token get endToken => _variables.endToken;
- /**
- * Return the type of the variables being declared, or `null` if no type was provided.
- *
- * @return the type of the variables being declared
- */
- TypeName get type => _type;
-
- /**
- * Return a list containing the individual variables being declared.
- *
- * @return a list containing the individual variables being declared
- */
- NodeList<VariableDeclaration> get variables => _variables;
+ @override
+ Token get firstTokenAfterCommentAndMetadata {
+ if (keyword != null) {
+ return keyword;
+ } else if (_type != null) {
+ return _type.beginToken;
+ }
+ return _variables.beginToken;
+ }
/**
* Return `true` if the variables in this list were declared with the 'const' modifier.
*
* @return `true` if the variables in this list were declared with the 'const' modifier
*/
- bool get isConst => keyword is KeywordToken && (keyword as KeywordToken).keyword == Keyword.CONST;
+ bool get isConst =>
+ keyword is KeywordToken && (keyword as KeywordToken).keyword == Keyword.CONST;
/**
* Return `true` if the variables in this list were declared with the 'final' modifier.
@@ -19134,7 +20338,15 @@ class VariableDeclarationList extends AnnotatedNode {
*
* @return `true` if the variables in this list were declared with the 'final' modifier
*/
- bool get isFinal => keyword is KeywordToken && (keyword as KeywordToken).keyword == Keyword.FINAL;
+ bool get isFinal =>
+ keyword is KeywordToken && (keyword as KeywordToken).keyword == Keyword.FINAL;
+
+ /**
+ * Return the type of the variables being declared, or `null` if no type was provided.
+ *
+ * @return the type of the variables being declared
+ */
+ TypeName get type => _type;
/**
* Set the type of the variables being declared to the given type name.
@@ -19145,22 +20357,22 @@ class VariableDeclarationList extends AnnotatedNode {
_type = becomeParentOf(typeName);
}
+ /**
+ * Return a list containing the individual variables being declared.
+ *
+ * @return a list containing the individual variables being declared
+ */
+ NodeList<VariableDeclaration> get variables => _variables;
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitVariableDeclarationList(this);
+
@override
void visitChildren(AstVisitor visitor) {
super.visitChildren(visitor);
safelyVisitChild(_type, visitor);
_variables.accept(visitor);
}
-
- @override
- Token get firstTokenAfterCommentAndMetadata {
- if (keyword != null) {
- return keyword;
- } else if (_type != null) {
- return _type.beginToken;
- }
- return _variables.beginToken;
- }
}
/**
@@ -19189,14 +20401,12 @@ class VariableDeclarationStatement extends Statement {
* @param variableList the fields being declared
* @param semicolon the semicolon terminating the statement
*/
- VariableDeclarationStatement(VariableDeclarationList variableList, this.semicolon) {
+ VariableDeclarationStatement(VariableDeclarationList variableList,
+ this.semicolon) {
_variableList = becomeParentOf(variableList);
}
@override
- accept(AstVisitor visitor) => visitor.visitVariableDeclarationStatement(this);
-
- @override
Token get beginToken => _variableList.beginToken;
@override
@@ -19219,6 +20429,9 @@ class VariableDeclarationStatement extends Statement {
}
@override
+ accept(AstVisitor visitor) => visitor.visitVariableDeclarationStatement(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_variableList, visitor);
}
@@ -19267,15 +20480,13 @@ class WhileStatement extends Statement {
* @param rightParenthesis the right parenthesis
* @param body the body of the loop
*/
- WhileStatement(this.keyword, this.leftParenthesis, Expression condition, this.rightParenthesis, Statement body) {
+ WhileStatement(this.keyword, this.leftParenthesis, Expression condition,
+ this.rightParenthesis, Statement body) {
_condition = becomeParentOf(condition);
_body = becomeParentOf(body);
}
@override
- accept(AstVisitor visitor) => visitor.visitWhileStatement(this);
-
- @override
Token get beginToken => keyword;
/**
@@ -19286,16 +20497,6 @@ class WhileStatement extends Statement {
Statement get body => _body;
/**
- * Return the expression used to determine whether to execute the body of the loop.
- *
- * @return the expression used to determine whether to execute the body of the loop
- */
- Expression get condition => _condition;
-
- @override
- Token get endToken => _body.endToken;
-
- /**
* Set the body of the loop to the given statement.
*
* @param statement the body of the loop
@@ -19305,6 +20506,13 @@ class WhileStatement extends Statement {
}
/**
+ * Return the expression used to determine whether to execute the body of the loop.
+ *
+ * @return the expression used to determine whether to execute the body of the loop
+ */
+ Expression get condition => _condition;
+
+ /**
* Set the expression used to determine whether to execute the body of the loop to the given
* expression.
*
@@ -19315,6 +20523,12 @@ class WhileStatement extends Statement {
}
@override
+ Token get endToken => _body.endToken;
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitWhileStatement(this);
+
+ @override
void visitChildren(AstVisitor visitor) {
safelyVisitChild(_condition, visitor);
safelyVisitChild(_body, visitor);
@@ -19351,22 +20565,12 @@ class WithClause extends AstNode {
}
@override
- accept(AstVisitor visitor) => visitor.visitWithClause(this);
-
- @override
Token get beginToken => withKeyword;
@override
Token get endToken => _mixinTypes.endToken;
/**
- * Return the names of the mixins that were specified.
- *
- * @return the names of the mixins that were specified
- */
- NodeList<TypeName> get mixinTypes => _mixinTypes;
-
- /**
* Set the token representing the 'with' keyword to the given token.
*
* @param withKeyword the token representing the 'with' keyword
@@ -19376,6 +20580,16 @@ class WithClause extends AstNode {
this.withKeyword = withKeyword;
}
+ /**
+ * Return the names of the mixins that were specified.
+ *
+ * @return the names of the mixins that were specified
+ */
+ NodeList<TypeName> get mixinTypes => _mixinTypes;
+
+ @override
+ accept(AstVisitor visitor) => visitor.visitWithClause(this);
+
@override
void visitChildren(AstVisitor visitor) {
_mixinTypes.accept(visitor);
@@ -19414,14 +20628,12 @@ class YieldStatement extends Statement {
* @param expression the expression whose value will be yielded
* @param semicolon the semicolon following the expression
*/
- YieldStatement(this.yieldKeyword, this.star, Expression expression, this.semicolon) {
+ YieldStatement(this.yieldKeyword, this.star, Expression expression,
+ this.semicolon) {
_expression = becomeParentOf(expression);
}
@override
- accept(AstVisitor visitor) => visitor.visitYieldStatement(this);
-
- @override
Token get beginToken {
if (yieldKeyword != null) {
return yieldKeyword;
@@ -19454,141 +20666,10 @@ class YieldStatement extends Statement {
}
@override
- void visitChildren(AstVisitor visitor) {
- safelyVisitChild(_expression, visitor);
- }
-}
-
-/**
- * Instances of the class `NodeList` represent a list of AST nodes that have a
- * common parent.
- */
-class NodeList<E extends AstNode> extends Object with ListMixin<E> {
- /**
- * Create an empty list with the given [owner].
- *
- * Use "new NodeList<E>(owner)"
- */
- @deprecated
- static NodeList create(AstNode owner) => new NodeList(owner);
-
- /**
- * The node that is the parent of each of the elements in the list.
- */
- AstNode owner;
-
- /**
- * The elements contained in the list.
- */
- List<E> _elements = <E>[];
-
- /**
- * Initialize a newly created list of nodes such that all of the nodes that
- * are added to the list will have their parent set to the given [owner]. The
- * list will initially be populated with the given [elements].
- */
- NodeList(this.owner, [List<E> elements]) {
- addAll(elements);
- }
-
- /**
- * Use the given [visitor] to visit each of the nodes in this list.
- */
- accept(AstVisitor visitor) {
- int length = _elements.length;
- for (var i = 0; i < length; i++) {
- _elements[i].accept(visitor);
- }
- }
-
- @override
- void add(E node) {
- insert(length, node);
- }
-
- @override
- void insert(int index, E node) {
- int length = _elements.length;
- if (index < 0 || index > length) {
- throw new RangeError("Index: $index, Size: ${_elements.length}");
- }
- owner.becomeParentOf(node);
- if (length == 0) {
- _elements.add(node);
- } else {
- _elements.insert(index, node);
- }
- }
-
- @override
- bool addAll(Iterable<E> nodes) {
- if (nodes != null && !nodes.isEmpty) {
- _elements.addAll(nodes);
- for (E node in nodes) {
- owner.becomeParentOf(node);
- }
- return true;
- }
- return false;
- }
-
- E operator[](int index) {
- if (index < 0 || index >= _elements.length) {
- throw new RangeError("Index: $index, Size: ${_elements.length}");
- }
- return _elements[index];
- }
-
- /**
- * Return the first token included in this node list's source range, or `null`
- * if the list is empty.
- */
- Token get beginToken {
- if (_elements.length == 0) {
- return null;
- }
- return _elements[0].beginToken;
- }
-
- /**
- * Return the last token included in this node list's source range, or `null`
- * if the list is empty.
- */
- Token get endToken {
- int length = _elements.length;
- if (length == 0) {
- return null;
- }
- return _elements[length - 1].endToken;
- }
-
- @override
- E removeAt(int index) {
- if (index < 0 || index >= _elements.length) {
- throw new RangeError("Index: $index, Size: ${_elements.length}");
- }
- E removedNode = _elements[index];
- _elements.removeAt(index);
- return removedNode;
- }
-
- void operator[]=(int index, E node) {
- if (index < 0 || index >= _elements.length) {
- throw new RangeError("Index: $index, Size: ${_elements.length}");
- }
- owner.becomeParentOf(node);
- _elements[index] = node;
- }
+ accept(AstVisitor visitor) => visitor.visitYieldStatement(this);
@override
- void clear() {
- _elements = <E>[];
- }
-
- int get length => _elements.length;
-
- @deprecated
- void set length(int value) {
- throw new UnsupportedError("Cannot resize NodeList.");
+ void visitChildren(AstVisitor visitor) {
+ safelyVisitChild(_expression, visitor);
}
}
« no previous file with comments | « pkg/analyzer/lib/src/error_formatter.dart ('k') | pkg/analyzer/lib/src/generated/constant.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698