Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // This code was auto-generated, is not intended to be edited, and is subject to | 1 // This code was auto-generated, is not intended to be edited, and is subject to |
| 2 // significant change. Please see the README file for more information. | 2 // significant change. Please see the README file for more information. |
| 3 | 3 |
| 4 library engine.ast; | 4 library engine.ast; |
| 5 | 5 |
| 6 import 'dart:collection'; | 6 import 'dart:collection'; |
| 7 import 'java_core.dart'; | 7 import 'java_core.dart'; |
| 8 import 'java_engine.dart'; | 8 import 'java_engine.dart'; |
| 9 import 'error.dart'; | 9 import 'error.dart'; |
| 10 import 'scanner.dart'; | 10 import 'scanner.dart'; |
| 11 import 'package:analyzer-experimental/src/generated/utilities_dart.dart'; | 11 import 'engine.dart' show AnalysisEngine; |
| 12 import 'utilities_dart.dart'; | |
| 12 import 'element.dart' hide Annotation; | 13 import 'element.dart' hide Annotation; |
| 13 | 14 |
| 14 /** | 15 /** |
| 15 * The abstract class {@code ASTNode} defines the behavior common to all nodes i n the AST structure | 16 * The abstract class {@code ASTNode} defines the behavior common to all nodes i n the AST structure |
| 16 * for a Dart program. | 17 * for a Dart program. |
| 17 */ | 18 */ |
| 18 abstract class ASTNode { | 19 abstract class ASTNode { |
| 19 /** | 20 /** |
| 20 * The parent of the node, or {@code null} if the node is the root of an AST s tructure. | 21 * The parent of the node, or {@code null} if the node is the root of an AST s tructure. |
| 21 */ | 22 */ |
| 22 ASTNode _parent; | 23 ASTNode _parent; |
| 23 /** | 24 /** |
| 24 * A comparator that can be used to sort AST nodes in lexical order. In other words,{@code compare} will return a negative value if the offset of the first no de is less than the | 25 * A comparator that can be used to sort AST nodes in lexical order. In other words,{@code compare} will return a negative value if the offset of the first no de is less than the |
| 25 * offset of the second node, zero (0) if the nodes have the same offset, and a positive value if | 26 * offset of the second node, zero (0) if the nodes have the same offset, and a positive value if |
| 26 * if the offset of the first node is greater than the offset of the second no de. | 27 * if the offset of the first node is greater than the offset of the second no de. |
| 27 */ | 28 */ |
| 28 static Comparator<ASTNode> LEXICAL_ORDER = (ASTNode first, ASTNode second) => second.offset - first.offset; | 29 static Comparator<ASTNode> LEXICAL_ORDER = (ASTNode first, ASTNode second) => second.offset - first.offset; |
| 29 /** | 30 /** |
| 30 * Use the given visitor to visit this node. | 31 * Use the given visitor to visit this node. |
| 31 * @param visitor the visitor that will visit this node | 32 * @param visitor the visitor that will visit this node |
| 32 * @return the value returned by the visitor as a result of visiting this node | 33 * @return the value returned by the visitor as a result of visiting this node |
| 33 */ | 34 */ |
| 34 accept(ASTVisitor visitor); | 35 accept(ASTVisitor visitor); |
| 35 /** | 36 /** |
| 37 * @return the {@link ASTNode} of given {@link Class} which is {@link ASTNode} itself, or one of | |
| 38 * its parents. | |
| 39 */ | |
| 40 ASTNode getAncestor(Type enclosingClass) { | |
| 41 ASTNode node = this; | |
| 42 while (node != null && !isInstanceOf(node, enclosingClass)) { | |
| 43 node = node.parent; | |
| 44 } | |
| 45 ; | |
|
danrubel
2013/02/13 20:28:51
No idea where this extraneous semi-colon came from
| |
| 46 return (node as ASTNode); | |
| 47 } | |
| 48 /** | |
| 36 * Return the first token included in this node's source range. | 49 * Return the first token included in this node's source range. |
| 37 * @return the first token included in this node's source range | 50 * @return the first token included in this node's source range |
| 38 */ | 51 */ |
| 39 Token get beginToken; | 52 Token get beginToken; |
| 40 /** | 53 /** |
| 41 * Return the offset of the character immediately following the last character of this node's | 54 * Return the offset of the character immediately following the last character of this node's |
| 42 * source range. This is equivalent to {@code node.getOffset() + node.getLengt h()}. For a | 55 * source range. This is equivalent to {@code node.getOffset() + node.getLengt h()}. For a |
| 43 * compilation unit this will be equal to the length of the unit's source. For synthetic nodes | 56 * compilation unit this will be equal to the length of the unit's source. For synthetic nodes |
| 44 * this will be equivalent to the node's offset (because the length is zero (0 ) by definition). | 57 * this will be equivalent to the node's offset (because the length is zero (0 ) by definition). |
| 45 * @return the offset of the character just past the node's source range | 58 * @return the offset of the character just past the node's source range |
| 46 */ | 59 */ |
| 47 int get end => offset + length; | 60 int get end => offset + length; |
| 48 /** | 61 /** |
| 49 * Return the last token included in this node's source range. | 62 * Return the last token included in this node's source range. |
| 50 * @return the last token included in this node's source range | 63 * @return the last token included in this node's source range |
| 51 */ | 64 */ |
| 52 Token get endToken; | 65 Token get endToken; |
| 53 /** | 66 /** |
| 54 * Return the number of characters in the node's source range. | 67 * Return the number of characters in the node's source range. |
| 55 * @return the number of characters in the node's source range | 68 * @return the number of characters in the node's source range |
| 56 */ | 69 */ |
| 57 int get length { | 70 int get length { |
| 58 Token beginToken2 = beginToken; | 71 Token beginToken2 = beginToken; |
| 59 Token endToken3 = endToken; | 72 Token endToken2 = endToken; |
| 60 if (beginToken2 == null || endToken3 == null) { | 73 if (beginToken2 == null || endToken2 == null) { |
| 61 return -1; | 74 return -1; |
| 62 } | 75 } |
| 63 return endToken3.offset + endToken3.length - beginToken2.offset; | 76 return endToken2.offset + endToken2.length - beginToken2.offset; |
| 64 } | 77 } |
| 65 /** | 78 /** |
| 66 * Return the offset from the beginning of the file to the first character in the node's source | 79 * Return the offset from the beginning of the file to the first character in the node's source |
| 67 * range. | 80 * range. |
| 68 * @return the offset from the beginning of the file to the first character in the node's source | 81 * @return the offset from the beginning of the file to the first character in the node's source |
| 69 * range | 82 * range |
| 70 */ | 83 */ |
| 71 int get offset { | 84 int get offset { |
| 72 Token beginToken3 = beginToken; | 85 Token beginToken3 = beginToken; |
| 73 if (beginToken3 == null) { | 86 if (beginToken3 == null) { |
| 74 return -1; | 87 return -1; |
| 75 } | 88 } |
| 76 return beginToken.offset; | 89 return beginToken.offset; |
| 77 } | 90 } |
| 78 /** | 91 /** |
| 79 * Return this node's parent node, or {@code null} if this node is the root of an AST structure. | 92 * Return this node's parent node, or {@code null} if this node is the root of an AST structure. |
| 80 * <p> | 93 * <p> |
| 81 * Note that the relationship between an AST node and its parent node may chan ge over the lifetime | 94 * Note that the relationship between an AST node and its parent node may chan ge over the lifetime |
| 82 * of a node. | 95 * of a node. |
| 83 * @return the parent of this node, or {@code null} if none | 96 * @return the parent of this node, or {@code null} if none |
| 84 */ | 97 */ |
| 85 ASTNode get parent => _parent; | 98 ASTNode get parent => _parent; |
| 86 /** | 99 /** |
| 87 * Return the node at the root of this node's AST structure. Note that this me thod's performance | 100 * Return the node at the root of this node's AST structure. Note that this me thod's performance |
| 88 * is linear with respect to the depth of the node in the AST structure (O(dep th)). | 101 * is linear with respect to the depth of the node in the AST structure (O(dep th)). |
| 89 * @return the node at the root of this node's AST structure | 102 * @return the node at the root of this node's AST structure |
| 90 */ | 103 */ |
| 91 ASTNode get root { | 104 ASTNode get root { |
| 92 ASTNode root = this; | 105 ASTNode root = this; |
| 93 ASTNode parent3 = parent; | 106 ASTNode parent2 = parent; |
| 94 while (parent3 != null) { | 107 while (parent2 != null) { |
| 95 root = parent3; | 108 root = parent2; |
| 96 parent3 = root.parent; | 109 parent2 = root.parent; |
| 97 } | 110 } |
| 98 return root; | 111 return root; |
| 99 } | 112 } |
| 100 /** | 113 /** |
| 101 * Return {@code true} if this node is a synthetic node. A synthetic node is a node that was | 114 * Return {@code true} if this node is a synthetic node. A synthetic node is a node that was |
| 102 * introduced by the parser in order to recover from an error in the code. Syn thetic nodes always | 115 * introduced by the parser in order to recover from an error in the code. Syn thetic nodes always |
| 103 * have a length of zero ({@code 0}). | 116 * have a length of zero ({@code 0}). |
| 104 * @return {@code true} if this node is a synthetic node | 117 * @return {@code true} if this node is a synthetic node |
| 105 */ | 118 */ |
| 106 bool isSynthetic() => false; | 119 bool isSynthetic() => false; |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 122 */ | 135 */ |
| 123 void visitChildren(ASTVisitor<Object> visitor); | 136 void visitChildren(ASTVisitor<Object> visitor); |
| 124 /** | 137 /** |
| 125 * Make this node the parent of the given child node. | 138 * Make this node the parent of the given child node. |
| 126 * @param child the node that will become a child of this node | 139 * @param child the node that will become a child of this node |
| 127 * @return the node that was made a child of this node | 140 * @return the node that was made a child of this node |
| 128 */ | 141 */ |
| 129 ASTNode becomeParentOf(ASTNode child) { | 142 ASTNode becomeParentOf(ASTNode child) { |
| 130 if (child != null) { | 143 if (child != null) { |
| 131 ASTNode node = child; | 144 ASTNode node = child; |
| 132 node.parent2 = this; | 145 node.parent = this; |
|
Jennifer Messerly
2013/02/13 21:36:54
yay!
| |
| 133 } | 146 } |
| 134 return child; | 147 return child; |
| 135 } | 148 } |
| 136 /** | 149 /** |
| 137 * If the given child is not {@code null}, use the given visitor to visit it. | 150 * If the given child is not {@code null}, use the given visitor to visit it. |
| 138 * @param child the child to be visited | 151 * @param child the child to be visited |
| 139 * @param visitor the visitor that will be used to visit the child | 152 * @param visitor the visitor that will be used to visit the child |
| 140 */ | 153 */ |
| 141 void safelyVisitChild(ASTNode child, ASTVisitor<Object> visitor) { | 154 void safelyVisitChild(ASTNode child, ASTVisitor<Object> visitor) { |
| 142 if (child != null) { | 155 if (child != null) { |
| 143 child.accept(visitor); | 156 child.accept(visitor); |
| 144 } | 157 } |
| 145 } | 158 } |
| 146 /** | 159 /** |
| 147 * Set the parent of this node to the given node. | 160 * Set the parent of this node to the given node. |
| 148 * @param newParent the node that is to be made the parent of this node | 161 * @param newParent the node that is to be made the parent of this node |
| 149 */ | 162 */ |
| 150 void set parent2(ASTNode newParent) { | 163 void set parent(ASTNode newParent) { |
| 151 _parent = newParent; | 164 _parent = newParent; |
| 152 } | 165 } |
| 166 static int _hashCodeGenerator = 0; | |
| 167 final int hashCode = ++_hashCodeGenerator; | |
| 153 } | 168 } |
| 154 /** | 169 /** |
| 155 * The interface {@code ASTVisitor} defines the behavior of objects that can be used to visit an AST | 170 * The interface {@code ASTVisitor} defines the behavior of objects that can be used to visit an AST |
| 156 * structure. | 171 * structure. |
| 157 */ | 172 */ |
| 158 abstract class ASTVisitor<R> { | 173 abstract class ASTVisitor<R> { |
| 159 R visitAdjacentStrings(AdjacentStrings node); | 174 R visitAdjacentStrings(AdjacentStrings node); |
| 160 R visitAnnotation(Annotation node); | 175 R visitAnnotation(Annotation node); |
| 161 R visitArgumentDefinitionTest(ArgumentDefinitionTest node); | 176 R visitArgumentDefinitionTest(ArgumentDefinitionTest node); |
| 162 R visitArgumentList(ArgumentList node); | 177 R visitArgumentList(ArgumentList node); |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 267 */ | 282 */ |
| 268 class AdjacentStrings extends StringLiteral { | 283 class AdjacentStrings extends StringLiteral { |
| 269 /** | 284 /** |
| 270 * The strings that are implicitly concatenated. | 285 * The strings that are implicitly concatenated. |
| 271 */ | 286 */ |
| 272 NodeList<StringLiteral> _strings; | 287 NodeList<StringLiteral> _strings; |
| 273 /** | 288 /** |
| 274 * Initialize a newly created list of adjacent strings. | 289 * Initialize a newly created list of adjacent strings. |
| 275 * @param strings the strings that are implicitly concatenated | 290 * @param strings the strings that are implicitly concatenated |
| 276 */ | 291 */ |
| 277 AdjacentStrings(List<StringLiteral> strings) { | 292 AdjacentStrings.full(List<StringLiteral> strings) { |
| 278 this._strings = new NodeList<StringLiteral>(this); | 293 this._strings = new NodeList<StringLiteral>(this); |
| 279 this._strings.addAll(strings); | 294 this._strings.addAll(strings); |
| 280 } | 295 } |
| 296 /** | |
| 297 * Initialize a newly created list of adjacent strings. | |
| 298 * @param strings the strings that are implicitly concatenated | |
| 299 */ | |
| 300 AdjacentStrings({List<StringLiteral> strings}) : this.full(strings); | |
| 281 accept(ASTVisitor visitor) => visitor.visitAdjacentStrings(this); | 301 accept(ASTVisitor visitor) => visitor.visitAdjacentStrings(this); |
| 282 Token get beginToken => _strings.beginToken; | 302 Token get beginToken => _strings.beginToken; |
| 283 Token get endToken => _strings.endToken; | 303 Token get endToken => _strings.endToken; |
| 284 /** | 304 /** |
| 285 * Return the strings that are implicitly concatenated. | 305 * Return the strings that are implicitly concatenated. |
| 286 * @return the strings that are implicitly concatenated | 306 * @return the strings that are implicitly concatenated |
| 287 */ | 307 */ |
| 288 NodeList<StringLiteral> get strings => _strings; | 308 NodeList<StringLiteral> get strings => _strings; |
| 289 void visitChildren(ASTVisitor<Object> visitor) { | 309 void visitChildren(ASTVisitor<Object> visitor) { |
| 290 _strings.accept(visitor); | 310 _strings.accept(visitor); |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 302 Comment _comment; | 322 Comment _comment; |
| 303 /** | 323 /** |
| 304 * The annotations associated with this node. | 324 * The annotations associated with this node. |
| 305 */ | 325 */ |
| 306 NodeList<Annotation> _metadata; | 326 NodeList<Annotation> _metadata; |
| 307 /** | 327 /** |
| 308 * Initialize a newly created node. | 328 * Initialize a newly created node. |
| 309 * @param comment the documentation comment associated with this node | 329 * @param comment the documentation comment associated with this node |
| 310 * @param metadata the annotations associated with this node | 330 * @param metadata the annotations associated with this node |
| 311 */ | 331 */ |
| 312 AnnotatedNode(Comment comment, List<Annotation> metadata) { | 332 AnnotatedNode.full(Comment comment, List<Annotation> metadata) { |
| 313 this._metadata = new NodeList<Annotation>(this); | 333 this._metadata = new NodeList<Annotation>(this); |
| 314 this._comment = becomeParentOf(comment); | 334 this._comment = becomeParentOf(comment); |
| 315 this._metadata.addAll(metadata); | 335 this._metadata.addAll(metadata); |
| 316 } | 336 } |
| 337 /** | |
| 338 * Initialize a newly created node. | |
| 339 * @param comment the documentation comment associated with this node | |
| 340 * @param metadata the annotations associated with this node | |
| 341 */ | |
| 342 AnnotatedNode({Comment comment, List<Annotation> metadata}) : this.full(commen t, metadata); | |
| 317 Token get beginToken { | 343 Token get beginToken { |
| 318 if (_comment == null) { | 344 if (_comment == null) { |
| 319 if (_metadata.isEmpty) { | 345 if (_metadata.isEmpty) { |
| 320 return firstTokenAfterCommentAndMetadata; | 346 return firstTokenAfterCommentAndMetadata; |
| 321 } else { | 347 } else { |
| 322 return _metadata.beginToken; | 348 return _metadata.beginToken; |
| 323 } | 349 } |
| 324 } else if (_metadata.isEmpty) { | 350 } else if (_metadata.isEmpty) { |
| 325 return _comment.beginToken; | 351 return _comment.beginToken; |
| 326 } | 352 } |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 339 Comment get documentationComment => _comment; | 365 Comment get documentationComment => _comment; |
| 340 /** | 366 /** |
| 341 * Return the annotations associated with this node. | 367 * Return the annotations associated with this node. |
| 342 * @return the annotations associated with this node | 368 * @return the annotations associated with this node |
| 343 */ | 369 */ |
| 344 NodeList<Annotation> get metadata => _metadata; | 370 NodeList<Annotation> get metadata => _metadata; |
| 345 /** | 371 /** |
| 346 * Set the documentation comment associated with this node to the given commen t | 372 * Set the documentation comment associated with this node to the given commen t |
| 347 * @param comment the documentation comment to be associated with this node | 373 * @param comment the documentation comment to be associated with this node |
| 348 */ | 374 */ |
| 349 void set documentationComment(Comment comment) { | 375 void set documentationComment(Comment comment2) { |
| 350 this._comment = becomeParentOf(comment); | 376 this._comment = becomeParentOf(comment2); |
| 351 } | 377 } |
| 352 void visitChildren(ASTVisitor<Object> visitor) { | 378 void visitChildren(ASTVisitor<Object> visitor) { |
| 353 if (commentIsBeforeAnnotations()) { | 379 if (commentIsBeforeAnnotations()) { |
| 354 safelyVisitChild(_comment, visitor); | 380 safelyVisitChild(_comment, visitor); |
| 355 _metadata.accept(visitor); | 381 _metadata.accept(visitor); |
| 356 } else { | 382 } else { |
| 357 for (ASTNode child in sortedCommentAndAnnotations) { | 383 for (ASTNode child in sortedCommentAndAnnotations) { |
| 358 child.accept(visitor); | 384 child.accept(visitor); |
| 359 } | 385 } |
| 360 } | 386 } |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 430 * @param atSign the at sign that introduced the annotation | 456 * @param atSign the at sign that introduced the annotation |
| 431 * @param name the name of the class defining the constructor that is being in voked or the name of | 457 * @param name the name of the class defining the constructor that is being in voked or the name of |
| 432 * the field that is being referenced | 458 * the field that is being referenced |
| 433 * @param period the period before the constructor name, or {@code null} if th is annotation is not | 459 * @param period the period before the constructor name, or {@code null} if th is annotation is not |
| 434 * the invocation of a named constructor | 460 * the invocation of a named constructor |
| 435 * @param constructorName the name of the constructor being invoked, or {@code null} if this | 461 * @param constructorName the name of the constructor being invoked, or {@code null} if this |
| 436 * annotation is not the invocation of a named constructor | 462 * annotation is not the invocation of a named constructor |
| 437 * @param arguments the arguments to the constructor being invoked, or {@code null} if this | 463 * @param arguments the arguments to the constructor being invoked, or {@code null} if this |
| 438 * annotation is not the invocation of a constructor | 464 * annotation is not the invocation of a constructor |
| 439 */ | 465 */ |
| 440 Annotation(Token atSign, Identifier name, Token period, SimpleIdentifier const ructorName, ArgumentList arguments) { | 466 Annotation.full(Token atSign, Identifier name, Token period, SimpleIdentifier constructorName, ArgumentList arguments) { |
| 441 this._atSign = atSign; | 467 this._atSign = atSign; |
| 442 this._name = becomeParentOf(name); | 468 this._name = becomeParentOf(name); |
| 443 this._period = period; | 469 this._period = period; |
| 444 this._constructorName = becomeParentOf(constructorName); | 470 this._constructorName = becomeParentOf(constructorName); |
| 445 this._arguments = becomeParentOf(arguments); | 471 this._arguments = becomeParentOf(arguments); |
| 446 } | 472 } |
| 473 /** | |
| 474 * Initialize a newly created annotation. | |
| 475 * @param atSign the at sign that introduced the annotation | |
| 476 * @param name the name of the class defining the constructor that is being in voked or the name of | |
| 477 * the field that is being referenced | |
| 478 * @param period the period before the constructor name, or {@code null} if th is annotation is not | |
| 479 * the invocation of a named constructor | |
| 480 * @param constructorName the name of the constructor being invoked, or {@code null} if this | |
| 481 * annotation is not the invocation of a named constructor | |
| 482 * @param arguments the arguments to the constructor being invoked, or {@code null} if this | |
| 483 * annotation is not the invocation of a constructor | |
| 484 */ | |
| 485 Annotation({Token atSign, Identifier name, Token period, SimpleIdentifier cons tructorName, ArgumentList arguments}) : this.full(atSign, name, period, construc torName, arguments); | |
| 447 accept(ASTVisitor visitor) => visitor.visitAnnotation(this); | 486 accept(ASTVisitor visitor) => visitor.visitAnnotation(this); |
| 448 /** | 487 /** |
| 449 * Return the arguments to the constructor being invoked, or {@code null} if t his annotation is | 488 * Return the arguments to the constructor being invoked, or {@code null} if t his annotation is |
| 450 * not the invocation of a constructor. | 489 * not the invocation of a constructor. |
| 451 * @return the arguments to the constructor being invoked | 490 * @return the arguments to the constructor being invoked |
| 452 */ | 491 */ |
| 453 ArgumentList get arguments => _arguments; | 492 ArgumentList get arguments => _arguments; |
| 454 /** | 493 /** |
| 455 * Return the at sign that introduced the annotation. | 494 * Return the at sign that introduced the annotation. |
| 456 * @return the at sign that introduced the annotation | 495 * @return the at sign that introduced the annotation |
| (...skipping 23 matching lines...) Expand all Loading... | |
| 480 /** | 519 /** |
| 481 * Return the period before the constructor name, or {@code null} if this anno tation is not the | 520 * Return the period before the constructor name, or {@code null} if this anno tation is not the |
| 482 * invocation of a named constructor. | 521 * invocation of a named constructor. |
| 483 * @return the period before the constructor name | 522 * @return the period before the constructor name |
| 484 */ | 523 */ |
| 485 Token get period => _period; | 524 Token get period => _period; |
| 486 /** | 525 /** |
| 487 * Set the arguments to the constructor being invoked to the given arguments. | 526 * Set the arguments to the constructor being invoked to the given arguments. |
| 488 * @param arguments the arguments to the constructor being invoked | 527 * @param arguments the arguments to the constructor being invoked |
| 489 */ | 528 */ |
| 490 void set arguments2(ArgumentList arguments) { | 529 void set arguments(ArgumentList arguments2) { |
| 491 this._arguments = becomeParentOf(arguments); | 530 this._arguments = becomeParentOf(arguments2); |
| 492 } | 531 } |
| 493 /** | 532 /** |
| 494 * Set the at sign that introduced the annotation to the given token. | 533 * Set the at sign that introduced the annotation to the given token. |
| 495 * @param atSign the at sign that introduced the annotation | 534 * @param atSign the at sign that introduced the annotation |
| 496 */ | 535 */ |
| 497 void set atSign2(Token atSign) { | 536 void set atSign(Token atSign2) { |
| 498 this._atSign = atSign; | 537 this._atSign = atSign2; |
| 499 } | 538 } |
| 500 /** | 539 /** |
| 501 * Set the name of the constructor being invoked to the given name. | 540 * Set the name of the constructor being invoked to the given name. |
| 502 * @param constructorName the name of the constructor being invoked | 541 * @param constructorName the name of the constructor being invoked |
| 503 */ | 542 */ |
| 504 void set constructorName2(SimpleIdentifier constructorName) { | 543 void set constructorName(SimpleIdentifier constructorName2) { |
| 505 this._constructorName = becomeParentOf(constructorName); | 544 this._constructorName = becomeParentOf(constructorName2); |
| 506 } | 545 } |
| 507 /** | 546 /** |
| 508 * Set the name of the class defining the constructor that is being invoked or the name of the | 547 * Set the name of the class defining the constructor that is being invoked or the name of the |
| 509 * field that is being referenced to the given name. | 548 * field that is being referenced to the given name. |
| 510 * @param name the name of the constructor being invoked or the name of the fi eld being referenced | 549 * @param name the name of the constructor being invoked or the name of the fi eld being referenced |
| 511 */ | 550 */ |
| 512 void set name2(Identifier name) { | 551 void set name(Identifier name2) { |
| 513 this._name = becomeParentOf(name); | 552 this._name = becomeParentOf(name2); |
| 514 } | 553 } |
| 515 /** | 554 /** |
| 516 * Set the period before the constructor name to the given token. | 555 * Set the period before the constructor name to the given token. |
| 517 * @param period the period before the constructor name | 556 * @param period the period before the constructor name |
| 518 */ | 557 */ |
| 519 void set period2(Token period) { | 558 void set period(Token period2) { |
| 520 this._period = period; | 559 this._period = period2; |
| 521 } | 560 } |
| 522 void visitChildren(ASTVisitor<Object> visitor) { | 561 void visitChildren(ASTVisitor<Object> visitor) { |
| 523 safelyVisitChild(_name, visitor); | 562 safelyVisitChild(_name, visitor); |
| 524 safelyVisitChild(_constructorName, visitor); | 563 safelyVisitChild(_constructorName, visitor); |
| 525 safelyVisitChild(_arguments, visitor); | 564 safelyVisitChild(_arguments, visitor); |
| 526 } | 565 } |
| 527 } | 566 } |
| 528 /** | 567 /** |
| 529 * Instances of the class {@code ArgumentDefinitionTest} represent an argument d efinition test. | 568 * Instances of the class {@code ArgumentDefinitionTest} represent an argument d efinition test. |
| 530 * <pre> | 569 * <pre> |
| 531 * argumentDefinitionTest ::= | 570 * argumentDefinitionTest ::= |
| 532 * '?' {@link SimpleIdentifier identifier}</pre> | 571 * '?' {@link SimpleIdentifier identifier}</pre> |
| 533 */ | 572 */ |
| 534 class ArgumentDefinitionTest extends Expression { | 573 class ArgumentDefinitionTest extends Expression { |
| 535 /** | 574 /** |
| 536 * The token representing the question mark. | 575 * The token representing the question mark. |
| 537 */ | 576 */ |
| 538 Token _question; | 577 Token _question; |
| 539 /** | 578 /** |
| 540 * The identifier representing the argument being tested. | 579 * The identifier representing the argument being tested. |
| 541 */ | 580 */ |
| 542 SimpleIdentifier _identifier; | 581 SimpleIdentifier _identifier; |
| 543 /** | 582 /** |
| 544 * Initialize a newly created argument definition test. | 583 * Initialize a newly created argument definition test. |
| 545 * @param question the token representing the question mark | 584 * @param question the token representing the question mark |
| 546 * @param identifier the identifier representing the argument being tested | 585 * @param identifier the identifier representing the argument being tested |
| 547 */ | 586 */ |
| 548 ArgumentDefinitionTest(Token question, SimpleIdentifier identifier) { | 587 ArgumentDefinitionTest.full(Token question, SimpleIdentifier identifier) { |
| 549 this._question = question; | 588 this._question = question; |
| 550 this._identifier = becomeParentOf(identifier); | 589 this._identifier = becomeParentOf(identifier); |
| 551 } | 590 } |
| 591 /** | |
| 592 * Initialize a newly created argument definition test. | |
| 593 * @param question the token representing the question mark | |
| 594 * @param identifier the identifier representing the argument being tested | |
| 595 */ | |
| 596 ArgumentDefinitionTest({Token question, SimpleIdentifier identifier}) : this.f ull(question, identifier); | |
| 552 accept(ASTVisitor visitor) => visitor.visitArgumentDefinitionTest(this); | 597 accept(ASTVisitor visitor) => visitor.visitArgumentDefinitionTest(this); |
| 553 Token get beginToken => _question; | 598 Token get beginToken => _question; |
| 554 Token get endToken => _identifier.endToken; | 599 Token get endToken => _identifier.endToken; |
| 555 /** | 600 /** |
| 556 * Return the identifier representing the argument being tested. | 601 * Return the identifier representing the argument being tested. |
| 557 * @return the identifier representing the argument being tested | 602 * @return the identifier representing the argument being tested |
| 558 */ | 603 */ |
| 559 SimpleIdentifier get identifier => _identifier; | 604 SimpleIdentifier get identifier => _identifier; |
| 560 /** | 605 /** |
| 561 * Return the token representing the question mark. | 606 * Return the token representing the question mark. |
| 562 * @return the token representing the question mark | 607 * @return the token representing the question mark |
| 563 */ | 608 */ |
| 564 Token get question => _question; | 609 Token get question => _question; |
| 565 /** | 610 /** |
| 566 * Set the identifier representing the argument being tested to the given iden tifier. | 611 * Set the identifier representing the argument being tested to the given iden tifier. |
| 567 * @param identifier the identifier representing the argument being tested | 612 * @param identifier the identifier representing the argument being tested |
| 568 */ | 613 */ |
| 569 void set identifier2(SimpleIdentifier identifier) { | 614 void set identifier(SimpleIdentifier identifier5) { |
| 570 this._identifier = becomeParentOf(identifier); | 615 this._identifier = becomeParentOf(identifier5); |
| 571 } | 616 } |
| 572 /** | 617 /** |
| 573 * Set the token representing the question mark to the given token. | 618 * Set the token representing the question mark to the given token. |
| 574 * @param question the token representing the question mark | 619 * @param question the token representing the question mark |
| 575 */ | 620 */ |
| 576 void set question2(Token question) { | 621 void set question(Token question2) { |
| 577 this._question = question; | 622 this._question = question2; |
| 578 } | 623 } |
| 579 void visitChildren(ASTVisitor<Object> visitor) { | 624 void visitChildren(ASTVisitor<Object> visitor) { |
| 580 safelyVisitChild(_identifier, visitor); | 625 safelyVisitChild(_identifier, visitor); |
| 581 } | 626 } |
| 582 } | 627 } |
| 583 /** | 628 /** |
| 584 * Instances of the class {@code ArgumentList} represent a list of arguments in the invocation of a | 629 * Instances of the class {@code ArgumentList} represent a list of arguments in the invocation of a |
| 585 * executable element: a function, method, or constructor. | 630 * executable element: a function, method, or constructor. |
| 586 * <pre> | 631 * <pre> |
| 587 * argumentList ::= | 632 * argumentList ::= |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 602 /** | 647 /** |
| 603 * The right parenthesis. | 648 * The right parenthesis. |
| 604 */ | 649 */ |
| 605 Token _rightParenthesis; | 650 Token _rightParenthesis; |
| 606 /** | 651 /** |
| 607 * Initialize a newly created list of arguments. | 652 * Initialize a newly created list of arguments. |
| 608 * @param leftParenthesis the left parenthesis | 653 * @param leftParenthesis the left parenthesis |
| 609 * @param arguments the expressions producing the values of the arguments | 654 * @param arguments the expressions producing the values of the arguments |
| 610 * @param rightParenthesis the right parenthesis | 655 * @param rightParenthesis the right parenthesis |
| 611 */ | 656 */ |
| 612 ArgumentList(Token leftParenthesis, List<Expression> arguments, Token rightPar enthesis) { | 657 ArgumentList.full(Token leftParenthesis, List<Expression> arguments, Token rig htParenthesis) { |
| 613 this._arguments = new NodeList<Expression>(this); | 658 this._arguments = new NodeList<Expression>(this); |
| 614 this._leftParenthesis = leftParenthesis; | 659 this._leftParenthesis = leftParenthesis; |
| 615 this._arguments.addAll(arguments); | 660 this._arguments.addAll(arguments); |
| 616 this._rightParenthesis = rightParenthesis; | 661 this._rightParenthesis = rightParenthesis; |
| 617 } | 662 } |
| 663 /** | |
| 664 * Initialize a newly created list of arguments. | |
| 665 * @param leftParenthesis the left parenthesis | |
| 666 * @param arguments the expressions producing the values of the arguments | |
| 667 * @param rightParenthesis the right parenthesis | |
| 668 */ | |
| 669 ArgumentList({Token leftParenthesis, List<Expression> arguments, Token rightPa renthesis}) : this.full(leftParenthesis, arguments, rightParenthesis); | |
|
Jennifer Messerly
2013/02/13 21:36:54
nice, I liked the named args here!
| |
| 618 accept(ASTVisitor visitor) => visitor.visitArgumentList(this); | 670 accept(ASTVisitor visitor) => visitor.visitArgumentList(this); |
| 619 /** | 671 /** |
| 620 * Return the expressions producing the values of the arguments. Although the language requires | 672 * Return the expressions producing the values of the arguments. Although the language requires |
| 621 * that positional arguments appear before named arguments, this class allows them to be | 673 * that positional arguments appear before named arguments, this class allows them to be |
| 622 * intermixed. | 674 * intermixed. |
| 623 * @return the expressions producing the values of the arguments | 675 * @return the expressions producing the values of the arguments |
| 624 */ | 676 */ |
| 625 NodeList<Expression> get arguments => _arguments; | 677 NodeList<Expression> get arguments => _arguments; |
| 626 Token get beginToken => _leftParenthesis; | 678 Token get beginToken => _leftParenthesis; |
| 627 Token get endToken => _rightParenthesis; | 679 Token get endToken => _rightParenthesis; |
| 628 /** | 680 /** |
| 629 * Return the left parenthesis. | 681 * Return the left parenthesis. |
| 630 * @return the left parenthesis | 682 * @return the left parenthesis |
| 631 */ | 683 */ |
| 632 Token get leftParenthesis => _leftParenthesis; | 684 Token get leftParenthesis => _leftParenthesis; |
| 633 /** | 685 /** |
| 634 * Return the right parenthesis. | 686 * Return the right parenthesis. |
| 635 * @return the right parenthesis | 687 * @return the right parenthesis |
| 636 */ | 688 */ |
| 637 Token get rightParenthesis => _rightParenthesis; | 689 Token get rightParenthesis => _rightParenthesis; |
| 638 /** | 690 /** |
| 639 * Set the left parenthesis to the given token. | 691 * Set the left parenthesis to the given token. |
| 640 * @param parenthesis the left parenthesis | 692 * @param parenthesis the left parenthesis |
| 641 */ | 693 */ |
| 642 void set leftParenthesis2(Token parenthesis) { | 694 void set leftParenthesis(Token parenthesis) { |
| 643 _leftParenthesis = parenthesis; | 695 _leftParenthesis = parenthesis; |
| 644 } | 696 } |
| 645 /** | 697 /** |
| 646 * Set the right parenthesis to the given token. | 698 * Set the right parenthesis to the given token. |
| 647 * @param parenthesis the right parenthesis | 699 * @param parenthesis the right parenthesis |
| 648 */ | 700 */ |
| 649 void set rightParenthesis2(Token parenthesis) { | 701 void set rightParenthesis(Token parenthesis) { |
| 650 _rightParenthesis = parenthesis; | 702 _rightParenthesis = parenthesis; |
| 651 } | 703 } |
| 652 void visitChildren(ASTVisitor<Object> visitor) { | 704 void visitChildren(ASTVisitor<Object> visitor) { |
| 653 _arguments.accept(visitor); | 705 _arguments.accept(visitor); |
| 654 } | 706 } |
| 655 } | 707 } |
| 656 /** | 708 /** |
| 657 * Instances of the class {@code AsExpression} represent an 'as' expression. | 709 * Instances of the class {@code AsExpression} represent an 'as' expression. |
| 658 * <pre> | 710 * <pre> |
| 659 * asExpression ::={@link Expression expression} 'as' {@link TypeName type}</pre > | 711 * asExpression ::={@link Expression expression} 'as' {@link TypeName type}</pre > |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 670 /** | 722 /** |
| 671 * The name of the type being cast to. | 723 * The name of the type being cast to. |
| 672 */ | 724 */ |
| 673 TypeName _type; | 725 TypeName _type; |
| 674 /** | 726 /** |
| 675 * Initialize a newly created as expression. | 727 * Initialize a newly created as expression. |
| 676 * @param expression the expression used to compute the value being cast | 728 * @param expression the expression used to compute the value being cast |
| 677 * @param isOperator the is operator | 729 * @param isOperator the is operator |
| 678 * @param type the name of the type being cast to | 730 * @param type the name of the type being cast to |
| 679 */ | 731 */ |
| 680 AsExpression(Expression expression, Token isOperator, TypeName type) { | 732 AsExpression.full(Expression expression, Token isOperator, TypeName type) { |
| 681 this._expression = becomeParentOf(expression); | 733 this._expression = becomeParentOf(expression); |
| 682 this._asOperator = isOperator; | 734 this._asOperator = isOperator; |
| 683 this._type = becomeParentOf(type); | 735 this._type = becomeParentOf(type); |
| 684 } | 736 } |
| 737 /** | |
| 738 * Initialize a newly created as expression. | |
| 739 * @param expression the expression used to compute the value being cast | |
| 740 * @param isOperator the is operator | |
| 741 * @param type the name of the type being cast to | |
| 742 */ | |
| 743 AsExpression({Expression expression, Token isOperator, TypeName type}) : this. full(expression, isOperator, type); | |
| 685 accept(ASTVisitor visitor) => visitor.visitAsExpression(this); | 744 accept(ASTVisitor visitor) => visitor.visitAsExpression(this); |
| 686 /** | 745 /** |
| 687 * Return the is operator being applied. | 746 * Return the is operator being applied. |
| 688 * @return the is operator being applied | 747 * @return the is operator being applied |
| 689 */ | 748 */ |
| 690 Token get asOperator => _asOperator; | 749 Token get asOperator => _asOperator; |
| 691 Token get beginToken => _expression.beginToken; | 750 Token get beginToken => _expression.beginToken; |
| 692 Token get endToken => _type.endToken; | 751 Token get endToken => _type.endToken; |
| 693 /** | 752 /** |
| 694 * Return the expression used to compute the value being cast. | 753 * Return the expression used to compute the value being cast. |
| 695 * @return the expression used to compute the value being cast | 754 * @return the expression used to compute the value being cast |
| 696 */ | 755 */ |
| 697 Expression get expression => _expression; | 756 Expression get expression => _expression; |
| 698 /** | 757 /** |
| 699 * Return the name of the type being cast to. | 758 * Return the name of the type being cast to. |
| 700 * @return the name of the type being cast to | 759 * @return the name of the type being cast to |
| 701 */ | 760 */ |
| 702 TypeName get type => _type; | 761 TypeName get type => _type; |
| 703 /** | 762 /** |
| 704 * Set the is operator being applied to the given operator. | 763 * Set the is operator being applied to the given operator. |
| 705 * @param asOperator the is operator being applied | 764 * @param asOperator the is operator being applied |
| 706 */ | 765 */ |
| 707 void set asOperator2(Token asOperator) { | 766 void set asOperator(Token asOperator2) { |
| 708 this._asOperator = asOperator; | 767 this._asOperator = asOperator2; |
| 709 } | 768 } |
| 710 /** | 769 /** |
| 711 * Set the expression used to compute the value being cast to the given expres sion. | 770 * Set the expression used to compute the value being cast to the given expres sion. |
| 712 * @param expression the expression used to compute the value being cast | 771 * @param expression the expression used to compute the value being cast |
| 713 */ | 772 */ |
| 714 void set expression2(Expression expression) { | 773 void set expression(Expression expression2) { |
| 715 this._expression = becomeParentOf(expression); | 774 this._expression = becomeParentOf(expression2); |
| 716 } | 775 } |
| 717 /** | 776 /** |
| 718 * Set the name of the type being cast to to the given name. | 777 * Set the name of the type being cast to to the given name. |
| 719 * @param name the name of the type being cast to | 778 * @param name the name of the type being cast to |
| 720 */ | 779 */ |
| 721 void set type2(TypeName name) { | 780 void set type(TypeName name) { |
| 722 this._type = becomeParentOf(name); | 781 this._type = becomeParentOf(name); |
| 723 } | 782 } |
| 724 void visitChildren(ASTVisitor<Object> visitor) { | 783 void visitChildren(ASTVisitor<Object> visitor) { |
| 725 safelyVisitChild(_expression, visitor); | 784 safelyVisitChild(_expression, visitor); |
| 726 safelyVisitChild(_type, visitor); | 785 safelyVisitChild(_type, visitor); |
| 727 } | 786 } |
| 728 } | 787 } |
| 729 /** | 788 /** |
| 730 * Instances of the class {@code AssertStatement} represent an assert statement. | 789 * Instances of the class {@code AssertStatement} represent an assert statement. |
| 731 * <pre> | 790 * <pre> |
| (...skipping 23 matching lines...) Expand all Loading... | |
| 755 */ | 814 */ |
| 756 Token _semicolon; | 815 Token _semicolon; |
| 757 /** | 816 /** |
| 758 * Initialize a newly created assert statement. | 817 * Initialize a newly created assert statement. |
| 759 * @param keyword the token representing the 'assert' keyword | 818 * @param keyword the token representing the 'assert' keyword |
| 760 * @param leftParenthesis the left parenthesis | 819 * @param leftParenthesis the left parenthesis |
| 761 * @param condition the condition that is being asserted to be {@code true} | 820 * @param condition the condition that is being asserted to be {@code true} |
| 762 * @param rightParenthesis the right parenthesis | 821 * @param rightParenthesis the right parenthesis |
| 763 * @param semicolon the semicolon terminating the statement | 822 * @param semicolon the semicolon terminating the statement |
| 764 */ | 823 */ |
| 765 AssertStatement(Token keyword, Token leftParenthesis, Expression condition, To ken rightParenthesis, Token semicolon) { | 824 AssertStatement.full(Token keyword, Token leftParenthesis, Expression conditio n, Token rightParenthesis, Token semicolon) { |
| 766 this._keyword = keyword; | 825 this._keyword = keyword; |
| 767 this._leftParenthesis = leftParenthesis; | 826 this._leftParenthesis = leftParenthesis; |
| 768 this._condition = becomeParentOf(condition); | 827 this._condition = becomeParentOf(condition); |
| 769 this._rightParenthesis = rightParenthesis; | 828 this._rightParenthesis = rightParenthesis; |
| 770 this._semicolon = semicolon; | 829 this._semicolon = semicolon; |
| 771 } | 830 } |
| 831 /** | |
| 832 * Initialize a newly created assert statement. | |
| 833 * @param keyword the token representing the 'assert' keyword | |
| 834 * @param leftParenthesis the left parenthesis | |
| 835 * @param condition the condition that is being asserted to be {@code true} | |
| 836 * @param rightParenthesis the right parenthesis | |
| 837 * @param semicolon the semicolon terminating the statement | |
| 838 */ | |
| 839 AssertStatement({Token keyword, Token leftParenthesis, Expression condition, T oken rightParenthesis, Token semicolon}) : this.full(keyword, leftParenthesis, c ondition, rightParenthesis, semicolon); | |
| 772 accept(ASTVisitor visitor) => visitor.visitAssertStatement(this); | 840 accept(ASTVisitor visitor) => visitor.visitAssertStatement(this); |
| 773 Token get beginToken => _keyword; | 841 Token get beginToken => _keyword; |
| 774 /** | 842 /** |
| 775 * Return the condition that is being asserted to be {@code true}. | 843 * Return the condition that is being asserted to be {@code true}. |
| 776 * @return the condition that is being asserted to be {@code true} | 844 * @return the condition that is being asserted to be {@code true} |
| 777 */ | 845 */ |
| 778 Expression get condition => _condition; | 846 Expression get condition => _condition; |
| 779 Token get endToken => _semicolon; | 847 Token get endToken => _semicolon; |
| 780 /** | 848 /** |
| 781 * Return the token representing the 'assert' keyword. | 849 * Return the token representing the 'assert' keyword. |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 794 Token get rightParenthesis => _rightParenthesis; | 862 Token get rightParenthesis => _rightParenthesis; |
| 795 /** | 863 /** |
| 796 * Return the semicolon terminating the statement. | 864 * Return the semicolon terminating the statement. |
| 797 * @return the semicolon terminating the statement | 865 * @return the semicolon terminating the statement |
| 798 */ | 866 */ |
| 799 Token get semicolon => _semicolon; | 867 Token get semicolon => _semicolon; |
| 800 /** | 868 /** |
| 801 * Set the condition that is being asserted to be {@code true} to the given ex pression. | 869 * Set the condition that is being asserted to be {@code true} to the given ex pression. |
| 802 * @param the condition that is being asserted to be {@code true} | 870 * @param the condition that is being asserted to be {@code true} |
| 803 */ | 871 */ |
| 804 void set condition2(Expression condition) { | 872 void set condition(Expression condition2) { |
| 805 this._condition = becomeParentOf(condition); | 873 this._condition = becomeParentOf(condition2); |
| 806 } | 874 } |
| 807 /** | 875 /** |
| 808 * Set the token representing the 'assert' keyword to the given token. | 876 * Set the token representing the 'assert' keyword to the given token. |
| 809 * @param keyword the token representing the 'assert' keyword | 877 * @param keyword the token representing the 'assert' keyword |
| 810 */ | 878 */ |
| 811 void set keyword3(Token keyword) { | 879 void set keyword(Token keyword3) { |
| 812 this._keyword = keyword; | 880 this._keyword = keyword3; |
| 813 } | 881 } |
| 814 /** | 882 /** |
| 815 * Set the left parenthesis to the given token. | 883 * Set the left parenthesis to the given token. |
| 816 * @param the left parenthesis | 884 * @param the left parenthesis |
| 817 */ | 885 */ |
| 818 void set leftParenthesis3(Token leftParenthesis) { | 886 void set leftParenthesis(Token leftParenthesis2) { |
| 819 this._leftParenthesis = leftParenthesis; | 887 this._leftParenthesis = leftParenthesis2; |
| 820 } | 888 } |
| 821 /** | 889 /** |
| 822 * Set the right parenthesis to the given token. | 890 * Set the right parenthesis to the given token. |
| 823 * @param rightParenthesis the right parenthesis | 891 * @param rightParenthesis the right parenthesis |
| 824 */ | 892 */ |
| 825 void set rightParenthesis3(Token rightParenthesis) { | 893 void set rightParenthesis(Token rightParenthesis2) { |
| 826 this._rightParenthesis = rightParenthesis; | 894 this._rightParenthesis = rightParenthesis2; |
| 827 } | 895 } |
| 828 /** | 896 /** |
| 829 * Set the semicolon terminating the statement to the given token. | 897 * Set the semicolon terminating the statement to the given token. |
| 830 * @param semicolon the semicolon terminating the statement | 898 * @param semicolon the semicolon terminating the statement |
| 831 */ | 899 */ |
| 832 void set semicolon2(Token semicolon) { | 900 void set semicolon(Token semicolon2) { |
| 833 this._semicolon = semicolon; | 901 this._semicolon = semicolon2; |
| 834 } | 902 } |
| 835 void visitChildren(ASTVisitor<Object> visitor) { | 903 void visitChildren(ASTVisitor<Object> visitor) { |
| 836 safelyVisitChild(_condition, visitor); | 904 safelyVisitChild(_condition, visitor); |
| 837 } | 905 } |
| 838 } | 906 } |
| 839 /** | 907 /** |
| 840 * Instances of the class {@code AssignmentExpression} represent an assignment e xpression. | 908 * Instances of the class {@code AssignmentExpression} represent an assignment e xpression. |
| 841 * <pre> | 909 * <pre> |
| 842 * assignmentExpression ::={@link Expression leftHandSide} {@link Token operator } {@link Expression rightHandSide}</pre> | 910 * assignmentExpression ::={@link Expression leftHandSide} {@link Token operator } {@link Expression rightHandSide}</pre> |
| 843 */ | 911 */ |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 858 * The element associated with the operator, or {@code null} if the AST struct ure has not been | 926 * The element associated with the operator, or {@code null} if the AST struct ure has not been |
| 859 * resolved, if the operator is not a compound operator, or if the operator co uld not be resolved. | 927 * resolved, if the operator is not a compound operator, or if the operator co uld not be resolved. |
| 860 */ | 928 */ |
| 861 MethodElement _element; | 929 MethodElement _element; |
| 862 /** | 930 /** |
| 863 * Initialize a newly created assignment expression. | 931 * Initialize a newly created assignment expression. |
| 864 * @param leftHandSide the expression used to compute the left hand side | 932 * @param leftHandSide the expression used to compute the left hand side |
| 865 * @param operator the assignment operator being applied | 933 * @param operator the assignment operator being applied |
| 866 * @param rightHandSide the expression used to compute the right hand side | 934 * @param rightHandSide the expression used to compute the right hand side |
| 867 */ | 935 */ |
| 868 AssignmentExpression(Expression leftHandSide, Token operator, Expression right HandSide) { | 936 AssignmentExpression.full(Expression leftHandSide, Token operator, Expression rightHandSide) { |
| 869 this._leftHandSide = becomeParentOf(leftHandSide); | 937 this._leftHandSide = becomeParentOf(leftHandSide); |
| 870 this._operator = operator; | 938 this._operator = operator; |
| 871 this._rightHandSide = becomeParentOf(rightHandSide); | 939 this._rightHandSide = becomeParentOf(rightHandSide); |
| 872 } | 940 } |
| 941 /** | |
| 942 * Initialize a newly created assignment expression. | |
| 943 * @param leftHandSide the expression used to compute the left hand side | |
| 944 * @param operator the assignment operator being applied | |
| 945 * @param rightHandSide the expression used to compute the right hand side | |
| 946 */ | |
| 947 AssignmentExpression({Expression leftHandSide, Token operator, Expression righ tHandSide}) : this.full(leftHandSide, operator, rightHandSide); | |
| 873 accept(ASTVisitor visitor) => visitor.visitAssignmentExpression(this); | 948 accept(ASTVisitor visitor) => visitor.visitAssignmentExpression(this); |
| 874 Token get beginToken => _leftHandSide.beginToken; | 949 Token get beginToken => _leftHandSide.beginToken; |
| 875 /** | 950 /** |
| 876 * Return the element associated with the operator, or {@code null} if the AST structure has not | 951 * Return the element associated with the operator, or {@code null} if the AST structure has not |
| 877 * been resolved, if the operator is not a compound operator, or if the operat or could not be | 952 * been resolved, if the operator is not a compound operator, or if the operat or could not be |
| 878 * resolved. One example of the latter case is an operator that is not defined for the type of the | 953 * resolved. One example of the latter case is an operator that is not defined for the type of the |
| 879 * left-hand operand. | 954 * left-hand operand. |
| 880 * @return the element associated with the operator | 955 * @return the element associated with the operator |
| 881 */ | 956 */ |
| 882 MethodElement get element => _element; | 957 MethodElement get element => _element; |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 893 Token get operator => _operator; | 968 Token get operator => _operator; |
| 894 /** | 969 /** |
| 895 * Return the expression used to compute the right hand side. | 970 * Return the expression used to compute the right hand side. |
| 896 * @return the expression used to compute the right hand side | 971 * @return the expression used to compute the right hand side |
| 897 */ | 972 */ |
| 898 Expression get rightHandSide => _rightHandSide; | 973 Expression get rightHandSide => _rightHandSide; |
| 899 /** | 974 /** |
| 900 * Set the element associated with the operator to the given element. | 975 * Set the element associated with the operator to the given element. |
| 901 * @param element the element associated with the operator | 976 * @param element the element associated with the operator |
| 902 */ | 977 */ |
| 903 void set element2(MethodElement element) { | 978 void set element(MethodElement element3) { |
| 904 this._element = element; | 979 this._element = element3; |
| 905 } | 980 } |
| 906 /** | 981 /** |
| 907 * Return the expression used to compute the left hand side. | 982 * Return the expression used to compute the left hand side. |
| 908 * @param expression the expression used to compute the left hand side | 983 * @param expression the expression used to compute the left hand side |
| 909 */ | 984 */ |
| 910 void set leftHandSide2(Expression expression) { | 985 void set leftHandSide(Expression expression) { |
| 911 _leftHandSide = becomeParentOf(expression); | 986 _leftHandSide = becomeParentOf(expression); |
| 912 } | 987 } |
| 913 /** | 988 /** |
| 914 * Set the assignment operator being applied to the given operator. | 989 * Set the assignment operator being applied to the given operator. |
| 915 * @param operator the assignment operator being applied | 990 * @param operator the assignment operator being applied |
| 916 */ | 991 */ |
| 917 void set operator2(Token operator) { | 992 void set operator(Token operator2) { |
| 918 this._operator = operator; | 993 this._operator = operator2; |
| 919 } | 994 } |
| 920 /** | 995 /** |
| 921 * Set the expression used to compute the left hand side to the given expressi on. | 996 * Set the expression used to compute the left hand side to the given expressi on. |
| 922 * @param expression the expression used to compute the left hand side | 997 * @param expression the expression used to compute the left hand side |
| 923 */ | 998 */ |
| 924 void set rightHandSide2(Expression expression) { | 999 void set rightHandSide(Expression expression) { |
| 925 _rightHandSide = becomeParentOf(expression); | 1000 _rightHandSide = becomeParentOf(expression); |
| 926 } | 1001 } |
| 927 void visitChildren(ASTVisitor<Object> visitor) { | 1002 void visitChildren(ASTVisitor<Object> visitor) { |
| 928 safelyVisitChild(_leftHandSide, visitor); | 1003 safelyVisitChild(_leftHandSide, visitor); |
| 929 safelyVisitChild(_rightHandSide, visitor); | 1004 safelyVisitChild(_rightHandSide, visitor); |
| 930 } | 1005 } |
| 931 } | 1006 } |
| 932 /** | 1007 /** |
| 933 * Instances of the class {@code BinaryExpression} represent a binary (infix) ex pression. | 1008 * Instances of the class {@code BinaryExpression} represent a binary (infix) ex pression. |
| 934 * <pre> | 1009 * <pre> |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 951 * The element associated with the operator, or {@code null} if the AST struct ure has not been | 1026 * The element associated with the operator, or {@code null} if the AST struct ure has not been |
| 952 * resolved, if the operator is not user definable, or if the operator could n ot be resolved. | 1027 * resolved, if the operator is not user definable, or if the operator could n ot be resolved. |
| 953 */ | 1028 */ |
| 954 MethodElement _element; | 1029 MethodElement _element; |
| 955 /** | 1030 /** |
| 956 * Initialize a newly created binary expression. | 1031 * Initialize a newly created binary expression. |
| 957 * @param leftOperand the expression used to compute the left operand | 1032 * @param leftOperand the expression used to compute the left operand |
| 958 * @param operator the binary operator being applied | 1033 * @param operator the binary operator being applied |
| 959 * @param rightOperand the expression used to compute the right operand | 1034 * @param rightOperand the expression used to compute the right operand |
| 960 */ | 1035 */ |
| 961 BinaryExpression(Expression leftOperand, Token operator, Expression rightOpera nd) { | 1036 BinaryExpression.full(Expression leftOperand, Token operator, Expression right Operand) { |
| 962 this._leftOperand = becomeParentOf(leftOperand); | 1037 this._leftOperand = becomeParentOf(leftOperand); |
| 963 this._operator = operator; | 1038 this._operator = operator; |
| 964 this._rightOperand = becomeParentOf(rightOperand); | 1039 this._rightOperand = becomeParentOf(rightOperand); |
| 965 } | 1040 } |
| 1041 /** | |
| 1042 * Initialize a newly created binary expression. | |
| 1043 * @param leftOperand the expression used to compute the left operand | |
| 1044 * @param operator the binary operator being applied | |
| 1045 * @param rightOperand the expression used to compute the right operand | |
| 1046 */ | |
| 1047 BinaryExpression({Expression leftOperand, Token operator, Expression rightOper and}) : this.full(leftOperand, operator, rightOperand); | |
| 966 accept(ASTVisitor visitor) => visitor.visitBinaryExpression(this); | 1048 accept(ASTVisitor visitor) => visitor.visitBinaryExpression(this); |
| 967 Token get beginToken => _leftOperand.beginToken; | 1049 Token get beginToken => _leftOperand.beginToken; |
| 968 /** | 1050 /** |
| 969 * Return the element associated with the operator, or {@code null} if the AST structure has not | 1051 * Return the element associated with the operator, or {@code null} if the AST structure has not |
| 970 * been resolved, if the operator is not user definable, or if the operator co uld not be resolved. | 1052 * been resolved, if the operator is not user definable, or if the operator co uld not be resolved. |
| 971 * One example of the latter case is an operator that is not defined for the t ype of the left-hand | 1053 * One example of the latter case is an operator that is not defined for the t ype of the left-hand |
| 972 * operand. | 1054 * operand. |
| 973 * @return the element associated with the operator | 1055 * @return the element associated with the operator |
| 974 */ | 1056 */ |
| 975 MethodElement get element => _element; | 1057 MethodElement get element => _element; |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 986 Token get operator => _operator; | 1068 Token get operator => _operator; |
| 987 /** | 1069 /** |
| 988 * Return the expression used to compute the right operand. | 1070 * Return the expression used to compute the right operand. |
| 989 * @return the expression used to compute the right operand | 1071 * @return the expression used to compute the right operand |
| 990 */ | 1072 */ |
| 991 Expression get rightOperand => _rightOperand; | 1073 Expression get rightOperand => _rightOperand; |
| 992 /** | 1074 /** |
| 993 * Set the element associated with the operator to the given element. | 1075 * Set the element associated with the operator to the given element. |
| 994 * @param element the element associated with the operator | 1076 * @param element the element associated with the operator |
| 995 */ | 1077 */ |
| 996 void set element3(MethodElement element) { | 1078 void set element(MethodElement element4) { |
| 997 this._element = element; | 1079 this._element = element4; |
| 998 } | 1080 } |
| 999 /** | 1081 /** |
| 1000 * Set the expression used to compute the left operand to the given expression . | 1082 * Set the expression used to compute the left operand to the given expression . |
| 1001 * @param expression the expression used to compute the left operand | 1083 * @param expression the expression used to compute the left operand |
| 1002 */ | 1084 */ |
| 1003 void set leftOperand2(Expression expression) { | 1085 void set leftOperand(Expression expression) { |
| 1004 _leftOperand = becomeParentOf(expression); | 1086 _leftOperand = becomeParentOf(expression); |
| 1005 } | 1087 } |
| 1006 /** | 1088 /** |
| 1007 * Set the binary operator being applied to the given operator. | 1089 * Set the binary operator being applied to the given operator. |
| 1008 * @return the binary operator being applied | 1090 * @return the binary operator being applied |
| 1009 */ | 1091 */ |
| 1010 void set operator3(Token operator) { | 1092 void set operator(Token operator3) { |
| 1011 this._operator = operator; | 1093 this._operator = operator3; |
| 1012 } | 1094 } |
| 1013 /** | 1095 /** |
| 1014 * Set the expression used to compute the right operand to the given expressio n. | 1096 * Set the expression used to compute the right operand to the given expressio n. |
| 1015 * @param expression the expression used to compute the right operand | 1097 * @param expression the expression used to compute the right operand |
| 1016 */ | 1098 */ |
| 1017 void set rightOperand2(Expression expression) { | 1099 void set rightOperand(Expression expression) { |
| 1018 _rightOperand = becomeParentOf(expression); | 1100 _rightOperand = becomeParentOf(expression); |
| 1019 } | 1101 } |
| 1020 void visitChildren(ASTVisitor<Object> visitor) { | 1102 void visitChildren(ASTVisitor<Object> visitor) { |
| 1021 safelyVisitChild(_leftOperand, visitor); | 1103 safelyVisitChild(_leftOperand, visitor); |
| 1022 safelyVisitChild(_rightOperand, visitor); | 1104 safelyVisitChild(_rightOperand, visitor); |
| 1023 } | 1105 } |
| 1024 } | 1106 } |
| 1025 /** | 1107 /** |
| 1026 * Instances of the class {@code Block} represent a sequence of statements. | 1108 * Instances of the class {@code Block} represent a sequence of statements. |
| 1027 * <pre> | 1109 * <pre> |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 1041 /** | 1123 /** |
| 1042 * The right curly bracket. | 1124 * The right curly bracket. |
| 1043 */ | 1125 */ |
| 1044 Token _rightBracket; | 1126 Token _rightBracket; |
| 1045 /** | 1127 /** |
| 1046 * Initialize a newly created block of code. | 1128 * Initialize a newly created block of code. |
| 1047 * @param leftBracket the left curly bracket | 1129 * @param leftBracket the left curly bracket |
| 1048 * @param statements the statements contained in the block | 1130 * @param statements the statements contained in the block |
| 1049 * @param rightBracket the right curly bracket | 1131 * @param rightBracket the right curly bracket |
| 1050 */ | 1132 */ |
| 1051 Block(Token leftBracket, List<Statement> statements, Token rightBracket) { | 1133 Block.full(Token leftBracket, List<Statement> statements, Token rightBracket) { |
| 1052 this._statements = new NodeList<Statement>(this); | 1134 this._statements = new NodeList<Statement>(this); |
| 1053 this._leftBracket = leftBracket; | 1135 this._leftBracket = leftBracket; |
| 1054 this._statements.addAll(statements); | 1136 this._statements.addAll(statements); |
| 1055 this._rightBracket = rightBracket; | 1137 this._rightBracket = rightBracket; |
| 1056 } | 1138 } |
| 1139 /** | |
| 1140 * Initialize a newly created block of code. | |
| 1141 * @param leftBracket the left curly bracket | |
| 1142 * @param statements the statements contained in the block | |
| 1143 * @param rightBracket the right curly bracket | |
| 1144 */ | |
| 1145 Block({Token leftBracket, List<Statement> statements, Token rightBracket}) : t his.full(leftBracket, statements, rightBracket); | |
| 1057 accept(ASTVisitor visitor) => visitor.visitBlock(this); | 1146 accept(ASTVisitor visitor) => visitor.visitBlock(this); |
| 1058 Token get beginToken => _leftBracket; | 1147 Token get beginToken => _leftBracket; |
| 1059 Token get endToken => _rightBracket; | 1148 Token get endToken => _rightBracket; |
| 1060 /** | 1149 /** |
| 1061 * Return the left curly bracket. | 1150 * Return the left curly bracket. |
| 1062 * @return the left curly bracket | 1151 * @return the left curly bracket |
| 1063 */ | 1152 */ |
| 1064 Token get leftBracket => _leftBracket; | 1153 Token get leftBracket => _leftBracket; |
| 1065 /** | 1154 /** |
| 1066 * Return the right curly bracket. | 1155 * Return the right curly bracket. |
| 1067 * @return the right curly bracket | 1156 * @return the right curly bracket |
| 1068 */ | 1157 */ |
| 1069 Token get rightBracket => _rightBracket; | 1158 Token get rightBracket => _rightBracket; |
| 1070 /** | 1159 /** |
| 1071 * Return the statements contained in the block. | 1160 * Return the statements contained in the block. |
| 1072 * @return the statements contained in the block | 1161 * @return the statements contained in the block |
| 1073 */ | 1162 */ |
| 1074 NodeList<Statement> get statements => _statements; | 1163 NodeList<Statement> get statements => _statements; |
| 1075 /** | 1164 /** |
| 1076 * Set the left curly bracket to the given token. | 1165 * Set the left curly bracket to the given token. |
| 1077 * @param leftBracket the left curly bracket | 1166 * @param leftBracket the left curly bracket |
| 1078 */ | 1167 */ |
| 1079 void set leftBracket2(Token leftBracket) { | 1168 void set leftBracket(Token leftBracket2) { |
| 1080 this._leftBracket = leftBracket; | 1169 this._leftBracket = leftBracket2; |
| 1081 } | 1170 } |
| 1082 /** | 1171 /** |
| 1083 * Set the right curly bracket to the given token. | 1172 * Set the right curly bracket to the given token. |
| 1084 * @param rightBracket the right curly bracket | 1173 * @param rightBracket the right curly bracket |
| 1085 */ | 1174 */ |
| 1086 void set rightBracket2(Token rightBracket) { | 1175 void set rightBracket(Token rightBracket2) { |
| 1087 this._rightBracket = rightBracket; | 1176 this._rightBracket = rightBracket2; |
| 1088 } | 1177 } |
| 1089 void visitChildren(ASTVisitor<Object> visitor) { | 1178 void visitChildren(ASTVisitor<Object> visitor) { |
| 1090 _statements.accept(visitor); | 1179 _statements.accept(visitor); |
| 1091 } | 1180 } |
| 1092 } | 1181 } |
| 1093 /** | 1182 /** |
| 1094 * Instances of the class {@code BlockFunctionBody} represent a function body th at consists of a | 1183 * Instances of the class {@code BlockFunctionBody} represent a function body th at consists of a |
| 1095 * block of statements. | 1184 * block of statements. |
| 1096 * <pre> | 1185 * <pre> |
| 1097 * blockFunctionBody ::={@link Block block}</pre> | 1186 * blockFunctionBody ::={@link Block block}</pre> |
| 1098 */ | 1187 */ |
| 1099 class BlockFunctionBody extends FunctionBody { | 1188 class BlockFunctionBody extends FunctionBody { |
| 1100 /** | 1189 /** |
| 1101 * The block representing the body of the function. | 1190 * The block representing the body of the function. |
| 1102 */ | 1191 */ |
| 1103 Block _block; | 1192 Block _block; |
| 1104 /** | 1193 /** |
| 1105 * Initialize a newly created function body consisting of a block of statement s. | 1194 * Initialize a newly created function body consisting of a block of statement s. |
| 1106 * @param block the block representing the body of the function | 1195 * @param block the block representing the body of the function |
| 1107 */ | 1196 */ |
| 1108 BlockFunctionBody(Block block) { | 1197 BlockFunctionBody.full(Block block) { |
| 1109 this._block = becomeParentOf(block); | 1198 this._block = becomeParentOf(block); |
| 1110 } | 1199 } |
| 1200 /** | |
| 1201 * Initialize a newly created function body consisting of a block of statement s. | |
| 1202 * @param block the block representing the body of the function | |
| 1203 */ | |
| 1204 BlockFunctionBody({Block block}) : this.full(block); | |
| 1111 accept(ASTVisitor visitor) => visitor.visitBlockFunctionBody(this); | 1205 accept(ASTVisitor visitor) => visitor.visitBlockFunctionBody(this); |
| 1112 Token get beginToken => _block.beginToken; | 1206 Token get beginToken => _block.beginToken; |
| 1113 /** | 1207 /** |
| 1114 * Return the block representing the body of the function. | 1208 * Return the block representing the body of the function. |
| 1115 * @return the block representing the body of the function | 1209 * @return the block representing the body of the function |
| 1116 */ | 1210 */ |
| 1117 Block get block => _block; | 1211 Block get block => _block; |
| 1118 Token get endToken => _block.endToken; | 1212 Token get endToken => _block.endToken; |
| 1119 /** | 1213 /** |
| 1120 * Set the block representing the body of the function to the given block. | 1214 * Set the block representing the body of the function to the given block. |
| 1121 * @param block the block representing the body of the function | 1215 * @param block the block representing the body of the function |
| 1122 */ | 1216 */ |
| 1123 void set block2(Block block) { | 1217 void set block(Block block2) { |
| 1124 this._block = becomeParentOf(block); | 1218 this._block = becomeParentOf(block2); |
| 1125 } | 1219 } |
| 1126 void visitChildren(ASTVisitor<Object> visitor) { | 1220 void visitChildren(ASTVisitor<Object> visitor) { |
| 1127 safelyVisitChild(_block, visitor); | 1221 safelyVisitChild(_block, visitor); |
| 1128 } | 1222 } |
| 1129 } | 1223 } |
| 1130 /** | 1224 /** |
| 1131 * Instances of the class {@code BooleanLiteral} represent a boolean literal exp ression. | 1225 * Instances of the class {@code BooleanLiteral} represent a boolean literal exp ression. |
| 1132 * <pre> | 1226 * <pre> |
| 1133 * booleanLiteral ::= | 1227 * booleanLiteral ::= |
| 1134 * 'false' | 'true' | 1228 * 'false' | 'true' |
| 1135 * </pre> | 1229 * </pre> |
| 1136 */ | 1230 */ |
| 1137 class BooleanLiteral extends Literal { | 1231 class BooleanLiteral extends Literal { |
| 1138 /** | 1232 /** |
| 1139 * The token representing the literal. | 1233 * The token representing the literal. |
| 1140 */ | 1234 */ |
| 1141 Token _literal; | 1235 Token _literal; |
| 1142 /** | 1236 /** |
| 1143 * The value of the literal. | 1237 * The value of the literal. |
| 1144 */ | 1238 */ |
| 1145 bool _value = false; | 1239 bool _value = false; |
| 1146 /** | 1240 /** |
| 1147 * Initialize a newly created boolean literal. | 1241 * Initialize a newly created boolean literal. |
| 1148 * @param literal the token representing the literal | 1242 * @param literal the token representing the literal |
| 1149 * @param value the value of the literal | 1243 * @param value the value of the literal |
| 1150 */ | 1244 */ |
| 1151 BooleanLiteral(Token literal, bool value) { | 1245 BooleanLiteral.full(Token literal, bool value) { |
| 1152 this._literal = literal; | 1246 this._literal = literal; |
| 1153 this._value = value; | 1247 this._value = value; |
| 1154 } | 1248 } |
| 1249 /** | |
| 1250 * Initialize a newly created boolean literal. | |
| 1251 * @param literal the token representing the literal | |
| 1252 * @param value the value of the literal | |
| 1253 */ | |
| 1254 BooleanLiteral({Token literal, bool value}) : this.full(literal, value); | |
| 1155 accept(ASTVisitor visitor) => visitor.visitBooleanLiteral(this); | 1255 accept(ASTVisitor visitor) => visitor.visitBooleanLiteral(this); |
| 1156 Token get beginToken => _literal; | 1256 Token get beginToken => _literal; |
| 1157 Token get endToken => _literal; | 1257 Token get endToken => _literal; |
| 1158 /** | 1258 /** |
| 1159 * Return the token representing the literal. | 1259 * Return the token representing the literal. |
| 1160 * @return the token representing the literal | 1260 * @return the token representing the literal |
| 1161 */ | 1261 */ |
| 1162 Token get literal => _literal; | 1262 Token get literal => _literal; |
| 1163 /** | 1263 /** |
| 1164 * Return the value of the literal. | 1264 * Return the value of the literal. |
| 1165 * @return the value of the literal | 1265 * @return the value of the literal |
| 1166 */ | 1266 */ |
| 1167 bool get value => _value; | 1267 bool get value => _value; |
| 1168 bool isSynthetic() => _literal.isSynthetic(); | 1268 bool isSynthetic() => _literal.isSynthetic(); |
| 1169 /** | 1269 /** |
| 1170 * Set the token representing the literal to the given token. | 1270 * Set the token representing the literal to the given token. |
| 1171 * @param literal the token representing the literal | 1271 * @param literal the token representing the literal |
| 1172 */ | 1272 */ |
| 1173 void set literal2(Token literal) { | 1273 void set literal(Token literal2) { |
| 1174 this._literal = literal; | 1274 this._literal = literal2; |
| 1175 } | 1275 } |
| 1176 /** | 1276 /** |
| 1177 * Set the value of the literal to the given value. | 1277 * Set the value of the literal to the given value. |
| 1178 * @param value the value of the literal | 1278 * @param value the value of the literal |
| 1179 */ | 1279 */ |
| 1180 void set value4(bool value) { | 1280 void set value(bool value4) { |
| 1181 this._value = value; | 1281 this._value = value4; |
| 1182 } | 1282 } |
| 1183 void visitChildren(ASTVisitor<Object> visitor) { | 1283 void visitChildren(ASTVisitor<Object> visitor) { |
| 1184 } | 1284 } |
| 1185 } | 1285 } |
| 1186 /** | 1286 /** |
| 1187 * Instances of the class {@code BreakStatement} represent a break statement. | 1287 * Instances of the class {@code BreakStatement} represent a break statement. |
| 1188 * <pre> | 1288 * <pre> |
| 1189 * breakStatement ::= | 1289 * breakStatement ::= |
| 1190 * 'break' {@link SimpleIdentifier label}? ';' | 1290 * 'break' {@link SimpleIdentifier label}? ';' |
| 1191 * </pre> | 1291 * </pre> |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 1202 /** | 1302 /** |
| 1203 * The semicolon terminating the statement. | 1303 * The semicolon terminating the statement. |
| 1204 */ | 1304 */ |
| 1205 Token _semicolon; | 1305 Token _semicolon; |
| 1206 /** | 1306 /** |
| 1207 * Initialize a newly created break statement. | 1307 * Initialize a newly created break statement. |
| 1208 * @param keyword the token representing the 'break' keyword | 1308 * @param keyword the token representing the 'break' keyword |
| 1209 * @param label the label associated with the statement | 1309 * @param label the label associated with the statement |
| 1210 * @param semicolon the semicolon terminating the statement | 1310 * @param semicolon the semicolon terminating the statement |
| 1211 */ | 1311 */ |
| 1212 BreakStatement(Token keyword, SimpleIdentifier label, Token semicolon) { | 1312 BreakStatement.full(Token keyword, SimpleIdentifier label, Token semicolon) { |
| 1213 this._keyword = keyword; | 1313 this._keyword = keyword; |
| 1214 this._label = becomeParentOf(label); | 1314 this._label = becomeParentOf(label); |
| 1215 this._semicolon = semicolon; | 1315 this._semicolon = semicolon; |
| 1216 } | 1316 } |
| 1317 /** | |
| 1318 * Initialize a newly created break statement. | |
| 1319 * @param keyword the token representing the 'break' keyword | |
| 1320 * @param label the label associated with the statement | |
| 1321 * @param semicolon the semicolon terminating the statement | |
| 1322 */ | |
| 1323 BreakStatement({Token keyword, SimpleIdentifier label, Token semicolon}) : thi s.full(keyword, label, semicolon); | |
| 1217 accept(ASTVisitor visitor) => visitor.visitBreakStatement(this); | 1324 accept(ASTVisitor visitor) => visitor.visitBreakStatement(this); |
| 1218 Token get beginToken => _keyword; | 1325 Token get beginToken => _keyword; |
| 1219 Token get endToken => _semicolon; | 1326 Token get endToken => _semicolon; |
| 1220 /** | 1327 /** |
| 1221 * Return the token representing the 'break' keyword. | 1328 * Return the token representing the 'break' keyword. |
| 1222 * @return the token representing the 'break' keyword | 1329 * @return the token representing the 'break' keyword |
| 1223 */ | 1330 */ |
| 1224 Token get keyword => _keyword; | 1331 Token get keyword => _keyword; |
| 1225 /** | 1332 /** |
| 1226 * Return the label associated with the statement, or {@code null} if there is no label. | 1333 * Return the label associated with the statement, or {@code null} if there is no label. |
| 1227 * @return the label associated with the statement | 1334 * @return the label associated with the statement |
| 1228 */ | 1335 */ |
| 1229 SimpleIdentifier get label => _label; | 1336 SimpleIdentifier get label => _label; |
| 1230 /** | 1337 /** |
| 1231 * Return the semicolon terminating the statement. | 1338 * Return the semicolon terminating the statement. |
| 1232 * @return the semicolon terminating the statement | 1339 * @return the semicolon terminating the statement |
| 1233 */ | 1340 */ |
| 1234 Token get semicolon => _semicolon; | 1341 Token get semicolon => _semicolon; |
| 1235 /** | 1342 /** |
| 1236 * Set the token representing the 'break' keyword to the given token. | 1343 * Set the token representing the 'break' keyword to the given token. |
| 1237 * @param keyword the token representing the 'break' keyword | 1344 * @param keyword the token representing the 'break' keyword |
| 1238 */ | 1345 */ |
| 1239 void set keyword4(Token keyword) { | 1346 void set keyword(Token keyword4) { |
| 1240 this._keyword = keyword; | 1347 this._keyword = keyword4; |
| 1241 } | 1348 } |
| 1242 /** | 1349 /** |
| 1243 * Set the label associated with the statement to the given identifier. | 1350 * Set the label associated with the statement to the given identifier. |
| 1244 * @param identifier the label associated with the statement | 1351 * @param identifier the label associated with the statement |
| 1245 */ | 1352 */ |
| 1246 void set label2(SimpleIdentifier identifier) { | 1353 void set label(SimpleIdentifier identifier) { |
| 1247 _label = becomeParentOf(identifier); | 1354 _label = becomeParentOf(identifier); |
| 1248 } | 1355 } |
| 1249 /** | 1356 /** |
| 1250 * Set the semicolon terminating the statement to the given token. | 1357 * Set the semicolon terminating the statement to the given token. |
| 1251 * @param semicolon the semicolon terminating the statement | 1358 * @param semicolon the semicolon terminating the statement |
| 1252 */ | 1359 */ |
| 1253 void set semicolon3(Token semicolon) { | 1360 void set semicolon(Token semicolon3) { |
| 1254 this._semicolon = semicolon; | 1361 this._semicolon = semicolon3; |
| 1255 } | 1362 } |
| 1256 void visitChildren(ASTVisitor<Object> visitor) { | 1363 void visitChildren(ASTVisitor<Object> visitor) { |
| 1257 safelyVisitChild(_label, visitor); | 1364 safelyVisitChild(_label, visitor); |
| 1258 } | 1365 } |
| 1259 } | 1366 } |
| 1260 /** | 1367 /** |
| 1261 * Instances of the class {@code CascadeExpression} represent a sequence of casc aded expressions: | 1368 * Instances of the class {@code CascadeExpression} represent a sequence of casc aded expressions: |
| 1262 * expressions that share a common target. There are three kinds of expressions that can be used in | 1369 * expressions that share a common target. There are three kinds of expressions that can be used in |
| 1263 * a cascade expression: {@link IndexExpression}, {@link MethodInvocation} and{@ link PropertyAccess}. | 1370 * a cascade expression: {@link IndexExpression}, {@link MethodInvocation} and{@ link PropertyAccess}. |
| 1264 * <pre> | 1371 * <pre> |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 1277 Expression _target; | 1384 Expression _target; |
| 1278 /** | 1385 /** |
| 1279 * The cascade sections sharing the common target. | 1386 * The cascade sections sharing the common target. |
| 1280 */ | 1387 */ |
| 1281 NodeList<Expression> _cascadeSections; | 1388 NodeList<Expression> _cascadeSections; |
| 1282 /** | 1389 /** |
| 1283 * Initialize a newly created cascade expression. | 1390 * Initialize a newly created cascade expression. |
| 1284 * @param target the target of the cascade sections | 1391 * @param target the target of the cascade sections |
| 1285 * @param cascadeSections the cascade sections sharing the common target | 1392 * @param cascadeSections the cascade sections sharing the common target |
| 1286 */ | 1393 */ |
| 1287 CascadeExpression(Expression target, List<Expression> cascadeSections) { | 1394 CascadeExpression.full(Expression target, List<Expression> cascadeSections) { |
| 1288 this._cascadeSections = new NodeList<Expression>(this); | 1395 this._cascadeSections = new NodeList<Expression>(this); |
| 1289 this._target = becomeParentOf(target); | 1396 this._target = becomeParentOf(target); |
| 1290 this._cascadeSections.addAll(cascadeSections); | 1397 this._cascadeSections.addAll(cascadeSections); |
| 1291 } | 1398 } |
| 1399 /** | |
| 1400 * Initialize a newly created cascade expression. | |
| 1401 * @param target the target of the cascade sections | |
| 1402 * @param cascadeSections the cascade sections sharing the common target | |
| 1403 */ | |
| 1404 CascadeExpression({Expression target, List<Expression> cascadeSections}) : thi s.full(target, cascadeSections); | |
| 1292 accept(ASTVisitor visitor) => visitor.visitCascadeExpression(this); | 1405 accept(ASTVisitor visitor) => visitor.visitCascadeExpression(this); |
| 1293 Token get beginToken => _target.beginToken; | 1406 Token get beginToken => _target.beginToken; |
| 1294 /** | 1407 /** |
| 1295 * Return the cascade sections sharing the common target. | 1408 * Return the cascade sections sharing the common target. |
| 1296 * @return the cascade sections sharing the common target | 1409 * @return the cascade sections sharing the common target |
| 1297 */ | 1410 */ |
| 1298 NodeList<Expression> get cascadeSections => _cascadeSections; | 1411 NodeList<Expression> get cascadeSections => _cascadeSections; |
| 1299 Token get endToken => _cascadeSections.endToken; | 1412 Token get endToken => _cascadeSections.endToken; |
| 1300 /** | 1413 /** |
| 1301 * Return the target of the cascade sections. | 1414 * Return the target of the cascade sections. |
| 1302 * @return the target of the cascade sections | 1415 * @return the target of the cascade sections |
| 1303 */ | 1416 */ |
| 1304 Expression get target => _target; | 1417 Expression get target => _target; |
| 1305 /** | 1418 /** |
| 1306 * Set the target of the cascade sections to the given expression. | 1419 * Set the target of the cascade sections to the given expression. |
| 1307 * @param target the target of the cascade sections | 1420 * @param target the target of the cascade sections |
| 1308 */ | 1421 */ |
| 1309 void set target2(Expression target) { | 1422 void set target(Expression target2) { |
| 1310 this._target = becomeParentOf(target); | 1423 this._target = becomeParentOf(target2); |
| 1311 } | 1424 } |
| 1312 void visitChildren(ASTVisitor<Object> visitor) { | 1425 void visitChildren(ASTVisitor<Object> visitor) { |
| 1313 safelyVisitChild(_target, visitor); | 1426 safelyVisitChild(_target, visitor); |
| 1314 _cascadeSections.accept(visitor); | 1427 _cascadeSections.accept(visitor); |
| 1315 } | 1428 } |
| 1316 } | 1429 } |
| 1317 /** | 1430 /** |
| 1318 * Instances of the class {@code CatchClause} represent a catch clause within a try statement. | 1431 * Instances of the class {@code CatchClause} represent a catch clause within a try statement. |
| 1319 * <pre> | 1432 * <pre> |
| 1320 * onPart ::= | 1433 * onPart ::= |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1365 * @param onKeyword the token representing the 'on' keyword | 1478 * @param onKeyword the token representing the 'on' keyword |
| 1366 * @param exceptionType the type of exceptions caught by this catch clause | 1479 * @param exceptionType the type of exceptions caught by this catch clause |
| 1367 * @param leftParenthesis the left parenthesis | 1480 * @param leftParenthesis the left parenthesis |
| 1368 * @param exceptionParameter the parameter whose value will be the exception t hat was thrown | 1481 * @param exceptionParameter the parameter whose value will be the exception t hat was thrown |
| 1369 * @param comma the comma separating the exception parameter from the stack tr ace parameter | 1482 * @param comma the comma separating the exception parameter from the stack tr ace parameter |
| 1370 * @param stackTraceParameter the parameter whose value will be the stack trac e associated with | 1483 * @param stackTraceParameter the parameter whose value will be the stack trac e associated with |
| 1371 * the exception | 1484 * the exception |
| 1372 * @param rightParenthesis the right parenthesis | 1485 * @param rightParenthesis the right parenthesis |
| 1373 * @param body the body of the catch block | 1486 * @param body the body of the catch block |
| 1374 */ | 1487 */ |
| 1375 CatchClause(Token onKeyword, TypeName exceptionType, Token catchKeyword, Token leftParenthesis, SimpleIdentifier exceptionParameter, Token comma, SimpleIdenti fier stackTraceParameter, Token rightParenthesis, Block body) { | 1488 CatchClause.full(Token onKeyword, TypeName exceptionType, Token catchKeyword, Token leftParenthesis, SimpleIdentifier exceptionParameter, Token comma, SimpleI dentifier stackTraceParameter, Token rightParenthesis, Block body) { |
| 1376 this._onKeyword = onKeyword; | 1489 this._onKeyword = onKeyword; |
| 1377 this._exceptionType = becomeParentOf(exceptionType); | 1490 this._exceptionType = becomeParentOf(exceptionType); |
| 1378 this._catchKeyword = catchKeyword; | 1491 this._catchKeyword = catchKeyword; |
| 1379 this._leftParenthesis = leftParenthesis; | 1492 this._leftParenthesis = leftParenthesis; |
| 1380 this._exceptionParameter = becomeParentOf(exceptionParameter); | 1493 this._exceptionParameter = becomeParentOf(exceptionParameter); |
| 1381 this._comma = comma; | 1494 this._comma = comma; |
| 1382 this._stackTraceParameter = becomeParentOf(stackTraceParameter); | 1495 this._stackTraceParameter = becomeParentOf(stackTraceParameter); |
| 1383 this._rightParenthesis = rightParenthesis; | 1496 this._rightParenthesis = rightParenthesis; |
| 1384 this._body = becomeParentOf(body); | 1497 this._body = becomeParentOf(body); |
| 1385 } | 1498 } |
| 1499 /** | |
| 1500 * Initialize a newly created catch clause. | |
| 1501 * @param onKeyword the token representing the 'on' keyword | |
| 1502 * @param exceptionType the type of exceptions caught by this catch clause | |
| 1503 * @param leftParenthesis the left parenthesis | |
| 1504 * @param exceptionParameter the parameter whose value will be the exception t hat was thrown | |
| 1505 * @param comma the comma separating the exception parameter from the stack tr ace parameter | |
| 1506 * @param stackTraceParameter the parameter whose value will be the stack trac e associated with | |
| 1507 * the exception | |
| 1508 * @param rightParenthesis the right parenthesis | |
| 1509 * @param body the body of the catch block | |
| 1510 */ | |
| 1511 CatchClause({Token onKeyword, TypeName exceptionType, Token catchKeyword, Toke n leftParenthesis, SimpleIdentifier exceptionParameter, Token comma, SimpleIdent ifier stackTraceParameter, Token rightParenthesis, Block body}) : this.full(onKe yword, exceptionType, catchKeyword, leftParenthesis, exceptionParameter, comma, stackTraceParameter, rightParenthesis, body); | |
| 1386 accept(ASTVisitor visitor) => visitor.visitCatchClause(this); | 1512 accept(ASTVisitor visitor) => visitor.visitCatchClause(this); |
| 1387 Token get beginToken { | 1513 Token get beginToken { |
| 1388 if (_onKeyword != null) { | 1514 if (_onKeyword != null) { |
| 1389 return _onKeyword; | 1515 return _onKeyword; |
| 1390 } | 1516 } |
| 1391 return _catchKeyword; | 1517 return _catchKeyword; |
| 1392 } | 1518 } |
| 1393 /** | 1519 /** |
| 1394 * Return the body of the catch block. | 1520 * Return the body of the catch block. |
| 1395 * @return the body of the catch block | 1521 * @return the body of the catch block |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1435 Token get rightParenthesis => _rightParenthesis; | 1561 Token get rightParenthesis => _rightParenthesis; |
| 1436 /** | 1562 /** |
| 1437 * Return the parameter whose value will be the stack trace associated with th e exception. | 1563 * Return the parameter whose value will be the stack trace associated with th e exception. |
| 1438 * @return the parameter whose value will be the stack trace associated with t he exception | 1564 * @return the parameter whose value will be the stack trace associated with t he exception |
| 1439 */ | 1565 */ |
| 1440 SimpleIdentifier get stackTraceParameter => _stackTraceParameter; | 1566 SimpleIdentifier get stackTraceParameter => _stackTraceParameter; |
| 1441 /** | 1567 /** |
| 1442 * Set the body of the catch block to the given block. | 1568 * Set the body of the catch block to the given block. |
| 1443 * @param block the body of the catch block | 1569 * @param block the body of the catch block |
| 1444 */ | 1570 */ |
| 1445 void set body2(Block block) { | 1571 void set body(Block block) { |
| 1446 _body = becomeParentOf(block); | 1572 _body = becomeParentOf(block); |
| 1447 } | 1573 } |
| 1448 /** | 1574 /** |
| 1449 * Set the token representing the 'catch' keyword to the given token. | 1575 * Set the token representing the 'catch' keyword to the given token. |
| 1450 * @param catchKeyword the token representing the 'catch' keyword | 1576 * @param catchKeyword the token representing the 'catch' keyword |
| 1451 */ | 1577 */ |
| 1452 void set catchKeyword2(Token catchKeyword) { | 1578 void set catchKeyword(Token catchKeyword2) { |
| 1453 this._catchKeyword = catchKeyword; | 1579 this._catchKeyword = catchKeyword2; |
| 1454 } | 1580 } |
| 1455 /** | 1581 /** |
| 1456 * Set the comma to the given token. | 1582 * Set the comma to the given token. |
| 1457 * @param comma the comma | 1583 * @param comma the comma |
| 1458 */ | 1584 */ |
| 1459 void set comma2(Token comma) { | 1585 void set comma(Token comma2) { |
| 1460 this._comma = comma; | 1586 this._comma = comma2; |
| 1461 } | 1587 } |
| 1462 /** | 1588 /** |
| 1463 * Set the parameter whose value will be the exception that was thrown to the given parameter. | 1589 * Set the parameter whose value will be the exception that was thrown to the given parameter. |
| 1464 * @param parameter the parameter whose value will be the exception that was t hrown | 1590 * @param parameter the parameter whose value will be the exception that was t hrown |
| 1465 */ | 1591 */ |
| 1466 void set exceptionParameter2(SimpleIdentifier parameter) { | 1592 void set exceptionParameter(SimpleIdentifier parameter) { |
| 1467 _exceptionParameter = becomeParentOf(parameter); | 1593 _exceptionParameter = becomeParentOf(parameter); |
| 1468 } | 1594 } |
| 1469 /** | 1595 /** |
| 1470 * Set the type of exceptions caught by this catch clause to the given type. | 1596 * Set the type of exceptions caught by this catch clause to the given type. |
| 1471 * @param exceptionType the type of exceptions caught by this catch clause | 1597 * @param exceptionType the type of exceptions caught by this catch clause |
| 1472 */ | 1598 */ |
| 1473 void set exceptionType2(TypeName exceptionType) { | 1599 void set exceptionType(TypeName exceptionType2) { |
| 1474 this._exceptionType = exceptionType; | 1600 this._exceptionType = exceptionType2; |
| 1475 } | 1601 } |
| 1476 /** | 1602 /** |
| 1477 * Set the left parenthesis to the given token. | 1603 * Set the left parenthesis to the given token. |
| 1478 * @param parenthesis the left parenthesis | 1604 * @param parenthesis the left parenthesis |
| 1479 */ | 1605 */ |
| 1480 void set leftParenthesis4(Token parenthesis) { | 1606 void set leftParenthesis(Token parenthesis) { |
| 1481 _leftParenthesis = parenthesis; | 1607 _leftParenthesis = parenthesis; |
| 1482 } | 1608 } |
| 1483 /** | 1609 /** |
| 1484 * Set the token representing the 'on' keyword to the given keyword. | 1610 * Set the token representing the 'on' keyword to the given keyword. |
| 1485 * @param onKeyword the token representing the 'on' keyword | 1611 * @param onKeyword the token representing the 'on' keyword |
| 1486 */ | 1612 */ |
| 1487 void set onKeyword2(Token onKeyword) { | 1613 void set onKeyword(Token onKeyword2) { |
| 1488 this._onKeyword = onKeyword; | 1614 this._onKeyword = onKeyword2; |
| 1489 } | 1615 } |
| 1490 /** | 1616 /** |
| 1491 * Set the right parenthesis to the given token. | 1617 * Set the right parenthesis to the given token. |
| 1492 * @param parenthesis the right parenthesis | 1618 * @param parenthesis the right parenthesis |
| 1493 */ | 1619 */ |
| 1494 void set rightParenthesis4(Token parenthesis) { | 1620 void set rightParenthesis(Token parenthesis) { |
| 1495 _rightParenthesis = parenthesis; | 1621 _rightParenthesis = parenthesis; |
| 1496 } | 1622 } |
| 1497 /** | 1623 /** |
| 1498 * Set the parameter whose value will be the stack trace associated with the e xception to the | 1624 * Set the parameter whose value will be the stack trace associated with the e xception to the |
| 1499 * given parameter. | 1625 * given parameter. |
| 1500 * @param parameter the parameter whose value will be the stack trace associat ed with the | 1626 * @param parameter the parameter whose value will be the stack trace associat ed with the |
| 1501 * exception | 1627 * exception |
| 1502 */ | 1628 */ |
| 1503 void set stackTraceParameter2(SimpleIdentifier parameter) { | 1629 void set stackTraceParameter(SimpleIdentifier parameter) { |
| 1504 _stackTraceParameter = becomeParentOf(parameter); | 1630 _stackTraceParameter = becomeParentOf(parameter); |
| 1505 } | 1631 } |
| 1506 void visitChildren(ASTVisitor<Object> visitor) { | 1632 void visitChildren(ASTVisitor<Object> visitor) { |
| 1507 safelyVisitChild(_exceptionType, visitor); | 1633 safelyVisitChild(_exceptionType, visitor); |
| 1508 safelyVisitChild(_exceptionParameter, visitor); | 1634 safelyVisitChild(_exceptionParameter, visitor); |
| 1509 safelyVisitChild(_stackTraceParameter, visitor); | 1635 safelyVisitChild(_stackTraceParameter, visitor); |
| 1510 safelyVisitChild(_body, visitor); | 1636 safelyVisitChild(_body, visitor); |
| 1511 } | 1637 } |
| 1512 } | 1638 } |
| 1513 /** | 1639 /** |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1570 * @param classKeyword the token representing the 'class' keyword | 1696 * @param classKeyword the token representing the 'class' keyword |
| 1571 * @param name the name of the class being declared | 1697 * @param name the name of the class being declared |
| 1572 * @param typeParameters the type parameters for the class | 1698 * @param typeParameters the type parameters for the class |
| 1573 * @param extendsClause the extends clause for the class | 1699 * @param extendsClause the extends clause for the class |
| 1574 * @param withClause the with clause for the class | 1700 * @param withClause the with clause for the class |
| 1575 * @param implementsClause the implements clause for the class | 1701 * @param implementsClause the implements clause for the class |
| 1576 * @param leftBracket the left curly bracket | 1702 * @param leftBracket the left curly bracket |
| 1577 * @param members the members defined by the class | 1703 * @param members the members defined by the class |
| 1578 * @param rightBracket the right curly bracket | 1704 * @param rightBracket the right curly bracket |
| 1579 */ | 1705 */ |
| 1580 ClassDeclaration(Comment comment, List<Annotation> metadata, Token abstractKey word, Token classKeyword, SimpleIdentifier name, TypeParameterList typeParameter s, ExtendsClause extendsClause, WithClause withClause, ImplementsClause implemen tsClause, Token leftBracket, List<ClassMember> members, Token rightBracket) : su per(comment, metadata) { | 1706 ClassDeclaration.full(Comment comment, List<Annotation> metadata, Token abstra ctKeyword, Token classKeyword, SimpleIdentifier name, TypeParameterList typePara meters, ExtendsClause extendsClause, WithClause withClause, ImplementsClause imp lementsClause, Token leftBracket, List<ClassMember> members, Token rightBracket) : super.full(comment, metadata) { |
| 1581 this._members = new NodeList<ClassMember>(this); | 1707 this._members = new NodeList<ClassMember>(this); |
| 1582 this._abstractKeyword = abstractKeyword; | 1708 this._abstractKeyword = abstractKeyword; |
| 1583 this._classKeyword = classKeyword; | 1709 this._classKeyword = classKeyword; |
| 1584 this._name = becomeParentOf(name); | 1710 this._name = becomeParentOf(name); |
| 1585 this._typeParameters = becomeParentOf(typeParameters); | 1711 this._typeParameters = becomeParentOf(typeParameters); |
| 1586 this._extendsClause = becomeParentOf(extendsClause); | 1712 this._extendsClause = becomeParentOf(extendsClause); |
| 1587 this._withClause = becomeParentOf(withClause); | 1713 this._withClause = becomeParentOf(withClause); |
| 1588 this._implementsClause = becomeParentOf(implementsClause); | 1714 this._implementsClause = becomeParentOf(implementsClause); |
| 1589 this._leftBracket = leftBracket; | 1715 this._leftBracket = leftBracket; |
| 1590 this._members.addAll(members); | 1716 this._members.addAll(members); |
| 1591 this._rightBracket = rightBracket; | 1717 this._rightBracket = rightBracket; |
| 1592 } | 1718 } |
| 1719 /** | |
| 1720 * Initialize a newly created class declaration. | |
| 1721 * @param comment the documentation comment associated with this class | |
| 1722 * @param metadata the annotations associated with this class | |
| 1723 * @param abstractKeyword the 'abstract' keyword, or {@code null} if the keywo rd was absent | |
| 1724 * @param classKeyword the token representing the 'class' keyword | |
| 1725 * @param name the name of the class being declared | |
| 1726 * @param typeParameters the type parameters for the class | |
| 1727 * @param extendsClause the extends clause for the class | |
| 1728 * @param withClause the with clause for the class | |
| 1729 * @param implementsClause the implements clause for the class | |
| 1730 * @param leftBracket the left curly bracket | |
| 1731 * @param members the members defined by the class | |
| 1732 * @param rightBracket the right curly bracket | |
| 1733 */ | |
| 1734 ClassDeclaration({Comment comment, List<Annotation> metadata, Token abstractKe yword, Token classKeyword, SimpleIdentifier name, TypeParameterList typeParamete rs, ExtendsClause extendsClause, WithClause withClause, ImplementsClause impleme ntsClause, Token leftBracket, List<ClassMember> members, Token rightBracket}) : this.full(comment, metadata, abstractKeyword, classKeyword, name, typeParameters , extendsClause, withClause, implementsClause, leftBracket, members, rightBracke t); | |
| 1593 accept(ASTVisitor visitor) => visitor.visitClassDeclaration(this); | 1735 accept(ASTVisitor visitor) => visitor.visitClassDeclaration(this); |
| 1594 /** | 1736 /** |
| 1595 * Return the 'abstract' keyword, or {@code null} if the keyword was absent. | 1737 * Return the 'abstract' keyword, or {@code null} if the keyword was absent. |
| 1596 * @return the 'abstract' keyword | 1738 * @return the 'abstract' keyword |
| 1597 */ | 1739 */ |
| 1598 Token get abstractKeyword => _abstractKeyword; | 1740 Token get abstractKeyword => _abstractKeyword; |
| 1599 /** | 1741 /** |
| 1600 * Return the token representing the 'class' keyword. | 1742 * Return the token representing the 'class' keyword. |
| 1601 * @return the token representing the 'class' keyword | 1743 * @return the token representing the 'class' keyword |
| 1602 */ | 1744 */ |
| 1603 Token get classKeyword => _classKeyword; | 1745 Token get classKeyword => _classKeyword; |
| 1604 /** | 1746 /** |
| 1605 * @return the {@link ClassElement} associated with this identifier, or {@code null} if the AST | 1747 * @return the {@link ClassElement} associated with this identifier, or {@code null} if the AST |
| 1606 * structure has not been resolved or if this identifier could not be resolved . | 1748 * structure has not been resolved or if this identifier could not be resolved . |
| 1607 */ | 1749 */ |
| 1608 ClassElement get element => _name != null ? _name.element as ClassElement : nu ll; | 1750 ClassElement get element => _name != null ? (_name.element as ClassElement) : null; |
| 1609 Token get endToken => _rightBracket; | 1751 Token get endToken => _rightBracket; |
| 1610 /** | 1752 /** |
| 1611 * Return the extends clause for this class, or {@code null} if the class does not extend any | 1753 * Return the extends clause for this class, or {@code null} if the class does not extend any |
| 1612 * other class. | 1754 * other class. |
| 1613 * @return the extends clause for this class | 1755 * @return the extends clause for this class |
| 1614 */ | 1756 */ |
| 1615 ExtendsClause get extendsClause => _extendsClause; | 1757 ExtendsClause get extendsClause => _extendsClause; |
| 1616 /** | 1758 /** |
| 1617 * Return the implements clause for the class, or {@code null} if the class do es not implement any | 1759 * Return the implements clause for the class, or {@code null} if the class do es not implement any |
| 1618 * interfaces. | 1760 * interfaces. |
| (...skipping 28 matching lines...) Expand all Loading... | |
| 1647 TypeParameterList get typeParameters => _typeParameters; | 1789 TypeParameterList get typeParameters => _typeParameters; |
| 1648 /** | 1790 /** |
| 1649 * Return the with clause for the class, or {@code null} if the class does not have a with clause. | 1791 * Return the with clause for the class, or {@code null} if the class does not have a with clause. |
| 1650 * @return the with clause for the class | 1792 * @return the with clause for the class |
| 1651 */ | 1793 */ |
| 1652 WithClause get withClause => _withClause; | 1794 WithClause get withClause => _withClause; |
| 1653 /** | 1795 /** |
| 1654 * Set the 'abstract' keyword to the given keyword. | 1796 * Set the 'abstract' keyword to the given keyword. |
| 1655 * @param abstractKeyword the 'abstract' keyword | 1797 * @param abstractKeyword the 'abstract' keyword |
| 1656 */ | 1798 */ |
| 1657 void set abstractKeyword2(Token abstractKeyword) { | 1799 void set abstractKeyword(Token abstractKeyword2) { |
| 1658 this._abstractKeyword = abstractKeyword; | 1800 this._abstractKeyword = abstractKeyword2; |
| 1659 } | 1801 } |
| 1660 /** | 1802 /** |
| 1661 * Set the token representing the 'class' keyword to the given token. | 1803 * Set the token representing the 'class' keyword to the given token. |
| 1662 * @param classKeyword the token representing the 'class' keyword | 1804 * @param classKeyword the token representing the 'class' keyword |
| 1663 */ | 1805 */ |
| 1664 void set classKeyword2(Token classKeyword) { | 1806 void set classKeyword(Token classKeyword2) { |
| 1665 this._classKeyword = classKeyword; | 1807 this._classKeyword = classKeyword2; |
| 1666 } | 1808 } |
| 1667 /** | 1809 /** |
| 1668 * Set the extends clause for this class to the given clause. | 1810 * Set the extends clause for this class to the given clause. |
| 1669 * @param extendsClause the extends clause for this class | 1811 * @param extendsClause the extends clause for this class |
| 1670 */ | 1812 */ |
| 1671 void set extendsClause2(ExtendsClause extendsClause) { | 1813 void set extendsClause(ExtendsClause extendsClause3) { |
| 1672 this._extendsClause = becomeParentOf(extendsClause); | 1814 this._extendsClause = becomeParentOf(extendsClause3); |
| 1673 } | 1815 } |
| 1674 /** | 1816 /** |
| 1675 * Set the implements clause for the class to the given clause. | 1817 * Set the implements clause for the class to the given clause. |
| 1676 * @param implementsClause the implements clause for the class | 1818 * @param implementsClause the implements clause for the class |
| 1677 */ | 1819 */ |
| 1678 void set implementsClause2(ImplementsClause implementsClause) { | 1820 void set implementsClause(ImplementsClause implementsClause4) { |
| 1679 this._implementsClause = becomeParentOf(implementsClause); | 1821 this._implementsClause = becomeParentOf(implementsClause4); |
| 1680 } | 1822 } |
| 1681 /** | 1823 /** |
| 1682 * Set the left curly bracket to the given token. | 1824 * Set the left curly bracket to the given token. |
| 1683 * @param leftBracket the left curly bracket | 1825 * @param leftBracket the left curly bracket |
| 1684 */ | 1826 */ |
| 1685 void set leftBracket3(Token leftBracket) { | 1827 void set leftBracket(Token leftBracket3) { |
| 1686 this._leftBracket = leftBracket; | 1828 this._leftBracket = leftBracket3; |
| 1687 } | 1829 } |
| 1688 /** | 1830 /** |
| 1689 * Set the name of the class being declared to the given identifier. | 1831 * Set the name of the class being declared to the given identifier. |
| 1690 * @param identifier the name of the class being declared | 1832 * @param identifier the name of the class being declared |
| 1691 */ | 1833 */ |
| 1692 void set name3(SimpleIdentifier identifier) { | 1834 void set name(SimpleIdentifier identifier) { |
| 1693 _name = becomeParentOf(identifier); | 1835 _name = becomeParentOf(identifier); |
| 1694 } | 1836 } |
| 1695 /** | 1837 /** |
| 1696 * Set the right curly bracket to the given token. | 1838 * Set the right curly bracket to the given token. |
| 1697 * @param rightBracket the right curly bracket | 1839 * @param rightBracket the right curly bracket |
| 1698 */ | 1840 */ |
| 1699 void set rightBracket3(Token rightBracket) { | 1841 void set rightBracket(Token rightBracket3) { |
| 1700 this._rightBracket = rightBracket; | 1842 this._rightBracket = rightBracket3; |
| 1701 } | 1843 } |
| 1702 /** | 1844 /** |
| 1703 * Set the type parameters for the class to the given list of type parameters. | 1845 * Set the type parameters for the class to the given list of type parameters. |
| 1704 * @param typeParameters the type parameters for the class | 1846 * @param typeParameters the type parameters for the class |
| 1705 */ | 1847 */ |
| 1706 void set typeParameters2(TypeParameterList typeParameters) { | 1848 void set typeParameters(TypeParameterList typeParameters2) { |
| 1707 this._typeParameters = typeParameters; | 1849 this._typeParameters = typeParameters2; |
| 1708 } | 1850 } |
| 1709 /** | 1851 /** |
| 1710 * Set the with clause for the class to the given clause. | 1852 * Set the with clause for the class to the given clause. |
| 1711 * @param withClause the with clause for the class | 1853 * @param withClause the with clause for the class |
| 1712 */ | 1854 */ |
| 1713 void set withClause2(WithClause withClause) { | 1855 void set withClause(WithClause withClause4) { |
| 1714 this._withClause = becomeParentOf(withClause); | 1856 this._withClause = becomeParentOf(withClause4); |
| 1715 } | 1857 } |
| 1716 void visitChildren(ASTVisitor<Object> visitor) { | 1858 void visitChildren(ASTVisitor<Object> visitor) { |
| 1717 safelyVisitChild(documentationComment, visitor); | 1859 safelyVisitChild(documentationComment, visitor); |
| 1718 safelyVisitChild(_name, visitor); | 1860 safelyVisitChild(_name, visitor); |
| 1719 safelyVisitChild(_typeParameters, visitor); | 1861 safelyVisitChild(_typeParameters, visitor); |
| 1720 safelyVisitChild(_extendsClause, visitor); | 1862 safelyVisitChild(_extendsClause, visitor); |
| 1721 safelyVisitChild(_withClause, visitor); | 1863 safelyVisitChild(_withClause, visitor); |
| 1722 safelyVisitChild(_implementsClause, visitor); | 1864 safelyVisitChild(_implementsClause, visitor); |
| 1723 members.accept(visitor); | 1865 members.accept(visitor); |
| 1724 } | 1866 } |
| 1725 Token get firstTokenAfterCommentAndMetadata { | 1867 Token get firstTokenAfterCommentAndMetadata { |
| 1726 if (_abstractKeyword != null) { | 1868 if (_abstractKeyword != null) { |
| 1727 return _abstractKeyword; | 1869 return _abstractKeyword; |
| 1728 } | 1870 } |
| 1729 return _classKeyword; | 1871 return _classKeyword; |
| 1730 } | 1872 } |
| 1731 } | 1873 } |
| 1732 /** | 1874 /** |
| 1733 * The abstract class {@code ClassMember} defines the behavior common to nodes t hat declare a name | 1875 * The abstract class {@code ClassMember} defines the behavior common to nodes t hat declare a name |
| 1734 * within the scope of a class. | 1876 * within the scope of a class. |
| 1735 */ | 1877 */ |
| 1736 abstract class ClassMember extends Declaration { | 1878 abstract class ClassMember extends Declaration { |
| 1737 /** | 1879 /** |
| 1738 * Initialize a newly created member of a class. | 1880 * Initialize a newly created member of a class. |
| 1739 * @param comment the documentation comment associated with this member | 1881 * @param comment the documentation comment associated with this member |
| 1740 * @param metadata the annotations associated with this member | 1882 * @param metadata the annotations associated with this member |
| 1741 */ | 1883 */ |
| 1742 ClassMember(Comment comment, List<Annotation> metadata) : super(comment, metad ata) { | 1884 ClassMember.full(Comment comment, List<Annotation> metadata) : super.full(comm ent, metadata) { |
| 1743 } | 1885 } |
| 1886 /** | |
| 1887 * Initialize a newly created member of a class. | |
| 1888 * @param comment the documentation comment associated with this member | |
| 1889 * @param metadata the annotations associated with this member | |
| 1890 */ | |
| 1891 ClassMember({Comment comment, List<Annotation> metadata}) : this.full(comment, metadata); | |
| 1744 } | 1892 } |
| 1745 /** | 1893 /** |
| 1746 * Instances of the class {@code ClassTypeAlias} represent a class type alias. | 1894 * Instances of the class {@code ClassTypeAlias} represent a class type alias. |
| 1747 * <pre> | 1895 * <pre> |
| 1748 * classTypeAlias ::={@link SimpleIdentifier identifier} {@link TypeParameterLis t typeParameters}? '=' 'abstract'? mixinApplication | 1896 * classTypeAlias ::={@link SimpleIdentifier identifier} {@link TypeParameterLis t typeParameters}? '=' 'abstract'? mixinApplication |
| 1749 * mixinApplication ::={@link TypeName superclass} {@link WithClause withClause} {@link ImplementsClause implementsClause}? ';' | 1897 * mixinApplication ::={@link TypeName superclass} {@link WithClause withClause} {@link ImplementsClause implementsClause}? ';' |
| 1750 * </pre> | 1898 * </pre> |
| 1751 */ | 1899 */ |
| 1752 class ClassTypeAlias extends TypeAlias { | 1900 class ClassTypeAlias extends TypeAlias { |
| 1753 /** | 1901 /** |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1787 * @param keyword the token representing the 'typedef' keyword | 1935 * @param keyword the token representing the 'typedef' keyword |
| 1788 * @param name the name of the class being declared | 1936 * @param name the name of the class being declared |
| 1789 * @param typeParameters the type parameters for the class | 1937 * @param typeParameters the type parameters for the class |
| 1790 * @param equals the token for the '=' separating the name from the definition | 1938 * @param equals the token for the '=' separating the name from the definition |
| 1791 * @param abstractKeyword the token for the 'abstract' keyword | 1939 * @param abstractKeyword the token for the 'abstract' keyword |
| 1792 * @param superclass the name of the superclass of the class being declared | 1940 * @param superclass the name of the superclass of the class being declared |
| 1793 * @param withClause the with clause for this class | 1941 * @param withClause the with clause for this class |
| 1794 * @param implementsClause the implements clause for this class | 1942 * @param implementsClause the implements clause for this class |
| 1795 * @param semicolon the semicolon terminating the declaration | 1943 * @param semicolon the semicolon terminating the declaration |
| 1796 */ | 1944 */ |
| 1797 ClassTypeAlias(Comment comment, List<Annotation> metadata, Token keyword, Simp leIdentifier name, TypeParameterList typeParameters, Token equals, Token abstrac tKeyword, TypeName superclass, WithClause withClause, ImplementsClause implement sClause, Token semicolon) : super(comment, metadata, keyword, semicolon) { | 1945 ClassTypeAlias.full(Comment comment, List<Annotation> metadata, Token keyword, SimpleIdentifier name, TypeParameterList typeParameters, Token equals, Token ab stractKeyword, TypeName superclass, WithClause withClause, ImplementsClause impl ementsClause, Token semicolon) : super.full(comment, metadata, keyword, semicolo n) { |
| 1798 this._name = becomeParentOf(name); | 1946 this._name = becomeParentOf(name); |
| 1799 this._typeParameters = becomeParentOf(typeParameters); | 1947 this._typeParameters = becomeParentOf(typeParameters); |
| 1800 this._equals = equals; | 1948 this._equals = equals; |
| 1801 this._abstractKeyword = abstractKeyword; | 1949 this._abstractKeyword = abstractKeyword; |
| 1802 this._superclass = becomeParentOf(superclass); | 1950 this._superclass = becomeParentOf(superclass); |
| 1803 this._withClause = becomeParentOf(withClause); | 1951 this._withClause = becomeParentOf(withClause); |
| 1804 this._implementsClause = becomeParentOf(implementsClause); | 1952 this._implementsClause = becomeParentOf(implementsClause); |
| 1805 } | 1953 } |
| 1954 /** | |
| 1955 * Initialize a newly created class type alias. | |
| 1956 * @param comment the documentation comment associated with this type alias | |
| 1957 * @param metadata the annotations associated with this type alias | |
| 1958 * @param keyword the token representing the 'typedef' keyword | |
| 1959 * @param name the name of the class being declared | |
| 1960 * @param typeParameters the type parameters for the class | |
| 1961 * @param equals the token for the '=' separating the name from the definition | |
| 1962 * @param abstractKeyword the token for the 'abstract' keyword | |
| 1963 * @param superclass the name of the superclass of the class being declared | |
| 1964 * @param withClause the with clause for this class | |
| 1965 * @param implementsClause the implements clause for this class | |
| 1966 * @param semicolon the semicolon terminating the declaration | |
| 1967 */ | |
| 1968 ClassTypeAlias({Comment comment, List<Annotation> metadata, Token keyword, Sim pleIdentifier name, TypeParameterList typeParameters, Token equals, Token abstra ctKeyword, TypeName superclass, WithClause withClause, ImplementsClause implemen tsClause, Token semicolon}) : this.full(comment, metadata, keyword, name, typePa rameters, equals, abstractKeyword, superclass, withClause, implementsClause, sem icolon); | |
| 1806 accept(ASTVisitor visitor) => visitor.visitClassTypeAlias(this); | 1969 accept(ASTVisitor visitor) => visitor.visitClassTypeAlias(this); |
| 1807 /** | 1970 /** |
| 1808 * Return the token for the 'abstract' keyword, or {@code null} if this is not defining an | 1971 * Return the token for the 'abstract' keyword, or {@code null} if this is not defining an |
| 1809 * abstract class. | 1972 * abstract class. |
| 1810 * @return the token for the 'abstract' keyword | 1973 * @return the token for the 'abstract' keyword |
| 1811 */ | 1974 */ |
| 1812 Token get abstractKeyword => _abstractKeyword; | 1975 Token get abstractKeyword => _abstractKeyword; |
| 1813 /** | 1976 /** |
| 1814 * Return the {@link ClassElement} associated with this type alias, or {@code null} if the AST | 1977 * Return the {@link ClassElement} associated with this type alias, or {@code null} if the AST |
| 1815 * structure has not been resolved. | 1978 * structure has not been resolved. |
| 1816 * @return the {@link ClassElement} associated with this type alias | 1979 * @return the {@link ClassElement} associated with this type alias |
| 1817 */ | 1980 */ |
| 1818 ClassElement get element => _name != null ? _name.element as ClassElement : nu ll; | 1981 ClassElement get element => _name != null ? (_name.element as ClassElement) : null; |
| 1819 /** | 1982 /** |
| 1820 * Return the token for the '=' separating the name from the definition. | 1983 * Return the token for the '=' separating the name from the definition. |
| 1821 * @return the token for the '=' separating the name from the definition | 1984 * @return the token for the '=' separating the name from the definition |
| 1822 */ | 1985 */ |
| 1823 Token get equals => _equals; | 1986 Token get equals => _equals; |
| 1824 /** | 1987 /** |
| 1825 * Return the implements clause for this class, or {@code null} if there is no implements clause. | 1988 * Return the implements clause for this class, or {@code null} if there is no implements clause. |
| 1826 * @return the implements clause for this class | 1989 * @return the implements clause for this class |
| 1827 */ | 1990 */ |
| 1828 ImplementsClause get implementsClause => _implementsClause; | 1991 ImplementsClause get implementsClause => _implementsClause; |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 1844 TypeParameterList get typeParameters => _typeParameters; | 2007 TypeParameterList get typeParameters => _typeParameters; |
| 1845 /** | 2008 /** |
| 1846 * Return the with clause for this class. | 2009 * Return the with clause for this class. |
| 1847 * @return the with clause for this class | 2010 * @return the with clause for this class |
| 1848 */ | 2011 */ |
| 1849 WithClause get withClause => _withClause; | 2012 WithClause get withClause => _withClause; |
| 1850 /** | 2013 /** |
| 1851 * Set the token for the 'abstract' keyword to the given token. | 2014 * Set the token for the 'abstract' keyword to the given token. |
| 1852 * @param abstractKeyword the token for the 'abstract' keyword | 2015 * @param abstractKeyword the token for the 'abstract' keyword |
| 1853 */ | 2016 */ |
| 1854 void set abstractKeyword3(Token abstractKeyword) { | 2017 void set abstractKeyword(Token abstractKeyword3) { |
| 1855 this._abstractKeyword = abstractKeyword; | 2018 this._abstractKeyword = abstractKeyword3; |
| 1856 } | 2019 } |
| 1857 /** | 2020 /** |
| 1858 * Set the token for the '=' separating the name from the definition to the gi ven token. | 2021 * Set the token for the '=' separating the name from the definition to the gi ven token. |
| 1859 * @param equals the token for the '=' separating the name from the definition | 2022 * @param equals the token for the '=' separating the name from the definition |
| 1860 */ | 2023 */ |
| 1861 void set equals4(Token equals) { | 2024 void set equals(Token equals4) { |
| 1862 this._equals = equals; | 2025 this._equals = equals4; |
| 1863 } | 2026 } |
| 1864 /** | 2027 /** |
| 1865 * Set the implements clause for this class to the given implements clause. | 2028 * Set the implements clause for this class to the given implements clause. |
| 1866 * @param implementsClause the implements clause for this class | 2029 * @param implementsClause the implements clause for this class |
| 1867 */ | 2030 */ |
| 1868 void set implementsClause3(ImplementsClause implementsClause) { | 2031 void set implementsClause(ImplementsClause implementsClause5) { |
| 1869 this._implementsClause = becomeParentOf(implementsClause); | 2032 this._implementsClause = becomeParentOf(implementsClause5); |
| 1870 } | 2033 } |
| 1871 /** | 2034 /** |
| 1872 * Set the name of the class being declared to the given identifier. | 2035 * Set the name of the class being declared to the given identifier. |
| 1873 * @param name the name of the class being declared | 2036 * @param name the name of the class being declared |
| 1874 */ | 2037 */ |
| 1875 void set name4(SimpleIdentifier name) { | 2038 void set name(SimpleIdentifier name3) { |
| 1876 this._name = becomeParentOf(name); | 2039 this._name = becomeParentOf(name3); |
| 1877 } | 2040 } |
| 1878 /** | 2041 /** |
| 1879 * Set the name of the superclass of the class being declared to the given nam e. | 2042 * Set the name of the superclass of the class being declared to the given nam e. |
| 1880 * @param superclass the name of the superclass of the class being declared | 2043 * @param superclass the name of the superclass of the class being declared |
| 1881 */ | 2044 */ |
| 1882 void set superclass2(TypeName superclass) { | 2045 void set superclass(TypeName superclass2) { |
| 1883 this._superclass = becomeParentOf(superclass); | 2046 this._superclass = becomeParentOf(superclass2); |
| 1884 } | 2047 } |
| 1885 /** | 2048 /** |
| 1886 * Set the type parameters for the class to the given list of parameters. | 2049 * Set the type parameters for the class to the given list of parameters. |
| 1887 * @param typeParameters the type parameters for the class | 2050 * @param typeParameters the type parameters for the class |
| 1888 */ | 2051 */ |
| 1889 void set typeParameters3(TypeParameterList typeParameters) { | 2052 void set typeParameters(TypeParameterList typeParameters3) { |
| 1890 this._typeParameters = becomeParentOf(typeParameters); | 2053 this._typeParameters = becomeParentOf(typeParameters3); |
| 1891 } | 2054 } |
| 1892 /** | 2055 /** |
| 1893 * Set the with clause for this class to the given with clause. | 2056 * Set the with clause for this class to the given with clause. |
| 1894 * @param withClause the with clause for this class | 2057 * @param withClause the with clause for this class |
| 1895 */ | 2058 */ |
| 1896 void set withClause3(WithClause withClause) { | 2059 void set withClause(WithClause withClause5) { |
| 1897 this._withClause = becomeParentOf(withClause); | 2060 this._withClause = becomeParentOf(withClause5); |
| 1898 } | 2061 } |
| 1899 void visitChildren(ASTVisitor<Object> visitor) { | 2062 void visitChildren(ASTVisitor<Object> visitor) { |
| 1900 super.visitChildren(visitor); | 2063 super.visitChildren(visitor); |
| 1901 safelyVisitChild(_name, visitor); | 2064 safelyVisitChild(_name, visitor); |
| 1902 safelyVisitChild(_typeParameters, visitor); | 2065 safelyVisitChild(_typeParameters, visitor); |
| 1903 safelyVisitChild(_superclass, visitor); | 2066 safelyVisitChild(_superclass, visitor); |
| 1904 safelyVisitChild(_withClause, visitor); | 2067 safelyVisitChild(_withClause, visitor); |
| 1905 safelyVisitChild(_implementsClause, visitor); | 2068 safelyVisitChild(_implementsClause, visitor); |
| 1906 } | 2069 } |
| 1907 } | 2070 } |
| 1908 /** | 2071 /** |
| 1909 * Instances of the class {@code Combinator} represent the combinator associated with an import | 2072 * Instances of the class {@code Combinator} represent the combinator associated with an import |
| 1910 * directive. | 2073 * directive. |
| 1911 * <pre> | 2074 * <pre> |
| 1912 * combinator ::={@link HideCombinator hideCombinator}| {@link ShowCombinator sh owCombinator}</pre> | 2075 * combinator ::={@link HideCombinator hideCombinator}| {@link ShowCombinator sh owCombinator}</pre> |
| 1913 */ | 2076 */ |
| 1914 abstract class Combinator extends ASTNode { | 2077 abstract class Combinator extends ASTNode { |
| 1915 /** | 2078 /** |
| 1916 * The keyword specifying what kind of processing is to be done on the importe d names. | 2079 * The keyword specifying what kind of processing is to be done on the importe d names. |
| 1917 */ | 2080 */ |
| 1918 Token _keyword; | 2081 Token _keyword; |
| 1919 /** | 2082 /** |
| 1920 * Initialize a newly created import combinator. | 2083 * Initialize a newly created import combinator. |
| 1921 * @param keyword the keyword specifying what kind of processing is to be done on the imported | 2084 * @param keyword the keyword specifying what kind of processing is to be done on the imported |
| 1922 * names | 2085 * names |
| 1923 */ | 2086 */ |
| 1924 Combinator(Token keyword) { | 2087 Combinator.full(Token keyword) { |
| 1925 this._keyword = keyword; | 2088 this._keyword = keyword; |
| 1926 } | 2089 } |
| 2090 /** | |
| 2091 * Initialize a newly created import combinator. | |
| 2092 * @param keyword the keyword specifying what kind of processing is to be done on the imported | |
| 2093 * names | |
| 2094 */ | |
| 2095 Combinator({Token keyword}) : this.full(keyword); | |
| 1927 Token get beginToken => _keyword; | 2096 Token get beginToken => _keyword; |
| 1928 /** | 2097 /** |
| 1929 * Return the keyword specifying what kind of processing is to be done on the imported names. | 2098 * Return the keyword specifying what kind of processing is to be done on the imported names. |
| 1930 * @return the keyword specifying what kind of processing is to be done on the imported names | 2099 * @return the keyword specifying what kind of processing is to be done on the imported names |
| 1931 */ | 2100 */ |
| 1932 Token get keyword => _keyword; | 2101 Token get keyword => _keyword; |
| 1933 /** | 2102 /** |
| 1934 * Set the keyword specifying what kind of processing is to be done on the imp orted names to the | 2103 * Set the keyword specifying what kind of processing is to be done on the imp orted names to the |
| 1935 * given token. | 2104 * given token. |
| 1936 * @param keyword the keyword specifying what kind of processing is to be done on the imported | 2105 * @param keyword the keyword specifying what kind of processing is to be done on the imported |
| 1937 * names | 2106 * names |
| 1938 */ | 2107 */ |
| 1939 void set keyword5(Token keyword) { | 2108 void set keyword(Token keyword5) { |
| 1940 this._keyword = keyword; | 2109 this._keyword = keyword5; |
| 1941 } | 2110 } |
| 1942 } | 2111 } |
| 1943 /** | 2112 /** |
| 1944 * Instances of the class {@code Comment} represent a comment within the source code. | 2113 * Instances of the class {@code Comment} represent a comment within the source code. |
| 1945 * <pre> | 2114 * <pre> |
| 1946 * comment ::= | 2115 * comment ::= |
| 1947 * endOfLineComment | 2116 * endOfLineComment |
| 1948 * | blockComment | 2117 * | blockComment |
| 1949 * | documentationComment | 2118 * | documentationComment |
| 1950 * endOfLineComment ::= | 2119 * endOfLineComment ::= |
| 1951 * '//' (CHARACTER - EOL)* EOL | 2120 * '//' (CHARACTER - EOL)* EOL |
| 1952 * blockComment ::= | 2121 * blockComment ::= |
| 1953 * '/ *' CHARACTER* '*/' | 2122 * '/ *' CHARACTER* '*/' |
| 1954 * documentationComment ::= | 2123 * documentationComment ::= |
| 1955 * '/ **' (CHARACTER | {@link CommentReference commentReference})* '*/' | 2124 * '/ **' (CHARACTER | {@link CommentReference commentReference})* '*/' |
| 1956 * | ('///' (CHARACTER - EOL)* EOL)+ | 2125 * | ('///' (CHARACTER - EOL)* EOL)+ |
| 1957 * </pre> | 2126 * </pre> |
| 1958 */ | 2127 */ |
| 1959 class Comment extends ASTNode { | 2128 class Comment extends ASTNode { |
| 1960 /** | 2129 /** |
| 1961 * Create a block comment. | 2130 * Create a block comment. |
| 1962 * @param tokens the tokens representing the comment | 2131 * @param tokens the tokens representing the comment |
| 1963 * @return the block comment that was created | 2132 * @return the block comment that was created |
| 1964 */ | 2133 */ |
| 1965 static Comment createBlockComment(List<Token> tokens) => new Comment(tokens, C ommentType.BLOCK, null); | 2134 static Comment createBlockComment(List<Token> tokens) => new Comment.full(toke ns, CommentType.BLOCK, null); |
| 1966 /** | 2135 /** |
| 1967 * Create a documentation comment. | 2136 * Create a documentation comment. |
| 1968 * @param tokens the tokens representing the comment | 2137 * @param tokens the tokens representing the comment |
| 1969 * @return the documentation comment that was created | 2138 * @return the documentation comment that was created |
| 1970 */ | 2139 */ |
| 1971 static Comment createDocumentationComment(List<Token> tokens) => new Comment(t okens, CommentType.DOCUMENTATION, new List<CommentReference>()); | 2140 static Comment createDocumentationComment(List<Token> tokens) => new Comment.f ull(tokens, CommentType.DOCUMENTATION, new List<CommentReference>()); |
| 1972 /** | 2141 /** |
| 1973 * Create a documentation comment. | 2142 * Create a documentation comment. |
| 1974 * @param tokens the tokens representing the comment | 2143 * @param tokens the tokens representing the comment |
| 1975 * @param references the references embedded within the documentation comment | 2144 * @param references the references embedded within the documentation comment |
| 1976 * @return the documentation comment that was created | 2145 * @return the documentation comment that was created |
| 1977 */ | 2146 */ |
| 1978 static Comment createDocumentationComment2(List<Token> tokens, List<CommentRef erence> references) => new Comment(tokens, CommentType.DOCUMENTATION, references ); | 2147 static Comment createDocumentationComment2(List<Token> tokens, List<CommentRef erence> references) => new Comment.full(tokens, CommentType.DOCUMENTATION, refer ences); |
| 1979 /** | 2148 /** |
| 1980 * Create an end-of-line comment. | 2149 * Create an end-of-line comment. |
| 1981 * @param tokens the tokens representing the comment | 2150 * @param tokens the tokens representing the comment |
| 1982 * @return the end-of-line comment that was created | 2151 * @return the end-of-line comment that was created |
| 1983 */ | 2152 */ |
| 1984 static Comment createEndOfLineComment(List<Token> tokens) => new Comment(token s, CommentType.END_OF_LINE, null); | 2153 static Comment createEndOfLineComment(List<Token> tokens) => new Comment.full( tokens, CommentType.END_OF_LINE, null); |
| 1985 /** | 2154 /** |
| 1986 * The tokens representing the comment. | 2155 * The tokens representing the comment. |
| 1987 */ | 2156 */ |
| 1988 List<Token> _tokens; | 2157 List<Token> _tokens; |
| 1989 /** | 2158 /** |
| 1990 * The type of the comment. | 2159 * The type of the comment. |
| 1991 */ | 2160 */ |
| 1992 CommentType _type; | 2161 CommentType _type; |
| 1993 /** | 2162 /** |
| 1994 * The references embedded within the documentation comment. This list will be empty unless this | 2163 * The references embedded within the documentation comment. This list will be empty unless this |
| 1995 * is a documentation comment that has references embedded within it. | 2164 * is a documentation comment that has references embedded within it. |
| 1996 */ | 2165 */ |
| 1997 NodeList<CommentReference> _references; | 2166 NodeList<CommentReference> _references; |
| 1998 /** | 2167 /** |
| 1999 * Initialize a newly created comment. | 2168 * Initialize a newly created comment. |
| 2000 * @param tokens the tokens representing the comment | 2169 * @param tokens the tokens representing the comment |
| 2001 * @param type the type of the comment | 2170 * @param type the type of the comment |
| 2002 * @param references the references embedded within the documentation comment | 2171 * @param references the references embedded within the documentation comment |
| 2003 */ | 2172 */ |
| 2004 Comment(List<Token> tokens, CommentType type, List<CommentReference> reference s) { | 2173 Comment.full(List<Token> tokens, CommentType type, List<CommentReference> refe rences) { |
| 2005 this._references = new NodeList<CommentReference>(this); | 2174 this._references = new NodeList<CommentReference>(this); |
| 2006 this._tokens = tokens; | 2175 this._tokens = tokens; |
| 2007 this._type = type; | 2176 this._type = type; |
| 2008 this._references.addAll(references); | 2177 this._references.addAll(references); |
| 2009 } | 2178 } |
| 2179 /** | |
| 2180 * Initialize a newly created comment. | |
| 2181 * @param tokens the tokens representing the comment | |
| 2182 * @param type the type of the comment | |
| 2183 * @param references the references embedded within the documentation comment | |
| 2184 */ | |
| 2185 Comment({List<Token> tokens, CommentType type, List<CommentReference> referenc es}) : this.full(tokens, type, references); | |
| 2010 accept(ASTVisitor visitor) => visitor.visitComment(this); | 2186 accept(ASTVisitor visitor) => visitor.visitComment(this); |
| 2011 Token get beginToken => _tokens[0]; | 2187 Token get beginToken => _tokens[0]; |
| 2012 Token get endToken => _tokens[_tokens.length - 1]; | 2188 Token get endToken => _tokens[_tokens.length - 1]; |
| 2013 /** | 2189 /** |
| 2014 * Return the references embedded within the documentation comment. | 2190 * Return the references embedded within the documentation comment. |
| 2015 * @return the references embedded within the documentation comment | 2191 * @return the references embedded within the documentation comment |
| 2016 */ | 2192 */ |
| 2017 NodeList<CommentReference> get references => _references; | 2193 NodeList<CommentReference> get references => _references; |
| 2018 /** | 2194 /** |
| 2019 * Return {@code true} if this is a block comment. | 2195 * Return {@code true} if this is a block comment. |
| 2020 * @return {@code true} if this is a block comment | 2196 * @return {@code true} if this is a block comment |
| 2021 */ | 2197 */ |
| 2022 bool isBlock() => _type == CommentType.BLOCK; | 2198 bool isBlock() => identical(_type, CommentType.BLOCK); |
| 2023 /** | 2199 /** |
| 2024 * Return {@code true} if this is a documentation comment. | 2200 * Return {@code true} if this is a documentation comment. |
| 2025 * @return {@code true} if this is a documentation comment | 2201 * @return {@code true} if this is a documentation comment |
| 2026 */ | 2202 */ |
| 2027 bool isDocumentation() => _type == CommentType.DOCUMENTATION; | 2203 bool isDocumentation() => identical(_type, CommentType.DOCUMENTATION); |
| 2028 /** | 2204 /** |
| 2029 * Return {@code true} if this is an end-of-line comment. | 2205 * Return {@code true} if this is an end-of-line comment. |
| 2030 * @return {@code true} if this is an end-of-line comment | 2206 * @return {@code true} if this is an end-of-line comment |
| 2031 */ | 2207 */ |
| 2032 bool isEndOfLine() => _type == CommentType.END_OF_LINE; | 2208 bool isEndOfLine() => identical(_type, CommentType.END_OF_LINE); |
| 2033 void visitChildren(ASTVisitor<Object> visitor) { | 2209 void visitChildren(ASTVisitor<Object> visitor) { |
| 2034 _references.accept(visitor); | 2210 _references.accept(visitor); |
| 2035 } | 2211 } |
| 2036 } | 2212 } |
| 2037 /** | 2213 /** |
| 2038 * The enumeration {@code CommentType} encodes all the different types of commen ts that are | 2214 * The enumeration {@code CommentType} encodes all the different types of commen ts that are |
| 2039 * recognized by the parser. | 2215 * recognized by the parser. |
| 2040 */ | 2216 */ |
| 2041 class CommentType { | 2217 class CommentType { |
| 2042 /** | 2218 /** |
| (...skipping 30 matching lines...) Expand all Loading... | |
| 2073 Token _newKeyword; | 2249 Token _newKeyword; |
| 2074 /** | 2250 /** |
| 2075 * The identifier being referenced. | 2251 * The identifier being referenced. |
| 2076 */ | 2252 */ |
| 2077 Identifier _identifier; | 2253 Identifier _identifier; |
| 2078 /** | 2254 /** |
| 2079 * Initialize a newly created reference to a Dart element. | 2255 * Initialize a newly created reference to a Dart element. |
| 2080 * @param newKeyword the token representing the 'new' keyword | 2256 * @param newKeyword the token representing the 'new' keyword |
| 2081 * @param identifier the identifier being referenced | 2257 * @param identifier the identifier being referenced |
| 2082 */ | 2258 */ |
| 2083 CommentReference(Token newKeyword, Identifier identifier) { | 2259 CommentReference.full(Token newKeyword, Identifier identifier) { |
| 2084 this._newKeyword = newKeyword; | 2260 this._newKeyword = newKeyword; |
| 2085 this._identifier = becomeParentOf(identifier); | 2261 this._identifier = becomeParentOf(identifier); |
| 2086 } | 2262 } |
| 2263 /** | |
| 2264 * Initialize a newly created reference to a Dart element. | |
| 2265 * @param newKeyword the token representing the 'new' keyword | |
| 2266 * @param identifier the identifier being referenced | |
| 2267 */ | |
| 2268 CommentReference({Token newKeyword, Identifier identifier}) : this.full(newKey word, identifier); | |
| 2087 accept(ASTVisitor visitor) => visitor.visitCommentReference(this); | 2269 accept(ASTVisitor visitor) => visitor.visitCommentReference(this); |
| 2088 Token get beginToken => _identifier.beginToken; | 2270 Token get beginToken => _identifier.beginToken; |
| 2089 Token get endToken => _identifier.endToken; | 2271 Token get endToken => _identifier.endToken; |
| 2090 /** | 2272 /** |
| 2091 * Return the identifier being referenced. | 2273 * Return the identifier being referenced. |
| 2092 * @return the identifier being referenced | 2274 * @return the identifier being referenced |
| 2093 */ | 2275 */ |
| 2094 Identifier get identifier => _identifier; | 2276 Identifier get identifier => _identifier; |
| 2095 /** | 2277 /** |
| 2096 * Return the token representing the 'new' keyword, or {@code null} if there w as no 'new' keyword. | 2278 * Return the token representing the 'new' keyword, or {@code null} if there w as no 'new' keyword. |
| 2097 * @return the token representing the 'new' keyword | 2279 * @return the token representing the 'new' keyword |
| 2098 */ | 2280 */ |
| 2099 Token get newKeyword => _newKeyword; | 2281 Token get newKeyword => _newKeyword; |
| 2100 /** | 2282 /** |
| 2101 * Set the identifier being referenced to the given identifier. | 2283 * Set the identifier being referenced to the given identifier. |
| 2102 * @param identifier the identifier being referenced | 2284 * @param identifier the identifier being referenced |
| 2103 */ | 2285 */ |
| 2104 void set identifier3(Identifier identifier) { | 2286 void set identifier(Identifier identifier18) { |
| 2105 identifier = becomeParentOf(identifier); | 2287 identifier18 = becomeParentOf(identifier18); |
| 2106 } | 2288 } |
| 2107 /** | 2289 /** |
| 2108 * Set the token representing the 'new' keyword to the given token. | 2290 * Set the token representing the 'new' keyword to the given token. |
| 2109 * @param newKeyword the token representing the 'new' keyword | 2291 * @param newKeyword the token representing the 'new' keyword |
| 2110 */ | 2292 */ |
| 2111 void set newKeyword2(Token newKeyword) { | 2293 void set newKeyword(Token newKeyword2) { |
| 2112 this._newKeyword = newKeyword; | 2294 this._newKeyword = newKeyword2; |
| 2113 } | 2295 } |
| 2114 void visitChildren(ASTVisitor<Object> visitor) { | 2296 void visitChildren(ASTVisitor<Object> visitor) { |
| 2115 safelyVisitChild(_identifier, visitor); | 2297 safelyVisitChild(_identifier, visitor); |
| 2116 } | 2298 } |
| 2117 } | 2299 } |
| 2118 /** | 2300 /** |
| 2119 * Instances of the class {@code CompilationUnit} represent a compilation unit. | 2301 * Instances of the class {@code CompilationUnit} represent a compilation unit. |
| 2120 * <p> | 2302 * <p> |
| 2121 * While the grammar restricts the order of the directives and declarations with in a compilation | 2303 * While the grammar restricts the order of the directives and declarations with in a compilation |
| 2122 * unit, this class does not enforce those restrictions. In particular, the chil dren of a | 2304 * unit, this class does not enforce those restrictions. In particular, the chil dren of a |
| (...skipping 26 matching lines...) Expand all Loading... | |
| 2149 * The last token in the token stream that was parsed to form this compilation unit. This token | 2331 * The last token in the token stream that was parsed to form this compilation unit. This token |
| 2150 * should always have a type of {@link TokenType.EOF}. | 2332 * should always have a type of {@link TokenType.EOF}. |
| 2151 */ | 2333 */ |
| 2152 Token _endToken; | 2334 Token _endToken; |
| 2153 /** | 2335 /** |
| 2154 * The element associated with this compilation unit, or {@code null} if the A ST structure has not | 2336 * The element associated with this compilation unit, or {@code null} if the A ST structure has not |
| 2155 * been resolved. | 2337 * been resolved. |
| 2156 */ | 2338 */ |
| 2157 CompilationUnitElement _element; | 2339 CompilationUnitElement _element; |
| 2158 /** | 2340 /** |
| 2159 * The syntax errors encountered when the receiver was parsed. | 2341 * The {@link LineInfo} for this {@link CompilationUnit}. |
| 2160 */ | 2342 */ |
| 2161 List<AnalysisError> _syntacticErrors; | 2343 LineInfo _lineInfo; |
| 2344 /** | |
| 2345 * The parsing errors encountered when the receiver was parsed. | |
| 2346 */ | |
| 2347 List<AnalysisError> _parsingErrors = AnalysisError.NO_ERRORS; | |
| 2348 /** | |
| 2349 * The resolution errors encountered when the receiver was resolved. | |
| 2350 */ | |
| 2351 List<AnalysisError> _resolutionErrors = AnalysisError.NO_ERRORS; | |
| 2162 /** | 2352 /** |
| 2163 * Initialize a newly created compilation unit to have the given directives an d declarations. | 2353 * Initialize a newly created compilation unit to have the given directives an d declarations. |
| 2164 * @param beginToken the first token in the token stream | 2354 * @param beginToken the first token in the token stream |
| 2165 * @param scriptTag the script tag at the beginning of the compilation unit | 2355 * @param scriptTag the script tag at the beginning of the compilation unit |
| 2166 * @param directives the directives contained in this compilation unit | 2356 * @param directives the directives contained in this compilation unit |
| 2167 * @param declarations the declarations contained in this compilation unit | 2357 * @param declarations the declarations contained in this compilation unit |
| 2168 * @param endToken the last token in the token stream | 2358 * @param endToken the last token in the token stream |
| 2169 */ | 2359 */ |
| 2170 CompilationUnit(Token beginToken, ScriptTag scriptTag, List<Directive> directi ves, List<CompilationUnitMember> declarations, Token endToken) { | 2360 CompilationUnit.full(Token beginToken, ScriptTag scriptTag, List<Directive> di rectives, List<CompilationUnitMember> declarations, Token endToken) { |
| 2171 this._directives = new NodeList<Directive>(this); | 2361 this._directives = new NodeList<Directive>(this); |
| 2172 this._declarations = new NodeList<CompilationUnitMember>(this); | 2362 this._declarations = new NodeList<CompilationUnitMember>(this); |
| 2173 this._beginToken = beginToken; | 2363 this._beginToken = beginToken; |
| 2174 this._scriptTag = becomeParentOf(scriptTag); | 2364 this._scriptTag = becomeParentOf(scriptTag); |
| 2175 this._directives.addAll(directives); | 2365 this._directives.addAll(directives); |
| 2176 this._declarations.addAll(declarations); | 2366 this._declarations.addAll(declarations); |
| 2177 this._endToken = endToken; | 2367 this._endToken = endToken; |
| 2178 } | 2368 } |
| 2369 /** | |
| 2370 * Initialize a newly created compilation unit to have the given directives an d declarations. | |
| 2371 * @param beginToken the first token in the token stream | |
| 2372 * @param scriptTag the script tag at the beginning of the compilation unit | |
| 2373 * @param directives the directives contained in this compilation unit | |
| 2374 * @param declarations the declarations contained in this compilation unit | |
| 2375 * @param endToken the last token in the token stream | |
| 2376 */ | |
| 2377 CompilationUnit({Token beginToken, ScriptTag scriptTag, List<Directive> direct ives, List<CompilationUnitMember> declarations, Token endToken}) : this.full(beg inToken, scriptTag, directives, declarations, endToken); | |
| 2179 accept(ASTVisitor visitor) => visitor.visitCompilationUnit(this); | 2378 accept(ASTVisitor visitor) => visitor.visitCompilationUnit(this); |
| 2180 Token get beginToken => _beginToken; | 2379 Token get beginToken => _beginToken; |
| 2181 /** | 2380 /** |
| 2182 * Return the declarations contained in this compilation unit. | 2381 * Return the declarations contained in this compilation unit. |
| 2183 * @return the declarations contained in this compilation unit | 2382 * @return the declarations contained in this compilation unit |
| 2184 */ | 2383 */ |
| 2185 NodeList<CompilationUnitMember> get declarations => _declarations; | 2384 NodeList<CompilationUnitMember> get declarations => _declarations; |
| 2186 /** | 2385 /** |
| 2187 * Return the directives contained in this compilation unit. | 2386 * Return the directives contained in this compilation unit. |
| 2188 * @return the directives contained in this compilation unit | 2387 * @return the directives contained in this compilation unit |
| 2189 */ | 2388 */ |
| 2190 NodeList<Directive> get directives => _directives; | 2389 NodeList<Directive> get directives => _directives; |
| 2191 /** | 2390 /** |
| 2192 * Return the element associated with this compilation unit, or {@code null} i f the AST structure | 2391 * Return the element associated with this compilation unit, or {@code null} i f the AST structure |
| 2193 * has not been resolved. | 2392 * has not been resolved. |
| 2194 * @return the element associated with this compilation unit | 2393 * @return the element associated with this compilation unit |
| 2195 */ | 2394 */ |
| 2196 CompilationUnitElement get element => _element; | 2395 CompilationUnitElement get element => _element; |
| 2197 Token get endToken => _endToken; | 2396 Token get endToken => _endToken; |
| 2198 /** | 2397 /** |
| 2199 * Return an array containing all of the errors associated with the receiver. If the receiver has | 2398 * Return an array containing all of the errors associated with the receiver. If the receiver has |
| 2200 * not been resolved, then return {@code null}. | 2399 * not been resolved, then return {@code null}. |
| 2201 * @return an array of errors (contains no {@code null}s) or {@code null} if t he receiver has not | 2400 * @return an array of errors (contains no {@code null}s) or {@code null} if t he receiver has not |
| 2202 * been resolved | 2401 * been resolved |
| 2203 */ | 2402 */ |
| 2204 List<AnalysisError> get errors { | 2403 List<AnalysisError> get errors { |
| 2205 throw new UnsupportedOperationException(); | 2404 List<AnalysisError> parserErrors = parsingErrors; |
| 2405 List<AnalysisError> resolverErrors = resolutionErrors; | |
| 2406 if (resolverErrors.length == 0) { | |
| 2407 return parserErrors; | |
| 2408 } else if (parserErrors.length == 0) { | |
| 2409 return resolverErrors; | |
| 2410 } else { | |
| 2411 List<AnalysisError> allErrors = new List<AnalysisError>.fixedLength(parser Errors.length + resolverErrors.length); | |
| 2412 System.arraycopy(parserErrors, 0, allErrors, 0, parserErrors.length); | |
| 2413 System.arraycopy(resolverErrors, 0, allErrors, parserErrors.length, resolv erErrors.length); | |
| 2414 return allErrors; | |
| 2415 } | |
| 2206 } | 2416 } |
| 2207 int get length { | 2417 int get length { |
| 2208 Token endToken4 = endToken; | 2418 Token endToken3 = endToken; |
| 2209 if (endToken4 == null) { | 2419 if (endToken3 == null) { |
| 2210 return 0; | 2420 return 0; |
| 2211 } | 2421 } |
| 2212 return endToken4.offset + endToken4.length - beginToken.offset; | 2422 return endToken3.offset + endToken3.length - beginToken.offset; |
| 2213 } | 2423 } |
| 2424 /** | |
| 2425 * Get the {@link LineInfo} object for this compilation unit. | |
| 2426 * @return the associated {@link LineInfo} | |
| 2427 */ | |
| 2428 LineInfo get lineInfo => _lineInfo; | |
| 2214 int get offset { | 2429 int get offset { |
| 2215 Token beginToken4 = beginToken; | 2430 Token beginToken4 = beginToken; |
| 2216 if (beginToken4 == null) { | 2431 if (beginToken4 == null) { |
| 2217 return 0; | 2432 return 0; |
| 2218 } | 2433 } |
| 2219 return beginToken4.offset; | 2434 return beginToken4.offset; |
| 2220 } | 2435 } |
| 2221 /** | 2436 /** |
| 2437 * Return an array containing all of the parsing errors associated with the re ceiver. | |
| 2438 * @return an array of errors (not {@code null}, contains no {@code null}s). | |
| 2439 */ | |
| 2440 List<AnalysisError> get parsingErrors => _parsingErrors; | |
| 2441 /** | |
| 2442 * Return an array containing all of the resolution errors associated with the receiver. If the | |
| 2443 * receiver has not been resolved, then return {@code null}. | |
| 2444 * @return an array of errors (contains no {@code null}s) or {@code null} if t he receiver has not | |
| 2445 * been resolved | |
| 2446 */ | |
| 2447 List<AnalysisError> get resolutionErrors => _resolutionErrors; | |
| 2448 /** | |
| 2222 * Return the script tag at the beginning of the compilation unit, or {@code n ull} if there is no | 2449 * Return the script tag at the beginning of the compilation unit, or {@code n ull} if there is no |
| 2223 * script tag in this compilation unit. | 2450 * script tag in this compilation unit. |
| 2224 * @return the script tag at the beginning of the compilation unit | 2451 * @return the script tag at the beginning of the compilation unit |
| 2225 */ | 2452 */ |
| 2226 ScriptTag get scriptTag => _scriptTag; | 2453 ScriptTag get scriptTag => _scriptTag; |
| 2227 /** | 2454 /** |
| 2228 * Return an array containing all of the semantic errors associated with the r eceiver. If the | |
| 2229 * receiver has not been resolved, then return {@code null}. | |
| 2230 * @return an array of errors (contains no {@code null}s) or {@code null} if t he receiver has not | |
| 2231 * been resolved | |
| 2232 */ | |
| 2233 List<AnalysisError> get semanticErrors { | |
| 2234 throw new UnsupportedOperationException(); | |
| 2235 } | |
| 2236 /** | |
| 2237 * Return an array containing all of the syntactic errors associated with the receiver. | |
| 2238 * @return an array of errors (not {@code null}, contains no {@code null}s). | |
| 2239 */ | |
| 2240 List<AnalysisError> get syntacticErrors => _syntacticErrors; | |
| 2241 /** | |
| 2242 * Set the element associated with this compilation unit to the given element. | 2455 * Set the element associated with this compilation unit to the given element. |
| 2243 * @param element the element associated with this compilation unit | 2456 * @param element the element associated with this compilation unit |
| 2244 */ | 2457 */ |
| 2245 void set element4(CompilationUnitElement element) { | 2458 void set element(CompilationUnitElement element5) { |
| 2246 this._element = element; | 2459 this._element = element5; |
| 2460 } | |
| 2461 /** | |
| 2462 * Set the {@link LineInfo} object for this compilation unit. | |
| 2463 * @param errors LineInfo to associate with this compilation unit | |
| 2464 */ | |
| 2465 void set lineInfo(LineInfo lineInfo2) { | |
| 2466 this._lineInfo = lineInfo2; | |
| 2467 } | |
| 2468 /** | |
| 2469 * Called to cache the parsing errors when the unit is parsed. | |
| 2470 * @param errors an array of parsing errors, if <code>null</code> is passed, t he error array is | |
| 2471 * set to an empty array, {@link AnalysisError#NO_ERRORS} | |
| 2472 */ | |
| 2473 void set parsingErrors(List<AnalysisError> errors) { | |
| 2474 _parsingErrors = errors == null ? AnalysisError.NO_ERRORS : errors; | |
| 2475 } | |
| 2476 /** | |
| 2477 * Called to cache the resolution errors when the unit is resolved. | |
| 2478 * @param errors an array of resolution errors, if <code>null</code> is passed , the error array is | |
| 2479 * set to an empty array, {@link AnalysisError#NO_ERRORS} | |
| 2480 */ | |
| 2481 void set resolutionErrors(List<AnalysisError> errors) { | |
| 2482 _resolutionErrors = errors == null ? AnalysisError.NO_ERRORS : errors; | |
| 2247 } | 2483 } |
| 2248 /** | 2484 /** |
| 2249 * Set the script tag at the beginning of the compilation unit to the given sc ript tag. | 2485 * Set the script tag at the beginning of the compilation unit to the given sc ript tag. |
| 2250 * @param scriptTag the script tag at the beginning of the compilation unit | 2486 * @param scriptTag the script tag at the beginning of the compilation unit |
| 2251 */ | 2487 */ |
| 2252 void set scriptTag2(ScriptTag scriptTag) { | 2488 void set scriptTag(ScriptTag scriptTag2) { |
| 2253 this._scriptTag = becomeParentOf(scriptTag); | 2489 this._scriptTag = becomeParentOf(scriptTag2); |
| 2254 } | |
| 2255 /** | |
| 2256 * Called by the {@link AnalysisContext} to cache the syntax errors when the u nit is parsed. | |
| 2257 * @param errors an array of syntax errors (not {@code null}, contains no {@co de null}s) | |
| 2258 */ | |
| 2259 void set syntacticErrors2(List<AnalysisError> errors) { | |
| 2260 this._syntacticErrors = errors; | |
| 2261 } | 2490 } |
| 2262 void visitChildren(ASTVisitor<Object> visitor) { | 2491 void visitChildren(ASTVisitor<Object> visitor) { |
| 2263 safelyVisitChild(_scriptTag, visitor); | 2492 safelyVisitChild(_scriptTag, visitor); |
| 2264 if (directivesAreBeforeDeclarations()) { | 2493 if (directivesAreBeforeDeclarations()) { |
| 2265 _directives.accept(visitor); | 2494 _directives.accept(visitor); |
| 2266 _declarations.accept(visitor); | 2495 _declarations.accept(visitor); |
| 2267 } else { | 2496 } else { |
| 2268 for (ASTNode child in sortedDirectivesAndDeclarations) { | 2497 for (ASTNode child in sortedDirectivesAndDeclarations) { |
| 2269 child.accept(visitor); | 2498 child.accept(visitor); |
| 2270 } | 2499 } |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2302 * declare a name within the scope of a compilation unit. | 2531 * declare a name within the scope of a compilation unit. |
| 2303 * <pre> | 2532 * <pre> |
| 2304 * compilationUnitMember ::={@link ClassDeclaration classDeclaration}| {@link Ty peAlias typeAlias}| {@link FunctionDeclaration functionDeclaration}| {@link Meth odDeclaration getOrSetDeclaration}| {@link VariableDeclaration constantsDeclarat ion}| {@link VariableDeclaration variablesDeclaration}</pre> | 2533 * compilationUnitMember ::={@link ClassDeclaration classDeclaration}| {@link Ty peAlias typeAlias}| {@link FunctionDeclaration functionDeclaration}| {@link Meth odDeclaration getOrSetDeclaration}| {@link VariableDeclaration constantsDeclarat ion}| {@link VariableDeclaration variablesDeclaration}</pre> |
| 2305 */ | 2534 */ |
| 2306 abstract class CompilationUnitMember extends Declaration { | 2535 abstract class CompilationUnitMember extends Declaration { |
| 2307 /** | 2536 /** |
| 2308 * Initialize a newly created generic compilation unit member. | 2537 * Initialize a newly created generic compilation unit member. |
| 2309 * @param comment the documentation comment associated with this member | 2538 * @param comment the documentation comment associated with this member |
| 2310 * @param metadata the annotations associated with this member | 2539 * @param metadata the annotations associated with this member |
| 2311 */ | 2540 */ |
| 2312 CompilationUnitMember(Comment comment, List<Annotation> metadata) : super(comm ent, metadata) { | 2541 CompilationUnitMember.full(Comment comment, List<Annotation> metadata) : super .full(comment, metadata) { |
| 2313 } | 2542 } |
| 2543 /** | |
| 2544 * Initialize a newly created generic compilation unit member. | |
| 2545 * @param comment the documentation comment associated with this member | |
| 2546 * @param metadata the annotations associated with this member | |
| 2547 */ | |
| 2548 CompilationUnitMember({Comment comment, List<Annotation> metadata}) : this.ful l(comment, metadata); | |
| 2314 } | 2549 } |
| 2315 /** | 2550 /** |
| 2316 * Instances of the class {@code ConditionalExpression} represent a conditional expression. | 2551 * Instances of the class {@code ConditionalExpression} represent a conditional expression. |
| 2317 * <pre> | 2552 * <pre> |
| 2318 * conditionalExpression ::={@link Expression condition} '?' {@link Expression t henExpression} ':' {@link Expression elseExpression}</pre> | 2553 * conditionalExpression ::={@link Expression condition} '?' {@link Expression t henExpression} ':' {@link Expression elseExpression}</pre> |
| 2319 */ | 2554 */ |
| 2320 class ConditionalExpression extends Expression { | 2555 class ConditionalExpression extends Expression { |
| 2321 /** | 2556 /** |
| 2322 * The condition used to determine which of the expressions is executed next. | 2557 * The condition used to determine which of the expressions is executed next. |
| 2323 */ | 2558 */ |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 2339 */ | 2574 */ |
| 2340 Expression _elseExpression; | 2575 Expression _elseExpression; |
| 2341 /** | 2576 /** |
| 2342 * Initialize a newly created conditional expression. | 2577 * Initialize a newly created conditional expression. |
| 2343 * @param condition the condition used to determine which expression is execut ed next | 2578 * @param condition the condition used to determine which expression is execut ed next |
| 2344 * @param question the token used to separate the condition from the then expr ession | 2579 * @param question the token used to separate the condition from the then expr ession |
| 2345 * @param thenExpression the expression that is executed if the condition eval uates to{@code true} | 2580 * @param thenExpression the expression that is executed if the condition eval uates to{@code true} |
| 2346 * @param colon the token used to separate the then expression from the else e xpression | 2581 * @param colon the token used to separate the then expression from the else e xpression |
| 2347 * @param elseExpression the expression that is executed if the condition eval uates to{@code false} | 2582 * @param elseExpression the expression that is executed if the condition eval uates to{@code false} |
| 2348 */ | 2583 */ |
| 2349 ConditionalExpression(Expression condition, Token question, Expression thenExp ression, Token colon, Expression elseExpression) { | 2584 ConditionalExpression.full(Expression condition, Token question, Expression th enExpression, Token colon, Expression elseExpression) { |
| 2350 this._condition = becomeParentOf(condition); | 2585 this._condition = becomeParentOf(condition); |
| 2351 this._question = question; | 2586 this._question = question; |
| 2352 this._thenExpression = becomeParentOf(thenExpression); | 2587 this._thenExpression = becomeParentOf(thenExpression); |
| 2353 this._colon = colon; | 2588 this._colon = colon; |
| 2354 this._elseExpression = becomeParentOf(elseExpression); | 2589 this._elseExpression = becomeParentOf(elseExpression); |
| 2355 } | 2590 } |
| 2591 /** | |
| 2592 * Initialize a newly created conditional expression. | |
| 2593 * @param condition the condition used to determine which expression is execut ed next | |
| 2594 * @param question the token used to separate the condition from the then expr ession | |
| 2595 * @param thenExpression the expression that is executed if the condition eval uates to{@code true} | |
| 2596 * @param colon the token used to separate the then expression from the else e xpression | |
| 2597 * @param elseExpression the expression that is executed if the condition eval uates to{@code false} | |
| 2598 */ | |
| 2599 ConditionalExpression({Expression condition, Token question, Expression thenEx pression, Token colon, Expression elseExpression}) : this.full(condition, questi on, thenExpression, colon, elseExpression); | |
| 2356 accept(ASTVisitor visitor) => visitor.visitConditionalExpression(this); | 2600 accept(ASTVisitor visitor) => visitor.visitConditionalExpression(this); |
| 2357 Token get beginToken => _condition.beginToken; | 2601 Token get beginToken => _condition.beginToken; |
| 2358 /** | 2602 /** |
| 2359 * Return the token used to separate the then expression from the else express ion. | 2603 * Return the token used to separate the then expression from the else express ion. |
| 2360 * @return the token used to separate the then expression from the else expres sion | 2604 * @return the token used to separate the then expression from the else expres sion |
| 2361 */ | 2605 */ |
| 2362 Token get colon => _colon; | 2606 Token get colon => _colon; |
| 2363 /** | 2607 /** |
| 2364 * Return the condition used to determine which of the expressions is executed next. | 2608 * Return the condition used to determine which of the expressions is executed next. |
| 2365 * @return the condition used to determine which expression is executed next | 2609 * @return the condition used to determine which expression is executed next |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 2378 Token get question => _question; | 2622 Token get question => _question; |
| 2379 /** | 2623 /** |
| 2380 * Return the expression that is executed if the condition evaluates to {@code true}. | 2624 * Return the expression that is executed if the condition evaluates to {@code true}. |
| 2381 * @return the expression that is executed if the condition evaluates to {@cod e true} | 2625 * @return the expression that is executed if the condition evaluates to {@cod e true} |
| 2382 */ | 2626 */ |
| 2383 Expression get thenExpression => _thenExpression; | 2627 Expression get thenExpression => _thenExpression; |
| 2384 /** | 2628 /** |
| 2385 * Set the token used to separate the then expression from the else expression to the given token. | 2629 * Set the token used to separate the then expression from the else expression to the given token. |
| 2386 * @param colon the token used to separate the then expression from the else e xpression | 2630 * @param colon the token used to separate the then expression from the else e xpression |
| 2387 */ | 2631 */ |
| 2388 void set colon2(Token colon) { | 2632 void set colon(Token colon2) { |
| 2389 this._colon = colon; | 2633 this._colon = colon2; |
| 2390 } | 2634 } |
| 2391 /** | 2635 /** |
| 2392 * Set the condition used to determine which of the expressions is executed ne xt to the given | 2636 * Set the condition used to determine which of the expressions is executed ne xt to the given |
| 2393 * expression. | 2637 * expression. |
| 2394 * @param expression the condition used to determine which expression is execu ted next | 2638 * @param expression the condition used to determine which expression is execu ted next |
| 2395 */ | 2639 */ |
| 2396 void set condition3(Expression expression) { | 2640 void set condition(Expression expression) { |
| 2397 _condition = becomeParentOf(expression); | 2641 _condition = becomeParentOf(expression); |
| 2398 } | 2642 } |
| 2399 /** | 2643 /** |
| 2400 * Set the expression that is executed if the condition evaluates to {@code fa lse} to the given | 2644 * Set the expression that is executed if the condition evaluates to {@code fa lse} to the given |
| 2401 * expression. | 2645 * expression. |
| 2402 * @param expression the expression that is executed if the condition evaluate s to {@code false} | 2646 * @param expression the expression that is executed if the condition evaluate s to {@code false} |
| 2403 */ | 2647 */ |
| 2404 void set elseExpression2(Expression expression) { | 2648 void set elseExpression(Expression expression) { |
| 2405 _elseExpression = becomeParentOf(expression); | 2649 _elseExpression = becomeParentOf(expression); |
| 2406 } | 2650 } |
| 2407 /** | 2651 /** |
| 2408 * Set the token used to separate the condition from the then expression to th e given token. | 2652 * Set the token used to separate the condition from the then expression to th e given token. |
| 2409 * @param question the token used to separate the condition from the then expr ession | 2653 * @param question the token used to separate the condition from the then expr ession |
| 2410 */ | 2654 */ |
| 2411 void set question3(Token question) { | 2655 void set question(Token question3) { |
| 2412 this._question = question; | 2656 this._question = question3; |
| 2413 } | 2657 } |
| 2414 /** | 2658 /** |
| 2415 * Set the expression that is executed if the condition evaluates to {@code tr ue} to the given | 2659 * Set the expression that is executed if the condition evaluates to {@code tr ue} to the given |
| 2416 * expression. | 2660 * expression. |
| 2417 * @param expression the expression that is executed if the condition evaluate s to {@code true} | 2661 * @param expression the expression that is executed if the condition evaluate s to {@code true} |
| 2418 */ | 2662 */ |
| 2419 void set thenExpression2(Expression expression) { | 2663 void set thenExpression(Expression expression) { |
| 2420 _thenExpression = becomeParentOf(expression); | 2664 _thenExpression = becomeParentOf(expression); |
| 2421 } | 2665 } |
| 2422 void visitChildren(ASTVisitor<Object> visitor) { | 2666 void visitChildren(ASTVisitor<Object> visitor) { |
| 2423 safelyVisitChild(_condition, visitor); | 2667 safelyVisitChild(_condition, visitor); |
| 2424 safelyVisitChild(_thenExpression, visitor); | 2668 safelyVisitChild(_thenExpression, visitor); |
| 2425 safelyVisitChild(_elseExpression, visitor); | 2669 safelyVisitChild(_elseExpression, visitor); |
| 2426 } | 2670 } |
| 2427 } | 2671 } |
| 2428 /** | 2672 /** |
| 2429 * Instances of the class {@code ConstructorDeclaration} represent a constructor declaration. | 2673 * Instances of the class {@code ConstructorDeclaration} represent a constructor declaration. |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2505 * @param returnType the return type of the constructor | 2749 * @param returnType the return type of the constructor |
| 2506 * @param period the token for the period before the constructor name | 2750 * @param period the token for the period before the constructor name |
| 2507 * @param name the name of the constructor | 2751 * @param name the name of the constructor |
| 2508 * @param parameters the parameters associated with the constructor | 2752 * @param parameters the parameters associated with the constructor |
| 2509 * @param separator the token for the colon or equals before the initializers | 2753 * @param separator the token for the colon or equals before the initializers |
| 2510 * @param initializers the initializers associated with the constructor | 2754 * @param initializers the initializers associated with the constructor |
| 2511 * @param redirectedConstructor the name of the constructor to which this cons tructor will be | 2755 * @param redirectedConstructor the name of the constructor to which this cons tructor will be |
| 2512 * redirected | 2756 * redirected |
| 2513 * @param body the body of the constructor | 2757 * @param body the body of the constructor |
| 2514 */ | 2758 */ |
| 2515 ConstructorDeclaration(Comment comment, List<Annotation> metadata, Token exter nalKeyword, Token constKeyword, Token factoryKeyword, Identifier returnType, Tok en period, SimpleIdentifier name, FormalParameterList parameters, Token separato r, List<ConstructorInitializer> initializers, ConstructorName redirectedConstruc tor, FunctionBody body) : super(comment, metadata) { | 2759 ConstructorDeclaration.full(Comment comment, List<Annotation> metadata, Token externalKeyword, Token constKeyword, Token factoryKeyword, Identifier returnType , Token period, SimpleIdentifier name, FormalParameterList parameters, Token sep arator, List<ConstructorInitializer> initializers, ConstructorName redirectedCon structor, FunctionBody body) : super.full(comment, metadata) { |
| 2516 this._initializers = new NodeList<ConstructorInitializer>(this); | 2760 this._initializers = new NodeList<ConstructorInitializer>(this); |
| 2517 this._externalKeyword = externalKeyword; | 2761 this._externalKeyword = externalKeyword; |
| 2518 this._constKeyword = constKeyword; | 2762 this._constKeyword = constKeyword; |
| 2519 this._factoryKeyword = factoryKeyword; | 2763 this._factoryKeyword = factoryKeyword; |
| 2520 this._returnType = becomeParentOf(returnType); | 2764 this._returnType = becomeParentOf(returnType); |
| 2521 this._period = period; | 2765 this._period = period; |
| 2522 this._name = becomeParentOf(name); | 2766 this._name = becomeParentOf(name); |
| 2523 this._parameters = becomeParentOf(parameters); | 2767 this._parameters = becomeParentOf(parameters); |
| 2524 this._separator = separator; | 2768 this._separator = separator; |
| 2525 this._initializers.addAll(initializers); | 2769 this._initializers.addAll(initializers); |
| 2526 this._redirectedConstructor = becomeParentOf(redirectedConstructor); | 2770 this._redirectedConstructor = becomeParentOf(redirectedConstructor); |
| 2527 this._body = becomeParentOf(body); | 2771 this._body = becomeParentOf(body); |
| 2528 } | 2772 } |
| 2773 /** | |
| 2774 * Initialize a newly created constructor declaration. | |
| 2775 * @param externalKeyword the token for the 'external' keyword | |
| 2776 * @param comment the documentation comment associated with this constructor | |
| 2777 * @param metadata the annotations associated with this constructor | |
| 2778 * @param constKeyword the token for the 'const' keyword | |
| 2779 * @param factoryKeyword the token for the 'factory' keyword | |
| 2780 * @param returnType the return type of the constructor | |
| 2781 * @param period the token for the period before the constructor name | |
| 2782 * @param name the name of the constructor | |
| 2783 * @param parameters the parameters associated with the constructor | |
| 2784 * @param separator the token for the colon or equals before the initializers | |
| 2785 * @param initializers the initializers associated with the constructor | |
| 2786 * @param redirectedConstructor the name of the constructor to which this cons tructor will be | |
| 2787 * redirected | |
| 2788 * @param body the body of the constructor | |
| 2789 */ | |
| 2790 ConstructorDeclaration({Comment comment, List<Annotation> metadata, Token exte rnalKeyword, Token constKeyword, Token factoryKeyword, Identifier returnType, To ken period, SimpleIdentifier name, FormalParameterList parameters, Token separat or, List<ConstructorInitializer> initializers, ConstructorName redirectedConstru ctor, FunctionBody body}) : this.full(comment, metadata, externalKeyword, constK eyword, factoryKeyword, returnType, period, name, parameters, separator, initial izers, redirectedConstructor, body); | |
| 2529 accept(ASTVisitor visitor) => visitor.visitConstructorDeclaration(this); | 2791 accept(ASTVisitor visitor) => visitor.visitConstructorDeclaration(this); |
| 2530 /** | 2792 /** |
| 2531 * Return the body of the constructor, or {@code null} if the constructor does not have a body. | 2793 * Return the body of the constructor, or {@code null} if the constructor does not have a body. |
| 2532 * @return the body of the constructor | 2794 * @return the body of the constructor |
| 2533 */ | 2795 */ |
| 2534 FunctionBody get body => _body; | 2796 FunctionBody get body => _body; |
| 2535 /** | 2797 /** |
| 2536 * Return the token for the 'const' keyword. | 2798 * Return the token for the 'const' keyword. |
| 2537 * @return the token for the 'const' keyword | 2799 * @return the token for the 'const' keyword |
| 2538 */ | 2800 */ |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2598 Identifier get returnType => _returnType; | 2860 Identifier get returnType => _returnType; |
| 2599 /** | 2861 /** |
| 2600 * Return the token for the separator (colon or equals) before the initializer s, or {@code null}if there are no initializers. | 2862 * Return the token for the separator (colon or equals) before the initializer s, or {@code null}if there are no initializers. |
| 2601 * @return the token for the separator (colon or equals) before the initialize rs | 2863 * @return the token for the separator (colon or equals) before the initialize rs |
| 2602 */ | 2864 */ |
| 2603 Token get separator => _separator; | 2865 Token get separator => _separator; |
| 2604 /** | 2866 /** |
| 2605 * Set the body of the constructor to the given function body. | 2867 * Set the body of the constructor to the given function body. |
| 2606 * @param functionBody the body of the constructor | 2868 * @param functionBody the body of the constructor |
| 2607 */ | 2869 */ |
| 2608 void set body3(FunctionBody functionBody) { | 2870 void set body(FunctionBody functionBody) { |
| 2609 _body = becomeParentOf(functionBody); | 2871 _body = becomeParentOf(functionBody); |
| 2610 } | 2872 } |
| 2611 /** | 2873 /** |
| 2612 * Set the token for the 'const' keyword to the given token. | 2874 * Set the token for the 'const' keyword to the given token. |
| 2613 * @param constKeyword the token for the 'const' keyword | 2875 * @param constKeyword the token for the 'const' keyword |
| 2614 */ | 2876 */ |
| 2615 void set constKeyword2(Token constKeyword) { | 2877 void set constKeyword(Token constKeyword2) { |
| 2616 this._constKeyword = constKeyword; | 2878 this._constKeyword = constKeyword2; |
| 2617 } | 2879 } |
| 2618 /** | 2880 /** |
| 2619 * Set the element associated with this constructor to the given element. | 2881 * Set the element associated with this constructor to the given element. |
| 2620 * @param element the element associated with this constructor | 2882 * @param element the element associated with this constructor |
| 2621 */ | 2883 */ |
| 2622 void set element5(ConstructorElement element) { | 2884 void set element(ConstructorElement element6) { |
| 2623 this._element = element; | 2885 this._element = element6; |
| 2624 } | 2886 } |
| 2625 /** | 2887 /** |
| 2626 * Set the token for the 'external' keyword to the given token. | 2888 * Set the token for the 'external' keyword to the given token. |
| 2627 * @param externalKeyword the token for the 'external' keyword | 2889 * @param externalKeyword the token for the 'external' keyword |
| 2628 */ | 2890 */ |
| 2629 void set externalKeyword2(Token externalKeyword) { | 2891 void set externalKeyword(Token externalKeyword2) { |
| 2630 this._externalKeyword = externalKeyword; | 2892 this._externalKeyword = externalKeyword2; |
| 2631 } | 2893 } |
| 2632 /** | 2894 /** |
| 2633 * Set the token for the 'factory' keyword to the given token. | 2895 * Set the token for the 'factory' keyword to the given token. |
| 2634 * @param factoryKeyword the token for the 'factory' keyword | 2896 * @param factoryKeyword the token for the 'factory' keyword |
| 2635 */ | 2897 */ |
| 2636 void set factoryKeyword2(Token factoryKeyword) { | 2898 void set factoryKeyword(Token factoryKeyword2) { |
| 2637 this._factoryKeyword = factoryKeyword; | 2899 this._factoryKeyword = factoryKeyword2; |
| 2638 } | 2900 } |
| 2639 /** | 2901 /** |
| 2640 * Set the name of the constructor to the given identifier. | 2902 * Set the name of the constructor to the given identifier. |
| 2641 * @param identifier the name of the constructor | 2903 * @param identifier the name of the constructor |
| 2642 */ | 2904 */ |
| 2643 void set name5(SimpleIdentifier identifier) { | 2905 void set name(SimpleIdentifier identifier) { |
| 2644 _name = becomeParentOf(identifier); | 2906 _name = becomeParentOf(identifier); |
| 2645 } | 2907 } |
| 2646 /** | 2908 /** |
| 2647 * Set the parameters associated with the constructor to the given list of par ameters. | 2909 * Set the parameters associated with the constructor to the given list of par ameters. |
| 2648 * @param parameters the parameters associated with the constructor | 2910 * @param parameters the parameters associated with the constructor |
| 2649 */ | 2911 */ |
| 2650 void set parameters2(FormalParameterList parameters) { | 2912 void set parameters(FormalParameterList parameters2) { |
| 2651 this._parameters = becomeParentOf(parameters); | 2913 this._parameters = becomeParentOf(parameters2); |
| 2652 } | 2914 } |
| 2653 /** | 2915 /** |
| 2654 * Set the token for the period before the constructor name to the given token . | 2916 * Set the token for the period before the constructor name to the given token . |
| 2655 * @param period the token for the period before the constructor name | 2917 * @param period the token for the period before the constructor name |
| 2656 */ | 2918 */ |
| 2657 void set period3(Token period) { | 2919 void set period(Token period3) { |
| 2658 this._period = period; | 2920 this._period = period3; |
| 2659 } | 2921 } |
| 2660 /** | 2922 /** |
| 2661 * Set the name of the constructor to which this constructor will be redirecte d to the given | 2923 * Set the name of the constructor to which this constructor will be redirecte d to the given |
| 2662 * constructor name. | 2924 * constructor name. |
| 2663 * @param redirectedConstructor the name of the constructor to which this cons tructor will be | 2925 * @param redirectedConstructor the name of the constructor to which this cons tructor will be |
| 2664 * redirected | 2926 * redirected |
| 2665 */ | 2927 */ |
| 2666 void set redirectedConstructor2(ConstructorName redirectedConstructor) { | 2928 void set redirectedConstructor(ConstructorName redirectedConstructor2) { |
| 2667 this._redirectedConstructor = becomeParentOf(redirectedConstructor); | 2929 this._redirectedConstructor = becomeParentOf(redirectedConstructor2); |
| 2668 } | 2930 } |
| 2669 /** | 2931 /** |
| 2670 * Set the type of object being created to the given type name. | 2932 * Set the type of object being created to the given type name. |
| 2671 * @param typeName the type of object being created | 2933 * @param typeName the type of object being created |
| 2672 */ | 2934 */ |
| 2673 void set returnType2(Identifier typeName) { | 2935 void set returnType(Identifier typeName) { |
| 2674 _returnType = becomeParentOf(typeName); | 2936 _returnType = becomeParentOf(typeName); |
| 2675 } | 2937 } |
| 2676 /** | 2938 /** |
| 2677 * Set the token for the separator (colon or equals) before the initializers t o the given token. | 2939 * Set the token for the separator (colon or equals) before the initializers t o the given token. |
| 2678 * @param separator the token for the separator (colon or equals) before the i nitializers | 2940 * @param separator the token for the separator (colon or equals) before the i nitializers |
| 2679 */ | 2941 */ |
| 2680 void set separator2(Token separator) { | 2942 void set separator(Token separator2) { |
| 2681 this._separator = separator; | 2943 this._separator = separator2; |
| 2682 } | 2944 } |
| 2683 void visitChildren(ASTVisitor<Object> visitor) { | 2945 void visitChildren(ASTVisitor<Object> visitor) { |
| 2684 super.visitChildren(visitor); | 2946 super.visitChildren(visitor); |
| 2685 safelyVisitChild(_returnType, visitor); | 2947 safelyVisitChild(_returnType, visitor); |
| 2686 safelyVisitChild(_name, visitor); | 2948 safelyVisitChild(_name, visitor); |
| 2687 safelyVisitChild(_parameters, visitor); | 2949 safelyVisitChild(_parameters, visitor); |
| 2688 _initializers.accept(visitor); | 2950 _initializers.accept(visitor); |
| 2689 safelyVisitChild(_body, visitor); | 2951 safelyVisitChild(_body, visitor); |
| 2690 } | 2952 } |
| 2691 Token get firstTokenAfterCommentAndMetadata { | 2953 Token get firstTokenAfterCommentAndMetadata { |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2743 Expression _expression; | 3005 Expression _expression; |
| 2744 /** | 3006 /** |
| 2745 * Initialize a newly created field initializer to initialize the field with t he given name to the | 3007 * Initialize a newly created field initializer to initialize the field with t he given name to the |
| 2746 * value of the given expression. | 3008 * value of the given expression. |
| 2747 * @param keyword the token for the 'this' keyword | 3009 * @param keyword the token for the 'this' keyword |
| 2748 * @param period the token for the period after the 'this' keyword | 3010 * @param period the token for the period after the 'this' keyword |
| 2749 * @param fieldName the name of the field being initialized | 3011 * @param fieldName the name of the field being initialized |
| 2750 * @param equals the token for the equal sign between the field name and the e xpression | 3012 * @param equals the token for the equal sign between the field name and the e xpression |
| 2751 * @param expression the expression computing the value to which the field wil l be initialized | 3013 * @param expression the expression computing the value to which the field wil l be initialized |
| 2752 */ | 3014 */ |
| 2753 ConstructorFieldInitializer(Token keyword, Token period, SimpleIdentifier fiel dName, Token equals, Expression expression) { | 3015 ConstructorFieldInitializer.full(Token keyword, Token period, SimpleIdentifier fieldName, Token equals, Expression expression) { |
| 2754 this._keyword = keyword; | 3016 this._keyword = keyword; |
| 2755 this._period = period; | 3017 this._period = period; |
| 2756 this._fieldName = becomeParentOf(fieldName); | 3018 this._fieldName = becomeParentOf(fieldName); |
| 2757 this._equals = equals; | 3019 this._equals = equals; |
| 2758 this._expression = becomeParentOf(expression); | 3020 this._expression = becomeParentOf(expression); |
| 2759 } | 3021 } |
| 3022 /** | |
| 3023 * Initialize a newly created field initializer to initialize the field with t he given name to the | |
| 3024 * value of the given expression. | |
| 3025 * @param keyword the token for the 'this' keyword | |
| 3026 * @param period the token for the period after the 'this' keyword | |
| 3027 * @param fieldName the name of the field being initialized | |
| 3028 * @param equals the token for the equal sign between the field name and the e xpression | |
| 3029 * @param expression the expression computing the value to which the field wil l be initialized | |
| 3030 */ | |
| 3031 ConstructorFieldInitializer({Token keyword, Token period, SimpleIdentifier fie ldName, Token equals, Expression expression}) : this.full(keyword, period, field Name, equals, expression); | |
| 2760 accept(ASTVisitor visitor) => visitor.visitConstructorFieldInitializer(this); | 3032 accept(ASTVisitor visitor) => visitor.visitConstructorFieldInitializer(this); |
| 2761 Token get beginToken { | 3033 Token get beginToken { |
| 2762 if (_keyword != null) { | 3034 if (_keyword != null) { |
| 2763 return _keyword; | 3035 return _keyword; |
| 2764 } | 3036 } |
| 2765 return _fieldName.beginToken; | 3037 return _fieldName.beginToken; |
| 2766 } | 3038 } |
| 2767 Token get endToken => _expression.endToken; | 3039 Token get endToken => _expression.endToken; |
| 2768 /** | 3040 /** |
| 2769 * Return the token for the equal sign between the field name and the expressi on. | 3041 * Return the token for the equal sign between the field name and the expressi on. |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 2788 /** | 3060 /** |
| 2789 * Return the token for the period after the 'this' keyword, or {@code null} i f there is no 'this' | 3061 * Return the token for the period after the 'this' keyword, or {@code null} i f there is no 'this' |
| 2790 * keyword. | 3062 * keyword. |
| 2791 * @return the token for the period after the 'this' keyword | 3063 * @return the token for the period after the 'this' keyword |
| 2792 */ | 3064 */ |
| 2793 Token get period => _period; | 3065 Token get period => _period; |
| 2794 /** | 3066 /** |
| 2795 * Set the token for the equal sign between the field name and the expression to the given token. | 3067 * Set the token for the equal sign between the field name and the expression to the given token. |
| 2796 * @param equals the token for the equal sign between the field name and the e xpression | 3068 * @param equals the token for the equal sign between the field name and the e xpression |
| 2797 */ | 3069 */ |
| 2798 void set equals5(Token equals) { | 3070 void set equals(Token equals5) { |
| 2799 this._equals = equals; | 3071 this._equals = equals5; |
| 2800 } | 3072 } |
| 2801 /** | 3073 /** |
| 2802 * Set the expression computing the value to which the field will be initializ ed to the given | 3074 * Set the expression computing the value to which the field will be initializ ed to the given |
| 2803 * expression. | 3075 * expression. |
| 2804 * @param expression the expression computing the value to which the field wil l be initialized | 3076 * @param expression the expression computing the value to which the field wil l be initialized |
| 2805 */ | 3077 */ |
| 2806 void set expression3(Expression expression) { | 3078 void set expression(Expression expression3) { |
| 2807 this._expression = becomeParentOf(expression); | 3079 this._expression = becomeParentOf(expression3); |
| 2808 } | 3080 } |
| 2809 /** | 3081 /** |
| 2810 * Set the name of the field being initialized to the given identifier. | 3082 * Set the name of the field being initialized to the given identifier. |
| 2811 * @param identifier the name of the field being initialized | 3083 * @param identifier the name of the field being initialized |
| 2812 */ | 3084 */ |
| 2813 void set fieldName2(SimpleIdentifier identifier) { | 3085 void set fieldName(SimpleIdentifier identifier) { |
| 2814 _fieldName = becomeParentOf(identifier); | 3086 _fieldName = becomeParentOf(identifier); |
| 2815 } | 3087 } |
| 2816 /** | 3088 /** |
| 2817 * Set the token for the 'this' keyword to the given token. | 3089 * Set the token for the 'this' keyword to the given token. |
| 2818 * @param keyword the token for the 'this' keyword | 3090 * @param keyword the token for the 'this' keyword |
| 2819 */ | 3091 */ |
| 2820 void set keyword6(Token keyword) { | 3092 void set keyword(Token keyword6) { |
| 2821 this._keyword = keyword; | 3093 this._keyword = keyword6; |
| 2822 } | 3094 } |
| 2823 /** | 3095 /** |
| 2824 * Set the token for the period after the 'this' keyword to the given token. | 3096 * Set the token for the period after the 'this' keyword to the given token. |
| 2825 * @param period the token for the period after the 'this' keyword | 3097 * @param period the token for the period after the 'this' keyword |
| 2826 */ | 3098 */ |
| 2827 void set period4(Token period) { | 3099 void set period(Token period4) { |
| 2828 this._period = period; | 3100 this._period = period4; |
| 2829 } | 3101 } |
| 2830 void visitChildren(ASTVisitor<Object> visitor) { | 3102 void visitChildren(ASTVisitor<Object> visitor) { |
| 2831 safelyVisitChild(_fieldName, visitor); | 3103 safelyVisitChild(_fieldName, visitor); |
| 2832 safelyVisitChild(_expression, visitor); | 3104 safelyVisitChild(_expression, visitor); |
| 2833 } | 3105 } |
| 2834 } | 3106 } |
| 2835 /** | 3107 /** |
| 2836 * Instances of the class {@code ConstructorInitializer} defines the behavior of nodes that can | 3108 * Instances of the class {@code ConstructorInitializer} defines the behavior of nodes that can |
| 2837 * occur in the initializer list of a constructor declaration. | 3109 * occur in the initializer list of a constructor declaration. |
| 2838 * <pre> | 3110 * <pre> |
| (...skipping 27 matching lines...) Expand all Loading... | |
| 2866 * The element associated with this constructor name, or {@code null} if the A ST structure has not | 3138 * The element associated with this constructor name, or {@code null} if the A ST structure has not |
| 2867 * been resolved or if this constructor name could not be resolved. | 3139 * been resolved or if this constructor name could not be resolved. |
| 2868 */ | 3140 */ |
| 2869 ConstructorElement _element; | 3141 ConstructorElement _element; |
| 2870 /** | 3142 /** |
| 2871 * Initialize a newly created constructor name. | 3143 * Initialize a newly created constructor name. |
| 2872 * @param type the name of the type defining the constructor | 3144 * @param type the name of the type defining the constructor |
| 2873 * @param period the token for the period before the constructor name | 3145 * @param period the token for the period before the constructor name |
| 2874 * @param name the name of the constructor | 3146 * @param name the name of the constructor |
| 2875 */ | 3147 */ |
| 2876 ConstructorName(TypeName type, Token period, SimpleIdentifier name) { | 3148 ConstructorName.full(TypeName type, Token period, SimpleIdentifier name) { |
| 2877 this._type = becomeParentOf(type); | 3149 this._type = becomeParentOf(type); |
| 2878 this._period = period; | 3150 this._period = period; |
| 2879 this._name = becomeParentOf(name); | 3151 this._name = becomeParentOf(name); |
| 2880 } | 3152 } |
| 3153 /** | |
| 3154 * Initialize a newly created constructor name. | |
| 3155 * @param type the name of the type defining the constructor | |
| 3156 * @param period the token for the period before the constructor name | |
| 3157 * @param name the name of the constructor | |
| 3158 */ | |
| 3159 ConstructorName({TypeName type, Token period, SimpleIdentifier name}) : this.f ull(type, period, name); | |
| 2881 accept(ASTVisitor visitor) => visitor.visitConstructorName(this); | 3160 accept(ASTVisitor visitor) => visitor.visitConstructorName(this); |
| 2882 Token get beginToken => _type.beginToken; | 3161 Token get beginToken => _type.beginToken; |
| 2883 /** | 3162 /** |
| 2884 * Return the element associated with this constructor name, or {@code null} i f the AST structure | 3163 * Return the element associated with this constructor name, or {@code null} i f the AST structure |
| 2885 * has not been resolved or if this constructor name could not be resolved. | 3164 * has not been resolved or if this constructor name could not be resolved. |
| 2886 * @return the element associated with this constructor name | 3165 * @return the element associated with this constructor name |
| 2887 */ | 3166 */ |
| 2888 ConstructorElement get element => _element; | 3167 ConstructorElement get element => _element; |
| 2889 Token get endToken { | 3168 Token get endToken { |
| 2890 if (_name != null) { | 3169 if (_name != null) { |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 2906 Token get period => _period; | 3185 Token get period => _period; |
| 2907 /** | 3186 /** |
| 2908 * Return the name of the type defining the constructor. | 3187 * Return the name of the type defining the constructor. |
| 2909 * @return the name of the type defining the constructor | 3188 * @return the name of the type defining the constructor |
| 2910 */ | 3189 */ |
| 2911 TypeName get type => _type; | 3190 TypeName get type => _type; |
| 2912 /** | 3191 /** |
| 2913 * Set the element associated with this constructor name to the given element. | 3192 * Set the element associated with this constructor name to the given element. |
| 2914 * @param element the element associated with this constructor name | 3193 * @param element the element associated with this constructor name |
| 2915 */ | 3194 */ |
| 2916 void set element6(ConstructorElement element) { | 3195 void set element(ConstructorElement element7) { |
| 2917 this._element = element; | 3196 this._element = element7; |
| 2918 } | 3197 } |
| 2919 /** | 3198 /** |
| 2920 * Set the name of the constructor to the given name. | 3199 * Set the name of the constructor to the given name. |
| 2921 * @param name the name of the constructor | 3200 * @param name the name of the constructor |
| 2922 */ | 3201 */ |
| 2923 void set name6(SimpleIdentifier name) { | 3202 void set name(SimpleIdentifier name4) { |
| 2924 this._name = becomeParentOf(name); | 3203 this._name = becomeParentOf(name4); |
| 2925 } | 3204 } |
| 2926 /** | 3205 /** |
| 2927 * Return the token for the period before the constructor name to the given to ken. | 3206 * Return the token for the period before the constructor name to the given to ken. |
| 2928 * @param period the token for the period before the constructor name | 3207 * @param period the token for the period before the constructor name |
| 2929 */ | 3208 */ |
| 2930 void set period5(Token period) { | 3209 void set period(Token period5) { |
| 2931 this._period = period; | 3210 this._period = period5; |
| 2932 } | 3211 } |
| 2933 /** | 3212 /** |
| 2934 * Set the name of the type defining the constructor to the given type name. | 3213 * Set the name of the type defining the constructor to the given type name. |
| 2935 * @param type the name of the type defining the constructor | 3214 * @param type the name of the type defining the constructor |
| 2936 */ | 3215 */ |
| 2937 void set type3(TypeName type) { | 3216 void set type(TypeName type2) { |
| 2938 this._type = becomeParentOf(type); | 3217 this._type = becomeParentOf(type2); |
| 2939 } | 3218 } |
| 2940 void visitChildren(ASTVisitor<Object> visitor) { | 3219 void visitChildren(ASTVisitor<Object> visitor) { |
| 2941 safelyVisitChild(_type, visitor); | 3220 safelyVisitChild(_type, visitor); |
| 2942 safelyVisitChild(_name, visitor); | 3221 safelyVisitChild(_name, visitor); |
| 2943 } | 3222 } |
| 2944 } | 3223 } |
| 2945 /** | 3224 /** |
| 2946 * Instances of the class {@code ContinueStatement} represent a continue stateme nt. | 3225 * Instances of the class {@code ContinueStatement} represent a continue stateme nt. |
| 2947 * <pre> | 3226 * <pre> |
| 2948 * continueStatement ::= | 3227 * continueStatement ::= |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 2961 /** | 3240 /** |
| 2962 * The semicolon terminating the statement. | 3241 * The semicolon terminating the statement. |
| 2963 */ | 3242 */ |
| 2964 Token _semicolon; | 3243 Token _semicolon; |
| 2965 /** | 3244 /** |
| 2966 * Initialize a newly created continue statement. | 3245 * Initialize a newly created continue statement. |
| 2967 * @param keyword the token representing the 'continue' keyword | 3246 * @param keyword the token representing the 'continue' keyword |
| 2968 * @param label the label associated with the statement | 3247 * @param label the label associated with the statement |
| 2969 * @param semicolon the semicolon terminating the statement | 3248 * @param semicolon the semicolon terminating the statement |
| 2970 */ | 3249 */ |
| 2971 ContinueStatement(Token keyword, SimpleIdentifier label, Token semicolon) { | 3250 ContinueStatement.full(Token keyword, SimpleIdentifier label, Token semicolon) { |
| 2972 this._keyword = keyword; | 3251 this._keyword = keyword; |
| 2973 this._label = becomeParentOf(label); | 3252 this._label = becomeParentOf(label); |
| 2974 this._semicolon = semicolon; | 3253 this._semicolon = semicolon; |
| 2975 } | 3254 } |
| 3255 /** | |
| 3256 * Initialize a newly created continue statement. | |
| 3257 * @param keyword the token representing the 'continue' keyword | |
| 3258 * @param label the label associated with the statement | |
| 3259 * @param semicolon the semicolon terminating the statement | |
| 3260 */ | |
| 3261 ContinueStatement({Token keyword, SimpleIdentifier label, Token semicolon}) : this.full(keyword, label, semicolon); | |
| 2976 accept(ASTVisitor visitor) => visitor.visitContinueStatement(this); | 3262 accept(ASTVisitor visitor) => visitor.visitContinueStatement(this); |
| 2977 Token get beginToken => _keyword; | 3263 Token get beginToken => _keyword; |
| 2978 Token get endToken => _semicolon; | 3264 Token get endToken => _semicolon; |
| 2979 /** | 3265 /** |
| 2980 * Return the token representing the 'continue' keyword. | 3266 * Return the token representing the 'continue' keyword. |
| 2981 * @return the token representing the 'continue' keyword | 3267 * @return the token representing the 'continue' keyword |
| 2982 */ | 3268 */ |
| 2983 Token get keyword => _keyword; | 3269 Token get keyword => _keyword; |
| 2984 /** | 3270 /** |
| 2985 * Return the label associated with the statement, or {@code null} if there is no label. | 3271 * Return the label associated with the statement, or {@code null} if there is no label. |
| 2986 * @return the label associated with the statement | 3272 * @return the label associated with the statement |
| 2987 */ | 3273 */ |
| 2988 SimpleIdentifier get label => _label; | 3274 SimpleIdentifier get label => _label; |
| 2989 /** | 3275 /** |
| 2990 * Return the semicolon terminating the statement. | 3276 * Return the semicolon terminating the statement. |
| 2991 * @return the semicolon terminating the statement | 3277 * @return the semicolon terminating the statement |
| 2992 */ | 3278 */ |
| 2993 Token get semicolon => _semicolon; | 3279 Token get semicolon => _semicolon; |
| 2994 /** | 3280 /** |
| 2995 * Set the token representing the 'continue' keyword to the given token. | 3281 * Set the token representing the 'continue' keyword to the given token. |
| 2996 * @param keyword the token representing the 'continue' keyword | 3282 * @param keyword the token representing the 'continue' keyword |
| 2997 */ | 3283 */ |
| 2998 void set keyword7(Token keyword) { | 3284 void set keyword(Token keyword7) { |
| 2999 this._keyword = keyword; | 3285 this._keyword = keyword7; |
| 3000 } | 3286 } |
| 3001 /** | 3287 /** |
| 3002 * Set the label associated with the statement to the given label. | 3288 * Set the label associated with the statement to the given label. |
| 3003 * @param identifier the label associated with the statement | 3289 * @param identifier the label associated with the statement |
| 3004 */ | 3290 */ |
| 3005 void set label3(SimpleIdentifier identifier) { | 3291 void set label(SimpleIdentifier identifier) { |
| 3006 _label = becomeParentOf(identifier); | 3292 _label = becomeParentOf(identifier); |
| 3007 } | 3293 } |
| 3008 /** | 3294 /** |
| 3009 * Set the semicolon terminating the statement to the given token. | 3295 * Set the semicolon terminating the statement to the given token. |
| 3010 * @param semicolon the semicolon terminating the statement | 3296 * @param semicolon the semicolon terminating the statement |
| 3011 */ | 3297 */ |
| 3012 void set semicolon4(Token semicolon) { | 3298 void set semicolon(Token semicolon4) { |
| 3013 this._semicolon = semicolon; | 3299 this._semicolon = semicolon4; |
| 3014 } | 3300 } |
| 3015 void visitChildren(ASTVisitor<Object> visitor) { | 3301 void visitChildren(ASTVisitor<Object> visitor) { |
| 3016 safelyVisitChild(_label, visitor); | 3302 safelyVisitChild(_label, visitor); |
| 3017 } | 3303 } |
| 3018 } | 3304 } |
| 3019 /** | 3305 /** |
| 3020 * The abstract class {@code Declaration} defines the behavior common to nodes t hat represent the | 3306 * The abstract class {@code Declaration} defines the behavior common to nodes t hat represent the |
| 3021 * declaration of a name. Each declared name is visible within a name scope. | 3307 * declaration of a name. Each declared name is visible within a name scope. |
| 3022 */ | 3308 */ |
| 3023 abstract class Declaration extends AnnotatedNode { | 3309 abstract class Declaration extends AnnotatedNode { |
| 3024 /** | 3310 /** |
| 3025 * Initialize a newly created declaration. | 3311 * Initialize a newly created declaration. |
| 3026 * @param comment the documentation comment associated with this declaration | 3312 * @param comment the documentation comment associated with this declaration |
| 3027 * @param metadata the annotations associated with this declaration | 3313 * @param metadata the annotations associated with this declaration |
| 3028 */ | 3314 */ |
| 3029 Declaration(Comment comment, List<Annotation> metadata) : super(comment, metad ata) { | 3315 Declaration.full(Comment comment, List<Annotation> metadata) : super.full(comm ent, metadata) { |
| 3030 } | 3316 } |
| 3317 /** | |
| 3318 * Initialize a newly created declaration. | |
| 3319 * @param comment the documentation comment associated with this declaration | |
| 3320 * @param metadata the annotations associated with this declaration | |
| 3321 */ | |
| 3322 Declaration({Comment comment, List<Annotation> metadata}) : this.full(comment, metadata); | |
| 3031 } | 3323 } |
| 3032 /** | 3324 /** |
| 3033 * Instances of the class {@code DefaultFormalParameter} represent a formal para meter with a default | 3325 * Instances of the class {@code DefaultFormalParameter} represent a formal para meter with a default |
| 3034 * value. There are two kinds of parameters that are both represented by this cl ass: named formal | 3326 * value. There are two kinds of parameters that are both represented by this cl ass: named formal |
| 3035 * parameters and positional formal parameters. | 3327 * parameters and positional formal parameters. |
| 3036 * <pre> | 3328 * <pre> |
| 3037 * defaultFormalParameter ::={@link NormalFormalParameter normalFormalParameter} ('=' {@link Expression defaultValue})? | 3329 * defaultFormalParameter ::={@link NormalFormalParameter normalFormalParameter} ('=' {@link Expression defaultValue})? |
| 3038 * defaultNamedParameter ::={@link NormalFormalParameter normalFormalParameter} (':' {@link Expression defaultValue})? | 3330 * defaultNamedParameter ::={@link NormalFormalParameter normalFormalParameter} (':' {@link Expression defaultValue})? |
| 3039 * </pre> | 3331 * </pre> |
| 3040 */ | 3332 */ |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 3057 * default value. | 3349 * default value. |
| 3058 */ | 3350 */ |
| 3059 Expression _defaultValue; | 3351 Expression _defaultValue; |
| 3060 /** | 3352 /** |
| 3061 * Initialize a newly created default formal parameter. | 3353 * Initialize a newly created default formal parameter. |
| 3062 * @param parameter the formal parameter with which the default value is assoc iated | 3354 * @param parameter the formal parameter with which the default value is assoc iated |
| 3063 * @param kind the kind of this parameter | 3355 * @param kind the kind of this parameter |
| 3064 * @param separator the token separating the parameter from the default value | 3356 * @param separator the token separating the parameter from the default value |
| 3065 * @param defaultValue the expression computing the default value for the para meter | 3357 * @param defaultValue the expression computing the default value for the para meter |
| 3066 */ | 3358 */ |
| 3067 DefaultFormalParameter(NormalFormalParameter parameter, ParameterKind kind, To ken separator, Expression defaultValue) { | 3359 DefaultFormalParameter.full(NormalFormalParameter parameter, ParameterKind kin d, Token separator, Expression defaultValue) { |
| 3068 this._parameter = becomeParentOf(parameter); | 3360 this._parameter = becomeParentOf(parameter); |
| 3069 this._kind = kind; | 3361 this._kind = kind; |
| 3070 this._separator = separator; | 3362 this._separator = separator; |
| 3071 this._defaultValue = becomeParentOf(defaultValue); | 3363 this._defaultValue = becomeParentOf(defaultValue); |
| 3072 } | 3364 } |
| 3365 /** | |
| 3366 * Initialize a newly created default formal parameter. | |
| 3367 * @param parameter the formal parameter with which the default value is assoc iated | |
| 3368 * @param kind the kind of this parameter | |
| 3369 * @param separator the token separating the parameter from the default value | |
| 3370 * @param defaultValue the expression computing the default value for the para meter | |
| 3371 */ | |
| 3372 DefaultFormalParameter({NormalFormalParameter parameter, ParameterKind kind, T oken separator, Expression defaultValue}) : this.full(parameter, kind, separator , defaultValue); | |
| 3073 accept(ASTVisitor visitor) => visitor.visitDefaultFormalParameter(this); | 3373 accept(ASTVisitor visitor) => visitor.visitDefaultFormalParameter(this); |
| 3074 Token get beginToken => _parameter.beginToken; | 3374 Token get beginToken => _parameter.beginToken; |
| 3075 /** | 3375 /** |
| 3076 * Return the expression computing the default value for the parameter, or {@c ode null} if there | 3376 * Return the expression computing the default value for the parameter, or {@c ode null} if there |
| 3077 * is no default value. | 3377 * is no default value. |
| 3078 * @return the expression computing the default value for the parameter | 3378 * @return the expression computing the default value for the parameter |
| 3079 */ | 3379 */ |
| 3080 Expression get defaultValue => _defaultValue; | 3380 Expression get defaultValue => _defaultValue; |
| 3081 Token get endToken { | 3381 Token get endToken { |
| 3082 if (_defaultValue != null) { | 3382 if (_defaultValue != null) { |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 3104 bool isConst() => _parameter != null && _parameter.isConst(); | 3404 bool isConst() => _parameter != null && _parameter.isConst(); |
| 3105 /** | 3405 /** |
| 3106 * Return {@code true} if this parameter is a final parameter. | 3406 * Return {@code true} if this parameter is a final parameter. |
| 3107 * @return {@code true} if this parameter is a final parameter | 3407 * @return {@code true} if this parameter is a final parameter |
| 3108 */ | 3408 */ |
| 3109 bool isFinal() => _parameter != null && _parameter.isFinal(); | 3409 bool isFinal() => _parameter != null && _parameter.isFinal(); |
| 3110 /** | 3410 /** |
| 3111 * Set the expression computing the default value for the parameter to the giv en expression. | 3411 * Set the expression computing the default value for the parameter to the giv en expression. |
| 3112 * @param expression the expression computing the default value for the parame ter | 3412 * @param expression the expression computing the default value for the parame ter |
| 3113 */ | 3413 */ |
| 3114 void set defaultValue2(Expression expression) { | 3414 void set defaultValue(Expression expression) { |
| 3115 _defaultValue = becomeParentOf(expression); | 3415 _defaultValue = becomeParentOf(expression); |
| 3116 } | 3416 } |
| 3117 /** | 3417 /** |
| 3118 * Set the kind of this parameter to the given kind. | 3418 * Set the kind of this parameter to the given kind. |
| 3119 * @param kind the kind of this parameter | 3419 * @param kind the kind of this parameter |
| 3120 */ | 3420 */ |
| 3121 void set kind2(ParameterKind kind) { | 3421 void set kind(ParameterKind kind2) { |
| 3122 this._kind = kind; | 3422 this._kind = kind2; |
| 3123 } | 3423 } |
| 3124 /** | 3424 /** |
| 3125 * Set the formal parameter with which the default value is associated to the given parameter. | 3425 * Set the formal parameter with which the default value is associated to the given parameter. |
| 3126 * @param formalParameter the formal parameter with which the default value is associated | 3426 * @param formalParameter the formal parameter with which the default value is associated |
| 3127 */ | 3427 */ |
| 3128 void set parameter2(NormalFormalParameter formalParameter) { | 3428 void set parameter(NormalFormalParameter formalParameter) { |
| 3129 _parameter = becomeParentOf(formalParameter); | 3429 _parameter = becomeParentOf(formalParameter); |
| 3130 } | 3430 } |
| 3131 /** | 3431 /** |
| 3132 * Set the token separating the parameter from the default value to the given token. | 3432 * Set the token separating the parameter from the default value to the given token. |
| 3133 * @param separator the token separating the parameter from the default value | 3433 * @param separator the token separating the parameter from the default value |
| 3134 */ | 3434 */ |
| 3135 void set separator3(Token separator) { | 3435 void set separator(Token separator3) { |
| 3136 this._separator = separator; | 3436 this._separator = separator3; |
| 3137 } | 3437 } |
| 3138 void visitChildren(ASTVisitor<Object> visitor) { | 3438 void visitChildren(ASTVisitor<Object> visitor) { |
| 3139 safelyVisitChild(_parameter, visitor); | 3439 safelyVisitChild(_parameter, visitor); |
| 3140 safelyVisitChild(_defaultValue, visitor); | 3440 safelyVisitChild(_defaultValue, visitor); |
| 3141 } | 3441 } |
| 3142 } | 3442 } |
| 3143 /** | 3443 /** |
| 3144 * The abstract class {@code Directive} defines the behavior common to nodes tha t represent a | 3444 * The abstract class {@code Directive} defines the behavior common to nodes tha t represent a |
| 3145 * directive. | 3445 * directive. |
| 3146 * <pre> | 3446 * <pre> |
| 3147 * directive ::={@link ExportDirective exportDirective}| {@link ImportDirective importDirective}| {@link LibraryDirective libraryDirective}| {@link PartDirectiv e partDirective}| {@link PartOfDirective partOfDirective}</pre> | 3447 * directive ::={@link ExportDirective exportDirective}| {@link ImportDirective importDirective}| {@link LibraryDirective libraryDirective}| {@link PartDirectiv e partDirective}| {@link PartOfDirective partOfDirective}</pre> |
| 3148 */ | 3448 */ |
| 3149 abstract class Directive extends AnnotatedNode { | 3449 abstract class Directive extends AnnotatedNode { |
| 3150 /** | 3450 /** |
| 3151 * The element associated with this directive, or {@code null} if the AST stru cture has not been | 3451 * The element associated with this directive, or {@code null} if the AST stru cture has not been |
| 3152 * resolved or if this directive could not be resolved. | 3452 * resolved or if this directive could not be resolved. |
| 3153 */ | 3453 */ |
| 3154 Element _element; | 3454 Element _element; |
| 3155 /** | 3455 /** |
| 3156 * Initialize a newly create directive. | 3456 * Initialize a newly create directive. |
| 3157 * @param comment the documentation comment associated with this directive | 3457 * @param comment the documentation comment associated with this directive |
| 3158 * @param metadata the annotations associated with the directive | 3458 * @param metadata the annotations associated with the directive |
| 3159 */ | 3459 */ |
| 3160 Directive(Comment comment, List<Annotation> metadata) : super(comment, metadat a) { | 3460 Directive.full(Comment comment, List<Annotation> metadata) : super.full(commen t, metadata) { |
| 3161 } | 3461 } |
| 3162 /** | 3462 /** |
| 3463 * Initialize a newly create directive. | |
| 3464 * @param comment the documentation comment associated with this directive | |
| 3465 * @param metadata the annotations associated with the directive | |
| 3466 */ | |
| 3467 Directive({Comment comment, List<Annotation> metadata}) : this.full(comment, m etadata); | |
| 3468 /** | |
| 3163 * Return the element associated with this directive, or {@code null} if the A ST structure has not | 3469 * Return the element associated with this directive, or {@code null} if the A ST structure has not |
| 3164 * been resolved or if this directive could not be resolved. Examples of the l atter case include a | 3470 * been resolved or if this directive could not be resolved. Examples of the l atter case include a |
| 3165 * directive that contains an invalid URL or a URL that does not exist. | 3471 * directive that contains an invalid URL or a URL that does not exist. |
| 3166 * @return the element associated with this directive | 3472 * @return the element associated with this directive |
| 3167 */ | 3473 */ |
| 3168 Element get element => _element; | 3474 Element get element => _element; |
| 3169 /** | 3475 /** |
| 3170 * Return the token representing the keyword that introduces this directive (' import', 'export', | 3476 * Return the token representing the keyword that introduces this directive (' import', 'export', |
| 3171 * 'library' or 'part'). | 3477 * 'library' or 'part'). |
| 3172 * @return the token representing the keyword that introduces this directive | 3478 * @return the token representing the keyword that introduces this directive |
| 3173 */ | 3479 */ |
| 3174 Token get keyword; | 3480 Token get keyword; |
| 3175 /** | 3481 /** |
| 3176 * Set the element associated with this directive to the given element. | 3482 * Set the element associated with this directive to the given element. |
| 3177 * @param element the element associated with this directive | 3483 * @param element the element associated with this directive |
| 3178 */ | 3484 */ |
| 3179 void set element7(Element element) { | 3485 void set element(Element element8) { |
| 3180 this._element = element; | 3486 this._element = element8; |
| 3181 } | 3487 } |
| 3182 } | 3488 } |
| 3183 /** | 3489 /** |
| 3184 * Instances of the class {@code DoStatement} represent a do statement. | 3490 * Instances of the class {@code DoStatement} represent a do statement. |
| 3185 * <pre> | 3491 * <pre> |
| 3186 * doStatement ::= | 3492 * doStatement ::= |
| 3187 * 'do' {@link Statement body} 'while' '(' {@link Expression condition} ')' ';' | 3493 * 'do' {@link Statement body} 'while' '(' {@link Expression condition} ')' ';' |
| 3188 * </pre> | 3494 * </pre> |
| 3189 */ | 3495 */ |
| 3190 class DoStatement extends Statement { | 3496 class DoStatement extends Statement { |
| (...skipping 28 matching lines...) Expand all Loading... | |
| 3219 /** | 3525 /** |
| 3220 * Initialize a newly created do loop. | 3526 * Initialize a newly created do loop. |
| 3221 * @param doKeyword the token representing the 'do' keyword | 3527 * @param doKeyword the token representing the 'do' keyword |
| 3222 * @param body the body of the loop | 3528 * @param body the body of the loop |
| 3223 * @param whileKeyword the token representing the 'while' keyword | 3529 * @param whileKeyword the token representing the 'while' keyword |
| 3224 * @param leftParenthesis the left parenthesis | 3530 * @param leftParenthesis the left parenthesis |
| 3225 * @param condition the condition that determines when the loop will terminate | 3531 * @param condition the condition that determines when the loop will terminate |
| 3226 * @param rightParenthesis the right parenthesis | 3532 * @param rightParenthesis the right parenthesis |
| 3227 * @param semicolon the semicolon terminating the statement | 3533 * @param semicolon the semicolon terminating the statement |
| 3228 */ | 3534 */ |
| 3229 DoStatement(Token doKeyword, Statement body, Token whileKeyword, Token leftPar enthesis, Expression condition, Token rightParenthesis, Token semicolon) { | 3535 DoStatement.full(Token doKeyword, Statement body, Token whileKeyword, Token le ftParenthesis, Expression condition, Token rightParenthesis, Token semicolon) { |
| 3230 this._doKeyword = doKeyword; | 3536 this._doKeyword = doKeyword; |
| 3231 this._body = becomeParentOf(body); | 3537 this._body = becomeParentOf(body); |
| 3232 this._whileKeyword = whileKeyword; | 3538 this._whileKeyword = whileKeyword; |
| 3233 this._leftParenthesis = leftParenthesis; | 3539 this._leftParenthesis = leftParenthesis; |
| 3234 this._condition = becomeParentOf(condition); | 3540 this._condition = becomeParentOf(condition); |
| 3235 this._rightParenthesis = rightParenthesis; | 3541 this._rightParenthesis = rightParenthesis; |
| 3236 this._semicolon = semicolon; | 3542 this._semicolon = semicolon; |
| 3237 } | 3543 } |
| 3544 /** | |
| 3545 * Initialize a newly created do loop. | |
| 3546 * @param doKeyword the token representing the 'do' keyword | |
| 3547 * @param body the body of the loop | |
| 3548 * @param whileKeyword the token representing the 'while' keyword | |
| 3549 * @param leftParenthesis the left parenthesis | |
| 3550 * @param condition the condition that determines when the loop will terminate | |
| 3551 * @param rightParenthesis the right parenthesis | |
| 3552 * @param semicolon the semicolon terminating the statement | |
| 3553 */ | |
| 3554 DoStatement({Token doKeyword, Statement body, Token whileKeyword, Token leftPa renthesis, Expression condition, Token rightParenthesis, Token semicolon}) : thi s.full(doKeyword, body, whileKeyword, leftParenthesis, condition, rightParenthes is, semicolon); | |
| 3238 accept(ASTVisitor visitor) => visitor.visitDoStatement(this); | 3555 accept(ASTVisitor visitor) => visitor.visitDoStatement(this); |
| 3239 Token get beginToken => _doKeyword; | 3556 Token get beginToken => _doKeyword; |
| 3240 /** | 3557 /** |
| 3241 * Return the body of the loop. | 3558 * Return the body of the loop. |
| 3242 * @return the body of the loop | 3559 * @return the body of the loop |
| 3243 */ | 3560 */ |
| 3244 Statement get body => _body; | 3561 Statement get body => _body; |
| 3245 /** | 3562 /** |
| 3246 * Return the condition that determines when the loop will terminate. | 3563 * Return the condition that determines when the loop will terminate. |
| 3247 * @return the condition that determines when the loop will terminate | 3564 * @return the condition that determines when the loop will terminate |
| (...skipping 22 matching lines...) Expand all Loading... | |
| 3270 Token get semicolon => _semicolon; | 3587 Token get semicolon => _semicolon; |
| 3271 /** | 3588 /** |
| 3272 * Return the token representing the 'while' keyword. | 3589 * Return the token representing the 'while' keyword. |
| 3273 * @return the token representing the 'while' keyword | 3590 * @return the token representing the 'while' keyword |
| 3274 */ | 3591 */ |
| 3275 Token get whileKeyword => _whileKeyword; | 3592 Token get whileKeyword => _whileKeyword; |
| 3276 /** | 3593 /** |
| 3277 * Set the body of the loop to the given statement. | 3594 * Set the body of the loop to the given statement. |
| 3278 * @param statement the body of the loop | 3595 * @param statement the body of the loop |
| 3279 */ | 3596 */ |
| 3280 void set body4(Statement statement) { | 3597 void set body(Statement statement) { |
| 3281 _body = becomeParentOf(statement); | 3598 _body = becomeParentOf(statement); |
| 3282 } | 3599 } |
| 3283 /** | 3600 /** |
| 3284 * Set the condition that determines when the loop will terminate to the given expression. | 3601 * Set the condition that determines when the loop will terminate to the given expression. |
| 3285 * @param expression the condition that determines when the loop will terminat e | 3602 * @param expression the condition that determines when the loop will terminat e |
| 3286 */ | 3603 */ |
| 3287 void set condition4(Expression expression) { | 3604 void set condition(Expression expression) { |
| 3288 _condition = becomeParentOf(expression); | 3605 _condition = becomeParentOf(expression); |
| 3289 } | 3606 } |
| 3290 /** | 3607 /** |
| 3291 * Set the token representing the 'do' keyword to the given token. | 3608 * Set the token representing the 'do' keyword to the given token. |
| 3292 * @param doKeyword the token representing the 'do' keyword | 3609 * @param doKeyword the token representing the 'do' keyword |
| 3293 */ | 3610 */ |
| 3294 void set doKeyword2(Token doKeyword) { | 3611 void set doKeyword(Token doKeyword2) { |
| 3295 this._doKeyword = doKeyword; | 3612 this._doKeyword = doKeyword2; |
| 3296 } | 3613 } |
| 3297 /** | 3614 /** |
| 3298 * Set the left parenthesis to the given token. | 3615 * Set the left parenthesis to the given token. |
| 3299 * @param parenthesis the left parenthesis | 3616 * @param parenthesis the left parenthesis |
| 3300 */ | 3617 */ |
| 3301 void set leftParenthesis5(Token parenthesis) { | 3618 void set leftParenthesis(Token parenthesis) { |
| 3302 _leftParenthesis = parenthesis; | 3619 _leftParenthesis = parenthesis; |
| 3303 } | 3620 } |
| 3304 /** | 3621 /** |
| 3305 * Set the right parenthesis to the given token. | 3622 * Set the right parenthesis to the given token. |
| 3306 * @param parenthesis the right parenthesis | 3623 * @param parenthesis the right parenthesis |
| 3307 */ | 3624 */ |
| 3308 void set rightParenthesis5(Token parenthesis) { | 3625 void set rightParenthesis(Token parenthesis) { |
| 3309 _rightParenthesis = parenthesis; | 3626 _rightParenthesis = parenthesis; |
| 3310 } | 3627 } |
| 3311 /** | 3628 /** |
| 3312 * Set the semicolon terminating the statement to the given token. | 3629 * Set the semicolon terminating the statement to the given token. |
| 3313 * @param semicolon the semicolon terminating the statement | 3630 * @param semicolon the semicolon terminating the statement |
| 3314 */ | 3631 */ |
| 3315 void set semicolon5(Token semicolon) { | 3632 void set semicolon(Token semicolon5) { |
| 3316 this._semicolon = semicolon; | 3633 this._semicolon = semicolon5; |
| 3317 } | 3634 } |
| 3318 /** | 3635 /** |
| 3319 * Set the token representing the 'while' keyword to the given token. | 3636 * Set the token representing the 'while' keyword to the given token. |
| 3320 * @param whileKeyword the token representing the 'while' keyword | 3637 * @param whileKeyword the token representing the 'while' keyword |
| 3321 */ | 3638 */ |
| 3322 void set whileKeyword2(Token whileKeyword) { | 3639 void set whileKeyword(Token whileKeyword2) { |
| 3323 this._whileKeyword = whileKeyword; | 3640 this._whileKeyword = whileKeyword2; |
| 3324 } | 3641 } |
| 3325 void visitChildren(ASTVisitor<Object> visitor) { | 3642 void visitChildren(ASTVisitor<Object> visitor) { |
| 3326 safelyVisitChild(_body, visitor); | 3643 safelyVisitChild(_body, visitor); |
| 3327 safelyVisitChild(_condition, visitor); | 3644 safelyVisitChild(_condition, visitor); |
| 3328 } | 3645 } |
| 3329 } | 3646 } |
| 3330 /** | 3647 /** |
| 3331 * Instances of the class {@code DoubleLiteral} represent a floating point liter al expression. | 3648 * Instances of the class {@code DoubleLiteral} represent a floating point liter al expression. |
| 3332 * <pre> | 3649 * <pre> |
| 3333 * doubleLiteral ::= | 3650 * doubleLiteral ::= |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 3344 Token _literal; | 3661 Token _literal; |
| 3345 /** | 3662 /** |
| 3346 * The value of the literal. | 3663 * The value of the literal. |
| 3347 */ | 3664 */ |
| 3348 double _value = 0.0; | 3665 double _value = 0.0; |
| 3349 /** | 3666 /** |
| 3350 * Initialize a newly created floating point literal. | 3667 * Initialize a newly created floating point literal. |
| 3351 * @param literal the token representing the literal | 3668 * @param literal the token representing the literal |
| 3352 * @param value the value of the literal | 3669 * @param value the value of the literal |
| 3353 */ | 3670 */ |
| 3354 DoubleLiteral(Token literal, double value) { | 3671 DoubleLiteral.full(Token literal, double value) { |
| 3355 this._literal = literal; | 3672 this._literal = literal; |
| 3356 this._value = value; | 3673 this._value = value; |
| 3357 } | 3674 } |
| 3675 /** | |
| 3676 * Initialize a newly created floating point literal. | |
| 3677 * @param literal the token representing the literal | |
| 3678 * @param value the value of the literal | |
| 3679 */ | |
| 3680 DoubleLiteral({Token literal, double value}) : this.full(literal, value); | |
| 3358 accept(ASTVisitor visitor) => visitor.visitDoubleLiteral(this); | 3681 accept(ASTVisitor visitor) => visitor.visitDoubleLiteral(this); |
| 3359 Token get beginToken => _literal; | 3682 Token get beginToken => _literal; |
| 3360 Token get endToken => _literal; | 3683 Token get endToken => _literal; |
| 3361 /** | 3684 /** |
| 3362 * Return the token representing the literal. | 3685 * Return the token representing the literal. |
| 3363 * @return the token representing the literal | 3686 * @return the token representing the literal |
| 3364 */ | 3687 */ |
| 3365 Token get literal => _literal; | 3688 Token get literal => _literal; |
| 3366 /** | 3689 /** |
| 3367 * Return the value of the literal. | 3690 * Return the value of the literal. |
| 3368 * @return the value of the literal | 3691 * @return the value of the literal |
| 3369 */ | 3692 */ |
| 3370 double get value => _value; | 3693 double get value => _value; |
| 3371 /** | 3694 /** |
| 3372 * Set the token representing the literal to the given token. | 3695 * Set the token representing the literal to the given token. |
| 3373 * @param literal the token representing the literal | 3696 * @param literal the token representing the literal |
| 3374 */ | 3697 */ |
| 3375 void set literal3(Token literal) { | 3698 void set literal(Token literal3) { |
| 3376 this._literal = literal; | 3699 this._literal = literal3; |
| 3377 } | 3700 } |
| 3378 /** | 3701 /** |
| 3379 * Set the value of the literal to the given value. | 3702 * Set the value of the literal to the given value. |
| 3380 * @param value the value of the literal | 3703 * @param value the value of the literal |
| 3381 */ | 3704 */ |
| 3382 void set value5(double value) { | 3705 void set value(double value5) { |
| 3383 this._value = value; | 3706 this._value = value5; |
| 3384 } | 3707 } |
| 3385 void visitChildren(ASTVisitor<Object> visitor) { | 3708 void visitChildren(ASTVisitor<Object> visitor) { |
| 3386 } | 3709 } |
| 3387 } | 3710 } |
| 3388 /** | 3711 /** |
| 3389 * Instances of the class {@code EmptyFunctionBody} represent an empty function body, which can only | 3712 * Instances of the class {@code EmptyFunctionBody} represent an empty function body, which can only |
| 3390 * appear in constructors or abstract methods. | 3713 * appear in constructors or abstract methods. |
| 3391 * <pre> | 3714 * <pre> |
| 3392 * emptyFunctionBody ::= | 3715 * emptyFunctionBody ::= |
| 3393 * ';' | 3716 * ';' |
| 3394 * </pre> | 3717 * </pre> |
| 3395 */ | 3718 */ |
| 3396 class EmptyFunctionBody extends FunctionBody { | 3719 class EmptyFunctionBody extends FunctionBody { |
| 3397 /** | 3720 /** |
| 3398 * The token representing the semicolon that marks the end of the function bod y. | 3721 * The token representing the semicolon that marks the end of the function bod y. |
| 3399 */ | 3722 */ |
| 3400 Token _semicolon; | 3723 Token _semicolon; |
| 3401 /** | 3724 /** |
| 3402 * Initialize a newly created function body. | 3725 * Initialize a newly created function body. |
| 3403 * @param semicolon the token representing the semicolon that marks the end of the function body | 3726 * @param semicolon the token representing the semicolon that marks the end of the function body |
| 3404 */ | 3727 */ |
| 3405 EmptyFunctionBody(Token semicolon) { | 3728 EmptyFunctionBody.full(Token semicolon) { |
| 3406 this._semicolon = semicolon; | 3729 this._semicolon = semicolon; |
| 3407 } | 3730 } |
| 3731 /** | |
| 3732 * Initialize a newly created function body. | |
| 3733 * @param semicolon the token representing the semicolon that marks the end of the function body | |
| 3734 */ | |
| 3735 EmptyFunctionBody({Token semicolon}) : this.full(semicolon); | |
| 3408 accept(ASTVisitor visitor) => visitor.visitEmptyFunctionBody(this); | 3736 accept(ASTVisitor visitor) => visitor.visitEmptyFunctionBody(this); |
| 3409 Token get beginToken => _semicolon; | 3737 Token get beginToken => _semicolon; |
| 3410 Token get endToken => _semicolon; | 3738 Token get endToken => _semicolon; |
| 3411 /** | 3739 /** |
| 3412 * Return the token representing the semicolon that marks the end of the funct ion body. | 3740 * Return the token representing the semicolon that marks the end of the funct ion body. |
| 3413 * @return the token representing the semicolon that marks the end of the func tion body | 3741 * @return the token representing the semicolon that marks the end of the func tion body |
| 3414 */ | 3742 */ |
| 3415 Token get semicolon => _semicolon; | 3743 Token get semicolon => _semicolon; |
| 3416 /** | 3744 /** |
| 3417 * Set the token representing the semicolon that marks the end of the function body to the given | 3745 * Set the token representing the semicolon that marks the end of the function body to the given |
| 3418 * token. | 3746 * token. |
| 3419 * @param semicolon the token representing the semicolon that marks the end of the function body | 3747 * @param semicolon the token representing the semicolon that marks the end of the function body |
| 3420 */ | 3748 */ |
| 3421 void set semicolon6(Token semicolon) { | 3749 void set semicolon(Token semicolon6) { |
| 3422 this._semicolon = semicolon; | 3750 this._semicolon = semicolon6; |
| 3423 } | 3751 } |
| 3424 void visitChildren(ASTVisitor<Object> visitor) { | 3752 void visitChildren(ASTVisitor<Object> visitor) { |
| 3425 } | 3753 } |
| 3426 } | 3754 } |
| 3427 /** | 3755 /** |
| 3428 * Instances of the class {@code EmptyStatement} represent an empty statement. | 3756 * Instances of the class {@code EmptyStatement} represent an empty statement. |
| 3429 * <pre> | 3757 * <pre> |
| 3430 * emptyStatement ::= | 3758 * emptyStatement ::= |
| 3431 * ';' | 3759 * ';' |
| 3432 * </pre> | 3760 * </pre> |
| 3433 */ | 3761 */ |
| 3434 class EmptyStatement extends Statement { | 3762 class EmptyStatement extends Statement { |
| 3435 /** | 3763 /** |
| 3436 * The semicolon terminating the statement. | 3764 * The semicolon terminating the statement. |
| 3437 */ | 3765 */ |
| 3438 Token _semicolon; | 3766 Token _semicolon; |
| 3439 /** | 3767 /** |
| 3440 * Initialize a newly created empty statement. | 3768 * Initialize a newly created empty statement. |
| 3441 * @param semicolon the semicolon terminating the statement | 3769 * @param semicolon the semicolon terminating the statement |
| 3442 */ | 3770 */ |
| 3443 EmptyStatement(Token semicolon) { | 3771 EmptyStatement.full(Token semicolon) { |
| 3444 this._semicolon = semicolon; | 3772 this._semicolon = semicolon; |
| 3445 } | 3773 } |
| 3774 /** | |
| 3775 * Initialize a newly created empty statement. | |
| 3776 * @param semicolon the semicolon terminating the statement | |
| 3777 */ | |
| 3778 EmptyStatement({Token semicolon}) : this.full(semicolon); | |
| 3446 accept(ASTVisitor visitor) => visitor.visitEmptyStatement(this); | 3779 accept(ASTVisitor visitor) => visitor.visitEmptyStatement(this); |
| 3447 Token get beginToken => _semicolon; | 3780 Token get beginToken => _semicolon; |
| 3448 Token get endToken => _semicolon; | 3781 Token get endToken => _semicolon; |
| 3449 /** | 3782 /** |
| 3450 * Return the semicolon terminating the statement. | 3783 * Return the semicolon terminating the statement. |
| 3451 * @return the semicolon terminating the statement | 3784 * @return the semicolon terminating the statement |
| 3452 */ | 3785 */ |
| 3453 Token get semicolon => _semicolon; | 3786 Token get semicolon => _semicolon; |
| 3454 /** | 3787 /** |
| 3455 * Set the semicolon terminating the statement to the given token. | 3788 * Set the semicolon terminating the statement to the given token. |
| 3456 * @param semicolon the semicolon terminating the statement | 3789 * @param semicolon the semicolon terminating the statement |
| 3457 */ | 3790 */ |
| 3458 void set semicolon7(Token semicolon) { | 3791 void set semicolon(Token semicolon7) { |
| 3459 this._semicolon = semicolon; | 3792 this._semicolon = semicolon7; |
| 3460 } | 3793 } |
| 3461 void visitChildren(ASTVisitor<Object> visitor) { | 3794 void visitChildren(ASTVisitor<Object> visitor) { |
| 3462 } | 3795 } |
| 3463 } | 3796 } |
| 3464 /** | 3797 /** |
| 3465 * Instances of the class {@code ExportDirective} represent an export directive. | 3798 * Instances of the class {@code ExportDirective} represent an export directive. |
| 3466 * <pre> | 3799 * <pre> |
| 3467 * exportDirective ::={@link Annotation metadata} 'export' {@link StringLiteral libraryUri} {@link Combinator combinator}* ';' | 3800 * exportDirective ::={@link Annotation metadata} 'export' {@link StringLiteral libraryUri} {@link Combinator combinator}* ';' |
| 3468 * </pre> | 3801 * </pre> |
| 3469 */ | 3802 */ |
| 3470 class ExportDirective extends NamespaceDirective { | 3803 class ExportDirective extends NamespaceDirective { |
| 3471 /** | 3804 /** |
| 3472 * Initialize a newly created export directive. | 3805 * Initialize a newly created export directive. |
| 3473 * @param comment the documentation comment associated with this directive | 3806 * @param comment the documentation comment associated with this directive |
| 3474 * @param metadata the annotations associated with the directive | 3807 * @param metadata the annotations associated with the directive |
| 3475 * @param keyword the token representing the 'export' keyword | 3808 * @param keyword the token representing the 'export' keyword |
| 3476 * @param libraryUri the URI of the library being exported | 3809 * @param libraryUri the URI of the library being exported |
| 3477 * @param combinators the combinators used to control which names are exported | 3810 * @param combinators the combinators used to control which names are exported |
| 3478 * @param semicolon the semicolon terminating the directive | 3811 * @param semicolon the semicolon terminating the directive |
| 3479 */ | 3812 */ |
| 3480 ExportDirective(Comment comment, List<Annotation> metadata, Token keyword, Str ingLiteral libraryUri, List<Combinator> combinators, Token semicolon) : super(co mment, metadata, keyword, libraryUri, combinators, semicolon) { | 3813 ExportDirective.full(Comment comment, List<Annotation> metadata, Token keyword , StringLiteral libraryUri, List<Combinator> combinators, Token semicolon) : sup er.full(comment, metadata, keyword, libraryUri, combinators, semicolon) { |
| 3481 } | 3814 } |
| 3815 /** | |
| 3816 * Initialize a newly created export directive. | |
| 3817 * @param comment the documentation comment associated with this directive | |
| 3818 * @param metadata the annotations associated with the directive | |
| 3819 * @param keyword the token representing the 'export' keyword | |
| 3820 * @param libraryUri the URI of the library being exported | |
| 3821 * @param combinators the combinators used to control which names are exported | |
| 3822 * @param semicolon the semicolon terminating the directive | |
| 3823 */ | |
| 3824 ExportDirective({Comment comment, List<Annotation> metadata, Token keyword, St ringLiteral libraryUri, List<Combinator> combinators, Token semicolon}) : this.f ull(comment, metadata, keyword, libraryUri, combinators, semicolon); | |
| 3482 accept(ASTVisitor visitor) => visitor.visitExportDirective(this); | 3825 accept(ASTVisitor visitor) => visitor.visitExportDirective(this); |
| 3483 void visitChildren(ASTVisitor<Object> visitor) { | 3826 void visitChildren(ASTVisitor<Object> visitor) { |
| 3484 super.visitChildren(visitor); | 3827 super.visitChildren(visitor); |
| 3485 safelyVisitChild(libraryUri, visitor); | |
| 3486 combinators.accept(visitor); | 3828 combinators.accept(visitor); |
| 3487 } | 3829 } |
| 3488 } | 3830 } |
| 3489 /** | 3831 /** |
| 3490 * Instances of the class {@code Expression} defines the behavior common to node s that represent an | 3832 * Instances of the class {@code Expression} defines the behavior common to node s that represent an |
| 3491 * expression. | 3833 * expression. |
| 3492 * <pre> | 3834 * <pre> |
| 3493 * expression ::={@link AssignmentExpression assignmentExpression}| {@link Condi tionalExpression conditionalExpression} cascadeSection | 3835 * expression ::={@link AssignmentExpression assignmentExpression}| {@link Condi tionalExpression conditionalExpression} cascadeSection |
| 3494 * | {@link ThrowExpression throwExpression}</pre> | 3836 * | {@link ThrowExpression throwExpression}</pre> |
| 3495 */ | 3837 */ |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 3517 Type2 get staticType => _staticType; | 3859 Type2 get staticType => _staticType; |
| 3518 /** | 3860 /** |
| 3519 * Return {@code true} if this expression is syntactically valid for the LHS o f an{@link AssignmentExpression assignment expression}. | 3861 * Return {@code true} if this expression is syntactically valid for the LHS o f an{@link AssignmentExpression assignment expression}. |
| 3520 * @return {@code true} if this expression matches the {@code assignableExpres sion} production | 3862 * @return {@code true} if this expression matches the {@code assignableExpres sion} production |
| 3521 */ | 3863 */ |
| 3522 bool isAssignable() => false; | 3864 bool isAssignable() => false; |
| 3523 /** | 3865 /** |
| 3524 * Set the propagated type of this expression to the given type. | 3866 * Set the propagated type of this expression to the given type. |
| 3525 * @param propagatedType the propagated type of this expression | 3867 * @param propagatedType the propagated type of this expression |
| 3526 */ | 3868 */ |
| 3527 void set propagatedType2(Type2 propagatedType) { | 3869 void set propagatedType(Type2 propagatedType2) { |
| 3528 this._propagatedType = propagatedType; | 3870 this._propagatedType = propagatedType2; |
| 3529 } | 3871 } |
| 3530 /** | 3872 /** |
| 3531 * Set the static type of this expression to the given type. | 3873 * Set the static type of this expression to the given type. |
| 3532 * @param staticType the static type of this expression | 3874 * @param staticType the static type of this expression |
| 3533 */ | 3875 */ |
| 3534 void set staticType2(Type2 staticType) { | 3876 void set staticType(Type2 staticType2) { |
| 3535 this._staticType = staticType; | 3877 this._staticType = staticType2; |
| 3536 } | 3878 } |
| 3537 } | 3879 } |
| 3538 /** | 3880 /** |
| 3539 * Instances of the class {@code ExpressionFunctionBody} represent a function bo dy consisting of a | 3881 * Instances of the class {@code ExpressionFunctionBody} represent a function bo dy consisting of a |
| 3540 * single expression. | 3882 * single expression. |
| 3541 * <pre> | 3883 * <pre> |
| 3542 * expressionFunctionBody ::= | 3884 * expressionFunctionBody ::= |
| 3543 * '=>' {@link Expression expression} ';' | 3885 * '=>' {@link Expression expression} ';' |
| 3544 * </pre> | 3886 * </pre> |
| 3545 */ | 3887 */ |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 3556 * The semicolon terminating the statement. | 3898 * The semicolon terminating the statement. |
| 3557 */ | 3899 */ |
| 3558 Token _semicolon; | 3900 Token _semicolon; |
| 3559 /** | 3901 /** |
| 3560 * Initialize a newly created function body consisting of a block of statement s. | 3902 * Initialize a newly created function body consisting of a block of statement s. |
| 3561 * @param functionDefinition the token introducing the expression that represe nts the body of the | 3903 * @param functionDefinition the token introducing the expression that represe nts the body of the |
| 3562 * function | 3904 * function |
| 3563 * @param expression the expression representing the body of the function | 3905 * @param expression the expression representing the body of the function |
| 3564 * @param semicolon the semicolon terminating the statement | 3906 * @param semicolon the semicolon terminating the statement |
| 3565 */ | 3907 */ |
| 3566 ExpressionFunctionBody(Token functionDefinition, Expression expression, Token semicolon) { | 3908 ExpressionFunctionBody.full(Token functionDefinition, Expression expression, T oken semicolon) { |
| 3567 this._functionDefinition = functionDefinition; | 3909 this._functionDefinition = functionDefinition; |
| 3568 this._expression = becomeParentOf(expression); | 3910 this._expression = becomeParentOf(expression); |
| 3569 this._semicolon = semicolon; | 3911 this._semicolon = semicolon; |
| 3570 } | 3912 } |
| 3913 /** | |
| 3914 * Initialize a newly created function body consisting of a block of statement s. | |
| 3915 * @param functionDefinition the token introducing the expression that represe nts the body of the | |
| 3916 * function | |
| 3917 * @param expression the expression representing the body of the function | |
| 3918 * @param semicolon the semicolon terminating the statement | |
| 3919 */ | |
| 3920 ExpressionFunctionBody({Token functionDefinition, Expression expression, Token semicolon}) : this.full(functionDefinition, expression, semicolon); | |
| 3571 accept(ASTVisitor visitor) => visitor.visitExpressionFunctionBody(this); | 3921 accept(ASTVisitor visitor) => visitor.visitExpressionFunctionBody(this); |
| 3572 Token get beginToken => _functionDefinition; | 3922 Token get beginToken => _functionDefinition; |
| 3573 Token get endToken { | 3923 Token get endToken { |
| 3574 if (_semicolon != null) { | 3924 if (_semicolon != null) { |
| 3575 return _semicolon; | 3925 return _semicolon; |
| 3576 } | 3926 } |
| 3577 return _expression.endToken; | 3927 return _expression.endToken; |
| 3578 } | 3928 } |
| 3579 /** | 3929 /** |
| 3580 * Return the expression representing the body of the function. | 3930 * Return the expression representing the body of the function. |
| 3581 * @return the expression representing the body of the function | 3931 * @return the expression representing the body of the function |
| 3582 */ | 3932 */ |
| 3583 Expression get expression => _expression; | 3933 Expression get expression => _expression; |
| 3584 /** | 3934 /** |
| 3585 * Return the token introducing the expression that represents the body of the function. | 3935 * Return the token introducing the expression that represents the body of the function. |
| 3586 * @return the function definition token | 3936 * @return the function definition token |
| 3587 */ | 3937 */ |
| 3588 Token get functionDefinition => _functionDefinition; | 3938 Token get functionDefinition => _functionDefinition; |
| 3589 /** | 3939 /** |
| 3590 * Return the semicolon terminating the statement. | 3940 * Return the semicolon terminating the statement. |
| 3591 * @return the semicolon terminating the statement | 3941 * @return the semicolon terminating the statement |
| 3592 */ | 3942 */ |
| 3593 Token get semicolon => _semicolon; | 3943 Token get semicolon => _semicolon; |
| 3594 /** | 3944 /** |
| 3595 * Set the expression representing the body of the function to the given expre ssion. | 3945 * Set the expression representing the body of the function to the given expre ssion. |
| 3596 * @param expression the expression representing the body of the function | 3946 * @param expression the expression representing the body of the function |
| 3597 */ | 3947 */ |
| 3598 void set expression4(Expression expression) { | 3948 void set expression(Expression expression4) { |
| 3599 this._expression = becomeParentOf(expression); | 3949 this._expression = becomeParentOf(expression4); |
| 3600 } | 3950 } |
| 3601 /** | 3951 /** |
| 3602 * Set the token introducing the expression that represents the body of the fu nction to the given | 3952 * Set the token introducing the expression that represents the body of the fu nction to the given |
| 3603 * token. | 3953 * token. |
| 3604 * @param functionDefinition the function definition token | 3954 * @param functionDefinition the function definition token |
| 3605 */ | 3955 */ |
| 3606 void set functionDefinition2(Token functionDefinition) { | 3956 void set functionDefinition(Token functionDefinition2) { |
| 3607 this._functionDefinition = functionDefinition; | 3957 this._functionDefinition = functionDefinition2; |
| 3608 } | 3958 } |
| 3609 /** | 3959 /** |
| 3610 * Set the semicolon terminating the statement to the given token. | 3960 * Set the semicolon terminating the statement to the given token. |
| 3611 * @param semicolon the semicolon terminating the statement | 3961 * @param semicolon the semicolon terminating the statement |
| 3612 */ | 3962 */ |
| 3613 void set semicolon8(Token semicolon) { | 3963 void set semicolon(Token semicolon8) { |
| 3614 this._semicolon = semicolon; | 3964 this._semicolon = semicolon8; |
| 3615 } | 3965 } |
| 3616 void visitChildren(ASTVisitor<Object> visitor) { | 3966 void visitChildren(ASTVisitor<Object> visitor) { |
| 3617 safelyVisitChild(_expression, visitor); | 3967 safelyVisitChild(_expression, visitor); |
| 3618 } | 3968 } |
| 3619 } | 3969 } |
| 3620 /** | 3970 /** |
| 3621 * Instances of the class {@code ExpressionStatement} wrap an expression as a st atement. | 3971 * Instances of the class {@code ExpressionStatement} wrap an expression as a st atement. |
| 3622 * <pre> | 3972 * <pre> |
| 3623 * expressionStatement ::={@link Expression expression}? ';' | 3973 * expressionStatement ::={@link Expression expression}? ';' |
| 3624 * </pre> | 3974 * </pre> |
| 3625 */ | 3975 */ |
| 3626 class ExpressionStatement extends Statement { | 3976 class ExpressionStatement extends Statement { |
| 3627 /** | 3977 /** |
| 3628 * The expression that comprises the statement. | 3978 * The expression that comprises the statement. |
| 3629 */ | 3979 */ |
| 3630 Expression _expression; | 3980 Expression _expression; |
| 3631 /** | 3981 /** |
| 3632 * The semicolon terminating the statement, or {@code null} if the expression is a function | 3982 * The semicolon terminating the statement, or {@code null} if the expression is a function |
| 3633 * expression and isn't followed by a semicolon. | 3983 * expression and isn't followed by a semicolon. |
| 3634 */ | 3984 */ |
| 3635 Token _semicolon; | 3985 Token _semicolon; |
| 3636 /** | 3986 /** |
| 3637 * Initialize a newly created expression statement. | 3987 * Initialize a newly created expression statement. |
| 3638 * @param expression the expression that comprises the statement | 3988 * @param expression the expression that comprises the statement |
| 3639 * @param semicolon the semicolon terminating the statement | 3989 * @param semicolon the semicolon terminating the statement |
| 3640 */ | 3990 */ |
| 3641 ExpressionStatement(Expression expression, Token semicolon) { | 3991 ExpressionStatement.full(Expression expression, Token semicolon) { |
| 3642 this._expression = becomeParentOf(expression); | 3992 this._expression = becomeParentOf(expression); |
| 3643 this._semicolon = semicolon; | 3993 this._semicolon = semicolon; |
| 3644 } | 3994 } |
| 3995 /** | |
| 3996 * Initialize a newly created expression statement. | |
| 3997 * @param expression the expression that comprises the statement | |
| 3998 * @param semicolon the semicolon terminating the statement | |
| 3999 */ | |
| 4000 ExpressionStatement({Expression expression, Token semicolon}) : this.full(expr ession, semicolon); | |
| 3645 accept(ASTVisitor visitor) => visitor.visitExpressionStatement(this); | 4001 accept(ASTVisitor visitor) => visitor.visitExpressionStatement(this); |
| 3646 Token get beginToken => _expression.beginToken; | 4002 Token get beginToken => _expression.beginToken; |
| 3647 Token get endToken { | 4003 Token get endToken { |
| 3648 if (_semicolon != null) { | 4004 if (_semicolon != null) { |
| 3649 return _semicolon; | 4005 return _semicolon; |
| 3650 } | 4006 } |
| 3651 return _expression.endToken; | 4007 return _expression.endToken; |
| 3652 } | 4008 } |
| 3653 /** | 4009 /** |
| 3654 * Return the expression that comprises the statement. | 4010 * Return the expression that comprises the statement. |
| 3655 * @return the expression that comprises the statement | 4011 * @return the expression that comprises the statement |
| 3656 */ | 4012 */ |
| 3657 Expression get expression => _expression; | 4013 Expression get expression => _expression; |
| 3658 /** | 4014 /** |
| 3659 * Return the semicolon terminating the statement. | 4015 * Return the semicolon terminating the statement. |
| 3660 * @return the semicolon terminating the statement | 4016 * @return the semicolon terminating the statement |
| 3661 */ | 4017 */ |
| 3662 Token get semicolon => _semicolon; | 4018 Token get semicolon => _semicolon; |
| 3663 bool isSynthetic() => _expression.isSynthetic() && _semicolon.isSynthetic(); | 4019 bool isSynthetic() => _expression.isSynthetic() && _semicolon.isSynthetic(); |
| 3664 /** | 4020 /** |
| 3665 * Set the expression that comprises the statement to the given expression. | 4021 * Set the expression that comprises the statement to the given expression. |
| 3666 * @param expression the expression that comprises the statement | 4022 * @param expression the expression that comprises the statement |
| 3667 */ | 4023 */ |
| 3668 void set expression5(Expression expression) { | 4024 void set expression(Expression expression5) { |
| 3669 this._expression = becomeParentOf(expression); | 4025 this._expression = becomeParentOf(expression5); |
| 3670 } | 4026 } |
| 3671 /** | 4027 /** |
| 3672 * Set the semicolon terminating the statement to the given token. | 4028 * Set the semicolon terminating the statement to the given token. |
| 3673 * @param semicolon the semicolon terminating the statement | 4029 * @param semicolon the semicolon terminating the statement |
| 3674 */ | 4030 */ |
| 3675 void set semicolon9(Token semicolon) { | 4031 void set semicolon(Token semicolon9) { |
| 3676 this._semicolon = semicolon; | 4032 this._semicolon = semicolon9; |
| 3677 } | 4033 } |
| 3678 void visitChildren(ASTVisitor<Object> visitor) { | 4034 void visitChildren(ASTVisitor<Object> visitor) { |
| 3679 safelyVisitChild(_expression, visitor); | 4035 safelyVisitChild(_expression, visitor); |
| 3680 } | 4036 } |
| 3681 } | 4037 } |
| 3682 /** | 4038 /** |
| 3683 * Instances of the class {@code ExtendsClause} represent the "extends" clause i n a class | 4039 * Instances of the class {@code ExtendsClause} represent the "extends" clause i n a class |
| 3684 * declaration. | 4040 * declaration. |
| 3685 * <pre> | 4041 * <pre> |
| 3686 * extendsClause ::= | 4042 * extendsClause ::= |
| 3687 * 'extends' {@link TypeName superclass}</pre> | 4043 * 'extends' {@link TypeName superclass}</pre> |
| 3688 */ | 4044 */ |
| 3689 class ExtendsClause extends ASTNode { | 4045 class ExtendsClause extends ASTNode { |
| 3690 /** | 4046 /** |
| 3691 * The token representing the 'extends' keyword. | 4047 * The token representing the 'extends' keyword. |
| 3692 */ | 4048 */ |
| 3693 Token _keyword; | 4049 Token _keyword; |
| 3694 /** | 4050 /** |
| 3695 * The name of the class that is being extended. | 4051 * The name of the class that is being extended. |
| 3696 */ | 4052 */ |
| 3697 TypeName _superclass; | 4053 TypeName _superclass; |
| 3698 /** | 4054 /** |
| 3699 * Initialize a newly created extends clause. | 4055 * Initialize a newly created extends clause. |
| 3700 * @param keyword the token representing the 'extends' keyword | 4056 * @param keyword the token representing the 'extends' keyword |
| 3701 * @param superclass the name of the class that is being extended | 4057 * @param superclass the name of the class that is being extended |
| 3702 */ | 4058 */ |
| 3703 ExtendsClause(Token keyword, TypeName superclass) { | 4059 ExtendsClause.full(Token keyword, TypeName superclass) { |
| 3704 this._keyword = keyword; | 4060 this._keyword = keyword; |
| 3705 this._superclass = becomeParentOf(superclass); | 4061 this._superclass = becomeParentOf(superclass); |
| 3706 } | 4062 } |
| 4063 /** | |
| 4064 * Initialize a newly created extends clause. | |
| 4065 * @param keyword the token representing the 'extends' keyword | |
| 4066 * @param superclass the name of the class that is being extended | |
| 4067 */ | |
| 4068 ExtendsClause({Token keyword, TypeName superclass}) : this.full(keyword, super class); | |
| 3707 accept(ASTVisitor visitor) => visitor.visitExtendsClause(this); | 4069 accept(ASTVisitor visitor) => visitor.visitExtendsClause(this); |
| 3708 Token get beginToken => _keyword; | 4070 Token get beginToken => _keyword; |
| 3709 Token get endToken => _superclass.endToken; | 4071 Token get endToken => _superclass.endToken; |
| 3710 /** | 4072 /** |
| 3711 * Return the token representing the 'extends' keyword. | 4073 * Return the token representing the 'extends' keyword. |
| 3712 * @return the token representing the 'extends' keyword | 4074 * @return the token representing the 'extends' keyword |
| 3713 */ | 4075 */ |
| 3714 Token get keyword => _keyword; | 4076 Token get keyword => _keyword; |
| 3715 /** | 4077 /** |
| 3716 * Return the name of the class that is being extended. | 4078 * Return the name of the class that is being extended. |
| 3717 * @return the name of the class that is being extended | 4079 * @return the name of the class that is being extended |
| 3718 */ | 4080 */ |
| 3719 TypeName get superclass => _superclass; | 4081 TypeName get superclass => _superclass; |
| 3720 /** | 4082 /** |
| 3721 * Set the token representing the 'extends' keyword to the given token. | 4083 * Set the token representing the 'extends' keyword to the given token. |
| 3722 * @param keyword the token representing the 'extends' keyword | 4084 * @param keyword the token representing the 'extends' keyword |
| 3723 */ | 4085 */ |
| 3724 void set keyword8(Token keyword) { | 4086 void set keyword(Token keyword8) { |
| 3725 this._keyword = keyword; | 4087 this._keyword = keyword8; |
| 3726 } | 4088 } |
| 3727 /** | 4089 /** |
| 3728 * Set the name of the class that is being extended to the given name. | 4090 * Set the name of the class that is being extended to the given name. |
| 3729 * @param name the name of the class that is being extended | 4091 * @param name the name of the class that is being extended |
| 3730 */ | 4092 */ |
| 3731 void set superclass3(TypeName name) { | 4093 void set superclass(TypeName name) { |
| 3732 _superclass = becomeParentOf(name); | 4094 _superclass = becomeParentOf(name); |
| 3733 } | 4095 } |
| 3734 void visitChildren(ASTVisitor<Object> visitor) { | 4096 void visitChildren(ASTVisitor<Object> visitor) { |
| 3735 safelyVisitChild(_superclass, visitor); | 4097 safelyVisitChild(_superclass, visitor); |
| 3736 } | 4098 } |
| 3737 } | 4099 } |
| 3738 /** | 4100 /** |
| 3739 * Instances of the class {@code FieldDeclaration} represent the declaration of one or more fields | 4101 * Instances of the class {@code FieldDeclaration} represent the declaration of one or more fields |
| 3740 * of the same type. | 4102 * of the same type. |
| 3741 * <pre> | 4103 * <pre> |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 3757 */ | 4119 */ |
| 3758 Token _semicolon; | 4120 Token _semicolon; |
| 3759 /** | 4121 /** |
| 3760 * Initialize a newly created field declaration. | 4122 * Initialize a newly created field declaration. |
| 3761 * @param comment the documentation comment associated with this field | 4123 * @param comment the documentation comment associated with this field |
| 3762 * @param metadata the annotations associated with this field | 4124 * @param metadata the annotations associated with this field |
| 3763 * @param keyword the token representing the 'static' keyword | 4125 * @param keyword the token representing the 'static' keyword |
| 3764 * @param fieldList the fields being declared | 4126 * @param fieldList the fields being declared |
| 3765 * @param semicolon the semicolon terminating the declaration | 4127 * @param semicolon the semicolon terminating the declaration |
| 3766 */ | 4128 */ |
| 3767 FieldDeclaration(Comment comment, List<Annotation> metadata, Token keyword, Va riableDeclarationList fieldList, Token semicolon) : super(comment, metadata) { | 4129 FieldDeclaration.full(Comment comment, List<Annotation> metadata, Token keywor d, VariableDeclarationList fieldList, Token semicolon) : super.full(comment, met adata) { |
| 3768 this._keyword = keyword; | 4130 this._keyword = keyword; |
| 3769 this._fieldList = becomeParentOf(fieldList); | 4131 this._fieldList = becomeParentOf(fieldList); |
| 3770 this._semicolon = semicolon; | 4132 this._semicolon = semicolon; |
| 3771 } | 4133 } |
| 4134 /** | |
| 4135 * Initialize a newly created field declaration. | |
| 4136 * @param comment the documentation comment associated with this field | |
| 4137 * @param metadata the annotations associated with this field | |
| 4138 * @param keyword the token representing the 'static' keyword | |
| 4139 * @param fieldList the fields being declared | |
| 4140 * @param semicolon the semicolon terminating the declaration | |
| 4141 */ | |
| 4142 FieldDeclaration({Comment comment, List<Annotation> metadata, Token keyword, V ariableDeclarationList fieldList, Token semicolon}) : this.full(comment, metadat a, keyword, fieldList, semicolon); | |
| 3772 accept(ASTVisitor visitor) => visitor.visitFieldDeclaration(this); | 4143 accept(ASTVisitor visitor) => visitor.visitFieldDeclaration(this); |
| 3773 Token get endToken => _semicolon; | 4144 Token get endToken => _semicolon; |
| 3774 /** | 4145 /** |
| 3775 * Return the fields being declared. | 4146 * Return the fields being declared. |
| 3776 * @return the fields being declared | 4147 * @return the fields being declared |
| 3777 */ | 4148 */ |
| 3778 VariableDeclarationList get fields => _fieldList; | 4149 VariableDeclarationList get fields => _fieldList; |
| 3779 /** | 4150 /** |
| 3780 * Return the token representing the 'static' keyword, or {@code null} if the fields are not | 4151 * Return the token representing the 'static' keyword, or {@code null} if the fields are not |
| 3781 * static. | 4152 * static. |
| 3782 * @return the token representing the 'static' keyword | 4153 * @return the token representing the 'static' keyword |
| 3783 */ | 4154 */ |
| 3784 Token get keyword => _keyword; | 4155 Token get keyword => _keyword; |
| 3785 /** | 4156 /** |
| 3786 * Return the semicolon terminating the declaration. | 4157 * Return the semicolon terminating the declaration. |
| 3787 * @return the semicolon terminating the declaration | 4158 * @return the semicolon terminating the declaration |
| 3788 */ | 4159 */ |
| 3789 Token get semicolon => _semicolon; | 4160 Token get semicolon => _semicolon; |
| 3790 /** | 4161 /** |
| 3791 * Set the fields being declared to the given list of variables. | 4162 * Set the fields being declared to the given list of variables. |
| 3792 * @param fieldList the fields being declared | 4163 * @param fieldList the fields being declared |
| 3793 */ | 4164 */ |
| 3794 void set fields2(VariableDeclarationList fieldList) { | 4165 void set fields(VariableDeclarationList fieldList) { |
| 3795 fieldList = becomeParentOf(fieldList); | 4166 fieldList = becomeParentOf(fieldList); |
| 3796 } | 4167 } |
| 3797 /** | 4168 /** |
| 3798 * Set the token representing the 'static' keyword to the given token. | 4169 * Set the token representing the 'static' keyword to the given token. |
| 3799 * @param keyword the token representing the 'static' keyword | 4170 * @param keyword the token representing the 'static' keyword |
| 3800 */ | 4171 */ |
| 3801 void set keyword9(Token keyword) { | 4172 void set keyword(Token keyword9) { |
| 3802 this._keyword = keyword; | 4173 this._keyword = keyword9; |
| 3803 } | 4174 } |
| 3804 /** | 4175 /** |
| 3805 * Set the semicolon terminating the declaration to the given token. | 4176 * Set the semicolon terminating the declaration to the given token. |
| 3806 * @param semicolon the semicolon terminating the declaration | 4177 * @param semicolon the semicolon terminating the declaration |
| 3807 */ | 4178 */ |
| 3808 void set semicolon10(Token semicolon) { | 4179 void set semicolon(Token semicolon10) { |
| 3809 this._semicolon = semicolon; | 4180 this._semicolon = semicolon10; |
| 3810 } | 4181 } |
| 3811 void visitChildren(ASTVisitor<Object> visitor) { | 4182 void visitChildren(ASTVisitor<Object> visitor) { |
| 3812 super.visitChildren(visitor); | 4183 super.visitChildren(visitor); |
| 3813 safelyVisitChild(_fieldList, visitor); | 4184 safelyVisitChild(_fieldList, visitor); |
| 3814 } | 4185 } |
| 3815 Token get firstTokenAfterCommentAndMetadata { | 4186 Token get firstTokenAfterCommentAndMetadata { |
| 3816 if (_keyword != null) { | 4187 if (_keyword != null) { |
| 3817 return _keyword; | 4188 return _keyword; |
| 3818 } | 4189 } |
| 3819 return _fieldList.beginToken; | 4190 return _fieldList.beginToken; |
| (...skipping 27 matching lines...) Expand all Loading... | |
| 3847 /** | 4218 /** |
| 3848 * Initialize a newly created formal parameter. | 4219 * Initialize a newly created formal parameter. |
| 3849 * @param comment the documentation comment associated with this parameter | 4220 * @param comment the documentation comment associated with this parameter |
| 3850 * @param metadata the annotations associated with this parameter | 4221 * @param metadata the annotations associated with this parameter |
| 3851 * @param keyword the token representing either the 'final', 'const' or 'var' keyword | 4222 * @param keyword the token representing either the 'final', 'const' or 'var' keyword |
| 3852 * @param type the name of the declared type of the parameter | 4223 * @param type the name of the declared type of the parameter |
| 3853 * @param thisToken the token representing the 'this' keyword | 4224 * @param thisToken the token representing the 'this' keyword |
| 3854 * @param period the token representing the period | 4225 * @param period the token representing the period |
| 3855 * @param identifier the name of the parameter being declared | 4226 * @param identifier the name of the parameter being declared |
| 3856 */ | 4227 */ |
| 3857 FieldFormalParameter(Comment comment, List<Annotation> metadata, Token keyword , TypeName type, Token thisToken, Token period, SimpleIdentifier identifier) : s uper(comment, metadata, identifier) { | 4228 FieldFormalParameter.full(Comment comment, List<Annotation> metadata, Token ke yword, TypeName type, Token thisToken, Token period, SimpleIdentifier identifier ) : super.full(comment, metadata, identifier) { |
| 3858 this._keyword = keyword; | 4229 this._keyword = keyword; |
| 3859 this._type = becomeParentOf(type); | 4230 this._type = becomeParentOf(type); |
| 3860 this._thisToken = thisToken; | 4231 this._thisToken = thisToken; |
| 3861 this._period = period; | 4232 this._period = period; |
| 3862 } | 4233 } |
| 4234 /** | |
| 4235 * Initialize a newly created formal parameter. | |
| 4236 * @param comment the documentation comment associated with this parameter | |
| 4237 * @param metadata the annotations associated with this parameter | |
| 4238 * @param keyword the token representing either the 'final', 'const' or 'var' keyword | |
| 4239 * @param type the name of the declared type of the parameter | |
| 4240 * @param thisToken the token representing the 'this' keyword | |
| 4241 * @param period the token representing the period | |
| 4242 * @param identifier the name of the parameter being declared | |
| 4243 */ | |
| 4244 FieldFormalParameter({Comment comment, List<Annotation> metadata, Token keywor d, TypeName type, Token thisToken, Token period, SimpleIdentifier identifier}) : this.full(comment, metadata, keyword, type, thisToken, period, identifier); | |
| 3863 accept(ASTVisitor visitor) => visitor.visitFieldFormalParameter(this); | 4245 accept(ASTVisitor visitor) => visitor.visitFieldFormalParameter(this); |
| 3864 Token get beginToken { | 4246 Token get beginToken { |
| 3865 if (_keyword != null) { | 4247 if (_keyword != null) { |
| 3866 return _keyword; | 4248 return _keyword; |
| 3867 } else if (_type != null) { | 4249 } else if (_type != null) { |
| 3868 return _type.beginToken; | 4250 return _type.beginToken; |
| 3869 } | 4251 } |
| 3870 return _thisToken; | 4252 return _thisToken; |
| 3871 } | 4253 } |
| 3872 Token get endToken => identifier.endToken; | 4254 Token get endToken => identifier.endToken; |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 3884 * Return the token representing the 'this' keyword. | 4266 * Return the token representing the 'this' keyword. |
| 3885 * @return the token representing the 'this' keyword | 4267 * @return the token representing the 'this' keyword |
| 3886 */ | 4268 */ |
| 3887 Token get thisToken => _thisToken; | 4269 Token get thisToken => _thisToken; |
| 3888 /** | 4270 /** |
| 3889 * Return the name of the declared type of the parameter, or {@code null} if t he parameter does | 4271 * Return the name of the declared type of the parameter, or {@code null} if t he parameter does |
| 3890 * not have a declared type. | 4272 * not have a declared type. |
| 3891 * @return the name of the declared type of the parameter | 4273 * @return the name of the declared type of the parameter |
| 3892 */ | 4274 */ |
| 3893 TypeName get type => _type; | 4275 TypeName get type => _type; |
| 3894 bool isConst() => (_keyword is KeywordToken) && (_keyword as KeywordToken).key word == Keyword.CONST; | 4276 bool isConst() => (_keyword is KeywordToken) && identical(((_keyword as Keywor dToken)).keyword, Keyword.CONST); |
| 3895 bool isFinal() => (_keyword is KeywordToken) && (_keyword as KeywordToken).key word == Keyword.FINAL; | 4277 bool isFinal() => (_keyword is KeywordToken) && identical(((_keyword as Keywor dToken)).keyword, Keyword.FINAL); |
| 3896 /** | 4278 /** |
| 3897 * Set the token representing either the 'final', 'const' or 'var' keyword to the given token. | 4279 * Set the token representing either the 'final', 'const' or 'var' keyword to the given token. |
| 3898 * @param keyword the token representing either the 'final', 'const' or 'var' keyword | 4280 * @param keyword the token representing either the 'final', 'const' or 'var' keyword |
| 3899 */ | 4281 */ |
| 3900 void set keyword10(Token keyword) { | 4282 void set keyword(Token keyword10) { |
| 3901 this._keyword = keyword; | 4283 this._keyword = keyword10; |
| 3902 } | 4284 } |
| 3903 /** | 4285 /** |
| 3904 * Set the token representing the period to the given token. | 4286 * Set the token representing the period to the given token. |
| 3905 * @param period the token representing the period | 4287 * @param period the token representing the period |
| 3906 */ | 4288 */ |
| 3907 void set period6(Token period) { | 4289 void set period(Token period6) { |
| 3908 this._period = period; | 4290 this._period = period6; |
| 3909 } | 4291 } |
| 3910 /** | 4292 /** |
| 3911 * Set the token representing the 'this' keyword to the given token. | 4293 * Set the token representing the 'this' keyword to the given token. |
| 3912 * @param thisToken the token representing the 'this' keyword | 4294 * @param thisToken the token representing the 'this' keyword |
| 3913 */ | 4295 */ |
| 3914 void set thisToken2(Token thisToken) { | 4296 void set thisToken(Token thisToken2) { |
| 3915 this._thisToken = thisToken; | 4297 this._thisToken = thisToken2; |
| 3916 } | 4298 } |
| 3917 /** | 4299 /** |
| 3918 * Set the name of the declared type of the parameter to the given type name. | 4300 * Set the name of the declared type of the parameter to the given type name. |
| 3919 * @param typeName the name of the declared type of the parameter | 4301 * @param typeName the name of the declared type of the parameter |
| 3920 */ | 4302 */ |
| 3921 void set type4(TypeName typeName) { | 4303 void set type(TypeName typeName) { |
| 3922 _type = becomeParentOf(typeName); | 4304 _type = becomeParentOf(typeName); |
| 3923 } | 4305 } |
| 3924 void visitChildren(ASTVisitor<Object> visitor) { | 4306 void visitChildren(ASTVisitor<Object> visitor) { |
| 3925 super.visitChildren(visitor); | 4307 super.visitChildren(visitor); |
| 3926 safelyVisitChild(_type, visitor); | 4308 safelyVisitChild(_type, visitor); |
| 3927 safelyVisitChild(identifier, visitor); | 4309 safelyVisitChild(identifier, visitor); |
| 3928 } | 4310 } |
| 3929 } | 4311 } |
| 3930 /** | 4312 /** |
| 3931 * Instances of the class {@code ForEachStatement} represent a for-each statemen t. | 4313 * Instances of the class {@code ForEachStatement} represent a for-each statemen t. |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3964 Statement _body; | 4346 Statement _body; |
| 3965 /** | 4347 /** |
| 3966 * Initialize a newly created for-each statement. | 4348 * Initialize a newly created for-each statement. |
| 3967 * @param forKeyword the token representing the 'for' keyword | 4349 * @param forKeyword the token representing the 'for' keyword |
| 3968 * @param leftParenthesis the left parenthesis | 4350 * @param leftParenthesis the left parenthesis |
| 3969 * @param loopParameter the declaration of the loop variable | 4351 * @param loopParameter the declaration of the loop variable |
| 3970 * @param iterator the expression evaluated to produce the iterator | 4352 * @param iterator the expression evaluated to produce the iterator |
| 3971 * @param rightParenthesis the right parenthesis | 4353 * @param rightParenthesis the right parenthesis |
| 3972 * @param body the body of the loop | 4354 * @param body the body of the loop |
| 3973 */ | 4355 */ |
| 3974 ForEachStatement(Token forKeyword, Token leftParenthesis, SimpleFormalParamete r loopParameter, Token inKeyword, Expression iterator, Token rightParenthesis, S tatement body) { | 4356 ForEachStatement.full(Token forKeyword, Token leftParenthesis, SimpleFormalPar ameter loopParameter, Token inKeyword, Expression iterator, Token rightParenthes is, Statement body) { |
| 3975 this._forKeyword = forKeyword; | 4357 this._forKeyword = forKeyword; |
| 3976 this._leftParenthesis = leftParenthesis; | 4358 this._leftParenthesis = leftParenthesis; |
| 3977 this._loopParameter = becomeParentOf(loopParameter); | 4359 this._loopParameter = becomeParentOf(loopParameter); |
| 3978 this._inKeyword = inKeyword; | 4360 this._inKeyword = inKeyword; |
| 3979 this._iterator = becomeParentOf(iterator); | 4361 this._iterator = becomeParentOf(iterator); |
| 3980 this._rightParenthesis = rightParenthesis; | 4362 this._rightParenthesis = rightParenthesis; |
| 3981 this._body = becomeParentOf(body); | 4363 this._body = becomeParentOf(body); |
| 3982 } | 4364 } |
| 4365 /** | |
| 4366 * Initialize a newly created for-each statement. | |
| 4367 * @param forKeyword the token representing the 'for' keyword | |
| 4368 * @param leftParenthesis the left parenthesis | |
| 4369 * @param loopParameter the declaration of the loop variable | |
| 4370 * @param iterator the expression evaluated to produce the iterator | |
| 4371 * @param rightParenthesis the right parenthesis | |
| 4372 * @param body the body of the loop | |
| 4373 */ | |
| 4374 ForEachStatement({Token forKeyword, Token leftParenthesis, SimpleFormalParamet er loopParameter, Token inKeyword, Expression iterator, Token rightParenthesis, Statement body}) : this.full(forKeyword, leftParenthesis, loopParameter, inKeywo rd, iterator, rightParenthesis, body); | |
| 3983 accept(ASTVisitor visitor) => visitor.visitForEachStatement(this); | 4375 accept(ASTVisitor visitor) => visitor.visitForEachStatement(this); |
| 3984 Token get beginToken => _forKeyword; | 4376 Token get beginToken => _forKeyword; |
| 3985 /** | 4377 /** |
| 3986 * Return the body of the loop. | 4378 * Return the body of the loop. |
| 3987 * @return the body of the loop | 4379 * @return the body of the loop |
| 3988 */ | 4380 */ |
| 3989 Statement get body => _body; | 4381 Statement get body => _body; |
| 3990 Token get endToken => _body.endToken; | 4382 Token get endToken => _body.endToken; |
| 3991 /** | 4383 /** |
| 3992 * Return the token representing the 'for' keyword. | 4384 * Return the token representing the 'for' keyword. |
| (...skipping 22 matching lines...) Expand all Loading... | |
| 4015 SimpleFormalParameter get loopParameter => _loopParameter; | 4407 SimpleFormalParameter get loopParameter => _loopParameter; |
| 4016 /** | 4408 /** |
| 4017 * Return the right parenthesis. | 4409 * Return the right parenthesis. |
| 4018 * @return the right parenthesis | 4410 * @return the right parenthesis |
| 4019 */ | 4411 */ |
| 4020 Token get rightParenthesis => _rightParenthesis; | 4412 Token get rightParenthesis => _rightParenthesis; |
| 4021 /** | 4413 /** |
| 4022 * Set the body of the loop to the given block. | 4414 * Set the body of the loop to the given block. |
| 4023 * @param body the body of the loop | 4415 * @param body the body of the loop |
| 4024 */ | 4416 */ |
| 4025 void set body5(Statement body) { | 4417 void set body(Statement body2) { |
| 4026 this._body = becomeParentOf(body); | 4418 this._body = becomeParentOf(body2); |
| 4027 } | 4419 } |
| 4028 /** | 4420 /** |
| 4029 * Set the token representing the 'for' keyword to the given token. | 4421 * Set the token representing the 'for' keyword to the given token. |
| 4030 * @param forKeyword the token representing the 'for' keyword | 4422 * @param forKeyword the token representing the 'for' keyword |
| 4031 */ | 4423 */ |
| 4032 void set forKeyword2(Token forKeyword) { | 4424 void set forKeyword(Token forKeyword2) { |
| 4033 this._forKeyword = forKeyword; | 4425 this._forKeyword = forKeyword2; |
| 4034 } | 4426 } |
| 4035 /** | 4427 /** |
| 4036 * Set the token representing the 'in' keyword to the given token. | 4428 * Set the token representing the 'in' keyword to the given token. |
| 4037 * @param inKeyword the token representing the 'in' keyword | 4429 * @param inKeyword the token representing the 'in' keyword |
| 4038 */ | 4430 */ |
| 4039 void set inKeyword2(Token inKeyword) { | 4431 void set inKeyword(Token inKeyword2) { |
| 4040 this._inKeyword = inKeyword; | 4432 this._inKeyword = inKeyword2; |
| 4041 } | 4433 } |
| 4042 /** | 4434 /** |
| 4043 * Set the expression evaluated to produce the iterator to the given expressio n. | 4435 * Set the expression evaluated to produce the iterator to the given expressio n. |
| 4044 * @param expression the expression evaluated to produce the iterator | 4436 * @param expression the expression evaluated to produce the iterator |
| 4045 */ | 4437 */ |
| 4046 void set iterator2(Expression expression) { | 4438 void set iterator(Expression expression) { |
| 4047 _iterator = becomeParentOf(expression); | 4439 _iterator = becomeParentOf(expression); |
| 4048 } | 4440 } |
| 4049 /** | 4441 /** |
| 4050 * Set the left parenthesis to the given token. | 4442 * Set the left parenthesis to the given token. |
| 4051 * @param leftParenthesis the left parenthesis | 4443 * @param leftParenthesis the left parenthesis |
| 4052 */ | 4444 */ |
| 4053 void set leftParenthesis6(Token leftParenthesis) { | 4445 void set leftParenthesis(Token leftParenthesis3) { |
| 4054 this._leftParenthesis = leftParenthesis; | 4446 this._leftParenthesis = leftParenthesis3; |
| 4055 } | 4447 } |
| 4056 /** | 4448 /** |
| 4057 * Set the declaration of the loop variable to the given parameter. | 4449 * Set the declaration of the loop variable to the given parameter. |
| 4058 * @param parameter the declaration of the loop variable | 4450 * @param parameter the declaration of the loop variable |
| 4059 */ | 4451 */ |
| 4060 void set loopParameter2(SimpleFormalParameter parameter) { | 4452 void set loopParameter(SimpleFormalParameter parameter) { |
| 4061 _loopParameter = becomeParentOf(parameter); | 4453 _loopParameter = becomeParentOf(parameter); |
| 4062 } | 4454 } |
| 4063 /** | 4455 /** |
| 4064 * Set the right parenthesis to the given token. | 4456 * Set the right parenthesis to the given token. |
| 4065 * @param rightParenthesis the right parenthesis | 4457 * @param rightParenthesis the right parenthesis |
| 4066 */ | 4458 */ |
| 4067 void set rightParenthesis6(Token rightParenthesis) { | 4459 void set rightParenthesis(Token rightParenthesis3) { |
| 4068 this._rightParenthesis = rightParenthesis; | 4460 this._rightParenthesis = rightParenthesis3; |
| 4069 } | 4461 } |
| 4070 void visitChildren(ASTVisitor<Object> visitor) { | 4462 void visitChildren(ASTVisitor<Object> visitor) { |
| 4071 safelyVisitChild(_loopParameter, visitor); | 4463 safelyVisitChild(_loopParameter, visitor); |
| 4072 safelyVisitChild(_iterator, visitor); | 4464 safelyVisitChild(_iterator, visitor); |
| 4073 safelyVisitChild(_body, visitor); | 4465 safelyVisitChild(_body, visitor); |
| 4074 } | 4466 } |
| 4075 } | 4467 } |
| 4076 /** | 4468 /** |
| 4077 * Instances of the class {@code ForStatement} represent a for statement. | 4469 * Instances of the class {@code ForStatement} represent a for statement. |
| 4078 * <pre> | 4470 * <pre> |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4133 * @param leftParenthesis the left parenthesis | 4525 * @param leftParenthesis the left parenthesis |
| 4134 * @param variableList the declaration of the loop variables | 4526 * @param variableList the declaration of the loop variables |
| 4135 * @param initialization the initialization expression | 4527 * @param initialization the initialization expression |
| 4136 * @param leftSeparator the semicolon separating the initializer and the condi tion | 4528 * @param leftSeparator the semicolon separating the initializer and the condi tion |
| 4137 * @param condition the condition used to determine when to terminate the loop | 4529 * @param condition the condition used to determine when to terminate the loop |
| 4138 * @param rightSeparator the semicolon separating the condition and the update r | 4530 * @param rightSeparator the semicolon separating the condition and the update r |
| 4139 * @param updaters the list of expressions run after each execution of the loo p body | 4531 * @param updaters the list of expressions run after each execution of the loo p body |
| 4140 * @param rightParenthesis the right parenthesis | 4532 * @param rightParenthesis the right parenthesis |
| 4141 * @param body the body of the loop | 4533 * @param body the body of the loop |
| 4142 */ | 4534 */ |
| 4143 ForStatement(Token forKeyword, Token leftParenthesis, VariableDeclarationList variableList, Expression initialization, Token leftSeparator, Expression conditi on, Token rightSeparator, List<Expression> updaters, Token rightParenthesis, Sta tement body) { | 4535 ForStatement.full(Token forKeyword, Token leftParenthesis, VariableDeclaration List variableList, Expression initialization, Token leftSeparator, Expression co ndition, Token rightSeparator, List<Expression> updaters, Token rightParenthesis , Statement body) { |
| 4144 this._updaters = new NodeList<Expression>(this); | 4536 this._updaters = new NodeList<Expression>(this); |
| 4145 this._forKeyword = forKeyword; | 4537 this._forKeyword = forKeyword; |
| 4146 this._leftParenthesis = leftParenthesis; | 4538 this._leftParenthesis = leftParenthesis; |
| 4147 this._variableList = becomeParentOf(variableList); | 4539 this._variableList = becomeParentOf(variableList); |
| 4148 this._initialization = becomeParentOf(initialization); | 4540 this._initialization = becomeParentOf(initialization); |
| 4149 this._leftSeparator = leftSeparator; | 4541 this._leftSeparator = leftSeparator; |
| 4150 this._condition = becomeParentOf(condition); | 4542 this._condition = becomeParentOf(condition); |
| 4151 this._rightSeparator = rightSeparator; | 4543 this._rightSeparator = rightSeparator; |
| 4152 this._updaters.addAll(updaters); | 4544 this._updaters.addAll(updaters); |
| 4153 this._rightParenthesis = rightParenthesis; | 4545 this._rightParenthesis = rightParenthesis; |
| 4154 this._body = becomeParentOf(body); | 4546 this._body = becomeParentOf(body); |
| 4155 } | 4547 } |
| 4548 /** | |
| 4549 * Initialize a newly created for statement. | |
| 4550 * @param forKeyword the token representing the 'for' keyword | |
| 4551 * @param leftParenthesis the left parenthesis | |
| 4552 * @param variableList the declaration of the loop variables | |
| 4553 * @param initialization the initialization expression | |
| 4554 * @param leftSeparator the semicolon separating the initializer and the condi tion | |
| 4555 * @param condition the condition used to determine when to terminate the loop | |
| 4556 * @param rightSeparator the semicolon separating the condition and the update r | |
| 4557 * @param updaters the list of expressions run after each execution of the loo p body | |
| 4558 * @param rightParenthesis the right parenthesis | |
| 4559 * @param body the body of the loop | |
| 4560 */ | |
| 4561 ForStatement({Token forKeyword, Token leftParenthesis, VariableDeclarationList variableList, Expression initialization, Token leftSeparator, Expression condit ion, Token rightSeparator, List<Expression> updaters, Token rightParenthesis, St atement body}) : this.full(forKeyword, leftParenthesis, variableList, initializa tion, leftSeparator, condition, rightSeparator, updaters, rightParenthesis, body ); | |
| 4156 accept(ASTVisitor visitor) => visitor.visitForStatement(this); | 4562 accept(ASTVisitor visitor) => visitor.visitForStatement(this); |
| 4157 Token get beginToken => _forKeyword; | 4563 Token get beginToken => _forKeyword; |
| 4158 /** | 4564 /** |
| 4159 * Return the body of the loop. | 4565 * Return the body of the loop. |
| 4160 * @return the body of the loop | 4566 * @return the body of the loop |
| 4161 */ | 4567 */ |
| 4162 Statement get body => _body; | 4568 Statement get body => _body; |
| 4163 /** | 4569 /** |
| 4164 * Return the condition used to determine when to terminate the loop. | 4570 * Return the condition used to determine when to terminate the loop. |
| 4165 * @return the condition used to determine when to terminate the loop | 4571 * @return the condition used to determine when to terminate the loop |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4203 NodeList<Expression> get updaters => _updaters; | 4609 NodeList<Expression> get updaters => _updaters; |
| 4204 /** | 4610 /** |
| 4205 * Return the declaration of the loop variables, or {@code null} if there are no variables. | 4611 * Return the declaration of the loop variables, or {@code null} if there are no variables. |
| 4206 * @return the declaration of the loop variables, or {@code null} if there are no variables | 4612 * @return the declaration of the loop variables, or {@code null} if there are no variables |
| 4207 */ | 4613 */ |
| 4208 VariableDeclarationList get variables => _variableList; | 4614 VariableDeclarationList get variables => _variableList; |
| 4209 /** | 4615 /** |
| 4210 * Set the body of the loop to the given statement. | 4616 * Set the body of the loop to the given statement. |
| 4211 * @param body the body of the loop | 4617 * @param body the body of the loop |
| 4212 */ | 4618 */ |
| 4213 void set body6(Statement body) { | 4619 void set body(Statement body3) { |
| 4214 this._body = becomeParentOf(body); | 4620 this._body = becomeParentOf(body3); |
| 4215 } | 4621 } |
| 4216 /** | 4622 /** |
| 4217 * Set the condition used to determine when to terminate the loop to the given expression. | 4623 * Set the condition used to determine when to terminate the loop to the given expression. |
| 4218 * @param expression the condition used to determine when to terminate the loo p | 4624 * @param expression the condition used to determine when to terminate the loo p |
| 4219 */ | 4625 */ |
| 4220 void set condition5(Expression expression) { | 4626 void set condition(Expression expression) { |
| 4221 _condition = becomeParentOf(expression); | 4627 _condition = becomeParentOf(expression); |
| 4222 } | 4628 } |
| 4223 /** | 4629 /** |
| 4224 * Set the token representing the 'for' keyword to the given token. | 4630 * Set the token representing the 'for' keyword to the given token. |
| 4225 * @param forKeyword the token representing the 'for' keyword | 4631 * @param forKeyword the token representing the 'for' keyword |
| 4226 */ | 4632 */ |
| 4227 void set forKeyword3(Token forKeyword) { | 4633 void set forKeyword(Token forKeyword3) { |
| 4228 this._forKeyword = forKeyword; | 4634 this._forKeyword = forKeyword3; |
| 4229 } | 4635 } |
| 4230 /** | 4636 /** |
| 4231 * Set the initialization expression to the given expression. | 4637 * Set the initialization expression to the given expression. |
| 4232 * @param initialization the initialization expression | 4638 * @param initialization the initialization expression |
| 4233 */ | 4639 */ |
| 4234 void set initialization2(Expression initialization) { | 4640 void set initialization(Expression initialization2) { |
| 4235 this._initialization = becomeParentOf(initialization); | 4641 this._initialization = becomeParentOf(initialization2); |
| 4236 } | 4642 } |
| 4237 /** | 4643 /** |
| 4238 * Set the left parenthesis to the given token. | 4644 * Set the left parenthesis to the given token. |
| 4239 * @param leftParenthesis the left parenthesis | 4645 * @param leftParenthesis the left parenthesis |
| 4240 */ | 4646 */ |
| 4241 void set leftParenthesis7(Token leftParenthesis) { | 4647 void set leftParenthesis(Token leftParenthesis4) { |
| 4242 this._leftParenthesis = leftParenthesis; | 4648 this._leftParenthesis = leftParenthesis4; |
| 4243 } | 4649 } |
| 4244 /** | 4650 /** |
| 4245 * Set the semicolon separating the initializer and the condition to the given token. | 4651 * Set the semicolon separating the initializer and the condition to the given token. |
| 4246 * @param leftSeparator the semicolon separating the initializer and the condi tion | 4652 * @param leftSeparator the semicolon separating the initializer and the condi tion |
| 4247 */ | 4653 */ |
| 4248 void set leftSeparator2(Token leftSeparator) { | 4654 void set leftSeparator(Token leftSeparator2) { |
| 4249 this._leftSeparator = leftSeparator; | 4655 this._leftSeparator = leftSeparator2; |
| 4250 } | 4656 } |
| 4251 /** | 4657 /** |
| 4252 * Set the right parenthesis to the given token. | 4658 * Set the right parenthesis to the given token. |
| 4253 * @param rightParenthesis the right parenthesis | 4659 * @param rightParenthesis the right parenthesis |
| 4254 */ | 4660 */ |
| 4255 void set rightParenthesis7(Token rightParenthesis) { | 4661 void set rightParenthesis(Token rightParenthesis4) { |
| 4256 this._rightParenthesis = rightParenthesis; | 4662 this._rightParenthesis = rightParenthesis4; |
| 4257 } | 4663 } |
| 4258 /** | 4664 /** |
| 4259 * Set the semicolon separating the condition and the updater to the given tok en. | 4665 * Set the semicolon separating the condition and the updater to the given tok en. |
| 4260 * @param rightSeparator the semicolon separating the condition and the update r | 4666 * @param rightSeparator the semicolon separating the condition and the update r |
| 4261 */ | 4667 */ |
| 4262 void set rightSeparator2(Token rightSeparator) { | 4668 void set rightSeparator(Token rightSeparator2) { |
| 4263 this._rightSeparator = rightSeparator; | 4669 this._rightSeparator = rightSeparator2; |
| 4264 } | 4670 } |
| 4265 /** | 4671 /** |
| 4266 * Set the declaration of the loop variables to the given parameter. | 4672 * Set the declaration of the loop variables to the given parameter. |
| 4267 * @param variableList the declaration of the loop variables | 4673 * @param variableList the declaration of the loop variables |
| 4268 */ | 4674 */ |
| 4269 void set variables2(VariableDeclarationList variableList) { | 4675 void set variables(VariableDeclarationList variableList) { |
| 4270 variableList = becomeParentOf(variableList); | 4676 variableList = becomeParentOf(variableList); |
| 4271 } | 4677 } |
| 4272 void visitChildren(ASTVisitor<Object> visitor) { | 4678 void visitChildren(ASTVisitor<Object> visitor) { |
| 4273 safelyVisitChild(_variableList, visitor); | 4679 safelyVisitChild(_variableList, visitor); |
| 4274 safelyVisitChild(_initialization, visitor); | 4680 safelyVisitChild(_initialization, visitor); |
| 4275 safelyVisitChild(_condition, visitor); | 4681 safelyVisitChild(_condition, visitor); |
| 4276 _updaters.accept(visitor); | 4682 _updaters.accept(visitor); |
| 4277 safelyVisitChild(_body, visitor); | 4683 safelyVisitChild(_body, visitor); |
| 4278 } | 4684 } |
| 4279 } | 4685 } |
| 4280 /** | 4686 /** |
| 4281 * The abstract class {@code FormalParameter} defines the behavior of objects re presenting a | 4687 * The abstract class {@code FormalParameter} defines the behavior of objects re presenting a |
| 4282 * parameter to a function. | 4688 * parameter to a function. |
| 4283 * <pre> | 4689 * <pre> |
| 4284 * formalParameter ::={@link NormalFormalParameter normalFormalParameter}| {@lin k DefaultFormalParameter namedFormalParameter}| {@link DefaultFormalParameter op tionalFormalParameter}</pre> | 4690 * formalParameter ::={@link NormalFormalParameter normalFormalParameter}| {@lin k DefaultFormalParameter namedFormalParameter}| {@link DefaultFormalParameter op tionalFormalParameter}</pre> |
| 4285 */ | 4691 */ |
| 4286 abstract class FormalParameter extends ASTNode { | 4692 abstract class FormalParameter extends ASTNode { |
| 4287 /** | 4693 /** |
| 4288 * Return the element representing this parameter, or {@code null} if this par ameter has not been | 4694 * Return the element representing this parameter, or {@code null} if this par ameter has not been |
| 4289 * resolved. | 4695 * resolved. |
| 4290 * @return the element representing this parameter | 4696 * @return the element representing this parameter |
| 4291 */ | 4697 */ |
| 4292 ParameterElement get element { | 4698 ParameterElement get element { |
| 4293 SimpleIdentifier identifier6 = identifier; | 4699 SimpleIdentifier identifier9 = identifier; |
| 4294 if (identifier6 == null) { | 4700 if (identifier9 == null) { |
| 4295 return null; | 4701 return null; |
| 4296 } | 4702 } |
| 4297 return identifier6.element as ParameterElement; | 4703 return (identifier9.element as ParameterElement); |
| 4298 } | 4704 } |
| 4299 /** | 4705 /** |
| 4300 * Return the name of the parameter being declared. | 4706 * Return the name of the parameter being declared. |
| 4301 * @return the name of the parameter being declared | 4707 * @return the name of the parameter being declared |
| 4302 */ | 4708 */ |
| 4303 SimpleIdentifier get identifier; | 4709 SimpleIdentifier get identifier; |
| 4304 /** | 4710 /** |
| 4305 * Return the kind of this parameter. | 4711 * Return the kind of this parameter. |
| 4306 * @return the kind of this parameter | 4712 * @return the kind of this parameter |
| 4307 */ | 4713 */ |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4352 */ | 4758 */ |
| 4353 Token _rightParenthesis; | 4759 Token _rightParenthesis; |
| 4354 /** | 4760 /** |
| 4355 * Initialize a newly created parameter list. | 4761 * Initialize a newly created parameter list. |
| 4356 * @param leftParenthesis the left parenthesis | 4762 * @param leftParenthesis the left parenthesis |
| 4357 * @param parameters the parameters associated with the method | 4763 * @param parameters the parameters associated with the method |
| 4358 * @param leftDelimiter the left delimiter introducing the optional parameters | 4764 * @param leftDelimiter the left delimiter introducing the optional parameters |
| 4359 * @param rightDelimiter the right delimiter introducing the optional paramete rs | 4765 * @param rightDelimiter the right delimiter introducing the optional paramete rs |
| 4360 * @param rightParenthesis the right parenthesis | 4766 * @param rightParenthesis the right parenthesis |
| 4361 */ | 4767 */ |
| 4362 FormalParameterList(Token leftParenthesis, List<FormalParameter> parameters, T oken leftDelimiter, Token rightDelimiter, Token rightParenthesis) { | 4768 FormalParameterList.full(Token leftParenthesis, List<FormalParameter> paramete rs, Token leftDelimiter, Token rightDelimiter, Token rightParenthesis) { |
| 4363 this._parameters = new NodeList<FormalParameter>(this); | 4769 this._parameters = new NodeList<FormalParameter>(this); |
| 4364 this._leftParenthesis = leftParenthesis; | 4770 this._leftParenthesis = leftParenthesis; |
| 4365 this._parameters.addAll(parameters); | 4771 this._parameters.addAll(parameters); |
| 4366 this._leftDelimiter = leftDelimiter; | 4772 this._leftDelimiter = leftDelimiter; |
| 4367 this._rightDelimiter = rightDelimiter; | 4773 this._rightDelimiter = rightDelimiter; |
| 4368 this._rightParenthesis = rightParenthesis; | 4774 this._rightParenthesis = rightParenthesis; |
| 4369 } | 4775 } |
| 4776 /** | |
| 4777 * Initialize a newly created parameter list. | |
| 4778 * @param leftParenthesis the left parenthesis | |
| 4779 * @param parameters the parameters associated with the method | |
| 4780 * @param leftDelimiter the left delimiter introducing the optional parameters | |
| 4781 * @param rightDelimiter the right delimiter introducing the optional paramete rs | |
| 4782 * @param rightParenthesis the right parenthesis | |
| 4783 */ | |
| 4784 FormalParameterList({Token leftParenthesis, List<FormalParameter> parameters, Token leftDelimiter, Token rightDelimiter, Token rightParenthesis}) : this.full( leftParenthesis, parameters, leftDelimiter, rightDelimiter, rightParenthesis); | |
| 4370 accept(ASTVisitor visitor) => visitor.visitFormalParameterList(this); | 4785 accept(ASTVisitor visitor) => visitor.visitFormalParameterList(this); |
| 4371 Token get beginToken => _leftParenthesis; | 4786 Token get beginToken => _leftParenthesis; |
| 4372 /** | 4787 /** |
| 4373 * Return an array containing the elements representing the parameters in this list. The array | 4788 * Return an array containing the elements representing the parameters in this list. The array |
| 4374 * will contain {@code null}s if the parameters in this list have not been res olved. | 4789 * will contain {@code null}s if the parameters in this list have not been res olved. |
| 4375 * @return the elements representing the parameters in this list | 4790 * @return the elements representing the parameters in this list |
| 4376 */ | 4791 */ |
| 4377 List<ParameterElement> get elements { | 4792 List<ParameterElement> get elements { |
| 4378 int count = _parameters.length; | 4793 int count = _parameters.length; |
| 4379 List<ParameterElement> types = new List<ParameterElement>.fixedLength(count) ; | 4794 List<ParameterElement> types = new List<ParameterElement>.fixedLength(count) ; |
| (...skipping 30 matching lines...) Expand all Loading... | |
| 4410 /** | 4825 /** |
| 4411 * Return the right parenthesis. | 4826 * Return the right parenthesis. |
| 4412 * @return the right parenthesis | 4827 * @return the right parenthesis |
| 4413 */ | 4828 */ |
| 4414 Token get rightParenthesis => _rightParenthesis; | 4829 Token get rightParenthesis => _rightParenthesis; |
| 4415 /** | 4830 /** |
| 4416 * Set the left square bracket ('[') or left curly brace ('{') introducing the optional parameters | 4831 * Set the left square bracket ('[') or left curly brace ('{') introducing the optional parameters |
| 4417 * to the given token. | 4832 * to the given token. |
| 4418 * @param bracket the left delimiter introducing the optional parameters | 4833 * @param bracket the left delimiter introducing the optional parameters |
| 4419 */ | 4834 */ |
| 4420 void set leftDelimiter2(Token bracket) { | 4835 void set leftDelimiter(Token bracket) { |
| 4421 _leftDelimiter = bracket; | 4836 _leftDelimiter = bracket; |
| 4422 } | 4837 } |
| 4423 /** | 4838 /** |
| 4424 * Set the left parenthesis to the given token. | 4839 * Set the left parenthesis to the given token. |
| 4425 * @param parenthesis the left parenthesis | 4840 * @param parenthesis the left parenthesis |
| 4426 */ | 4841 */ |
| 4427 void set leftParenthesis8(Token parenthesis) { | 4842 void set leftParenthesis(Token parenthesis) { |
| 4428 _leftParenthesis = parenthesis; | 4843 _leftParenthesis = parenthesis; |
| 4429 } | 4844 } |
| 4430 /** | 4845 /** |
| 4431 * Set the right square bracket (']') or right curly brace ('}') introducing t he optional | 4846 * Set the right square bracket (']') or right curly brace ('}') introducing t he optional |
| 4432 * parameters to the given token. | 4847 * parameters to the given token. |
| 4433 * @param bracket the right delimiter introducing the optional parameters | 4848 * @param bracket the right delimiter introducing the optional parameters |
| 4434 */ | 4849 */ |
| 4435 void set rightDelimiter2(Token bracket) { | 4850 void set rightDelimiter(Token bracket) { |
| 4436 _rightDelimiter = bracket; | 4851 _rightDelimiter = bracket; |
| 4437 } | 4852 } |
| 4438 /** | 4853 /** |
| 4439 * Set the right parenthesis to the given token. | 4854 * Set the right parenthesis to the given token. |
| 4440 * @param parenthesis the right parenthesis | 4855 * @param parenthesis the right parenthesis |
| 4441 */ | 4856 */ |
| 4442 void set rightParenthesis8(Token parenthesis) { | 4857 void set rightParenthesis(Token parenthesis) { |
| 4443 _rightParenthesis = parenthesis; | 4858 _rightParenthesis = parenthesis; |
| 4444 } | 4859 } |
| 4445 void visitChildren(ASTVisitor<Object> visitor) { | 4860 void visitChildren(ASTVisitor<Object> visitor) { |
| 4446 _parameters.accept(visitor); | 4861 _parameters.accept(visitor); |
| 4447 } | 4862 } |
| 4448 } | 4863 } |
| 4449 /** | 4864 /** |
| 4450 * The abstract class {@code FunctionBody} defines the behavior common to object s representing the | 4865 * The abstract class {@code FunctionBody} defines the behavior common to object s representing the |
| 4451 * body of a function or method. | 4866 * body of a function or method. |
| 4452 * <pre> | 4867 * <pre> |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4488 /** | 4903 /** |
| 4489 * Initialize a newly created function declaration. | 4904 * Initialize a newly created function declaration. |
| 4490 * @param comment the documentation comment associated with this function | 4905 * @param comment the documentation comment associated with this function |
| 4491 * @param metadata the annotations associated with this function | 4906 * @param metadata the annotations associated with this function |
| 4492 * @param externalKeyword the token representing the 'external' keyword | 4907 * @param externalKeyword the token representing the 'external' keyword |
| 4493 * @param returnType the return type of the function | 4908 * @param returnType the return type of the function |
| 4494 * @param propertyKeyword the token representing the 'get' or 'set' keyword | 4909 * @param propertyKeyword the token representing the 'get' or 'set' keyword |
| 4495 * @param name the name of the function | 4910 * @param name the name of the function |
| 4496 * @param functionExpression the function expression being wrapped | 4911 * @param functionExpression the function expression being wrapped |
| 4497 */ | 4912 */ |
| 4498 FunctionDeclaration(Comment comment, List<Annotation> metadata, Token external Keyword, TypeName returnType, Token propertyKeyword, SimpleIdentifier name, Func tionExpression functionExpression) : super(comment, metadata) { | 4913 FunctionDeclaration.full(Comment comment, List<Annotation> metadata, Token ext ernalKeyword, TypeName returnType, Token propertyKeyword, SimpleIdentifier name, FunctionExpression functionExpression) : super.full(comment, metadata) { |
| 4499 this._externalKeyword = externalKeyword; | 4914 this._externalKeyword = externalKeyword; |
| 4500 this._returnType = becomeParentOf(returnType); | 4915 this._returnType = becomeParentOf(returnType); |
| 4501 this._propertyKeyword = propertyKeyword; | 4916 this._propertyKeyword = propertyKeyword; |
| 4502 this._name = becomeParentOf(name); | 4917 this._name = becomeParentOf(name); |
| 4503 this._functionExpression = becomeParentOf(functionExpression); | 4918 this._functionExpression = becomeParentOf(functionExpression); |
| 4504 } | 4919 } |
| 4920 /** | |
| 4921 * Initialize a newly created function declaration. | |
| 4922 * @param comment the documentation comment associated with this function | |
| 4923 * @param metadata the annotations associated with this function | |
| 4924 * @param externalKeyword the token representing the 'external' keyword | |
| 4925 * @param returnType the return type of the function | |
| 4926 * @param propertyKeyword the token representing the 'get' or 'set' keyword | |
| 4927 * @param name the name of the function | |
| 4928 * @param functionExpression the function expression being wrapped | |
| 4929 */ | |
| 4930 FunctionDeclaration({Comment comment, List<Annotation> metadata, Token externa lKeyword, TypeName returnType, Token propertyKeyword, SimpleIdentifier name, Fun ctionExpression functionExpression}) : this.full(comment, metadata, externalKeyw ord, returnType, propertyKeyword, name, functionExpression); | |
| 4505 accept(ASTVisitor visitor) => visitor.visitFunctionDeclaration(this); | 4931 accept(ASTVisitor visitor) => visitor.visitFunctionDeclaration(this); |
| 4506 /** | 4932 /** |
| 4507 * Return the {@link FunctionElement} associated with this function, or {@code null} if the AST | 4933 * Return the {@link FunctionElement} associated with this function, or {@code null} if the AST |
| 4508 * structure has not been resolved. | 4934 * structure has not been resolved. |
| 4509 * @return the {@link FunctionElement} associated with this function | 4935 * @return the {@link FunctionElement} associated with this function |
| 4510 */ | 4936 */ |
| 4511 FunctionElement get element => _name != null ? _name.element as FunctionElemen t : null; | 4937 FunctionElement get element => _name != null ? (_name.element as FunctionEleme nt) : null; |
| 4512 Token get endToken => _functionExpression.endToken; | 4938 Token get endToken => _functionExpression.endToken; |
| 4513 /** | 4939 /** |
| 4514 * Return the token representing the 'external' keyword, or {@code null} if th is is not an | 4940 * Return the token representing the 'external' keyword, or {@code null} if th is is not an |
| 4515 * external function. | 4941 * external function. |
| 4516 * @return the token representing the 'external' keyword | 4942 * @return the token representing the 'external' keyword |
| 4517 */ | 4943 */ |
| 4518 Token get externalKeyword => _externalKeyword; | 4944 Token get externalKeyword => _externalKeyword; |
| 4519 /** | 4945 /** |
| 4520 * Return the function expression being wrapped. | 4946 * Return the function expression being wrapped. |
| 4521 * @return the function expression being wrapped | 4947 * @return the function expression being wrapped |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 4534 Token get propertyKeyword => _propertyKeyword; | 4960 Token get propertyKeyword => _propertyKeyword; |
| 4535 /** | 4961 /** |
| 4536 * Return the return type of the function, or {@code null} if no return type w as declared. | 4962 * Return the return type of the function, or {@code null} if no return type w as declared. |
| 4537 * @return the return type of the function | 4963 * @return the return type of the function |
| 4538 */ | 4964 */ |
| 4539 TypeName get returnType => _returnType; | 4965 TypeName get returnType => _returnType; |
| 4540 /** | 4966 /** |
| 4541 * Set the token representing the 'external' keyword to the given token. | 4967 * Set the token representing the 'external' keyword to the given token. |
| 4542 * @param externalKeyword the token representing the 'external' keyword | 4968 * @param externalKeyword the token representing the 'external' keyword |
| 4543 */ | 4969 */ |
| 4544 void set externalKeyword3(Token externalKeyword) { | 4970 void set externalKeyword(Token externalKeyword3) { |
| 4545 this._externalKeyword = externalKeyword; | 4971 this._externalKeyword = externalKeyword3; |
| 4546 } | 4972 } |
| 4547 /** | 4973 /** |
| 4548 * Set the function expression being wrapped to the given function expression. | 4974 * Set the function expression being wrapped to the given function expression. |
| 4549 * @param functionExpression the function expression being wrapped | 4975 * @param functionExpression the function expression being wrapped |
| 4550 */ | 4976 */ |
| 4551 void set functionExpression2(FunctionExpression functionExpression) { | 4977 void set functionExpression(FunctionExpression functionExpression3) { |
| 4552 functionExpression = becomeParentOf(functionExpression); | 4978 functionExpression3 = becomeParentOf(functionExpression3); |
| 4553 } | 4979 } |
| 4554 /** | 4980 /** |
| 4555 * Set the name of the function to the given identifier. | 4981 * Set the name of the function to the given identifier. |
| 4556 * @param identifier the name of the function | 4982 * @param identifier the name of the function |
| 4557 */ | 4983 */ |
| 4558 void set name7(SimpleIdentifier identifier) { | 4984 void set name(SimpleIdentifier identifier) { |
| 4559 _name = becomeParentOf(identifier); | 4985 _name = becomeParentOf(identifier); |
| 4560 } | 4986 } |
| 4561 /** | 4987 /** |
| 4562 * Set the token representing the 'get' or 'set' keyword to the given token. | 4988 * Set the token representing the 'get' or 'set' keyword to the given token. |
| 4563 * @param propertyKeyword the token representing the 'get' or 'set' keyword | 4989 * @param propertyKeyword the token representing the 'get' or 'set' keyword |
| 4564 */ | 4990 */ |
| 4565 void set propertyKeyword2(Token propertyKeyword) { | 4991 void set propertyKeyword(Token propertyKeyword2) { |
| 4566 this._propertyKeyword = propertyKeyword; | 4992 this._propertyKeyword = propertyKeyword2; |
| 4567 } | 4993 } |
| 4568 /** | 4994 /** |
| 4569 * Set the return type of the function to the given name. | 4995 * Set the return type of the function to the given name. |
| 4570 * @param name the return type of the function | 4996 * @param name the return type of the function |
| 4571 */ | 4997 */ |
| 4572 void set returnType3(TypeName name) { | 4998 void set returnType(TypeName name) { |
| 4573 _returnType = becomeParentOf(name); | 4999 _returnType = becomeParentOf(name); |
| 4574 } | 5000 } |
| 4575 void visitChildren(ASTVisitor<Object> visitor) { | 5001 void visitChildren(ASTVisitor<Object> visitor) { |
| 4576 super.visitChildren(visitor); | 5002 super.visitChildren(visitor); |
| 4577 safelyVisitChild(_returnType, visitor); | 5003 safelyVisitChild(_returnType, visitor); |
| 4578 safelyVisitChild(_name, visitor); | 5004 safelyVisitChild(_name, visitor); |
| 4579 safelyVisitChild(_functionExpression, visitor); | 5005 safelyVisitChild(_functionExpression, visitor); |
| 4580 } | 5006 } |
| 4581 Token get firstTokenAfterCommentAndMetadata { | 5007 Token get firstTokenAfterCommentAndMetadata { |
| 4582 if (_externalKeyword != null) { | 5008 if (_externalKeyword != null) { |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 4597 */ | 5023 */ |
| 4598 class FunctionDeclarationStatement extends Statement { | 5024 class FunctionDeclarationStatement extends Statement { |
| 4599 /** | 5025 /** |
| 4600 * The function declaration being wrapped. | 5026 * The function declaration being wrapped. |
| 4601 */ | 5027 */ |
| 4602 FunctionDeclaration _functionDeclaration; | 5028 FunctionDeclaration _functionDeclaration; |
| 4603 /** | 5029 /** |
| 4604 * Initialize a newly created function declaration statement. | 5030 * Initialize a newly created function declaration statement. |
| 4605 * @param functionDeclaration the the function declaration being wrapped | 5031 * @param functionDeclaration the the function declaration being wrapped |
| 4606 */ | 5032 */ |
| 4607 FunctionDeclarationStatement(FunctionDeclaration functionDeclaration) { | 5033 FunctionDeclarationStatement.full(FunctionDeclaration functionDeclaration) { |
| 4608 this._functionDeclaration = becomeParentOf(functionDeclaration); | 5034 this._functionDeclaration = becomeParentOf(functionDeclaration); |
| 4609 } | 5035 } |
| 5036 /** | |
| 5037 * Initialize a newly created function declaration statement. | |
| 5038 * @param functionDeclaration the the function declaration being wrapped | |
| 5039 */ | |
| 5040 FunctionDeclarationStatement({FunctionDeclaration functionDeclaration}) : this .full(functionDeclaration); | |
| 4610 accept(ASTVisitor visitor) => visitor.visitFunctionDeclarationStatement(this); | 5041 accept(ASTVisitor visitor) => visitor.visitFunctionDeclarationStatement(this); |
| 4611 Token get beginToken => _functionDeclaration.beginToken; | 5042 Token get beginToken => _functionDeclaration.beginToken; |
| 4612 Token get endToken => _functionDeclaration.endToken; | 5043 Token get endToken => _functionDeclaration.endToken; |
| 4613 /** | 5044 /** |
| 4614 * Return the function declaration being wrapped. | 5045 * Return the function declaration being wrapped. |
| 4615 * @return the function declaration being wrapped | 5046 * @return the function declaration being wrapped |
| 4616 */ | 5047 */ |
| 4617 FunctionDeclaration get functionDeclaration => _functionDeclaration; | 5048 FunctionDeclaration get functionDeclaration => _functionDeclaration; |
| 4618 /** | 5049 /** |
| 4619 * Set the function declaration being wrapped to the given function declaratio n. | 5050 * Set the function declaration being wrapped to the given function declaratio n. |
| 4620 * @param functionDeclaration the function declaration being wrapped | 5051 * @param functionDeclaration the function declaration being wrapped |
| 4621 */ | 5052 */ |
| 4622 void set functionExpression(FunctionDeclaration functionDeclaration) { | 5053 void set functionExpression(FunctionDeclaration functionDeclaration2) { |
| 4623 this._functionDeclaration = becomeParentOf(functionDeclaration); | 5054 this._functionDeclaration = becomeParentOf(functionDeclaration2); |
| 4624 } | 5055 } |
| 4625 void visitChildren(ASTVisitor<Object> visitor) { | 5056 void visitChildren(ASTVisitor<Object> visitor) { |
| 4626 safelyVisitChild(_functionDeclaration, visitor); | 5057 safelyVisitChild(_functionDeclaration, visitor); |
| 4627 } | 5058 } |
| 4628 } | 5059 } |
| 4629 /** | 5060 /** |
| 4630 * Instances of the class {@code FunctionExpression} represent a function expres sion. | 5061 * Instances of the class {@code FunctionExpression} represent a function expres sion. |
| 4631 * <pre> | 5062 * <pre> |
| 4632 * functionExpression ::={@link FormalParameterList formalParameterList} {@link FunctionBody functionBody}</pre> | 5063 * functionExpression ::={@link FormalParameterList formalParameterList} {@link FunctionBody functionBody}</pre> |
| 4633 */ | 5064 */ |
| 4634 class FunctionExpression extends Expression { | 5065 class FunctionExpression extends Expression { |
| 4635 /** | 5066 /** |
| 4636 * The parameters associated with the function. | 5067 * The parameters associated with the function. |
| 4637 */ | 5068 */ |
| 4638 FormalParameterList _parameters; | 5069 FormalParameterList _parameters; |
| 4639 /** | 5070 /** |
| 4640 * The body of the function, or {@code null} if this is an external function. | 5071 * The body of the function, or {@code null} if this is an external function. |
| 4641 */ | 5072 */ |
| 4642 FunctionBody _body; | 5073 FunctionBody _body; |
| 4643 /** | 5074 /** |
| 4644 * The element associated with the function, or {@code null} if the AST struct ure has not been | 5075 * The element associated with the function, or {@code null} if the AST struct ure has not been |
| 4645 * resolved. | 5076 * resolved. |
| 4646 */ | 5077 */ |
| 4647 ExecutableElement _element; | 5078 ExecutableElement _element; |
| 4648 /** | 5079 /** |
| 4649 * Initialize a newly created function declaration. | 5080 * Initialize a newly created function declaration. |
| 4650 * @param parameters the parameters associated with the function | 5081 * @param parameters the parameters associated with the function |
| 4651 * @param body the body of the function | 5082 * @param body the body of the function |
| 4652 */ | 5083 */ |
| 4653 FunctionExpression(FormalParameterList parameters, FunctionBody body) { | 5084 FunctionExpression.full(FormalParameterList parameters, FunctionBody body) { |
| 4654 this._parameters = becomeParentOf(parameters); | 5085 this._parameters = becomeParentOf(parameters); |
| 4655 this._body = becomeParentOf(body); | 5086 this._body = becomeParentOf(body); |
| 4656 } | 5087 } |
| 5088 /** | |
| 5089 * Initialize a newly created function declaration. | |
| 5090 * @param parameters the parameters associated with the function | |
| 5091 * @param body the body of the function | |
| 5092 */ | |
| 5093 FunctionExpression({FormalParameterList parameters, FunctionBody body}) : this .full(parameters, body); | |
| 4657 accept(ASTVisitor visitor) => visitor.visitFunctionExpression(this); | 5094 accept(ASTVisitor visitor) => visitor.visitFunctionExpression(this); |
| 4658 Token get beginToken { | 5095 Token get beginToken { |
| 4659 if (_parameters != null) { | 5096 if (_parameters != null) { |
| 4660 return _parameters.beginToken; | 5097 return _parameters.beginToken; |
| 4661 } else if (_body != null) { | 5098 } else if (_body != null) { |
| 4662 return _body.beginToken; | 5099 return _body.beginToken; |
| 4663 } | 5100 } |
| 4664 throw new IllegalStateException("Non-external functions must have a body"); | 5101 throw new IllegalStateException("Non-external functions must have a body"); |
| 4665 } | 5102 } |
| 4666 /** | 5103 /** |
| (...skipping 17 matching lines...) Expand all Loading... | |
| 4684 } | 5121 } |
| 4685 /** | 5122 /** |
| 4686 * Return the parameters associated with the function. | 5123 * Return the parameters associated with the function. |
| 4687 * @return the parameters associated with the function | 5124 * @return the parameters associated with the function |
| 4688 */ | 5125 */ |
| 4689 FormalParameterList get parameters => _parameters; | 5126 FormalParameterList get parameters => _parameters; |
| 4690 /** | 5127 /** |
| 4691 * Set the body of the function to the given function body. | 5128 * Set the body of the function to the given function body. |
| 4692 * @param functionBody the body of the function | 5129 * @param functionBody the body of the function |
| 4693 */ | 5130 */ |
| 4694 void set body7(FunctionBody functionBody) { | 5131 void set body(FunctionBody functionBody) { |
| 4695 _body = becomeParentOf(functionBody); | 5132 _body = becomeParentOf(functionBody); |
| 4696 } | 5133 } |
| 4697 /** | 5134 /** |
| 4698 * Set the element associated with this function to the given element. | 5135 * Set the element associated with this function to the given element. |
| 4699 * @param element the element associated with this function | 5136 * @param element the element associated with this function |
| 4700 */ | 5137 */ |
| 4701 void set element8(ExecutableElement element) { | 5138 void set element(ExecutableElement element9) { |
| 4702 this._element = element; | 5139 this._element = element9; |
| 4703 } | 5140 } |
| 4704 /** | 5141 /** |
| 4705 * Set the parameters associated with the function to the given list of parame ters. | 5142 * Set the parameters associated with the function to the given list of parame ters. |
| 4706 * @param parameters the parameters associated with the function | 5143 * @param parameters the parameters associated with the function |
| 4707 */ | 5144 */ |
| 4708 void set parameters3(FormalParameterList parameters) { | 5145 void set parameters(FormalParameterList parameters3) { |
| 4709 this._parameters = becomeParentOf(parameters); | 5146 this._parameters = becomeParentOf(parameters3); |
| 4710 } | 5147 } |
| 4711 void visitChildren(ASTVisitor<Object> visitor) { | 5148 void visitChildren(ASTVisitor<Object> visitor) { |
| 4712 safelyVisitChild(_parameters, visitor); | 5149 safelyVisitChild(_parameters, visitor); |
| 4713 safelyVisitChild(_body, visitor); | 5150 safelyVisitChild(_body, visitor); |
| 4714 } | 5151 } |
| 4715 } | 5152 } |
| 4716 /** | 5153 /** |
| 4717 * Instances of the class {@code FunctionExpressionInvocation} represent the inv ocation of a | 5154 * Instances of the class {@code FunctionExpressionInvocation} represent the inv ocation of a |
| 4718 * function resulting from evaluating an expression. Invocations of methods and other forms of | 5155 * function resulting from evaluating an expression. Invocations of methods and other forms of |
| 4719 * functions are represented by {@link MethodInvocation method invocation} nodes . Invocations of | 5156 * functions are represented by {@link MethodInvocation method invocation} nodes . Invocations of |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 4733 /** | 5170 /** |
| 4734 * The element associated with the function being invoked, or {@code null} if the AST structure | 5171 * The element associated with the function being invoked, or {@code null} if the AST structure |
| 4735 * has not been resolved or the function could not be resolved. | 5172 * has not been resolved or the function could not be resolved. |
| 4736 */ | 5173 */ |
| 4737 ExecutableElement _element; | 5174 ExecutableElement _element; |
| 4738 /** | 5175 /** |
| 4739 * Initialize a newly created function expression invocation. | 5176 * Initialize a newly created function expression invocation. |
| 4740 * @param function the expression producing the function being invoked | 5177 * @param function the expression producing the function being invoked |
| 4741 * @param argumentList the list of arguments to the method | 5178 * @param argumentList the list of arguments to the method |
| 4742 */ | 5179 */ |
| 4743 FunctionExpressionInvocation(Expression function, ArgumentList argumentList) { | 5180 FunctionExpressionInvocation.full(Expression function, ArgumentList argumentLi st) { |
| 4744 this._function = becomeParentOf(function); | 5181 this._function = becomeParentOf(function); |
| 4745 this._argumentList = becomeParentOf(argumentList); | 5182 this._argumentList = becomeParentOf(argumentList); |
| 4746 } | 5183 } |
| 5184 /** | |
| 5185 * Initialize a newly created function expression invocation. | |
| 5186 * @param function the expression producing the function being invoked | |
| 5187 * @param argumentList the list of arguments to the method | |
| 5188 */ | |
| 5189 FunctionExpressionInvocation({Expression function, ArgumentList argumentList}) : this.full(function, argumentList); | |
| 4747 accept(ASTVisitor visitor) => visitor.visitFunctionExpressionInvocation(this); | 5190 accept(ASTVisitor visitor) => visitor.visitFunctionExpressionInvocation(this); |
| 4748 /** | 5191 /** |
| 4749 * Return the list of arguments to the method. | 5192 * Return the list of arguments to the method. |
| 4750 * @return the list of arguments to the method | 5193 * @return the list of arguments to the method |
| 4751 */ | 5194 */ |
| 4752 ArgumentList get argumentList => _argumentList; | 5195 ArgumentList get argumentList => _argumentList; |
| 4753 Token get beginToken => _function.beginToken; | 5196 Token get beginToken => _function.beginToken; |
| 4754 /** | 5197 /** |
| 4755 * Return the element associated with the function being invoked, or {@code nu ll} if the AST | 5198 * Return the element associated with the function being invoked, or {@code nu ll} if the AST |
| 4756 * structure has not been resolved or the function could not be resolved. One common example of | 5199 * structure has not been resolved or the function could not be resolved. One common example of |
| 4757 * the latter case is an expression whose value can change over time. | 5200 * the latter case is an expression whose value can change over time. |
| 4758 * @return the element associated with the function being invoked | 5201 * @return the element associated with the function being invoked |
| 4759 */ | 5202 */ |
| 4760 ExecutableElement get element => _element; | 5203 ExecutableElement get element => _element; |
| 4761 Token get endToken => _argumentList.endToken; | 5204 Token get endToken => _argumentList.endToken; |
| 4762 /** | 5205 /** |
| 4763 * Return the expression producing the function being invoked. | 5206 * Return the expression producing the function being invoked. |
| 4764 * @return the expression producing the function being invoked | 5207 * @return the expression producing the function being invoked |
| 4765 */ | 5208 */ |
| 4766 Expression get function => _function; | 5209 Expression get function => _function; |
| 4767 /** | 5210 /** |
| 4768 * Set the list of arguments to the method to the given list. | 5211 * Set the list of arguments to the method to the given list. |
| 4769 * @param argumentList the list of arguments to the method | 5212 * @param argumentList the list of arguments to the method |
| 4770 */ | 5213 */ |
| 4771 void set argumentList5(ArgumentList argumentList) { | 5214 void set argumentList(ArgumentList argumentList5) { |
| 4772 this._argumentList = becomeParentOf(argumentList); | 5215 this._argumentList = becomeParentOf(argumentList5); |
| 4773 } | 5216 } |
| 4774 /** | 5217 /** |
| 4775 * Set the element associated with the function being invoked to the given ele ment. | 5218 * Set the element associated with the function being invoked to the given ele ment. |
| 4776 * @param element the element associated with the function being invoked | 5219 * @param element the element associated with the function being invoked |
| 4777 */ | 5220 */ |
| 4778 void set element9(ExecutableElement element) { | 5221 void set element(ExecutableElement element10) { |
| 4779 this._element = element; | 5222 this._element = element10; |
| 4780 } | 5223 } |
| 4781 /** | 5224 /** |
| 4782 * Set the expression producing the function being invoked to the given expres sion. | 5225 * Set the expression producing the function being invoked to the given expres sion. |
| 4783 * @param function the expression producing the function being invoked | 5226 * @param function the expression producing the function being invoked |
| 4784 */ | 5227 */ |
| 4785 void set function2(Expression function) { | 5228 void set function(Expression function2) { |
| 4786 function = becomeParentOf(function); | 5229 function2 = becomeParentOf(function2); |
| 4787 } | 5230 } |
| 4788 void visitChildren(ASTVisitor<Object> visitor) { | 5231 void visitChildren(ASTVisitor<Object> visitor) { |
| 4789 safelyVisitChild(_function, visitor); | 5232 safelyVisitChild(_function, visitor); |
| 4790 safelyVisitChild(_argumentList, visitor); | 5233 safelyVisitChild(_argumentList, visitor); |
| 4791 } | 5234 } |
| 4792 } | 5235 } |
| 4793 /** | 5236 /** |
| 4794 * Instances of the class {@code FunctionTypeAlias} represent a function type al ias. | 5237 * Instances of the class {@code FunctionTypeAlias} represent a function type al ias. |
| 4795 * <pre> | 5238 * <pre> |
| 4796 * functionTypeAlias ::= | 5239 * functionTypeAlias ::= |
| (...skipping 23 matching lines...) Expand all Loading... | |
| 4820 * Initialize a newly created function type alias. | 5263 * Initialize a newly created function type alias. |
| 4821 * @param comment the documentation comment associated with this type alias | 5264 * @param comment the documentation comment associated with this type alias |
| 4822 * @param metadata the annotations associated with this type alias | 5265 * @param metadata the annotations associated with this type alias |
| 4823 * @param keyword the token representing the 'typedef' keyword | 5266 * @param keyword the token representing the 'typedef' keyword |
| 4824 * @param returnType the name of the return type of the function type being de fined | 5267 * @param returnType the name of the return type of the function type being de fined |
| 4825 * @param name the name of the type being declared | 5268 * @param name the name of the type being declared |
| 4826 * @param typeParameters the type parameters for the type | 5269 * @param typeParameters the type parameters for the type |
| 4827 * @param parameters the parameters associated with the function | 5270 * @param parameters the parameters associated with the function |
| 4828 * @param semicolon the semicolon terminating the declaration | 5271 * @param semicolon the semicolon terminating the declaration |
| 4829 */ | 5272 */ |
| 4830 FunctionTypeAlias(Comment comment, List<Annotation> metadata, Token keyword, T ypeName returnType, SimpleIdentifier name, TypeParameterList typeParameters, For malParameterList parameters, Token semicolon) : super(comment, metadata, keyword , semicolon) { | 5273 FunctionTypeAlias.full(Comment comment, List<Annotation> metadata, Token keywo rd, TypeName returnType, SimpleIdentifier name, TypeParameterList typeParameters , FormalParameterList parameters, Token semicolon) : super.full(comment, metadat a, keyword, semicolon) { |
| 4831 this._returnType = becomeParentOf(returnType); | 5274 this._returnType = becomeParentOf(returnType); |
| 4832 this._name = becomeParentOf(name); | 5275 this._name = becomeParentOf(name); |
| 4833 this._typeParameters = becomeParentOf(typeParameters); | 5276 this._typeParameters = becomeParentOf(typeParameters); |
| 4834 this._parameters = becomeParentOf(parameters); | 5277 this._parameters = becomeParentOf(parameters); |
| 4835 } | 5278 } |
| 5279 /** | |
| 5280 * Initialize a newly created function type alias. | |
| 5281 * @param comment the documentation comment associated with this type alias | |
| 5282 * @param metadata the annotations associated with this type alias | |
| 5283 * @param keyword the token representing the 'typedef' keyword | |
| 5284 * @param returnType the name of the return type of the function type being de fined | |
| 5285 * @param name the name of the type being declared | |
| 5286 * @param typeParameters the type parameters for the type | |
| 5287 * @param parameters the parameters associated with the function | |
| 5288 * @param semicolon the semicolon terminating the declaration | |
| 5289 */ | |
| 5290 FunctionTypeAlias({Comment comment, List<Annotation> metadata, Token keyword, TypeName returnType, SimpleIdentifier name, TypeParameterList typeParameters, Fo rmalParameterList parameters, Token semicolon}) : this.full(comment, metadata, k eyword, returnType, name, typeParameters, parameters, semicolon); | |
| 4836 accept(ASTVisitor visitor) => visitor.visitFunctionTypeAlias(this); | 5291 accept(ASTVisitor visitor) => visitor.visitFunctionTypeAlias(this); |
| 4837 /** | 5292 /** |
| 4838 * Return the {@link TypeAliasElement} associated with this type alias, or {@c ode null} if the AST | 5293 * Return the {@link TypeAliasElement} associated with this type alias, or {@c ode null} if the AST |
| 4839 * structure has not been resolved. | 5294 * structure has not been resolved. |
| 4840 * @return the {@link TypeAliasElement} associated with this type alias | 5295 * @return the {@link TypeAliasElement} associated with this type alias |
| 4841 */ | 5296 */ |
| 4842 TypeAliasElement get element => _name != null ? _name.element as TypeAliasElem ent : null; | 5297 TypeAliasElement get element => _name != null ? (_name.element as TypeAliasEle ment) : null; |
| 4843 /** | 5298 /** |
| 4844 * Return the name of the function type being declared. | 5299 * Return the name of the function type being declared. |
| 4845 * @return the name of the function type being declared | 5300 * @return the name of the function type being declared |
| 4846 */ | 5301 */ |
| 4847 SimpleIdentifier get name => _name; | 5302 SimpleIdentifier get name => _name; |
| 4848 /** | 5303 /** |
| 4849 * Return the parameters associated with the function type. | 5304 * Return the parameters associated with the function type. |
| 4850 * @return the parameters associated with the function type | 5305 * @return the parameters associated with the function type |
| 4851 */ | 5306 */ |
| 4852 FormalParameterList get parameters => _parameters; | 5307 FormalParameterList get parameters => _parameters; |
| 4853 /** | 5308 /** |
| 4854 * Return the name of the return type of the function type being defined, or { @code null} if no | 5309 * Return the name of the return type of the function type being defined, or { @code null} if no |
| 4855 * return type was given. | 5310 * return type was given. |
| 4856 * @return the name of the return type of the function type being defined | 5311 * @return the name of the return type of the function type being defined |
| 4857 */ | 5312 */ |
| 4858 TypeName get returnType => _returnType; | 5313 TypeName get returnType => _returnType; |
| 4859 /** | 5314 /** |
| 4860 * Return the type parameters for the function type, or {@code null} if the fu nction type does not | 5315 * Return the type parameters for the function type, or {@code null} if the fu nction type does not |
| 4861 * have any type parameters. | 5316 * have any type parameters. |
| 4862 * @return the type parameters for the function type | 5317 * @return the type parameters for the function type |
| 4863 */ | 5318 */ |
| 4864 TypeParameterList get typeParameters => _typeParameters; | 5319 TypeParameterList get typeParameters => _typeParameters; |
| 4865 /** | 5320 /** |
| 4866 * Set the name of the function type being declared to the given identifier. | 5321 * Set the name of the function type being declared to the given identifier. |
| 4867 * @param name the name of the function type being declared | 5322 * @param name the name of the function type being declared |
| 4868 */ | 5323 */ |
| 4869 void set name8(SimpleIdentifier name) { | 5324 void set name(SimpleIdentifier name5) { |
| 4870 this._name = becomeParentOf(name); | 5325 this._name = becomeParentOf(name5); |
| 4871 } | 5326 } |
| 4872 /** | 5327 /** |
| 4873 * Set the parameters associated with the function type to the given list of p arameters. | 5328 * Set the parameters associated with the function type to the given list of p arameters. |
| 4874 * @param parameters the parameters associated with the function type | 5329 * @param parameters the parameters associated with the function type |
| 4875 */ | 5330 */ |
| 4876 void set parameters4(FormalParameterList parameters) { | 5331 void set parameters(FormalParameterList parameters4) { |
| 4877 this._parameters = becomeParentOf(parameters); | 5332 this._parameters = becomeParentOf(parameters4); |
| 4878 } | 5333 } |
| 4879 /** | 5334 /** |
| 4880 * Set the name of the return type of the function type being defined to the g iven type name. | 5335 * Set the name of the return type of the function type being defined to the g iven type name. |
| 4881 * @param typeName the name of the return type of the function type being defi ned | 5336 * @param typeName the name of the return type of the function type being defi ned |
| 4882 */ | 5337 */ |
| 4883 void set returnType4(TypeName typeName) { | 5338 void set returnType(TypeName typeName) { |
| 4884 _returnType = becomeParentOf(typeName); | 5339 _returnType = becomeParentOf(typeName); |
| 4885 } | 5340 } |
| 4886 /** | 5341 /** |
| 4887 * Set the type parameters for the function type to the given list of paramete rs. | 5342 * Set the type parameters for the function type to the given list of paramete rs. |
| 4888 * @param typeParameters the type parameters for the function type | 5343 * @param typeParameters the type parameters for the function type |
| 4889 */ | 5344 */ |
| 4890 void set typeParameters4(TypeParameterList typeParameters) { | 5345 void set typeParameters(TypeParameterList typeParameters4) { |
| 4891 this._typeParameters = becomeParentOf(typeParameters); | 5346 this._typeParameters = becomeParentOf(typeParameters4); |
| 4892 } | 5347 } |
| 4893 void visitChildren(ASTVisitor<Object> visitor) { | 5348 void visitChildren(ASTVisitor<Object> visitor) { |
| 4894 super.visitChildren(visitor); | 5349 super.visitChildren(visitor); |
| 4895 safelyVisitChild(_returnType, visitor); | 5350 safelyVisitChild(_returnType, visitor); |
| 4896 safelyVisitChild(_name, visitor); | 5351 safelyVisitChild(_name, visitor); |
| 4897 safelyVisitChild(_typeParameters, visitor); | 5352 safelyVisitChild(_typeParameters, visitor); |
| 4898 safelyVisitChild(_parameters, visitor); | 5353 safelyVisitChild(_parameters, visitor); |
| 4899 } | 5354 } |
| 4900 } | 5355 } |
| 4901 /** | 5356 /** |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 4915 FormalParameterList _parameters; | 5370 FormalParameterList _parameters; |
| 4916 /** | 5371 /** |
| 4917 * Initialize a newly created formal parameter. | 5372 * Initialize a newly created formal parameter. |
| 4918 * @param comment the documentation comment associated with this parameter | 5373 * @param comment the documentation comment associated with this parameter |
| 4919 * @param metadata the annotations associated with this parameter | 5374 * @param metadata the annotations associated with this parameter |
| 4920 * @param returnType the return type of the function, or {@code null} if the f unction does not | 5375 * @param returnType the return type of the function, or {@code null} if the f unction does not |
| 4921 * have a return type | 5376 * have a return type |
| 4922 * @param identifier the name of the function-typed parameter | 5377 * @param identifier the name of the function-typed parameter |
| 4923 * @param parameters the parameters of the function-typed parameter | 5378 * @param parameters the parameters of the function-typed parameter |
| 4924 */ | 5379 */ |
| 4925 FunctionTypedFormalParameter(Comment comment, List<Annotation> metadata, TypeN ame returnType, SimpleIdentifier identifier, FormalParameterList parameters) : s uper(comment, metadata, identifier) { | 5380 FunctionTypedFormalParameter.full(Comment comment, List<Annotation> metadata, TypeName returnType, SimpleIdentifier identifier, FormalParameterList parameters ) : super.full(comment, metadata, identifier) { |
| 4926 this._returnType = becomeParentOf(returnType); | 5381 this._returnType = becomeParentOf(returnType); |
| 4927 this._parameters = becomeParentOf(parameters); | 5382 this._parameters = becomeParentOf(parameters); |
| 4928 } | 5383 } |
| 5384 /** | |
| 5385 * Initialize a newly created formal parameter. | |
| 5386 * @param comment the documentation comment associated with this parameter | |
| 5387 * @param metadata the annotations associated with this parameter | |
| 5388 * @param returnType the return type of the function, or {@code null} if the f unction does not | |
| 5389 * have a return type | |
| 5390 * @param identifier the name of the function-typed parameter | |
| 5391 * @param parameters the parameters of the function-typed parameter | |
| 5392 */ | |
| 5393 FunctionTypedFormalParameter({Comment comment, List<Annotation> metadata, Type Name returnType, SimpleIdentifier identifier, FormalParameterList parameters}) : this.full(comment, metadata, returnType, identifier, parameters); | |
| 4929 accept(ASTVisitor visitor) => visitor.visitFunctionTypedFormalParameter(this); | 5394 accept(ASTVisitor visitor) => visitor.visitFunctionTypedFormalParameter(this); |
| 4930 Token get beginToken { | 5395 Token get beginToken { |
| 4931 if (_returnType != null) { | 5396 if (_returnType != null) { |
| 4932 return _returnType.beginToken; | 5397 return _returnType.beginToken; |
| 4933 } | 5398 } |
| 4934 return identifier.beginToken; | 5399 return identifier.beginToken; |
| 4935 } | 5400 } |
| 4936 Token get endToken => _parameters.endToken; | 5401 Token get endToken => _parameters.endToken; |
| 4937 /** | 5402 /** |
| 4938 * Return the parameters of the function-typed parameter. | 5403 * Return the parameters of the function-typed parameter. |
| 4939 * @return the parameters of the function-typed parameter | 5404 * @return the parameters of the function-typed parameter |
| 4940 */ | 5405 */ |
| 4941 FormalParameterList get parameters => _parameters; | 5406 FormalParameterList get parameters => _parameters; |
| 4942 /** | 5407 /** |
| 4943 * Return the return type of the function, or {@code null} if the function doe s not have a return | 5408 * Return the return type of the function, or {@code null} if the function doe s not have a return |
| 4944 * type. | 5409 * type. |
| 4945 * @return the return type of the function | 5410 * @return the return type of the function |
| 4946 */ | 5411 */ |
| 4947 TypeName get returnType => _returnType; | 5412 TypeName get returnType => _returnType; |
| 4948 bool isConst() => false; | 5413 bool isConst() => false; |
| 4949 bool isFinal() => false; | 5414 bool isFinal() => false; |
| 4950 /** | 5415 /** |
| 4951 * Set the parameters of the function-typed parameter to the given parameters. | 5416 * Set the parameters of the function-typed parameter to the given parameters. |
| 4952 * @param parameters the parameters of the function-typed parameter | 5417 * @param parameters the parameters of the function-typed parameter |
| 4953 */ | 5418 */ |
| 4954 void set parameters5(FormalParameterList parameters) { | 5419 void set parameters(FormalParameterList parameters5) { |
| 4955 this._parameters = becomeParentOf(parameters); | 5420 this._parameters = becomeParentOf(parameters5); |
| 4956 } | 5421 } |
| 4957 /** | 5422 /** |
| 4958 * Set the return type of the function to the given type. | 5423 * Set the return type of the function to the given type. |
| 4959 * @param returnType the return type of the function | 5424 * @param returnType the return type of the function |
| 4960 */ | 5425 */ |
| 4961 void set returnType5(TypeName returnType) { | 5426 void set returnType(TypeName returnType2) { |
| 4962 this._returnType = becomeParentOf(returnType); | 5427 this._returnType = becomeParentOf(returnType2); |
| 4963 } | 5428 } |
| 4964 void visitChildren(ASTVisitor<Object> visitor) { | 5429 void visitChildren(ASTVisitor<Object> visitor) { |
| 4965 super.visitChildren(visitor); | 5430 super.visitChildren(visitor); |
| 4966 safelyVisitChild(_returnType, visitor); | 5431 safelyVisitChild(_returnType, visitor); |
| 4967 safelyVisitChild(identifier, visitor); | 5432 safelyVisitChild(identifier, visitor); |
| 4968 safelyVisitChild(_parameters, visitor); | 5433 safelyVisitChild(_parameters, visitor); |
| 4969 } | 5434 } |
| 4970 } | 5435 } |
| 4971 /** | 5436 /** |
| 4972 * Instances of the class {@code HideCombinator} represent a combinator that res tricts the names | 5437 * Instances of the class {@code HideCombinator} represent a combinator that res tricts the names |
| 4973 * being imported to those that are not in a given list. | 5438 * being imported to those that are not in a given list. |
| 4974 * <pre> | 5439 * <pre> |
| 4975 * hideCombinator ::= | 5440 * hideCombinator ::= |
| 4976 * 'hide' {@link SimpleIdentifier identifier} (',' {@link SimpleIdentifier ident ifier}) | 5441 * 'hide' {@link SimpleIdentifier identifier} (',' {@link SimpleIdentifier ident ifier}) |
| 4977 * </pre> | 5442 * </pre> |
| 4978 */ | 5443 */ |
| 4979 class HideCombinator extends Combinator { | 5444 class HideCombinator extends Combinator { |
| 4980 /** | 5445 /** |
| 4981 * The list of names from the library that are hidden by this combinator. | 5446 * The list of names from the library that are hidden by this combinator. |
| 4982 */ | 5447 */ |
| 4983 NodeList<SimpleIdentifier> _hiddenNames; | 5448 NodeList<SimpleIdentifier> _hiddenNames; |
| 4984 /** | 5449 /** |
| 4985 * Initialize a newly created import show combinator. | 5450 * Initialize a newly created import show combinator. |
| 4986 * @param keyword the comma introducing the combinator | 5451 * @param keyword the comma introducing the combinator |
| 4987 * @param hiddenNames the list of names from the library that are hidden by th is combinator | 5452 * @param hiddenNames the list of names from the library that are hidden by th is combinator |
| 4988 */ | 5453 */ |
| 4989 HideCombinator(Token keyword, List<SimpleIdentifier> hiddenNames) : super(keyw ord) { | 5454 HideCombinator.full(Token keyword, List<SimpleIdentifier> hiddenNames) : super .full(keyword) { |
| 4990 this._hiddenNames = new NodeList<SimpleIdentifier>(this); | 5455 this._hiddenNames = new NodeList<SimpleIdentifier>(this); |
| 4991 this._hiddenNames.addAll(hiddenNames); | 5456 this._hiddenNames.addAll(hiddenNames); |
| 4992 } | 5457 } |
| 5458 /** | |
| 5459 * Initialize a newly created import show combinator. | |
| 5460 * @param keyword the comma introducing the combinator | |
| 5461 * @param hiddenNames the list of names from the library that are hidden by th is combinator | |
| 5462 */ | |
| 5463 HideCombinator({Token keyword, List<SimpleIdentifier> hiddenNames}) : this.ful l(keyword, hiddenNames); | |
| 4993 accept(ASTVisitor visitor) => visitor.visitHideCombinator(this); | 5464 accept(ASTVisitor visitor) => visitor.visitHideCombinator(this); |
| 4994 Token get endToken => _hiddenNames.endToken; | 5465 Token get endToken => _hiddenNames.endToken; |
| 4995 /** | 5466 /** |
| 4996 * Return the list of names from the library that are hidden by this combinato r. | 5467 * Return the list of names from the library that are hidden by this combinato r. |
| 4997 * @return the list of names from the library that are hidden by this combinat or | 5468 * @return the list of names from the library that are hidden by this combinat or |
| 4998 */ | 5469 */ |
| 4999 NodeList<SimpleIdentifier> get hiddenNames => _hiddenNames; | 5470 NodeList<SimpleIdentifier> get hiddenNames => _hiddenNames; |
| 5000 void visitChildren(ASTVisitor<Object> visitor) { | 5471 void visitChildren(ASTVisitor<Object> visitor) { |
| 5001 _hiddenNames.accept(visitor); | 5472 _hiddenNames.accept(visitor); |
| 5002 } | 5473 } |
| (...skipping 27 matching lines...) Expand all Loading... | |
| 5030 /** | 5501 /** |
| 5031 * Return the lexical representation of the identifier. | 5502 * Return the lexical representation of the identifier. |
| 5032 * @return the lexical representation of the identifier | 5503 * @return the lexical representation of the identifier |
| 5033 */ | 5504 */ |
| 5034 String get name; | 5505 String get name; |
| 5035 bool isAssignable() => true; | 5506 bool isAssignable() => true; |
| 5036 /** | 5507 /** |
| 5037 * Set the element associated with this identifier to the given element. | 5508 * Set the element associated with this identifier to the given element. |
| 5038 * @param element the element associated with this identifier | 5509 * @param element the element associated with this identifier |
| 5039 */ | 5510 */ |
| 5040 void set element10(Element element) { | 5511 void set element(Element element11) { |
| 5041 this._element = element; | 5512 this._element = element11; |
| 5042 } | 5513 } |
| 5043 } | 5514 } |
| 5044 /** | 5515 /** |
| 5045 * Instances of the class {@code IfStatement} represent an if statement. | 5516 * Instances of the class {@code IfStatement} represent an if statement. |
| 5046 * <pre> | 5517 * <pre> |
| 5047 * ifStatement ::= | 5518 * ifStatement ::= |
| 5048 * 'if' '(' {@link Expression expression} ')' {@link Statement thenStatement} (' else' {@link Statement elseStatement})? | 5519 * 'if' '(' {@link Expression expression} ')' {@link Statement thenStatement} (' else' {@link Statement elseStatement})? |
| 5049 * </pre> | 5520 * </pre> |
| 5050 */ | 5521 */ |
| 5051 class IfStatement extends Statement { | 5522 class IfStatement extends Statement { |
| (...skipping 29 matching lines...) Expand all Loading... | |
| 5081 /** | 5552 /** |
| 5082 * Initialize a newly created if statement. | 5553 * Initialize a newly created if statement. |
| 5083 * @param ifKeyword the token representing the 'if' keyword | 5554 * @param ifKeyword the token representing the 'if' keyword |
| 5084 * @param leftParenthesis the left parenthesis | 5555 * @param leftParenthesis the left parenthesis |
| 5085 * @param condition the condition used to determine which of the statements is executed next | 5556 * @param condition the condition used to determine which of the statements is executed next |
| 5086 * @param rightParenthesis the right parenthesis | 5557 * @param rightParenthesis the right parenthesis |
| 5087 * @param thenStatement the statement that is executed if the condition evalua tes to {@code true} | 5558 * @param thenStatement the statement that is executed if the condition evalua tes to {@code true} |
| 5088 * @param elseKeyword the token representing the 'else' keyword | 5559 * @param elseKeyword the token representing the 'else' keyword |
| 5089 * @param elseStatement the statement that is executed if the condition evalua tes to {@code false} | 5560 * @param elseStatement the statement that is executed if the condition evalua tes to {@code false} |
| 5090 */ | 5561 */ |
| 5091 IfStatement(Token ifKeyword, Token leftParenthesis, Expression condition, Toke n rightParenthesis, Statement thenStatement, Token elseKeyword, Statement elseSt atement) { | 5562 IfStatement.full(Token ifKeyword, Token leftParenthesis, Expression condition, Token rightParenthesis, Statement thenStatement, Token elseKeyword, Statement e lseStatement) { |
| 5092 this._ifKeyword = ifKeyword; | 5563 this._ifKeyword = ifKeyword; |
| 5093 this._leftParenthesis = leftParenthesis; | 5564 this._leftParenthesis = leftParenthesis; |
| 5094 this._condition = becomeParentOf(condition); | 5565 this._condition = becomeParentOf(condition); |
| 5095 this._rightParenthesis = rightParenthesis; | 5566 this._rightParenthesis = rightParenthesis; |
| 5096 this._thenStatement = becomeParentOf(thenStatement); | 5567 this._thenStatement = becomeParentOf(thenStatement); |
| 5097 this._elseKeyword = elseKeyword; | 5568 this._elseKeyword = elseKeyword; |
| 5098 this._elseStatement = becomeParentOf(elseStatement); | 5569 this._elseStatement = becomeParentOf(elseStatement); |
| 5099 } | 5570 } |
| 5571 /** | |
| 5572 * Initialize a newly created if statement. | |
| 5573 * @param ifKeyword the token representing the 'if' keyword | |
| 5574 * @param leftParenthesis the left parenthesis | |
| 5575 * @param condition the condition used to determine which of the statements is executed next | |
| 5576 * @param rightParenthesis the right parenthesis | |
| 5577 * @param thenStatement the statement that is executed if the condition evalua tes to {@code true} | |
| 5578 * @param elseKeyword the token representing the 'else' keyword | |
| 5579 * @param elseStatement the statement that is executed if the condition evalua tes to {@code false} | |
| 5580 */ | |
| 5581 IfStatement({Token ifKeyword, Token leftParenthesis, Expression condition, Tok en rightParenthesis, Statement thenStatement, Token elseKeyword, Statement elseS tatement}) : this.full(ifKeyword, leftParenthesis, condition, rightParenthesis, thenStatement, elseKeyword, elseStatement); | |
| 5100 accept(ASTVisitor visitor) => visitor.visitIfStatement(this); | 5582 accept(ASTVisitor visitor) => visitor.visitIfStatement(this); |
| 5101 Token get beginToken => _ifKeyword; | 5583 Token get beginToken => _ifKeyword; |
| 5102 /** | 5584 /** |
| 5103 * Return the condition used to determine which of the statements is executed next. | 5585 * Return the condition used to determine which of the statements is executed next. |
| 5104 * @return the condition used to determine which statement is executed next | 5586 * @return the condition used to determine which statement is executed next |
| 5105 */ | 5587 */ |
| 5106 Expression get condition => _condition; | 5588 Expression get condition => _condition; |
| 5107 /** | 5589 /** |
| 5108 * Return the token representing the 'else' keyword. | 5590 * Return the token representing the 'else' keyword. |
| 5109 * @return the token representing the 'else' keyword | 5591 * @return the token representing the 'else' keyword |
| (...skipping 28 matching lines...) Expand all Loading... | |
| 5138 /** | 5620 /** |
| 5139 * Return the statement that is executed if the condition evaluates to {@code true}. | 5621 * Return the statement that is executed if the condition evaluates to {@code true}. |
| 5140 * @return the statement that is executed if the condition evaluates to {@code true} | 5622 * @return the statement that is executed if the condition evaluates to {@code true} |
| 5141 */ | 5623 */ |
| 5142 Statement get thenStatement => _thenStatement; | 5624 Statement get thenStatement => _thenStatement; |
| 5143 /** | 5625 /** |
| 5144 * Set the condition used to determine which of the statements is executed nex t to the given | 5626 * Set the condition used to determine which of the statements is executed nex t to the given |
| 5145 * expression. | 5627 * expression. |
| 5146 * @param expression the condition used to determine which statement is execut ed next | 5628 * @param expression the condition used to determine which statement is execut ed next |
| 5147 */ | 5629 */ |
| 5148 void set condition6(Expression expression) { | 5630 void set condition(Expression expression) { |
| 5149 _condition = becomeParentOf(expression); | 5631 _condition = becomeParentOf(expression); |
| 5150 } | 5632 } |
| 5151 /** | 5633 /** |
| 5152 * Set the token representing the 'else' keyword to the given token. | 5634 * Set the token representing the 'else' keyword to the given token. |
| 5153 * @param elseKeyword the token representing the 'else' keyword | 5635 * @param elseKeyword the token representing the 'else' keyword |
| 5154 */ | 5636 */ |
| 5155 void set elseKeyword2(Token elseKeyword) { | 5637 void set elseKeyword(Token elseKeyword2) { |
| 5156 this._elseKeyword = elseKeyword; | 5638 this._elseKeyword = elseKeyword2; |
| 5157 } | 5639 } |
| 5158 /** | 5640 /** |
| 5159 * Set the statement that is executed if the condition evaluates to {@code fal se} to the given | 5641 * Set the statement that is executed if the condition evaluates to {@code fal se} to the given |
| 5160 * statement. | 5642 * statement. |
| 5161 * @param statement the statement that is executed if the condition evaluates to {@code false} | 5643 * @param statement the statement that is executed if the condition evaluates to {@code false} |
| 5162 */ | 5644 */ |
| 5163 void set elseStatement2(Statement statement) { | 5645 void set elseStatement(Statement statement) { |
| 5164 _elseStatement = becomeParentOf(statement); | 5646 _elseStatement = becomeParentOf(statement); |
| 5165 } | 5647 } |
| 5166 /** | 5648 /** |
| 5167 * Set the token representing the 'if' keyword to the given token. | 5649 * Set the token representing the 'if' keyword to the given token. |
| 5168 * @param ifKeyword the token representing the 'if' keyword | 5650 * @param ifKeyword the token representing the 'if' keyword |
| 5169 */ | 5651 */ |
| 5170 void set ifKeyword2(Token ifKeyword) { | 5652 void set ifKeyword(Token ifKeyword2) { |
| 5171 this._ifKeyword = ifKeyword; | 5653 this._ifKeyword = ifKeyword2; |
| 5172 } | 5654 } |
| 5173 /** | 5655 /** |
| 5174 * Set the left parenthesis to the given token. | 5656 * Set the left parenthesis to the given token. |
| 5175 * @param leftParenthesis the left parenthesis | 5657 * @param leftParenthesis the left parenthesis |
| 5176 */ | 5658 */ |
| 5177 void set leftParenthesis9(Token leftParenthesis) { | 5659 void set leftParenthesis(Token leftParenthesis5) { |
| 5178 this._leftParenthesis = leftParenthesis; | 5660 this._leftParenthesis = leftParenthesis5; |
| 5179 } | 5661 } |
| 5180 /** | 5662 /** |
| 5181 * Set the right parenthesis to the given token. | 5663 * Set the right parenthesis to the given token. |
| 5182 * @param rightParenthesis the right parenthesis | 5664 * @param rightParenthesis the right parenthesis |
| 5183 */ | 5665 */ |
| 5184 void set rightParenthesis9(Token rightParenthesis) { | 5666 void set rightParenthesis(Token rightParenthesis5) { |
| 5185 this._rightParenthesis = rightParenthesis; | 5667 this._rightParenthesis = rightParenthesis5; |
| 5186 } | 5668 } |
| 5187 /** | 5669 /** |
| 5188 * Set the statement that is executed if the condition evaluates to {@code tru e} to the given | 5670 * Set the statement that is executed if the condition evaluates to {@code tru e} to the given |
| 5189 * statement. | 5671 * statement. |
| 5190 * @param statement the statement that is executed if the condition evaluates to {@code true} | 5672 * @param statement the statement that is executed if the condition evaluates to {@code true} |
| 5191 */ | 5673 */ |
| 5192 void set thenStatement2(Statement statement) { | 5674 void set thenStatement(Statement statement) { |
| 5193 _thenStatement = becomeParentOf(statement); | 5675 _thenStatement = becomeParentOf(statement); |
| 5194 } | 5676 } |
| 5195 void visitChildren(ASTVisitor<Object> visitor) { | 5677 void visitChildren(ASTVisitor<Object> visitor) { |
| 5196 safelyVisitChild(_condition, visitor); | 5678 safelyVisitChild(_condition, visitor); |
| 5197 safelyVisitChild(_thenStatement, visitor); | 5679 safelyVisitChild(_thenStatement, visitor); |
| 5198 safelyVisitChild(_elseStatement, visitor); | 5680 safelyVisitChild(_elseStatement, visitor); |
| 5199 } | 5681 } |
| 5200 } | 5682 } |
| 5201 /** | 5683 /** |
| 5202 * Instances of the class {@code ImplementsClause} represent the "implements" cl ause in an class | 5684 * Instances of the class {@code ImplementsClause} represent the "implements" cl ause in an class |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 5213 Token _keyword; | 5695 Token _keyword; |
| 5214 /** | 5696 /** |
| 5215 * The interfaces that are being implemented. | 5697 * The interfaces that are being implemented. |
| 5216 */ | 5698 */ |
| 5217 NodeList<TypeName> _interfaces; | 5699 NodeList<TypeName> _interfaces; |
| 5218 /** | 5700 /** |
| 5219 * Initialize a newly created extends clause. | 5701 * Initialize a newly created extends clause. |
| 5220 * @param keyword the token representing the 'implements' keyword | 5702 * @param keyword the token representing the 'implements' keyword |
| 5221 * @param interfaces the interfaces that are being implemented | 5703 * @param interfaces the interfaces that are being implemented |
| 5222 */ | 5704 */ |
| 5223 ImplementsClause(Token keyword, List<TypeName> interfaces) { | 5705 ImplementsClause.full(Token keyword, List<TypeName> interfaces) { |
| 5224 this._interfaces = new NodeList<TypeName>(this); | 5706 this._interfaces = new NodeList<TypeName>(this); |
| 5225 this._keyword = keyword; | 5707 this._keyword = keyword; |
| 5226 this._interfaces.addAll(interfaces); | 5708 this._interfaces.addAll(interfaces); |
| 5227 } | 5709 } |
| 5710 /** | |
| 5711 * Initialize a newly created extends clause. | |
| 5712 * @param keyword the token representing the 'implements' keyword | |
| 5713 * @param interfaces the interfaces that are being implemented | |
| 5714 */ | |
| 5715 ImplementsClause({Token keyword, List<TypeName> interfaces}) : this.full(keywo rd, interfaces); | |
| 5228 accept(ASTVisitor visitor) => visitor.visitImplementsClause(this); | 5716 accept(ASTVisitor visitor) => visitor.visitImplementsClause(this); |
| 5229 Token get beginToken => _keyword; | 5717 Token get beginToken => _keyword; |
| 5230 Token get endToken => _interfaces.endToken; | 5718 Token get endToken => _interfaces.endToken; |
| 5231 /** | 5719 /** |
| 5232 * Return the list of the interfaces that are being implemented. | 5720 * Return the list of the interfaces that are being implemented. |
| 5233 * @return the list of the interfaces that are being implemented | 5721 * @return the list of the interfaces that are being implemented |
| 5234 */ | 5722 */ |
| 5235 NodeList<TypeName> get interfaces => _interfaces; | 5723 NodeList<TypeName> get interfaces => _interfaces; |
| 5236 /** | 5724 /** |
| 5237 * Return the token representing the 'implements' keyword. | 5725 * Return the token representing the 'implements' keyword. |
| 5238 * @return the token representing the 'implements' keyword | 5726 * @return the token representing the 'implements' keyword |
| 5239 */ | 5727 */ |
| 5240 Token get keyword => _keyword; | 5728 Token get keyword => _keyword; |
| 5241 /** | 5729 /** |
| 5242 * Set the token representing the 'implements' keyword to the given token. | 5730 * Set the token representing the 'implements' keyword to the given token. |
| 5243 * @param keyword the token representing the 'implements' keyword | 5731 * @param keyword the token representing the 'implements' keyword |
| 5244 */ | 5732 */ |
| 5245 void set keyword11(Token keyword) { | 5733 void set keyword(Token keyword11) { |
| 5246 this._keyword = keyword; | 5734 this._keyword = keyword11; |
| 5247 } | 5735 } |
| 5248 void visitChildren(ASTVisitor<Object> visitor) { | 5736 void visitChildren(ASTVisitor<Object> visitor) { |
| 5249 _interfaces.accept(visitor); | 5737 _interfaces.accept(visitor); |
| 5250 } | 5738 } |
| 5251 } | 5739 } |
| 5252 /** | 5740 /** |
| 5253 * Instances of the class {@code ImportDirective} represent an import directive. | 5741 * Instances of the class {@code ImportDirective} represent an import directive. |
| 5254 * <pre> | 5742 * <pre> |
| 5255 * importDirective ::={@link Annotation metadata} 'import' {@link StringLiteral libraryUri} ('as' identifier)? {@link Combinator combinator}* ';' | 5743 * importDirective ::={@link Annotation metadata} 'import' {@link StringLiteral libraryUri} ('as' identifier)? {@link Combinator combinator}* ';' |
| 5256 * </pre> | 5744 * </pre> |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 5269 * Initialize a newly created import directive. | 5757 * Initialize a newly created import directive. |
| 5270 * @param comment the documentation comment associated with this directive | 5758 * @param comment the documentation comment associated with this directive |
| 5271 * @param metadata the annotations associated with the directive | 5759 * @param metadata the annotations associated with the directive |
| 5272 * @param keyword the token representing the 'import' keyword | 5760 * @param keyword the token representing the 'import' keyword |
| 5273 * @param libraryUri the URI of the library being imported | 5761 * @param libraryUri the URI of the library being imported |
| 5274 * @param asToken the token representing the 'as' token | 5762 * @param asToken the token representing the 'as' token |
| 5275 * @param prefix the prefix to be used with the imported names | 5763 * @param prefix the prefix to be used with the imported names |
| 5276 * @param combinators the combinators used to control how names are imported | 5764 * @param combinators the combinators used to control how names are imported |
| 5277 * @param semicolon the semicolon terminating the directive | 5765 * @param semicolon the semicolon terminating the directive |
| 5278 */ | 5766 */ |
| 5279 ImportDirective(Comment comment, List<Annotation> metadata, Token keyword, Str ingLiteral libraryUri, Token asToken, SimpleIdentifier prefix, List<Combinator> combinators, Token semicolon) : super(comment, metadata, keyword, libraryUri, co mbinators, semicolon) { | 5767 ImportDirective.full(Comment comment, List<Annotation> metadata, Token keyword , StringLiteral libraryUri, Token asToken, SimpleIdentifier prefix, List<Combina tor> combinators, Token semicolon) : super.full(comment, metadata, keyword, libr aryUri, combinators, semicolon) { |
| 5280 this._asToken = asToken; | 5768 this._asToken = asToken; |
| 5281 this._prefix = becomeParentOf(prefix); | 5769 this._prefix = becomeParentOf(prefix); |
| 5282 } | 5770 } |
| 5771 /** | |
| 5772 * Initialize a newly created import directive. | |
| 5773 * @param comment the documentation comment associated with this directive | |
| 5774 * @param metadata the annotations associated with the directive | |
| 5775 * @param keyword the token representing the 'import' keyword | |
| 5776 * @param libraryUri the URI of the library being imported | |
| 5777 * @param asToken the token representing the 'as' token | |
| 5778 * @param prefix the prefix to be used with the imported names | |
| 5779 * @param combinators the combinators used to control how names are imported | |
| 5780 * @param semicolon the semicolon terminating the directive | |
| 5781 */ | |
| 5782 ImportDirective({Comment comment, List<Annotation> metadata, Token keyword, St ringLiteral libraryUri, Token asToken, SimpleIdentifier prefix, List<Combinator> combinators, Token semicolon}) : this.full(comment, metadata, keyword, libraryU ri, asToken, prefix, combinators, semicolon); | |
| 5283 accept(ASTVisitor visitor) => visitor.visitImportDirective(this); | 5783 accept(ASTVisitor visitor) => visitor.visitImportDirective(this); |
| 5284 /** | 5784 /** |
| 5285 * Return the token representing the 'as' token, or {@code null} if the import ed names are not | 5785 * Return the token representing the 'as' token, or {@code null} if the import ed names are not |
| 5286 * prefixed. | 5786 * prefixed. |
| 5287 * @return the token representing the 'as' token | 5787 * @return the token representing the 'as' token |
| 5288 */ | 5788 */ |
| 5289 Token get asToken => _asToken; | 5789 Token get asToken => _asToken; |
| 5290 /** | 5790 /** |
| 5291 * Return the prefix to be used with the imported names, or {@code null} if th e imported names are | 5791 * Return the prefix to be used with the imported names, or {@code null} if th e imported names are |
| 5292 * not prefixed. | 5792 * not prefixed. |
| 5293 * @return the prefix to be used with the imported names | 5793 * @return the prefix to be used with the imported names |
| 5294 */ | 5794 */ |
| 5295 SimpleIdentifier get prefix => _prefix; | 5795 SimpleIdentifier get prefix => _prefix; |
| 5296 /** | 5796 /** |
| 5297 * Set the token representing the 'as' token to the given token. | 5797 * Set the token representing the 'as' token to the given token. |
| 5298 * @param asToken the token representing the 'as' token | 5798 * @param asToken the token representing the 'as' token |
| 5299 */ | 5799 */ |
| 5300 void set asToken2(Token asToken) { | 5800 void set asToken(Token asToken2) { |
| 5301 this._asToken = asToken; | 5801 this._asToken = asToken2; |
| 5302 } | 5802 } |
| 5303 /** | 5803 /** |
| 5304 * Set the prefix to be used with the imported names to the given identifier. | 5804 * Set the prefix to be used with the imported names to the given identifier. |
| 5305 * @param prefix the prefix to be used with the imported names | 5805 * @param prefix the prefix to be used with the imported names |
| 5306 */ | 5806 */ |
| 5307 void set prefix2(SimpleIdentifier prefix) { | 5807 void set prefix(SimpleIdentifier prefix2) { |
| 5308 this._prefix = becomeParentOf(prefix); | 5808 this._prefix = becomeParentOf(prefix2); |
| 5309 } | 5809 } |
| 5310 void visitChildren(ASTVisitor<Object> visitor) { | 5810 void visitChildren(ASTVisitor<Object> visitor) { |
| 5311 super.visitChildren(visitor); | 5811 super.visitChildren(visitor); |
| 5312 safelyVisitChild(libraryUri, visitor); | |
| 5313 safelyVisitChild(_prefix, visitor); | 5812 safelyVisitChild(_prefix, visitor); |
| 5314 combinators.accept(visitor); | 5813 combinators.accept(visitor); |
| 5315 } | 5814 } |
| 5316 } | 5815 } |
| 5317 /** | 5816 /** |
| 5318 * Instances of the class {@code IndexExpression} represent an index expression. | 5817 * Instances of the class {@code IndexExpression} represent an index expression. |
| 5319 * <pre> | 5818 * <pre> |
| 5320 * indexExpression ::={@link Expression target} '[' {@link Expression index} ']' | 5819 * indexExpression ::={@link Expression target} '[' {@link Expression index} ']' |
| 5321 * </pre> | 5820 * </pre> |
| 5322 */ | 5821 */ |
| (...skipping 25 matching lines...) Expand all Loading... | |
| 5348 * resolved or if the operator could not be resolved. | 5847 * resolved or if the operator could not be resolved. |
| 5349 */ | 5848 */ |
| 5350 MethodElement _element; | 5849 MethodElement _element; |
| 5351 /** | 5850 /** |
| 5352 * Initialize a newly created index expression. | 5851 * Initialize a newly created index expression. |
| 5353 * @param target the expression used to compute the object being indexed | 5852 * @param target the expression used to compute the object being indexed |
| 5354 * @param leftBracket the left square bracket | 5853 * @param leftBracket the left square bracket |
| 5355 * @param index the expression used to compute the index | 5854 * @param index the expression used to compute the index |
| 5356 * @param rightBracket the right square bracket | 5855 * @param rightBracket the right square bracket |
| 5357 */ | 5856 */ |
| 5358 IndexExpression.con1(Expression target, Token leftBracket, Expression index, T oken rightBracket) { | 5857 IndexExpression.forTarget_full(Expression target3, Token leftBracket4, Express ion index2, Token rightBracket4) { |
| 5359 _jtd_constructor_55_impl(target, leftBracket, index, rightBracket); | 5858 _jtd_constructor_56_impl(target3, leftBracket4, index2, rightBracket4); |
| 5360 } | |
| 5361 _jtd_constructor_55_impl(Expression target, Token leftBracket, Expression inde x, Token rightBracket) { | |
| 5362 this._target = becomeParentOf(target); | |
| 5363 this._leftBracket = leftBracket; | |
| 5364 this._index = becomeParentOf(index); | |
| 5365 this._rightBracket = rightBracket; | |
| 5366 } | 5859 } |
| 5367 /** | 5860 /** |
| 5368 * Initialize a newly created index expression. | 5861 * Initialize a newly created index expression. |
| 5862 * @param target the expression used to compute the object being indexed | |
| 5863 * @param leftBracket the left square bracket | |
| 5864 * @param index the expression used to compute the index | |
| 5865 * @param rightBracket the right square bracket | |
| 5866 */ | |
| 5867 IndexExpression.forTarget({Expression target3, Token leftBracket4, Expression index2, Token rightBracket4}) : this.forTarget_full(target3, leftBracket4, index 2, rightBracket4); | |
| 5868 _jtd_constructor_56_impl(Expression target3, Token leftBracket4, Expression in dex2, Token rightBracket4) { | |
| 5869 this._target = becomeParentOf(target3); | |
| 5870 this._leftBracket = leftBracket4; | |
| 5871 this._index = becomeParentOf(index2); | |
| 5872 this._rightBracket = rightBracket4; | |
| 5873 } | |
| 5874 /** | |
| 5875 * Initialize a newly created index expression. | |
| 5369 * @param period the period ("..") before a cascaded index expression | 5876 * @param period the period ("..") before a cascaded index expression |
| 5370 * @param leftBracket the left square bracket | 5877 * @param leftBracket the left square bracket |
| 5371 * @param index the expression used to compute the index | 5878 * @param index the expression used to compute the index |
| 5372 * @param rightBracket the right square bracket | 5879 * @param rightBracket the right square bracket |
| 5373 */ | 5880 */ |
| 5374 IndexExpression.con2(Token period, Token leftBracket, Expression index, Token rightBracket) { | 5881 IndexExpression.forCascade_full(Token period7, Token leftBracket5, Expression index3, Token rightBracket5) { |
| 5375 _jtd_constructor_56_impl(period, leftBracket, index, rightBracket); | 5882 _jtd_constructor_57_impl(period7, leftBracket5, index3, rightBracket5); |
| 5376 } | 5883 } |
| 5377 _jtd_constructor_56_impl(Token period, Token leftBracket, Expression index, To ken rightBracket) { | 5884 /** |
| 5378 this._period = period; | 5885 * Initialize a newly created index expression. |
| 5379 this._leftBracket = leftBracket; | 5886 * @param period the period ("..") before a cascaded index expression |
| 5380 this._index = becomeParentOf(index); | 5887 * @param leftBracket the left square bracket |
| 5381 this._rightBracket = rightBracket; | 5888 * @param index the expression used to compute the index |
| 5889 * @param rightBracket the right square bracket | |
| 5890 */ | |
| 5891 IndexExpression.forCascade({Token period7, Token leftBracket5, Expression inde x3, Token rightBracket5}) : this.forCascade_full(period7, leftBracket5, index3, rightBracket5); | |
| 5892 _jtd_constructor_57_impl(Token period7, Token leftBracket5, Expression index3, Token rightBracket5) { | |
| 5893 this._period = period7; | |
| 5894 this._leftBracket = leftBracket5; | |
| 5895 this._index = becomeParentOf(index3); | |
| 5896 this._rightBracket = rightBracket5; | |
| 5382 } | 5897 } |
| 5383 accept(ASTVisitor visitor) => visitor.visitIndexExpression(this); | 5898 accept(ASTVisitor visitor) => visitor.visitIndexExpression(this); |
| 5384 /** | 5899 /** |
| 5385 * Return the expression used to compute the object being indexed, or {@code n ull} if this index | 5900 * Return the expression used to compute the object being indexed, or {@code n ull} if this index |
| 5386 * expression is part of a cascade expression. | 5901 * expression is part of a cascade expression. |
| 5387 * @return the expression used to compute the object being indexed | 5902 * @return the expression used to compute the object being indexed |
| 5388 * @see #getRealTarget() | 5903 * @see #getRealTarget() |
| 5389 */ | 5904 */ |
| 5390 Expression get array => _target; | 5905 Expression get array => _target; |
| 5391 Token get beginToken { | 5906 Token get beginToken { |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5428 */ | 5943 */ |
| 5429 Expression get realTarget { | 5944 Expression get realTarget { |
| 5430 if (isCascaded()) { | 5945 if (isCascaded()) { |
| 5431 ASTNode ancestor = parent; | 5946 ASTNode ancestor = parent; |
| 5432 while (ancestor is! CascadeExpression) { | 5947 while (ancestor is! CascadeExpression) { |
| 5433 if (ancestor == null) { | 5948 if (ancestor == null) { |
| 5434 return _target; | 5949 return _target; |
| 5435 } | 5950 } |
| 5436 ancestor = ancestor.parent; | 5951 ancestor = ancestor.parent; |
| 5437 } | 5952 } |
| 5438 return (ancestor as CascadeExpression).target; | 5953 return ((ancestor as CascadeExpression)).target; |
| 5439 } | 5954 } |
| 5440 return _target; | 5955 return _target; |
| 5441 } | 5956 } |
| 5442 /** | 5957 /** |
| 5443 * Return the right square bracket. | 5958 * Return the right square bracket. |
| 5444 * @return the right square bracket | 5959 * @return the right square bracket |
| 5445 */ | 5960 */ |
| 5446 Token get rightBracket => _rightBracket; | 5961 Token get rightBracket => _rightBracket; |
| 5447 /** | 5962 /** |
| 5448 * Return {@code true} if this expression is computing a right-hand value. | 5963 * Return {@code true} if this expression is computing a right-hand value. |
| 5449 * <p> | 5964 * <p> |
| 5450 * Note that {@link #inGetterContext()} and {@link #inSetterContext()} are not opposites, nor are | 5965 * Note that {@link #inGetterContext()} and {@link #inSetterContext()} are not opposites, nor are |
| 5451 * they mutually exclusive. In other words, it is possible for both methods to return {@code true}when invoked on the same node. | 5966 * they mutually exclusive. In other words, it is possible for both methods to return {@code true}when invoked on the same node. |
| 5452 * @return {@code true} if this expression is in a context where the operator '[]' will be invoked | 5967 * @return {@code true} if this expression is in a context where the operator '[]' will be invoked |
| 5453 */ | 5968 */ |
| 5454 bool inGetterContext() { | 5969 bool inGetterContext() { |
| 5455 ASTNode parent4 = parent; | 5970 ASTNode parent3 = parent; |
| 5456 if (parent4 is AssignmentExpression) { | 5971 if (parent3 is AssignmentExpression) { |
| 5457 AssignmentExpression assignment = parent4 as AssignmentExpression; | 5972 AssignmentExpression assignment = (parent3 as AssignmentExpression); |
| 5458 if (assignment.leftHandSide == this && assignment.operator.type == TokenTy pe.EQ) { | 5973 if (identical(assignment.leftHandSide, this) && identical(assignment.opera tor.type, TokenType.EQ)) { |
| 5459 return false; | 5974 return false; |
| 5460 } | 5975 } |
| 5461 } | 5976 } |
| 5462 return true; | 5977 return true; |
| 5463 } | 5978 } |
| 5464 /** | 5979 /** |
| 5465 * Return {@code true} if this expression is computing a left-hand value. | 5980 * Return {@code true} if this expression is computing a left-hand value. |
| 5466 * <p> | 5981 * <p> |
| 5467 * Note that {@link #inGetterContext()} and {@link #inSetterContext()} are not opposites, nor are | 5982 * Note that {@link #inGetterContext()} and {@link #inSetterContext()} are not opposites, nor are |
| 5468 * they mutually exclusive. In other words, it is possible for both methods to return {@code true}when invoked on the same node. | 5983 * they mutually exclusive. In other words, it is possible for both methods to return {@code true}when invoked on the same node. |
| 5469 * @return {@code true} if this expression is in a context where the operator '[]=' will be | 5984 * @return {@code true} if this expression is in a context where the operator '[]=' will be |
| 5470 * invoked | 5985 * invoked |
| 5471 */ | 5986 */ |
| 5472 bool inSetterContext() { | 5987 bool inSetterContext() { |
| 5473 ASTNode parent5 = parent; | 5988 ASTNode parent4 = parent; |
| 5474 if (parent5 is PrefixExpression) { | 5989 if (parent4 is PrefixExpression) { |
| 5475 return (parent5 as PrefixExpression).operator.type.isIncrementOperator(); | 5990 return ((parent4 as PrefixExpression)).operator.type.isIncrementOperator() ; |
| 5476 } else if (parent5 is PostfixExpression) { | 5991 } else if (parent4 is PostfixExpression) { |
| 5477 return true; | 5992 return true; |
| 5478 } else if (parent5 is AssignmentExpression) { | 5993 } else if (parent4 is AssignmentExpression) { |
| 5479 return (parent5 as AssignmentExpression).leftHandSide == this; | 5994 return identical(((parent4 as AssignmentExpression)).leftHandSide, this); |
| 5480 } | 5995 } |
| 5481 return false; | 5996 return false; |
| 5482 } | 5997 } |
| 5483 bool isAssignable() => true; | 5998 bool isAssignable() => true; |
| 5484 /** | 5999 /** |
| 5485 * Return {@code true} if this expression is cascaded. If it is, then the targ et of this | 6000 * Return {@code true} if this expression is cascaded. If it is, then the targ et of this |
| 5486 * expression is not stored locally but is stored in the nearest ancestor that is a{@link CascadeExpression}. | 6001 * expression is not stored locally but is stored in the nearest ancestor that is a{@link CascadeExpression}. |
| 5487 * @return {@code true} if this expression is cascaded | 6002 * @return {@code true} if this expression is cascaded |
| 5488 */ | 6003 */ |
| 5489 bool isCascaded() => _period != null; | 6004 bool isCascaded() => _period != null; |
| 5490 /** | 6005 /** |
| 5491 * Set the expression used to compute the object being indexed to the given ex pression. | 6006 * Set the expression used to compute the object being indexed to the given ex pression. |
| 5492 * @param expression the expression used to compute the object being indexed | 6007 * @param expression the expression used to compute the object being indexed |
| 5493 */ | 6008 */ |
| 5494 void set array2(Expression expression) { | 6009 void set array(Expression expression) { |
| 5495 _target = becomeParentOf(expression); | 6010 _target = becomeParentOf(expression); |
| 5496 } | 6011 } |
| 5497 /** | 6012 /** |
| 5498 * Set the element associated with the operator to the given element. | 6013 * Set the element associated with the operator to the given element. |
| 5499 * @param element the element associated with this operator | 6014 * @param element the element associated with this operator |
| 5500 */ | 6015 */ |
| 5501 void set element11(MethodElement element) { | 6016 void set element(MethodElement element12) { |
| 5502 this._element = element; | 6017 this._element = element12; |
| 5503 } | 6018 } |
| 5504 /** | 6019 /** |
| 5505 * Set the expression used to compute the index to the given expression. | 6020 * Set the expression used to compute the index to the given expression. |
| 5506 * @param expression the expression used to compute the index | 6021 * @param expression the expression used to compute the index |
| 5507 */ | 6022 */ |
| 5508 void set index2(Expression expression) { | 6023 void set index(Expression expression) { |
| 5509 _index = becomeParentOf(expression); | 6024 _index = becomeParentOf(expression); |
| 5510 } | 6025 } |
| 5511 /** | 6026 /** |
| 5512 * Set the left square bracket to the given token. | 6027 * Set the left square bracket to the given token. |
| 5513 * @param bracket the left square bracket | 6028 * @param bracket the left square bracket |
| 5514 */ | 6029 */ |
| 5515 void set leftBracket4(Token bracket) { | 6030 void set leftBracket(Token bracket) { |
| 5516 _leftBracket = bracket; | 6031 _leftBracket = bracket; |
| 5517 } | 6032 } |
| 5518 /** | 6033 /** |
| 5519 * Set the period ("..") before a cascaded index expression to the given token . | 6034 * Set the period ("..") before a cascaded index expression to the given token . |
| 5520 * @param period the period ("..") before a cascaded index expression | 6035 * @param period the period ("..") before a cascaded index expression |
| 5521 */ | 6036 */ |
| 5522 void set period7(Token period) { | 6037 void set period(Token period8) { |
| 5523 this._period = period; | 6038 this._period = period8; |
| 5524 } | 6039 } |
| 5525 /** | 6040 /** |
| 5526 * Set the right square bracket to the given token. | 6041 * Set the right square bracket to the given token. |
| 5527 * @param bracket the right square bracket | 6042 * @param bracket the right square bracket |
| 5528 */ | 6043 */ |
| 5529 void set rightBracket4(Token bracket) { | 6044 void set rightBracket(Token bracket) { |
| 5530 _rightBracket = bracket; | 6045 _rightBracket = bracket; |
| 5531 } | 6046 } |
| 5532 void visitChildren(ASTVisitor<Object> visitor) { | 6047 void visitChildren(ASTVisitor<Object> visitor) { |
| 5533 safelyVisitChild(_target, visitor); | 6048 safelyVisitChild(_target, visitor); |
| 5534 safelyVisitChild(_index, visitor); | 6049 safelyVisitChild(_index, visitor); |
| 5535 } | 6050 } |
| 5536 } | 6051 } |
| 5537 /** | 6052 /** |
| 5538 * Instances of the class {@code InstanceCreationExpression} represent an instan ce creation | 6053 * Instances of the class {@code InstanceCreationExpression} represent an instan ce creation |
| 5539 * expression. | 6054 * expression. |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 5558 * The element associated with the constructor, or {@code null} if the AST str ucture has not been | 6073 * The element associated with the constructor, or {@code null} if the AST str ucture has not been |
| 5559 * resolved or if the constructor could not be resolved. | 6074 * resolved or if the constructor could not be resolved. |
| 5560 */ | 6075 */ |
| 5561 ConstructorElement _element; | 6076 ConstructorElement _element; |
| 5562 /** | 6077 /** |
| 5563 * Initialize a newly created instance creation expression. | 6078 * Initialize a newly created instance creation expression. |
| 5564 * @param keyword the keyword used to indicate how an object should be created | 6079 * @param keyword the keyword used to indicate how an object should be created |
| 5565 * @param constructorName the name of the constructor to be invoked | 6080 * @param constructorName the name of the constructor to be invoked |
| 5566 * @param argumentList the list of arguments to the constructor | 6081 * @param argumentList the list of arguments to the constructor |
| 5567 */ | 6082 */ |
| 5568 InstanceCreationExpression(Token keyword, ConstructorName constructorName, Arg umentList argumentList) { | 6083 InstanceCreationExpression.full(Token keyword, ConstructorName constructorName , ArgumentList argumentList) { |
| 5569 this._keyword = keyword; | 6084 this._keyword = keyword; |
| 5570 this._constructorName = becomeParentOf(constructorName); | 6085 this._constructorName = becomeParentOf(constructorName); |
| 5571 this._argumentList = becomeParentOf(argumentList); | 6086 this._argumentList = becomeParentOf(argumentList); |
| 5572 } | 6087 } |
| 6088 /** | |
| 6089 * Initialize a newly created instance creation expression. | |
| 6090 * @param keyword the keyword used to indicate how an object should be created | |
| 6091 * @param constructorName the name of the constructor to be invoked | |
| 6092 * @param argumentList the list of arguments to the constructor | |
| 6093 */ | |
| 6094 InstanceCreationExpression({Token keyword, ConstructorName constructorName, Ar gumentList argumentList}) : this.full(keyword, constructorName, argumentList); | |
| 5573 accept(ASTVisitor visitor) => visitor.visitInstanceCreationExpression(this); | 6095 accept(ASTVisitor visitor) => visitor.visitInstanceCreationExpression(this); |
| 5574 /** | 6096 /** |
| 5575 * Return the list of arguments to the constructor. | 6097 * Return the list of arguments to the constructor. |
| 5576 * @return the list of arguments to the constructor | 6098 * @return the list of arguments to the constructor |
| 5577 */ | 6099 */ |
| 5578 ArgumentList get argumentList => _argumentList; | 6100 ArgumentList get argumentList => _argumentList; |
| 5579 Token get beginToken => _keyword; | 6101 Token get beginToken => _keyword; |
| 5580 /** | 6102 /** |
| 5581 * Return the name of the constructor to be invoked. | 6103 * Return the name of the constructor to be invoked. |
| 5582 * @return the name of the constructor to be invoked | 6104 * @return the name of the constructor to be invoked |
| 5583 */ | 6105 */ |
| 5584 ConstructorName get constructorName => _constructorName; | 6106 ConstructorName get constructorName => _constructorName; |
| 5585 /** | 6107 /** |
| 5586 * Return the element associated with the constructor, or {@code null} if the AST structure has | 6108 * Return the element associated with the constructor, or {@code null} if the AST structure has |
| 5587 * not been resolved or if the constructor could not be resolved. | 6109 * not been resolved or if the constructor could not be resolved. |
| 5588 * @return the element associated with the constructor | 6110 * @return the element associated with the constructor |
| 5589 */ | 6111 */ |
| 5590 ConstructorElement get element => _element; | 6112 ConstructorElement get element => _element; |
| 5591 Token get endToken => _argumentList.endToken; | 6113 Token get endToken => _argumentList.endToken; |
| 5592 /** | 6114 /** |
| 5593 * Return the keyword used to indicate how an object should be created. | 6115 * Return the keyword used to indicate how an object should be created. |
| 5594 * @return the keyword used to indicate how an object should be created | 6116 * @return the keyword used to indicate how an object should be created |
| 5595 */ | 6117 */ |
| 5596 Token get keyword => _keyword; | 6118 Token get keyword => _keyword; |
| 5597 /** | 6119 /** |
| 5598 * Set the list of arguments to the constructor to the given list. | 6120 * Set the list of arguments to the constructor to the given list. |
| 5599 * @param argumentList the list of arguments to the constructor | 6121 * @param argumentList the list of arguments to the constructor |
| 5600 */ | 6122 */ |
| 5601 void set argumentList6(ArgumentList argumentList) { | 6123 void set argumentList(ArgumentList argumentList6) { |
| 5602 this._argumentList = becomeParentOf(argumentList); | 6124 this._argumentList = becomeParentOf(argumentList6); |
| 5603 } | 6125 } |
| 5604 /** | 6126 /** |
| 5605 * Set the name of the constructor to be invoked to the given name. | 6127 * Set the name of the constructor to be invoked to the given name. |
| 5606 * @param constructorName the name of the constructor to be invoked | 6128 * @param constructorName the name of the constructor to be invoked |
| 5607 */ | 6129 */ |
| 5608 void set constructorName3(ConstructorName constructorName) { | 6130 void set constructorName(ConstructorName constructorName3) { |
| 5609 this._constructorName = constructorName; | 6131 this._constructorName = constructorName3; |
| 5610 } | 6132 } |
| 5611 /** | 6133 /** |
| 5612 * Set the element associated with the constructor to the given element. | 6134 * Set the element associated with the constructor to the given element. |
| 5613 * @param element the element associated with the constructor | 6135 * @param element the element associated with the constructor |
| 5614 */ | 6136 */ |
| 5615 void set element12(ConstructorElement element) { | 6137 void set element(ConstructorElement element13) { |
| 5616 this._element = element; | 6138 this._element = element13; |
| 5617 } | 6139 } |
| 5618 /** | 6140 /** |
| 5619 * Set the keyword used to indicate how an object should be created to the giv en keyword. | 6141 * Set the keyword used to indicate how an object should be created to the giv en keyword. |
| 5620 * @param keyword the keyword used to indicate how an object should be created | 6142 * @param keyword the keyword used to indicate how an object should be created |
| 5621 */ | 6143 */ |
| 5622 void set keyword12(Token keyword) { | 6144 void set keyword(Token keyword12) { |
| 5623 this._keyword = keyword; | 6145 this._keyword = keyword12; |
| 5624 } | 6146 } |
| 5625 void visitChildren(ASTVisitor<Object> visitor) { | 6147 void visitChildren(ASTVisitor<Object> visitor) { |
| 5626 safelyVisitChild(_constructorName, visitor); | 6148 safelyVisitChild(_constructorName, visitor); |
| 5627 safelyVisitChild(_argumentList, visitor); | 6149 safelyVisitChild(_argumentList, visitor); |
| 5628 } | 6150 } |
| 5629 } | 6151 } |
| 5630 /** | 6152 /** |
| 5631 * Instances of the class {@code IntegerLiteral} represent an integer literal ex pression. | 6153 * Instances of the class {@code IntegerLiteral} represent an integer literal ex pression. |
| 5632 * <pre> | 6154 * <pre> |
| 5633 * integerLiteral ::= | 6155 * integerLiteral ::= |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 5647 Token _literal; | 6169 Token _literal; |
| 5648 /** | 6170 /** |
| 5649 * The value of the literal. | 6171 * The value of the literal. |
| 5650 */ | 6172 */ |
| 5651 int _value = 0; | 6173 int _value = 0; |
| 5652 /** | 6174 /** |
| 5653 * Initialize a newly created integer literal. | 6175 * Initialize a newly created integer literal. |
| 5654 * @param literal the token representing the literal | 6176 * @param literal the token representing the literal |
| 5655 * @param value the value of the literal | 6177 * @param value the value of the literal |
| 5656 */ | 6178 */ |
| 5657 IntegerLiteral.con1(Token literal, int value) { | 6179 IntegerLiteral.full(Token literal, int value) { |
| 5658 _jtd_constructor_58_impl(literal, value); | |
| 5659 } | |
| 5660 _jtd_constructor_58_impl(Token literal, int value) { | |
| 5661 this._literal = literal; | 6180 this._literal = literal; |
| 5662 this._value = value; | 6181 this._value = value; |
| 5663 } | 6182 } |
| 5664 /** | 6183 /** |
| 5665 * Initialize a newly created integer literal. | 6184 * Initialize a newly created integer literal. |
| 5666 * @param token the token representing the literal | 6185 * @param literal the token representing the literal |
| 5667 * @param value the value of the literal | 6186 * @param value the value of the literal |
| 5668 */ | 6187 */ |
| 5669 IntegerLiteral.con2(Token token, int value) { | 6188 IntegerLiteral({Token literal, int value}) : this.full(literal, value); |
| 5670 _jtd_constructor_59_impl(token, value); | |
| 5671 } | |
| 5672 _jtd_constructor_59_impl(Token token, int value) { | |
| 5673 _jtd_constructor_58_impl(token, value); | |
| 5674 } | |
| 5675 accept(ASTVisitor visitor) => visitor.visitIntegerLiteral(this); | 6189 accept(ASTVisitor visitor) => visitor.visitIntegerLiteral(this); |
| 5676 Token get beginToken => _literal; | 6190 Token get beginToken => _literal; |
| 5677 Token get endToken => _literal; | 6191 Token get endToken => _literal; |
| 5678 /** | 6192 /** |
| 5679 * Return the token representing the literal. | 6193 * Return the token representing the literal. |
| 5680 * @return the token representing the literal | 6194 * @return the token representing the literal |
| 5681 */ | 6195 */ |
| 5682 Token get literal => _literal; | 6196 Token get literal => _literal; |
| 5683 /** | 6197 /** |
| 5684 * Return the value of the literal. | 6198 * Return the value of the literal. |
| 5685 * @return the value of the literal | 6199 * @return the value of the literal |
| 5686 */ | 6200 */ |
| 5687 int get value => _value; | 6201 int get value => _value; |
| 5688 /** | 6202 /** |
| 5689 * Set the token representing the literal to the given token. | 6203 * Set the token representing the literal to the given token. |
| 5690 * @param literal the token representing the literal | 6204 * @param literal the token representing the literal |
| 5691 */ | 6205 */ |
| 5692 void set literal4(Token literal) { | 6206 void set literal(Token literal4) { |
| 5693 this._literal = literal; | 6207 this._literal = literal4; |
| 5694 } | 6208 } |
| 5695 /** | 6209 /** |
| 5696 * Set the value of the literal to the given value. | 6210 * Set the value of the literal to the given value. |
| 5697 * @param value the value of the literal | 6211 * @param value the value of the literal |
| 5698 */ | 6212 */ |
| 5699 void set value6(int value) { | 6213 void set value(int value6) { |
| 5700 this._value = value; | 6214 this._value = value6; |
| 5701 } | 6215 } |
| 5702 void visitChildren(ASTVisitor<Object> visitor) { | 6216 void visitChildren(ASTVisitor<Object> visitor) { |
| 5703 } | 6217 } |
| 5704 } | 6218 } |
| 5705 /** | 6219 /** |
| 5706 * The abstract class {@code InterpolationElement} defines the behavior common t o elements within a{@link StringInterpolation string interpolation}. | 6220 * The abstract class {@code InterpolationElement} defines the behavior common t o elements within a{@link StringInterpolation string interpolation}. |
| 5707 * <pre> | 6221 * <pre> |
| 5708 * interpolationElement ::={@link InterpolationExpression interpolationExpressio n}| {@link InterpolationString interpolationString}</pre> | 6222 * interpolationElement ::={@link InterpolationExpression interpolationExpressio n}| {@link InterpolationString interpolationString}</pre> |
| 5709 */ | 6223 */ |
| 5710 abstract class InterpolationElement extends ASTNode { | 6224 abstract class InterpolationElement extends ASTNode { |
| (...skipping 19 matching lines...) Expand all Loading... | |
| 5730 /** | 6244 /** |
| 5731 * The right curly bracket, or {@code null} if the expression is an identifier without brackets. | 6245 * The right curly bracket, or {@code null} if the expression is an identifier without brackets. |
| 5732 */ | 6246 */ |
| 5733 Token _rightBracket; | 6247 Token _rightBracket; |
| 5734 /** | 6248 /** |
| 5735 * Initialize a newly created interpolation expression. | 6249 * Initialize a newly created interpolation expression. |
| 5736 * @param leftBracket the left curly bracket | 6250 * @param leftBracket the left curly bracket |
| 5737 * @param expression the expression to be evaluated for the value to be conver ted into a string | 6251 * @param expression the expression to be evaluated for the value to be conver ted into a string |
| 5738 * @param rightBracket the right curly bracket | 6252 * @param rightBracket the right curly bracket |
| 5739 */ | 6253 */ |
| 5740 InterpolationExpression(Token leftBracket, Expression expression, Token rightB racket) { | 6254 InterpolationExpression.full(Token leftBracket, Expression expression, Token r ightBracket) { |
| 5741 this._leftBracket = leftBracket; | 6255 this._leftBracket = leftBracket; |
| 5742 this._expression = becomeParentOf(expression); | 6256 this._expression = becomeParentOf(expression); |
| 5743 this._rightBracket = rightBracket; | 6257 this._rightBracket = rightBracket; |
| 5744 } | 6258 } |
| 6259 /** | |
| 6260 * Initialize a newly created interpolation expression. | |
| 6261 * @param leftBracket the left curly bracket | |
| 6262 * @param expression the expression to be evaluated for the value to be conver ted into a string | |
| 6263 * @param rightBracket the right curly bracket | |
| 6264 */ | |
| 6265 InterpolationExpression({Token leftBracket, Expression expression, Token right Bracket}) : this.full(leftBracket, expression, rightBracket); | |
| 5745 accept(ASTVisitor visitor) => visitor.visitInterpolationExpression(this); | 6266 accept(ASTVisitor visitor) => visitor.visitInterpolationExpression(this); |
| 5746 Token get beginToken => _leftBracket; | 6267 Token get beginToken => _leftBracket; |
| 5747 Token get endToken { | 6268 Token get endToken { |
| 5748 if (_rightBracket != null) { | 6269 if (_rightBracket != null) { |
| 5749 return _rightBracket; | 6270 return _rightBracket; |
| 5750 } | 6271 } |
| 5751 return _expression.endToken; | 6272 return _expression.endToken; |
| 5752 } | 6273 } |
| 5753 /** | 6274 /** |
| 5754 * Return the expression to be evaluated for the value to be converted into a string. | 6275 * Return the expression to be evaluated for the value to be converted into a string. |
| 5755 * @return the expression to be evaluated for the value to be converted into a string | 6276 * @return the expression to be evaluated for the value to be converted into a string |
| 5756 */ | 6277 */ |
| 5757 Expression get expression => _expression; | 6278 Expression get expression => _expression; |
| 5758 /** | 6279 /** |
| 5759 * Return the left curly bracket. | 6280 * Return the left curly bracket. |
| 5760 * @return the left curly bracket | 6281 * @return the left curly bracket |
| 5761 */ | 6282 */ |
| 5762 Token get leftBracket => _leftBracket; | 6283 Token get leftBracket => _leftBracket; |
| 5763 /** | 6284 /** |
| 5764 * Return the right curly bracket. | 6285 * Return the right curly bracket. |
| 5765 * @return the right curly bracket | 6286 * @return the right curly bracket |
| 5766 */ | 6287 */ |
| 5767 Token get rightBracket => _rightBracket; | 6288 Token get rightBracket => _rightBracket; |
| 5768 /** | 6289 /** |
| 5769 * Set the expression to be evaluated for the value to be converted into a str ing to the given | 6290 * Set the expression to be evaluated for the value to be converted into a str ing to the given |
| 5770 * expression. | 6291 * expression. |
| 5771 * @param expression the expression to be evaluated for the value to be conver ted into a string | 6292 * @param expression the expression to be evaluated for the value to be conver ted into a string |
| 5772 */ | 6293 */ |
| 5773 void set expression6(Expression expression) { | 6294 void set expression(Expression expression6) { |
| 5774 this._expression = becomeParentOf(expression); | 6295 this._expression = becomeParentOf(expression6); |
| 5775 } | 6296 } |
| 5776 /** | 6297 /** |
| 5777 * Set the left curly bracket to the given token. | 6298 * Set the left curly bracket to the given token. |
| 5778 * @param leftBracket the left curly bracket | 6299 * @param leftBracket the left curly bracket |
| 5779 */ | 6300 */ |
| 5780 void set leftBracket5(Token leftBracket) { | 6301 void set leftBracket(Token leftBracket6) { |
| 5781 this._leftBracket = leftBracket; | 6302 this._leftBracket = leftBracket6; |
| 5782 } | 6303 } |
| 5783 /** | 6304 /** |
| 5784 * Set the right curly bracket to the given token. | 6305 * Set the right curly bracket to the given token. |
| 5785 * @param rightBracket the right curly bracket | 6306 * @param rightBracket the right curly bracket |
| 5786 */ | 6307 */ |
| 5787 void set rightBracket5(Token rightBracket) { | 6308 void set rightBracket(Token rightBracket6) { |
| 5788 this._rightBracket = rightBracket; | 6309 this._rightBracket = rightBracket6; |
| 5789 } | 6310 } |
| 5790 void visitChildren(ASTVisitor<Object> visitor) { | 6311 void visitChildren(ASTVisitor<Object> visitor) { |
| 5791 safelyVisitChild(_expression, visitor); | 6312 safelyVisitChild(_expression, visitor); |
| 5792 } | 6313 } |
| 5793 } | 6314 } |
| 5794 /** | 6315 /** |
| 5795 * Instances of the class {@code InterpolationString} represent a non-empty subs tring of an | 6316 * Instances of the class {@code InterpolationString} represent a non-empty subs tring of an |
| 5796 * interpolated string. | 6317 * interpolated string. |
| 5797 * <pre> | 6318 * <pre> |
| 5798 * interpolationString ::= | 6319 * interpolationString ::= |
| 5799 * characters | 6320 * characters |
| 5800 * </pre> | 6321 * </pre> |
| 5801 */ | 6322 */ |
| 5802 class InterpolationString extends InterpolationElement { | 6323 class InterpolationString extends InterpolationElement { |
| 5803 /** | 6324 /** |
| 5804 * The characters that will be added to the string. | 6325 * The characters that will be added to the string. |
| 5805 */ | 6326 */ |
| 5806 Token _contents; | 6327 Token _contents; |
| 5807 /** | 6328 /** |
| 5808 * The value of the literal. | 6329 * The value of the literal. |
| 5809 */ | 6330 */ |
| 5810 String _value; | 6331 String _value; |
| 5811 /** | 6332 /** |
| 5812 * Initialize a newly created string of characters that are part of a string i nterpolation. | 6333 * Initialize a newly created string of characters that are part of a string i nterpolation. |
| 5813 * @param the characters that will be added to the string | 6334 * @param the characters that will be added to the string |
| 5814 * @param value the value of the literal | 6335 * @param value the value of the literal |
| 5815 */ | 6336 */ |
| 5816 InterpolationString(Token contents, String value) { | 6337 InterpolationString.full(Token contents, String value) { |
| 5817 this._contents = contents; | 6338 this._contents = contents; |
| 5818 this._value = value; | 6339 this._value = value; |
| 5819 } | 6340 } |
| 6341 /** | |
| 6342 * Initialize a newly created string of characters that are part of a string i nterpolation. | |
| 6343 * @param the characters that will be added to the string | |
| 6344 * @param value the value of the literal | |
| 6345 */ | |
| 6346 InterpolationString({Token contents, String value}) : this.full(contents, valu e); | |
| 5820 accept(ASTVisitor visitor) => visitor.visitInterpolationString(this); | 6347 accept(ASTVisitor visitor) => visitor.visitInterpolationString(this); |
| 5821 Token get beginToken => _contents; | 6348 Token get beginToken => _contents; |
| 5822 /** | 6349 /** |
| 5823 * Return the characters that will be added to the string. | 6350 * Return the characters that will be added to the string. |
| 5824 * @return the characters that will be added to the string | 6351 * @return the characters that will be added to the string |
| 5825 */ | 6352 */ |
| 5826 Token get contents => _contents; | 6353 Token get contents => _contents; |
| 5827 Token get endToken => _contents; | 6354 Token get endToken => _contents; |
| 5828 /** | 6355 /** |
| 5829 * Return the value of the literal. | 6356 * Return the value of the literal. |
| 5830 * @return the value of the literal | 6357 * @return the value of the literal |
| 5831 */ | 6358 */ |
| 5832 String get value => _value; | 6359 String get value => _value; |
| 5833 /** | 6360 /** |
| 5834 * Set the characters that will be added to the string to those in the given s tring. | 6361 * Set the characters that will be added to the string to those in the given s tring. |
| 5835 * @param string the characters that will be added to the string | 6362 * @param string the characters that will be added to the string |
| 5836 */ | 6363 */ |
| 5837 void set contents2(Token string) { | 6364 void set contents(Token string) { |
| 5838 _contents = string; | 6365 _contents = string; |
| 5839 } | 6366 } |
| 5840 /** | 6367 /** |
| 5841 * Set the value of the literal to the given string. | 6368 * Set the value of the literal to the given string. |
| 5842 * @param string the value of the literal | 6369 * @param string the value of the literal |
| 5843 */ | 6370 */ |
| 5844 void set value7(String string) { | 6371 void set value(String string) { |
| 5845 _value = string; | 6372 _value = string; |
| 5846 } | 6373 } |
| 5847 void visitChildren(ASTVisitor<Object> visitor) { | 6374 void visitChildren(ASTVisitor<Object> visitor) { |
| 5848 } | 6375 } |
| 5849 } | 6376 } |
| 5850 /** | 6377 /** |
| 5851 * Instances of the class {@code IsExpression} represent an is expression. | 6378 * Instances of the class {@code IsExpression} represent an is expression. |
| 5852 * <pre> | 6379 * <pre> |
| 5853 * isExpression ::={@link Expression expression} 'is' '!'? {@link TypeName type} </pre> | 6380 * isExpression ::={@link Expression expression} 'is' '!'? {@link TypeName type} </pre> |
| 5854 */ | 6381 */ |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 5869 * The name of the type being tested for. | 6396 * The name of the type being tested for. |
| 5870 */ | 6397 */ |
| 5871 TypeName _type; | 6398 TypeName _type; |
| 5872 /** | 6399 /** |
| 5873 * Initialize a newly created is expression. | 6400 * Initialize a newly created is expression. |
| 5874 * @param expression the expression used to compute the value whose type is be ing tested | 6401 * @param expression the expression used to compute the value whose type is be ing tested |
| 5875 * @param isOperator the is operator | 6402 * @param isOperator the is operator |
| 5876 * @param notOperator the not operator, or {@code null} if the sense of the te st is not negated | 6403 * @param notOperator the not operator, or {@code null} if the sense of the te st is not negated |
| 5877 * @param type the name of the type being tested for | 6404 * @param type the name of the type being tested for |
| 5878 */ | 6405 */ |
| 5879 IsExpression(Expression expression, Token isOperator, Token notOperator, TypeN ame type) { | 6406 IsExpression.full(Expression expression, Token isOperator, Token notOperator, TypeName type) { |
| 5880 this._expression = becomeParentOf(expression); | 6407 this._expression = becomeParentOf(expression); |
| 5881 this._isOperator = isOperator; | 6408 this._isOperator = isOperator; |
| 5882 this._notOperator = notOperator; | 6409 this._notOperator = notOperator; |
| 5883 this._type = becomeParentOf(type); | 6410 this._type = becomeParentOf(type); |
| 5884 } | 6411 } |
| 6412 /** | |
| 6413 * Initialize a newly created is expression. | |
| 6414 * @param expression the expression used to compute the value whose type is be ing tested | |
| 6415 * @param isOperator the is operator | |
| 6416 * @param notOperator the not operator, or {@code null} if the sense of the te st is not negated | |
| 6417 * @param type the name of the type being tested for | |
| 6418 */ | |
| 6419 IsExpression({Expression expression, Token isOperator, Token notOperator, Type Name type}) : this.full(expression, isOperator, notOperator, type); | |
| 5885 accept(ASTVisitor visitor) => visitor.visitIsExpression(this); | 6420 accept(ASTVisitor visitor) => visitor.visitIsExpression(this); |
| 5886 Token get beginToken => _expression.beginToken; | 6421 Token get beginToken => _expression.beginToken; |
| 5887 Token get endToken => _type.endToken; | 6422 Token get endToken => _type.endToken; |
| 5888 /** | 6423 /** |
| 5889 * Return the expression used to compute the value whose type is being tested. | 6424 * Return the expression used to compute the value whose type is being tested. |
| 5890 * @return the expression used to compute the value whose type is being tested | 6425 * @return the expression used to compute the value whose type is being tested |
| 5891 */ | 6426 */ |
| 5892 Expression get expression => _expression; | 6427 Expression get expression => _expression; |
| 5893 /** | 6428 /** |
| 5894 * Return the is operator being applied. | 6429 * Return the is operator being applied. |
| 5895 * @return the is operator being applied | 6430 * @return the is operator being applied |
| 5896 */ | 6431 */ |
| 5897 Token get isOperator => _isOperator; | 6432 Token get isOperator => _isOperator; |
| 5898 /** | 6433 /** |
| 5899 * Return the not operator being applied. | 6434 * Return the not operator being applied. |
| 5900 * @return the not operator being applied | 6435 * @return the not operator being applied |
| 5901 */ | 6436 */ |
| 5902 Token get notOperator => _notOperator; | 6437 Token get notOperator => _notOperator; |
| 5903 /** | 6438 /** |
| 5904 * Return the name of the type being tested for. | 6439 * Return the name of the type being tested for. |
| 5905 * @return the name of the type being tested for | 6440 * @return the name of the type being tested for |
| 5906 */ | 6441 */ |
| 5907 TypeName get type => _type; | 6442 TypeName get type => _type; |
| 5908 /** | 6443 /** |
| 5909 * Set the expression used to compute the value whose type is being tested to the given | 6444 * Set the expression used to compute the value whose type is being tested to the given |
| 5910 * expression. | 6445 * expression. |
| 5911 * @param expression the expression used to compute the value whose type is be ing tested | 6446 * @param expression the expression used to compute the value whose type is be ing tested |
| 5912 */ | 6447 */ |
| 5913 void set expression7(Expression expression) { | 6448 void set expression(Expression expression7) { |
| 5914 this._expression = becomeParentOf(expression); | 6449 this._expression = becomeParentOf(expression7); |
| 5915 } | 6450 } |
| 5916 /** | 6451 /** |
| 5917 * Set the is operator being applied to the given operator. | 6452 * Set the is operator being applied to the given operator. |
| 5918 * @param isOperator the is operator being applied | 6453 * @param isOperator the is operator being applied |
| 5919 */ | 6454 */ |
| 5920 void set isOperator2(Token isOperator) { | 6455 void set isOperator(Token isOperator2) { |
| 5921 this._isOperator = isOperator; | 6456 this._isOperator = isOperator2; |
| 5922 } | 6457 } |
| 5923 /** | 6458 /** |
| 5924 * Set the not operator being applied to the given operator. | 6459 * Set the not operator being applied to the given operator. |
| 5925 * @param notOperator the is operator being applied | 6460 * @param notOperator the is operator being applied |
| 5926 */ | 6461 */ |
| 5927 void set notOperator2(Token notOperator) { | 6462 void set notOperator(Token notOperator2) { |
| 5928 this._notOperator = notOperator; | 6463 this._notOperator = notOperator2; |
| 5929 } | 6464 } |
| 5930 /** | 6465 /** |
| 5931 * Set the name of the type being tested for to the given name. | 6466 * Set the name of the type being tested for to the given name. |
| 5932 * @param name the name of the type being tested for | 6467 * @param name the name of the type being tested for |
| 5933 */ | 6468 */ |
| 5934 void set type5(TypeName name) { | 6469 void set type(TypeName name) { |
| 5935 this._type = becomeParentOf(name); | 6470 this._type = becomeParentOf(name); |
| 5936 } | 6471 } |
| 5937 void visitChildren(ASTVisitor<Object> visitor) { | 6472 void visitChildren(ASTVisitor<Object> visitor) { |
| 5938 safelyVisitChild(_expression, visitor); | 6473 safelyVisitChild(_expression, visitor); |
| 5939 safelyVisitChild(_type, visitor); | 6474 safelyVisitChild(_type, visitor); |
| 5940 } | 6475 } |
| 5941 } | 6476 } |
| 5942 /** | 6477 /** |
| 5943 * Instances of the class {@code Label} represent a label. | 6478 * Instances of the class {@code Label} represent a label. |
| 5944 * <pre> | 6479 * <pre> |
| 5945 * label ::={@link SimpleIdentifier label} ':' | 6480 * label ::={@link SimpleIdentifier label} ':' |
| 5946 * </pre> | 6481 * </pre> |
| 5947 */ | 6482 */ |
| 5948 class Label extends ASTNode { | 6483 class Label extends ASTNode { |
| 5949 /** | 6484 /** |
| 5950 * The label being associated with the statement. | 6485 * The label being associated with the statement. |
| 5951 */ | 6486 */ |
| 5952 SimpleIdentifier _label; | 6487 SimpleIdentifier _label; |
| 5953 /** | 6488 /** |
| 5954 * The colon that separates the label from the statement. | 6489 * The colon that separates the label from the statement. |
| 5955 */ | 6490 */ |
| 5956 Token _colon; | 6491 Token _colon; |
| 5957 /** | 6492 /** |
| 5958 * Initialize a newly created label. | 6493 * Initialize a newly created label. |
| 5959 * @param label the label being applied | 6494 * @param label the label being applied |
| 5960 * @param colon the colon that separates the label from whatever follows | 6495 * @param colon the colon that separates the label from whatever follows |
| 5961 */ | 6496 */ |
| 5962 Label(SimpleIdentifier label, Token colon) { | 6497 Label.full(SimpleIdentifier label, Token colon) { |
| 5963 this._label = becomeParentOf(label); | 6498 this._label = becomeParentOf(label); |
| 5964 this._colon = colon; | 6499 this._colon = colon; |
| 5965 } | 6500 } |
| 6501 /** | |
| 6502 * Initialize a newly created label. | |
| 6503 * @param label the label being applied | |
| 6504 * @param colon the colon that separates the label from whatever follows | |
| 6505 */ | |
| 6506 Label({SimpleIdentifier label, Token colon}) : this.full(label, colon); | |
| 5966 accept(ASTVisitor visitor) => visitor.visitLabel(this); | 6507 accept(ASTVisitor visitor) => visitor.visitLabel(this); |
| 5967 Token get beginToken => _label.beginToken; | 6508 Token get beginToken => _label.beginToken; |
| 5968 /** | 6509 /** |
| 5969 * Return the colon that separates the label from the statement. | 6510 * Return the colon that separates the label from the statement. |
| 5970 * @return the colon that separates the label from the statement | 6511 * @return the colon that separates the label from the statement |
| 5971 */ | 6512 */ |
| 5972 Token get colon => _colon; | 6513 Token get colon => _colon; |
| 5973 Token get endToken => _colon; | 6514 Token get endToken => _colon; |
| 5974 /** | 6515 /** |
| 5975 * Return the label being associated with the statement. | 6516 * Return the label being associated with the statement. |
| 5976 * @return the label being associated with the statement | 6517 * @return the label being associated with the statement |
| 5977 */ | 6518 */ |
| 5978 SimpleIdentifier get label => _label; | 6519 SimpleIdentifier get label => _label; |
| 5979 /** | 6520 /** |
| 5980 * Set the colon that separates the label from the statement to the given toke n. | 6521 * Set the colon that separates the label from the statement to the given toke n. |
| 5981 * @param colon the colon that separates the label from the statement | 6522 * @param colon the colon that separates the label from the statement |
| 5982 */ | 6523 */ |
| 5983 void set colon3(Token colon) { | 6524 void set colon(Token colon3) { |
| 5984 this._colon = colon; | 6525 this._colon = colon3; |
| 5985 } | 6526 } |
| 5986 /** | 6527 /** |
| 5987 * Set the label being associated with the statement to the given label. | 6528 * Set the label being associated with the statement to the given label. |
| 5988 * @param label the label being associated with the statement | 6529 * @param label the label being associated with the statement |
| 5989 */ | 6530 */ |
| 5990 void set label4(SimpleIdentifier label) { | 6531 void set label(SimpleIdentifier label2) { |
| 5991 this._label = becomeParentOf(label); | 6532 this._label = becomeParentOf(label2); |
| 5992 } | 6533 } |
| 5993 void visitChildren(ASTVisitor<Object> visitor) { | 6534 void visitChildren(ASTVisitor<Object> visitor) { |
| 5994 safelyVisitChild(_label, visitor); | 6535 safelyVisitChild(_label, visitor); |
| 5995 } | 6536 } |
| 5996 } | 6537 } |
| 5997 /** | 6538 /** |
| 5998 * Instances of the class {@code LabeledStatement} represent a statement that ha s a label associated | 6539 * Instances of the class {@code LabeledStatement} represent a statement that ha s a label associated |
| 5999 * with them. | 6540 * with them. |
| 6000 * <pre> | 6541 * <pre> |
| 6001 * labeledStatement ::={@link Label label}+ {@link Statement statement}</pre> | 6542 * labeledStatement ::={@link Label label}+ {@link Statement statement}</pre> |
| 6002 */ | 6543 */ |
| 6003 class LabeledStatement extends Statement { | 6544 class LabeledStatement extends Statement { |
| 6004 /** | 6545 /** |
| 6005 * The labels being associated with the statement. | 6546 * The labels being associated with the statement. |
| 6006 */ | 6547 */ |
| 6007 NodeList<Label> _labels; | 6548 NodeList<Label> _labels; |
| 6008 /** | 6549 /** |
| 6009 * The statement with which the labels are being associated. | 6550 * The statement with which the labels are being associated. |
| 6010 */ | 6551 */ |
| 6011 Statement _statement; | 6552 Statement _statement; |
| 6012 /** | 6553 /** |
| 6013 * Initialize a newly created labeled statement. | 6554 * Initialize a newly created labeled statement. |
| 6014 * @param labels the labels being associated with the statement | 6555 * @param labels the labels being associated with the statement |
| 6015 * @param statement the statement with which the labels are being associated | 6556 * @param statement the statement with which the labels are being associated |
| 6016 */ | 6557 */ |
| 6017 LabeledStatement(List<Label> labels, Statement statement) { | 6558 LabeledStatement.full(List<Label> labels, Statement statement) { |
| 6018 this._labels = new NodeList<Label>(this); | 6559 this._labels = new NodeList<Label>(this); |
| 6019 this._labels.addAll(labels); | 6560 this._labels.addAll(labels); |
| 6020 this._statement = becomeParentOf(statement); | 6561 this._statement = becomeParentOf(statement); |
| 6021 } | 6562 } |
| 6563 /** | |
| 6564 * Initialize a newly created labeled statement. | |
| 6565 * @param labels the labels being associated with the statement | |
| 6566 * @param statement the statement with which the labels are being associated | |
| 6567 */ | |
| 6568 LabeledStatement({List<Label> labels, Statement statement}) : this.full(labels , statement); | |
| 6022 accept(ASTVisitor visitor) => visitor.visitLabeledStatement(this); | 6569 accept(ASTVisitor visitor) => visitor.visitLabeledStatement(this); |
| 6023 Token get beginToken { | 6570 Token get beginToken { |
| 6024 if (!_labels.isEmpty) { | 6571 if (!_labels.isEmpty) { |
| 6025 return _labels.beginToken; | 6572 return _labels.beginToken; |
| 6026 } | 6573 } |
| 6027 return _statement.beginToken; | 6574 return _statement.beginToken; |
| 6028 } | 6575 } |
| 6029 Token get endToken => _statement.endToken; | 6576 Token get endToken => _statement.endToken; |
| 6030 /** | 6577 /** |
| 6031 * Return the labels being associated with the statement. | 6578 * Return the labels being associated with the statement. |
| 6032 * @return the labels being associated with the statement | 6579 * @return the labels being associated with the statement |
| 6033 */ | 6580 */ |
| 6034 NodeList<Label> get labels => _labels; | 6581 NodeList<Label> get labels => _labels; |
| 6035 /** | 6582 /** |
| 6036 * Return the statement with which the labels are being associated. | 6583 * Return the statement with which the labels are being associated. |
| 6037 * @return the statement with which the labels are being associated | 6584 * @return the statement with which the labels are being associated |
| 6038 */ | 6585 */ |
| 6039 Statement get statement => _statement; | 6586 Statement get statement => _statement; |
| 6040 /** | 6587 /** |
| 6041 * Set the statement with which the labels are being associated to the given s tatement. | 6588 * Set the statement with which the labels are being associated to the given s tatement. |
| 6042 * @param statement the statement with which the labels are being associated | 6589 * @param statement the statement with which the labels are being associated |
| 6043 */ | 6590 */ |
| 6044 void set statement2(Statement statement) { | 6591 void set statement(Statement statement2) { |
| 6045 this._statement = becomeParentOf(statement); | 6592 this._statement = becomeParentOf(statement2); |
| 6046 } | 6593 } |
| 6047 void visitChildren(ASTVisitor<Object> visitor) { | 6594 void visitChildren(ASTVisitor<Object> visitor) { |
| 6048 _labels.accept(visitor); | 6595 _labels.accept(visitor); |
| 6049 safelyVisitChild(_statement, visitor); | 6596 safelyVisitChild(_statement, visitor); |
| 6050 } | 6597 } |
| 6051 } | 6598 } |
| 6052 /** | 6599 /** |
| 6053 * Instances of the class {@code LibraryDirective} represent a library directive . | 6600 * Instances of the class {@code LibraryDirective} represent a library directive . |
| 6054 * <pre> | 6601 * <pre> |
| 6055 * libraryDirective ::={@link Annotation metadata} 'library' {@link Identifier n ame} ';' | 6602 * libraryDirective ::={@link Annotation metadata} 'library' {@link Identifier n ame} ';' |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 6069 */ | 6616 */ |
| 6070 Token _semicolon; | 6617 Token _semicolon; |
| 6071 /** | 6618 /** |
| 6072 * Initialize a newly created library directive. | 6619 * Initialize a newly created library directive. |
| 6073 * @param comment the documentation comment associated with this directive | 6620 * @param comment the documentation comment associated with this directive |
| 6074 * @param metadata the annotations associated with the directive | 6621 * @param metadata the annotations associated with the directive |
| 6075 * @param libraryToken the token representing the 'library' token | 6622 * @param libraryToken the token representing the 'library' token |
| 6076 * @param name the name of the library being defined | 6623 * @param name the name of the library being defined |
| 6077 * @param semicolon the semicolon terminating the directive | 6624 * @param semicolon the semicolon terminating the directive |
| 6078 */ | 6625 */ |
| 6079 LibraryDirective(Comment comment, List<Annotation> metadata, Token libraryToke n, LibraryIdentifier name, Token semicolon) : super(comment, metadata) { | 6626 LibraryDirective.full(Comment comment, List<Annotation> metadata, Token librar yToken, LibraryIdentifier name, Token semicolon) : super.full(comment, metadata) { |
| 6080 this._libraryToken = libraryToken; | 6627 this._libraryToken = libraryToken; |
| 6081 this._name = becomeParentOf(name); | 6628 this._name = becomeParentOf(name); |
| 6082 this._semicolon = semicolon; | 6629 this._semicolon = semicolon; |
| 6083 } | 6630 } |
| 6631 /** | |
| 6632 * Initialize a newly created library directive. | |
| 6633 * @param comment the documentation comment associated with this directive | |
| 6634 * @param metadata the annotations associated with the directive | |
| 6635 * @param libraryToken the token representing the 'library' token | |
| 6636 * @param name the name of the library being defined | |
| 6637 * @param semicolon the semicolon terminating the directive | |
| 6638 */ | |
| 6639 LibraryDirective({Comment comment, List<Annotation> metadata, Token libraryTok en, LibraryIdentifier name, Token semicolon}) : this.full(comment, metadata, lib raryToken, name, semicolon); | |
| 6084 accept(ASTVisitor visitor) => visitor.visitLibraryDirective(this); | 6640 accept(ASTVisitor visitor) => visitor.visitLibraryDirective(this); |
| 6085 Token get endToken => _semicolon; | 6641 Token get endToken => _semicolon; |
| 6086 Token get keyword => _libraryToken; | 6642 Token get keyword => _libraryToken; |
| 6087 /** | 6643 /** |
| 6088 * Return the token representing the 'library' token. | 6644 * Return the token representing the 'library' token. |
| 6089 * @return the token representing the 'library' token | 6645 * @return the token representing the 'library' token |
| 6090 */ | 6646 */ |
| 6091 Token get libraryToken => _libraryToken; | 6647 Token get libraryToken => _libraryToken; |
| 6092 /** | 6648 /** |
| 6093 * Return the name of the library being defined. | 6649 * Return the name of the library being defined. |
| 6094 * @return the name of the library being defined | 6650 * @return the name of the library being defined |
| 6095 */ | 6651 */ |
| 6096 LibraryIdentifier get name => _name; | 6652 LibraryIdentifier get name => _name; |
| 6097 /** | 6653 /** |
| 6098 * Return the semicolon terminating the directive. | 6654 * Return the semicolon terminating the directive. |
| 6099 * @return the semicolon terminating the directive | 6655 * @return the semicolon terminating the directive |
| 6100 */ | 6656 */ |
| 6101 Token get semicolon => _semicolon; | 6657 Token get semicolon => _semicolon; |
| 6102 /** | 6658 /** |
| 6103 * Set the token representing the 'library' token to the given token. | 6659 * Set the token representing the 'library' token to the given token. |
| 6104 * @param libraryToken the token representing the 'library' token | 6660 * @param libraryToken the token representing the 'library' token |
| 6105 */ | 6661 */ |
| 6106 void set libraryToken2(Token libraryToken) { | 6662 void set libraryToken(Token libraryToken2) { |
| 6107 this._libraryToken = libraryToken; | 6663 this._libraryToken = libraryToken2; |
| 6108 } | 6664 } |
| 6109 /** | 6665 /** |
| 6110 * Set the name of the library being defined to the given name. | 6666 * Set the name of the library being defined to the given name. |
| 6111 * @param name the name of the library being defined | 6667 * @param name the name of the library being defined |
| 6112 */ | 6668 */ |
| 6113 void set name9(LibraryIdentifier name) { | 6669 void set name(LibraryIdentifier name6) { |
| 6114 this._name = becomeParentOf(name); | 6670 this._name = becomeParentOf(name6); |
| 6115 } | 6671 } |
| 6116 /** | 6672 /** |
| 6117 * Set the semicolon terminating the directive to the given token. | 6673 * Set the semicolon terminating the directive to the given token. |
| 6118 * @param semicolon the semicolon terminating the directive | 6674 * @param semicolon the semicolon terminating the directive |
| 6119 */ | 6675 */ |
| 6120 void set semicolon11(Token semicolon) { | 6676 void set semicolon(Token semicolon11) { |
| 6121 this._semicolon = semicolon; | 6677 this._semicolon = semicolon11; |
| 6122 } | 6678 } |
| 6123 void visitChildren(ASTVisitor<Object> visitor) { | 6679 void visitChildren(ASTVisitor<Object> visitor) { |
| 6124 super.visitChildren(visitor); | 6680 super.visitChildren(visitor); |
| 6125 safelyVisitChild(_name, visitor); | 6681 safelyVisitChild(_name, visitor); |
| 6126 } | 6682 } |
| 6127 Token get firstTokenAfterCommentAndMetadata => _libraryToken; | 6683 Token get firstTokenAfterCommentAndMetadata => _libraryToken; |
| 6128 } | 6684 } |
| 6129 /** | 6685 /** |
| 6130 * Instances of the class {@code LibraryIdentifier} represent the identifier for a library. | 6686 * Instances of the class {@code LibraryIdentifier} represent the identifier for a library. |
| 6131 * <pre> | 6687 * <pre> |
| 6132 * libraryIdentifier ::={@link SimpleIdentifier component} ('.' {@link SimpleIde ntifier component}) | 6688 * libraryIdentifier ::={@link SimpleIdentifier component} ('.' {@link SimpleIde ntifier component}) |
| 6133 * </pre> | 6689 * </pre> |
| 6134 */ | 6690 */ |
| 6135 class LibraryIdentifier extends Identifier { | 6691 class LibraryIdentifier extends Identifier { |
| 6136 /** | 6692 /** |
| 6137 * The components of the identifier. | 6693 * The components of the identifier. |
| 6138 */ | 6694 */ |
| 6139 NodeList<SimpleIdentifier> _components; | 6695 NodeList<SimpleIdentifier> _components; |
| 6140 /** | 6696 /** |
| 6141 * Initialize a newly created prefixed identifier. | 6697 * Initialize a newly created prefixed identifier. |
| 6142 * @param components the components of the identifier | 6698 * @param components the components of the identifier |
| 6143 */ | 6699 */ |
| 6144 LibraryIdentifier(List<SimpleIdentifier> components) { | 6700 LibraryIdentifier.full(List<SimpleIdentifier> components) { |
| 6145 this._components = new NodeList<SimpleIdentifier>(this); | 6701 this._components = new NodeList<SimpleIdentifier>(this); |
| 6146 this._components.addAll(components); | 6702 this._components.addAll(components); |
| 6147 } | 6703 } |
| 6704 /** | |
| 6705 * Initialize a newly created prefixed identifier. | |
| 6706 * @param components the components of the identifier | |
| 6707 */ | |
| 6708 LibraryIdentifier({List<SimpleIdentifier> components}) : this.full(components) ; | |
| 6148 accept(ASTVisitor visitor) => visitor.visitLibraryIdentifier(this); | 6709 accept(ASTVisitor visitor) => visitor.visitLibraryIdentifier(this); |
| 6149 Token get beginToken => _components.beginToken; | 6710 Token get beginToken => _components.beginToken; |
| 6150 /** | 6711 /** |
| 6151 * Return the components of the identifier. | 6712 * Return the components of the identifier. |
| 6152 * @return the components of the identifier | 6713 * @return the components of the identifier |
| 6153 */ | 6714 */ |
| 6154 NodeList<SimpleIdentifier> get components => _components; | 6715 NodeList<SimpleIdentifier> get components => _components; |
| 6155 Token get endToken => _components.endToken; | 6716 Token get endToken => _components.endToken; |
| 6156 String get name { | 6717 String get name { |
| 6157 StringBuffer builder = new StringBuffer(); | 6718 StringBuffer builder = new StringBuffer(); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6192 Token _rightBracket; | 6753 Token _rightBracket; |
| 6193 /** | 6754 /** |
| 6194 * Initialize a newly created list literal. | 6755 * Initialize a newly created list literal. |
| 6195 * @param modifier the const modifier associated with this literal | 6756 * @param modifier the const modifier associated with this literal |
| 6196 * @param typeArguments the type argument associated with this literal, or {@c ode null} if no type | 6757 * @param typeArguments the type argument associated with this literal, or {@c ode null} if no type |
| 6197 * arguments were declared | 6758 * arguments were declared |
| 6198 * @param leftBracket the left square bracket | 6759 * @param leftBracket the left square bracket |
| 6199 * @param elements the expressions used to compute the elements of the list | 6760 * @param elements the expressions used to compute the elements of the list |
| 6200 * @param rightBracket the right square bracket | 6761 * @param rightBracket the right square bracket |
| 6201 */ | 6762 */ |
| 6202 ListLiteral(Token modifier, TypeArgumentList typeArguments, Token leftBracket, List<Expression> elements, Token rightBracket) : super(modifier, typeArguments) { | 6763 ListLiteral.full(Token modifier, TypeArgumentList typeArguments, Token leftBra cket, List<Expression> elements, Token rightBracket) : super.full(modifier, type Arguments) { |
| 6203 this._elements = new NodeList<Expression>(this); | 6764 this._elements = new NodeList<Expression>(this); |
| 6204 this._leftBracket = leftBracket; | 6765 this._leftBracket = leftBracket; |
| 6205 this._elements.addAll(elements); | 6766 this._elements.addAll(elements); |
| 6206 this._rightBracket = rightBracket; | 6767 this._rightBracket = rightBracket; |
| 6207 } | 6768 } |
| 6769 /** | |
| 6770 * Initialize a newly created list literal. | |
| 6771 * @param modifier the const modifier associated with this literal | |
| 6772 * @param typeArguments the type argument associated with this literal, or {@c ode null} if no type | |
| 6773 * arguments were declared | |
| 6774 * @param leftBracket the left square bracket | |
| 6775 * @param elements the expressions used to compute the elements of the list | |
| 6776 * @param rightBracket the right square bracket | |
| 6777 */ | |
| 6778 ListLiteral({Token modifier, TypeArgumentList typeArguments, Token leftBracket , List<Expression> elements, Token rightBracket}) : this.full(modifier, typeArgu ments, leftBracket, elements, rightBracket); | |
| 6208 accept(ASTVisitor visitor) => visitor.visitListLiteral(this); | 6779 accept(ASTVisitor visitor) => visitor.visitListLiteral(this); |
| 6209 Token get beginToken { | 6780 Token get beginToken { |
| 6210 Token token = modifier; | 6781 Token token = modifier; |
| 6211 if (token != null) { | 6782 if (token != null) { |
| 6212 return token; | 6783 return token; |
| 6213 } | 6784 } |
| 6214 TypeArgumentList typeArguments6 = typeArguments; | 6785 TypeArgumentList typeArguments6 = typeArguments; |
| 6215 if (typeArguments6 != null) { | 6786 if (typeArguments6 != null) { |
| 6216 return typeArguments6.beginToken; | 6787 return typeArguments6.beginToken; |
| 6217 } | 6788 } |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 6230 Token get leftBracket => _leftBracket; | 6801 Token get leftBracket => _leftBracket; |
| 6231 /** | 6802 /** |
| 6232 * Return the right square bracket. | 6803 * Return the right square bracket. |
| 6233 * @return the right square bracket | 6804 * @return the right square bracket |
| 6234 */ | 6805 */ |
| 6235 Token get rightBracket => _rightBracket; | 6806 Token get rightBracket => _rightBracket; |
| 6236 /** | 6807 /** |
| 6237 * Set the left square bracket to the given token. | 6808 * Set the left square bracket to the given token. |
| 6238 * @param bracket the left square bracket | 6809 * @param bracket the left square bracket |
| 6239 */ | 6810 */ |
| 6240 void set leftBracket6(Token bracket) { | 6811 void set leftBracket(Token bracket) { |
| 6241 _leftBracket = bracket; | 6812 _leftBracket = bracket; |
| 6242 } | 6813 } |
| 6243 /** | 6814 /** |
| 6244 * Set the right square bracket to the given token. | 6815 * Set the right square bracket to the given token. |
| 6245 * @param bracket the right square bracket | 6816 * @param bracket the right square bracket |
| 6246 */ | 6817 */ |
| 6247 void set rightBracket6(Token bracket) { | 6818 void set rightBracket(Token bracket) { |
| 6248 _rightBracket = bracket; | 6819 _rightBracket = bracket; |
| 6249 } | 6820 } |
| 6250 void visitChildren(ASTVisitor<Object> visitor) { | 6821 void visitChildren(ASTVisitor<Object> visitor) { |
| 6251 super.visitChildren(visitor); | 6822 super.visitChildren(visitor); |
| 6252 _elements.accept(visitor); | 6823 _elements.accept(visitor); |
| 6253 } | 6824 } |
| 6254 } | 6825 } |
| 6255 /** | 6826 /** |
| 6256 * The abstract class {@code Literal} defines the behavior common to nodes that represent a literal | 6827 * The abstract class {@code Literal} defines the behavior common to nodes that represent a literal |
| 6257 * expression. | 6828 * expression. |
| (...skipping 24 matching lines...) Expand all Loading... | |
| 6282 Token _rightBracket; | 6853 Token _rightBracket; |
| 6283 /** | 6854 /** |
| 6284 * Initialize a newly created map literal. | 6855 * Initialize a newly created map literal. |
| 6285 * @param modifier the const modifier associated with this literal | 6856 * @param modifier the const modifier associated with this literal |
| 6286 * @param typeArguments the type argument associated with this literal, or {@c ode null} if no type | 6857 * @param typeArguments the type argument associated with this literal, or {@c ode null} if no type |
| 6287 * arguments were declared | 6858 * arguments were declared |
| 6288 * @param leftBracket the left curly bracket | 6859 * @param leftBracket the left curly bracket |
| 6289 * @param entries the entries in the map | 6860 * @param entries the entries in the map |
| 6290 * @param rightBracket the right curly bracket | 6861 * @param rightBracket the right curly bracket |
| 6291 */ | 6862 */ |
| 6292 MapLiteral(Token modifier, TypeArgumentList typeArguments, Token leftBracket, List<MapLiteralEntry> entries, Token rightBracket) : super(modifier, typeArgumen ts) { | 6863 MapLiteral.full(Token modifier, TypeArgumentList typeArguments, Token leftBrac ket, List<MapLiteralEntry> entries, Token rightBracket) : super.full(modifier, t ypeArguments) { |
| 6293 this._entries = new NodeList<MapLiteralEntry>(this); | 6864 this._entries = new NodeList<MapLiteralEntry>(this); |
| 6294 this._leftBracket = leftBracket; | 6865 this._leftBracket = leftBracket; |
| 6295 this._entries.addAll(entries); | 6866 this._entries.addAll(entries); |
| 6296 this._rightBracket = rightBracket; | 6867 this._rightBracket = rightBracket; |
| 6297 } | 6868 } |
| 6869 /** | |
| 6870 * Initialize a newly created map literal. | |
| 6871 * @param modifier the const modifier associated with this literal | |
| 6872 * @param typeArguments the type argument associated with this literal, or {@c ode null} if no type | |
| 6873 * arguments were declared | |
| 6874 * @param leftBracket the left curly bracket | |
| 6875 * @param entries the entries in the map | |
| 6876 * @param rightBracket the right curly bracket | |
| 6877 */ | |
| 6878 MapLiteral({Token modifier, TypeArgumentList typeArguments, Token leftBracket, List<MapLiteralEntry> entries, Token rightBracket}) : this.full(modifier, typeA rguments, leftBracket, entries, rightBracket); | |
| 6298 accept(ASTVisitor visitor) => visitor.visitMapLiteral(this); | 6879 accept(ASTVisitor visitor) => visitor.visitMapLiteral(this); |
| 6299 Token get beginToken { | 6880 Token get beginToken { |
| 6300 Token token = modifier; | 6881 Token token = modifier; |
| 6301 if (token != null) { | 6882 if (token != null) { |
| 6302 return token; | 6883 return token; |
| 6303 } | 6884 } |
| 6304 TypeArgumentList typeArguments7 = typeArguments; | 6885 TypeArgumentList typeArguments7 = typeArguments; |
| 6305 if (typeArguments7 != null) { | 6886 if (typeArguments7 != null) { |
| 6306 return typeArguments7.beginToken; | 6887 return typeArguments7.beginToken; |
| 6307 } | 6888 } |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 6320 Token get leftBracket => _leftBracket; | 6901 Token get leftBracket => _leftBracket; |
| 6321 /** | 6902 /** |
| 6322 * Return the right curly bracket. | 6903 * Return the right curly bracket. |
| 6323 * @return the right curly bracket | 6904 * @return the right curly bracket |
| 6324 */ | 6905 */ |
| 6325 Token get rightBracket => _rightBracket; | 6906 Token get rightBracket => _rightBracket; |
| 6326 /** | 6907 /** |
| 6327 * Set the left curly bracket to the given token. | 6908 * Set the left curly bracket to the given token. |
| 6328 * @param bracket the left curly bracket | 6909 * @param bracket the left curly bracket |
| 6329 */ | 6910 */ |
| 6330 void set leftBracket7(Token bracket) { | 6911 void set leftBracket(Token bracket) { |
| 6331 _leftBracket = bracket; | 6912 _leftBracket = bracket; |
| 6332 } | 6913 } |
| 6333 /** | 6914 /** |
| 6334 * Set the right curly bracket to the given token. | 6915 * Set the right curly bracket to the given token. |
| 6335 * @param bracket the right curly bracket | 6916 * @param bracket the right curly bracket |
| 6336 */ | 6917 */ |
| 6337 void set rightBracket7(Token bracket) { | 6918 void set rightBracket(Token bracket) { |
| 6338 _rightBracket = bracket; | 6919 _rightBracket = bracket; |
| 6339 } | 6920 } |
| 6340 void visitChildren(ASTVisitor<Object> visitor) { | 6921 void visitChildren(ASTVisitor<Object> visitor) { |
| 6341 super.visitChildren(visitor); | 6922 super.visitChildren(visitor); |
| 6342 _entries.accept(visitor); | 6923 _entries.accept(visitor); |
| 6343 } | 6924 } |
| 6344 } | 6925 } |
| 6345 /** | 6926 /** |
| 6346 * Instances of the class {@code MapLiteralEntry} represent a single key/value p air in a map | 6927 * Instances of the class {@code MapLiteralEntry} represent a single key/value p air in a map |
| 6347 * literal. | 6928 * literal. |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 6360 /** | 6941 /** |
| 6361 * The expression computing the value that will be associated with the key. | 6942 * The expression computing the value that will be associated with the key. |
| 6362 */ | 6943 */ |
| 6363 Expression _value; | 6944 Expression _value; |
| 6364 /** | 6945 /** |
| 6365 * Initialize a newly created map literal entry. | 6946 * Initialize a newly created map literal entry. |
| 6366 * @param key the key with which the value will be associated | 6947 * @param key the key with which the value will be associated |
| 6367 * @param separator the colon that separates the key from the value | 6948 * @param separator the colon that separates the key from the value |
| 6368 * @param value the expression computing the value that will be associated wit h the key | 6949 * @param value the expression computing the value that will be associated wit h the key |
| 6369 */ | 6950 */ |
| 6370 MapLiteralEntry(StringLiteral key, Token separator, Expression value) { | 6951 MapLiteralEntry.full(StringLiteral key, Token separator, Expression value) { |
| 6371 this._key = becomeParentOf(key); | 6952 this._key = becomeParentOf(key); |
| 6372 this._separator = separator; | 6953 this._separator = separator; |
| 6373 this._value = becomeParentOf(value); | 6954 this._value = becomeParentOf(value); |
| 6374 } | 6955 } |
| 6956 /** | |
| 6957 * Initialize a newly created map literal entry. | |
| 6958 * @param key the key with which the value will be associated | |
| 6959 * @param separator the colon that separates the key from the value | |
| 6960 * @param value the expression computing the value that will be associated wit h the key | |
| 6961 */ | |
| 6962 MapLiteralEntry({StringLiteral key, Token separator, Expression value}) : this .full(key, separator, value); | |
| 6375 accept(ASTVisitor visitor) => visitor.visitMapLiteralEntry(this); | 6963 accept(ASTVisitor visitor) => visitor.visitMapLiteralEntry(this); |
| 6376 Token get beginToken => _key.beginToken; | 6964 Token get beginToken => _key.beginToken; |
| 6377 Token get endToken => _value.endToken; | 6965 Token get endToken => _value.endToken; |
| 6378 /** | 6966 /** |
| 6379 * Return the key with which the value will be associated. | 6967 * Return the key with which the value will be associated. |
| 6380 * @return the key with which the value will be associated | 6968 * @return the key with which the value will be associated |
| 6381 */ | 6969 */ |
| 6382 StringLiteral get key => _key; | 6970 StringLiteral get key => _key; |
| 6383 /** | 6971 /** |
| 6384 * Return the colon that separates the key from the value. | 6972 * Return the colon that separates the key from the value. |
| 6385 * @return the colon that separates the key from the value | 6973 * @return the colon that separates the key from the value |
| 6386 */ | 6974 */ |
| 6387 Token get separator => _separator; | 6975 Token get separator => _separator; |
| 6388 /** | 6976 /** |
| 6389 * Return the expression computing the value that will be associated with the key. | 6977 * Return the expression computing the value that will be associated with the key. |
| 6390 * @return the expression computing the value that will be associated with the key | 6978 * @return the expression computing the value that will be associated with the key |
| 6391 */ | 6979 */ |
| 6392 Expression get value => _value; | 6980 Expression get value => _value; |
| 6393 /** | 6981 /** |
| 6394 * Set the key with which the value will be associated to the given string. | 6982 * Set the key with which the value will be associated to the given string. |
| 6395 * @param string the key with which the value will be associated | 6983 * @param string the key with which the value will be associated |
| 6396 */ | 6984 */ |
| 6397 void set key2(StringLiteral string) { | 6985 void set key(StringLiteral string) { |
| 6398 _key = becomeParentOf(string); | 6986 _key = becomeParentOf(string); |
| 6399 } | 6987 } |
| 6400 /** | 6988 /** |
| 6401 * Set the colon that separates the key from the value to the given token. | 6989 * Set the colon that separates the key from the value to the given token. |
| 6402 * @param separator the colon that separates the key from the value | 6990 * @param separator the colon that separates the key from the value |
| 6403 */ | 6991 */ |
| 6404 void set separator4(Token separator) { | 6992 void set separator(Token separator4) { |
| 6405 this._separator = separator; | 6993 this._separator = separator4; |
| 6406 } | 6994 } |
| 6407 /** | 6995 /** |
| 6408 * Set the expression computing the value that will be associated with the key to the given | 6996 * Set the expression computing the value that will be associated with the key to the given |
| 6409 * expression. | 6997 * expression. |
| 6410 * @param expression the expression computing the value that will be associate d with the key | 6998 * @param expression the expression computing the value that will be associate d with the key |
| 6411 */ | 6999 */ |
| 6412 void set value8(Expression expression) { | 7000 void set value(Expression expression) { |
| 6413 _value = becomeParentOf(expression); | 7001 _value = becomeParentOf(expression); |
| 6414 } | 7002 } |
| 6415 void visitChildren(ASTVisitor<Object> visitor) { | 7003 void visitChildren(ASTVisitor<Object> visitor) { |
| 6416 safelyVisitChild(_key, visitor); | 7004 safelyVisitChild(_key, visitor); |
| 6417 safelyVisitChild(_value, visitor); | 7005 safelyVisitChild(_value, visitor); |
| 6418 } | 7006 } |
| 6419 } | 7007 } |
| 6420 /** | 7008 /** |
| 6421 * Instances of the class {@code MethodDeclaration} represent a method declarati on. | 7009 * Instances of the class {@code MethodDeclaration} represent a method declarati on. |
| 6422 * <pre> | 7010 * <pre> |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6468 * @param metadata the annotations associated with this method | 7056 * @param metadata the annotations associated with this method |
| 6469 * @param modifierKeyword the token representing the 'abstract' or 'static' ke yword | 7057 * @param modifierKeyword the token representing the 'abstract' or 'static' ke yword |
| 6470 * @param returnType the return type of the method | 7058 * @param returnType the return type of the method |
| 6471 * @param propertyKeyword the token representing the 'get' or 'set' keyword | 7059 * @param propertyKeyword the token representing the 'get' or 'set' keyword |
| 6472 * @param operatorKeyword the token representing the 'operator' keyword | 7060 * @param operatorKeyword the token representing the 'operator' keyword |
| 6473 * @param name the name of the method | 7061 * @param name the name of the method |
| 6474 * @param parameters the parameters associated with the method, or {@code null } if this method | 7062 * @param parameters the parameters associated with the method, or {@code null } if this method |
| 6475 * declares a getter | 7063 * declares a getter |
| 6476 * @param body the body of the method | 7064 * @param body the body of the method |
| 6477 */ | 7065 */ |
| 6478 MethodDeclaration(Comment comment, List<Annotation> metadata, Token externalKe yword, Token modifierKeyword, TypeName returnType, Token propertyKeyword, Token operatorKeyword, Identifier name, FormalParameterList parameters, FunctionBody b ody) : super(comment, metadata) { | 7066 MethodDeclaration.full(Comment comment, List<Annotation> metadata, Token exter nalKeyword, Token modifierKeyword, TypeName returnType, Token propertyKeyword, T oken operatorKeyword, Identifier name, FormalParameterList parameters, FunctionB ody body) : super.full(comment, metadata) { |
| 6479 this._externalKeyword = externalKeyword; | 7067 this._externalKeyword = externalKeyword; |
| 6480 this._modifierKeyword = modifierKeyword; | 7068 this._modifierKeyword = modifierKeyword; |
| 6481 this._returnType = becomeParentOf(returnType); | 7069 this._returnType = becomeParentOf(returnType); |
| 6482 this._propertyKeyword = propertyKeyword; | 7070 this._propertyKeyword = propertyKeyword; |
| 6483 this._operatorKeyword = operatorKeyword; | 7071 this._operatorKeyword = operatorKeyword; |
| 6484 this._name = becomeParentOf(name); | 7072 this._name = becomeParentOf(name); |
| 6485 this._parameters = becomeParentOf(parameters); | 7073 this._parameters = becomeParentOf(parameters); |
| 6486 this._body = becomeParentOf(body); | 7074 this._body = becomeParentOf(body); |
| 6487 } | 7075 } |
| 7076 /** | |
| 7077 * Initialize a newly created method declaration. | |
| 7078 * @param externalKeyword the token for the 'external' keyword | |
| 7079 * @param comment the documentation comment associated with this method | |
| 7080 * @param metadata the annotations associated with this method | |
| 7081 * @param modifierKeyword the token representing the 'abstract' or 'static' ke yword | |
| 7082 * @param returnType the return type of the method | |
| 7083 * @param propertyKeyword the token representing the 'get' or 'set' keyword | |
| 7084 * @param operatorKeyword the token representing the 'operator' keyword | |
| 7085 * @param name the name of the method | |
| 7086 * @param parameters the parameters associated with the method, or {@code null } if this method | |
| 7087 * declares a getter | |
| 7088 * @param body the body of the method | |
| 7089 */ | |
| 7090 MethodDeclaration({Comment comment, List<Annotation> metadata, Token externalK eyword, Token modifierKeyword, TypeName returnType, Token propertyKeyword, Token operatorKeyword, Identifier name, FormalParameterList parameters, FunctionBody body}) : this.full(comment, metadata, externalKeyword, modifierKeyword, returnTy pe, propertyKeyword, operatorKeyword, name, parameters, body); | |
| 6488 accept(ASTVisitor visitor) => visitor.visitMethodDeclaration(this); | 7091 accept(ASTVisitor visitor) => visitor.visitMethodDeclaration(this); |
| 6489 /** | 7092 /** |
| 6490 * Return the body of the method. | 7093 * Return the body of the method. |
| 6491 * @return the body of the method | 7094 * @return the body of the method |
| 6492 */ | 7095 */ |
| 6493 FunctionBody get body => _body; | 7096 FunctionBody get body => _body; |
| 6494 /** | 7097 /** |
| 6495 * Return the element associated with this method, or {@code null} if the AST structure has not | 7098 * Return the element associated with this method, or {@code null} if the AST structure has not |
| 6496 * been resolved. The element can either be a {@link MethodElement}, if this r epresents the | 7099 * been resolved. The element can either be a {@link MethodElement}, if this r epresents the |
| 6497 * declaration of a normal method, or a {@link PropertyAccessorElement} if thi s represents the | 7100 * declaration of a normal method, or a {@link PropertyAccessorElement} if thi s represents the |
| 6498 * declaration of either a getter or a setter. | 7101 * declaration of either a getter or a setter. |
| 6499 * @return the element associated with this method | 7102 * @return the element associated with this method |
| 6500 */ | 7103 */ |
| 6501 ExecutableElement get element => _name != null ? _name.element as ExecutableEl ement : null; | 7104 ExecutableElement get element => _name != null ? (_name.element as ExecutableE lement) : null; |
| 6502 Token get endToken => _body.endToken; | 7105 Token get endToken => _body.endToken; |
| 6503 /** | 7106 /** |
| 6504 * Return the token for the 'external' keyword, or {@code null} if the constru ctor is not | 7107 * Return the token for the 'external' keyword, or {@code null} if the constru ctor is not |
| 6505 * external. | 7108 * external. |
| 6506 * @return the token for the 'external' keyword | 7109 * @return the token for the 'external' keyword |
| 6507 */ | 7110 */ |
| 6508 Token get externalKeyword => _externalKeyword; | 7111 Token get externalKeyword => _externalKeyword; |
| 6509 /** | 7112 /** |
| 6510 * Return the token representing the 'abstract' or 'static' keyword, or {@code null} if neither | 7113 * Return the token representing the 'abstract' or 'static' keyword, or {@code null} if neither |
| 6511 * modifier was specified. | 7114 * modifier was specified. |
| (...skipping 25 matching lines...) Expand all Loading... | |
| 6537 Token get propertyKeyword => _propertyKeyword; | 7140 Token get propertyKeyword => _propertyKeyword; |
| 6538 /** | 7141 /** |
| 6539 * Return the return type of the method, or {@code null} if no return type was declared. | 7142 * Return the return type of the method, or {@code null} if no return type was declared. |
| 6540 * @return the return type of the method | 7143 * @return the return type of the method |
| 6541 */ | 7144 */ |
| 6542 TypeName get returnType => _returnType; | 7145 TypeName get returnType => _returnType; |
| 6543 /** | 7146 /** |
| 6544 * Return {@code true} if this method declares a getter. | 7147 * Return {@code true} if this method declares a getter. |
| 6545 * @return {@code true} if this method declares a getter | 7148 * @return {@code true} if this method declares a getter |
| 6546 */ | 7149 */ |
| 6547 bool isGetter() => _propertyKeyword != null && (_propertyKeyword as KeywordTok en).keyword == Keyword.GET; | 7150 bool isGetter() => _propertyKeyword != null && identical(((_propertyKeyword as KeywordToken)).keyword, Keyword.GET); |
| 6548 /** | 7151 /** |
| 6549 * Return {@code true} if this method declares an operator. | 7152 * Return {@code true} if this method declares an operator. |
| 6550 * @return {@code true} if this method declares an operator | 7153 * @return {@code true} if this method declares an operator |
| 6551 */ | 7154 */ |
| 6552 bool isOperator() => _operatorKeyword != null; | 7155 bool isOperator() => _operatorKeyword != null; |
| 6553 /** | 7156 /** |
| 6554 * Return {@code true} if this method declares a setter. | 7157 * Return {@code true} if this method declares a setter. |
| 6555 * @return {@code true} if this method declares a setter | 7158 * @return {@code true} if this method declares a setter |
| 6556 */ | 7159 */ |
| 6557 bool isSetter() => _propertyKeyword != null && (_propertyKeyword as KeywordTok en).keyword == Keyword.SET; | 7160 bool isSetter() => _propertyKeyword != null && identical(((_propertyKeyword as KeywordToken)).keyword, Keyword.SET); |
| 6558 /** | 7161 /** |
| 6559 * Set the body of the method to the given function body. | 7162 * Set the body of the method to the given function body. |
| 6560 * @param functionBody the body of the method | 7163 * @param functionBody the body of the method |
| 6561 */ | 7164 */ |
| 6562 void set body8(FunctionBody functionBody) { | 7165 void set body(FunctionBody functionBody) { |
| 6563 _body = becomeParentOf(functionBody); | 7166 _body = becomeParentOf(functionBody); |
| 6564 } | 7167 } |
| 6565 /** | 7168 /** |
| 6566 * Set the token for the 'external' keyword to the given token. | 7169 * Set the token for the 'external' keyword to the given token. |
| 6567 * @param externalKeyword the token for the 'external' keyword | 7170 * @param externalKeyword the token for the 'external' keyword |
| 6568 */ | 7171 */ |
| 6569 void set externalKeyword4(Token externalKeyword) { | 7172 void set externalKeyword(Token externalKeyword4) { |
| 6570 this._externalKeyword = externalKeyword; | 7173 this._externalKeyword = externalKeyword4; |
| 6571 } | 7174 } |
| 6572 /** | 7175 /** |
| 6573 * Set the token representing the 'abstract' or 'static' keyword to the given token. | 7176 * Set the token representing the 'abstract' or 'static' keyword to the given token. |
| 6574 * @param modifierKeyword the token representing the 'abstract' or 'static' ke yword | 7177 * @param modifierKeyword the token representing the 'abstract' or 'static' ke yword |
| 6575 */ | 7178 */ |
| 6576 void set modifierKeyword2(Token modifierKeyword) { | 7179 void set modifierKeyword(Token modifierKeyword2) { |
| 6577 this._modifierKeyword = modifierKeyword; | 7180 this._modifierKeyword = modifierKeyword2; |
| 6578 } | 7181 } |
| 6579 /** | 7182 /** |
| 6580 * Set the name of the method to the given identifier. | 7183 * Set the name of the method to the given identifier. |
| 6581 * @param identifier the name of the method | 7184 * @param identifier the name of the method |
| 6582 */ | 7185 */ |
| 6583 void set name10(Identifier identifier) { | 7186 void set name(Identifier identifier) { |
| 6584 _name = becomeParentOf(identifier); | 7187 _name = becomeParentOf(identifier); |
| 6585 } | 7188 } |
| 6586 /** | 7189 /** |
| 6587 * Set the token representing the 'operator' keyword to the given token. | 7190 * Set the token representing the 'operator' keyword to the given token. |
| 6588 * @param operatorKeyword the token representing the 'operator' keyword | 7191 * @param operatorKeyword the token representing the 'operator' keyword |
| 6589 */ | 7192 */ |
| 6590 void set operatorKeyword2(Token operatorKeyword) { | 7193 void set operatorKeyword(Token operatorKeyword2) { |
| 6591 this._operatorKeyword = operatorKeyword; | 7194 this._operatorKeyword = operatorKeyword2; |
| 6592 } | 7195 } |
| 6593 /** | 7196 /** |
| 6594 * Set the parameters associated with the method to the given list of paramete rs. | 7197 * Set the parameters associated with the method to the given list of paramete rs. |
| 6595 * @param parameters the parameters associated with the method | 7198 * @param parameters the parameters associated with the method |
| 6596 */ | 7199 */ |
| 6597 void set parameters6(FormalParameterList parameters) { | 7200 void set parameters(FormalParameterList parameters6) { |
| 6598 this._parameters = becomeParentOf(parameters); | 7201 this._parameters = becomeParentOf(parameters6); |
| 6599 } | 7202 } |
| 6600 /** | 7203 /** |
| 6601 * Set the token representing the 'get' or 'set' keyword to the given token. | 7204 * Set the token representing the 'get' or 'set' keyword to the given token. |
| 6602 * @param propertyKeyword the token representing the 'get' or 'set' keyword | 7205 * @param propertyKeyword the token representing the 'get' or 'set' keyword |
| 6603 */ | 7206 */ |
| 6604 void set propertyKeyword3(Token propertyKeyword) { | 7207 void set propertyKeyword(Token propertyKeyword3) { |
| 6605 this._propertyKeyword = propertyKeyword; | 7208 this._propertyKeyword = propertyKeyword3; |
| 6606 } | 7209 } |
| 6607 /** | 7210 /** |
| 6608 * Set the return type of the method to the given type name. | 7211 * Set the return type of the method to the given type name. |
| 6609 * @param typeName the return type of the method | 7212 * @param typeName the return type of the method |
| 6610 */ | 7213 */ |
| 6611 void set returnType6(TypeName typeName) { | 7214 void set returnType(TypeName typeName) { |
| 6612 _returnType = becomeParentOf(typeName); | 7215 _returnType = becomeParentOf(typeName); |
| 6613 } | 7216 } |
| 6614 void visitChildren(ASTVisitor<Object> visitor) { | 7217 void visitChildren(ASTVisitor<Object> visitor) { |
| 6615 super.visitChildren(visitor); | 7218 super.visitChildren(visitor); |
| 6616 safelyVisitChild(_returnType, visitor); | 7219 safelyVisitChild(_returnType, visitor); |
| 6617 safelyVisitChild(_name, visitor); | 7220 safelyVisitChild(_name, visitor); |
| 6618 safelyVisitChild(_parameters, visitor); | 7221 safelyVisitChild(_parameters, visitor); |
| 6619 safelyVisitChild(_body, visitor); | 7222 safelyVisitChild(_body, visitor); |
| 6620 } | 7223 } |
| 6621 Token get firstTokenAfterCommentAndMetadata { | 7224 Token get firstTokenAfterCommentAndMetadata { |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6658 * The list of arguments to the method. | 7261 * The list of arguments to the method. |
| 6659 */ | 7262 */ |
| 6660 ArgumentList _argumentList; | 7263 ArgumentList _argumentList; |
| 6661 /** | 7264 /** |
| 6662 * Initialize a newly created method invocation. | 7265 * Initialize a newly created method invocation. |
| 6663 * @param target the expression producing the object on which the method is de fined | 7266 * @param target the expression producing the object on which the method is de fined |
| 6664 * @param period the period that separates the target from the method name | 7267 * @param period the period that separates the target from the method name |
| 6665 * @param methodName the name of the method being invoked | 7268 * @param methodName the name of the method being invoked |
| 6666 * @param argumentList the list of arguments to the method | 7269 * @param argumentList the list of arguments to the method |
| 6667 */ | 7270 */ |
| 6668 MethodInvocation(Expression target, Token period, SimpleIdentifier methodName, ArgumentList argumentList) { | 7271 MethodInvocation.full(Expression target, Token period, SimpleIdentifier method Name, ArgumentList argumentList) { |
| 6669 this._target = becomeParentOf(target); | 7272 this._target = becomeParentOf(target); |
| 6670 this._period = period; | 7273 this._period = period; |
| 6671 this._methodName = becomeParentOf(methodName); | 7274 this._methodName = becomeParentOf(methodName); |
| 6672 this._argumentList = becomeParentOf(argumentList); | 7275 this._argumentList = becomeParentOf(argumentList); |
| 6673 } | 7276 } |
| 7277 /** | |
| 7278 * Initialize a newly created method invocation. | |
| 7279 * @param target the expression producing the object on which the method is de fined | |
| 7280 * @param period the period that separates the target from the method name | |
| 7281 * @param methodName the name of the method being invoked | |
| 7282 * @param argumentList the list of arguments to the method | |
| 7283 */ | |
| 7284 MethodInvocation({Expression target, Token period, SimpleIdentifier methodName , ArgumentList argumentList}) : this.full(target, period, methodName, argumentLi st); | |
| 6674 accept(ASTVisitor visitor) => visitor.visitMethodInvocation(this); | 7285 accept(ASTVisitor visitor) => visitor.visitMethodInvocation(this); |
| 6675 /** | 7286 /** |
| 6676 * Return the list of arguments to the method. | 7287 * Return the list of arguments to the method. |
| 6677 * @return the list of arguments to the method | 7288 * @return the list of arguments to the method |
| 6678 */ | 7289 */ |
| 6679 ArgumentList get argumentList => _argumentList; | 7290 ArgumentList get argumentList => _argumentList; |
| 6680 Token get beginToken { | 7291 Token get beginToken { |
| 6681 if (_target != null) { | 7292 if (_target != null) { |
| 6682 return _target.beginToken; | 7293 return _target.beginToken; |
| 6683 } | 7294 } |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 6705 */ | 7316 */ |
| 6706 Expression get realTarget { | 7317 Expression get realTarget { |
| 6707 if (isCascaded()) { | 7318 if (isCascaded()) { |
| 6708 ASTNode ancestor = parent; | 7319 ASTNode ancestor = parent; |
| 6709 while (ancestor is! CascadeExpression) { | 7320 while (ancestor is! CascadeExpression) { |
| 6710 if (ancestor == null) { | 7321 if (ancestor == null) { |
| 6711 return _target; | 7322 return _target; |
| 6712 } | 7323 } |
| 6713 ancestor = ancestor.parent; | 7324 ancestor = ancestor.parent; |
| 6714 } | 7325 } |
| 6715 return (ancestor as CascadeExpression).target; | 7326 return ((ancestor as CascadeExpression)).target; |
| 6716 } | 7327 } |
| 6717 return _target; | 7328 return _target; |
| 6718 } | 7329 } |
| 6719 /** | 7330 /** |
| 6720 * Return the expression producing the object on which the method is defined, or {@code null} if | 7331 * Return the expression producing the object on which the method is defined, or {@code null} if |
| 6721 * there is no target (that is, the target is implicitly {@code this}) or if t his method | 7332 * there is no target (that is, the target is implicitly {@code this}) or if t his method |
| 6722 * invocation is part of a cascade expression. | 7333 * invocation is part of a cascade expression. |
| 6723 * @return the expression producing the object on which the method is defined | 7334 * @return the expression producing the object on which the method is defined |
| 6724 * @see #getRealTarget() | 7335 * @see #getRealTarget() |
| 6725 */ | 7336 */ |
| 6726 Expression get target => _target; | 7337 Expression get target => _target; |
| 6727 /** | 7338 /** |
| 6728 * Return {@code true} if this expression is cascaded. If it is, then the targ et of this | 7339 * Return {@code true} if this expression is cascaded. If it is, then the targ et of this |
| 6729 * expression is not stored locally but is stored in the nearest ancestor that is a{@link CascadeExpression}. | 7340 * expression is not stored locally but is stored in the nearest ancestor that is a{@link CascadeExpression}. |
| 6730 * @return {@code true} if this expression is cascaded | 7341 * @return {@code true} if this expression is cascaded |
| 6731 */ | 7342 */ |
| 6732 bool isCascaded() => _period != null && _period.type == TokenType.PERIOD_PERIO D; | 7343 bool isCascaded() => _period != null && identical(_period.type, TokenType.PERI OD_PERIOD); |
| 6733 /** | 7344 /** |
| 6734 * Set the list of arguments to the method to the given list. | 7345 * Set the list of arguments to the method to the given list. |
| 6735 * @param argumentList the list of arguments to the method | 7346 * @param argumentList the list of arguments to the method |
| 6736 */ | 7347 */ |
| 6737 void set argumentList7(ArgumentList argumentList) { | 7348 void set argumentList(ArgumentList argumentList7) { |
| 6738 this._argumentList = becomeParentOf(argumentList); | 7349 this._argumentList = becomeParentOf(argumentList7); |
| 6739 } | 7350 } |
| 6740 /** | 7351 /** |
| 6741 * Set the name of the method being invoked to the given identifier. | 7352 * Set the name of the method being invoked to the given identifier. |
| 6742 * @param identifier the name of the method being invoked | 7353 * @param identifier the name of the method being invoked |
| 6743 */ | 7354 */ |
| 6744 void set methodName2(SimpleIdentifier identifier) { | 7355 void set methodName(SimpleIdentifier identifier) { |
| 6745 _methodName = becomeParentOf(identifier); | 7356 _methodName = becomeParentOf(identifier); |
| 6746 } | 7357 } |
| 6747 /** | 7358 /** |
| 6748 * Set the period that separates the target from the method name to the given token. | 7359 * Set the period that separates the target from the method name to the given token. |
| 6749 * @param period the period that separates the target from the method name | 7360 * @param period the period that separates the target from the method name |
| 6750 */ | 7361 */ |
| 6751 void set period8(Token period) { | 7362 void set period(Token period9) { |
| 6752 this._period = period; | 7363 this._period = period9; |
| 6753 } | 7364 } |
| 6754 /** | 7365 /** |
| 6755 * Set the expression producing the object on which the method is defined to t he given expression. | 7366 * Set the expression producing the object on which the method is defined to t he given expression. |
| 6756 * @param expression the expression producing the object on which the method i s defined | 7367 * @param expression the expression producing the object on which the method i s defined |
| 6757 */ | 7368 */ |
| 6758 void set target3(Expression expression) { | 7369 void set target(Expression expression) { |
| 6759 _target = becomeParentOf(expression); | 7370 _target = becomeParentOf(expression); |
| 6760 } | 7371 } |
| 6761 void visitChildren(ASTVisitor<Object> visitor) { | 7372 void visitChildren(ASTVisitor<Object> visitor) { |
| 6762 safelyVisitChild(_target, visitor); | 7373 safelyVisitChild(_target, visitor); |
| 6763 safelyVisitChild(_methodName, visitor); | 7374 safelyVisitChild(_methodName, visitor); |
| 6764 safelyVisitChild(_argumentList, visitor); | 7375 safelyVisitChild(_argumentList, visitor); |
| 6765 } | 7376 } |
| 6766 } | 7377 } |
| 6767 /** | 7378 /** |
| 6768 * Instances of the class {@code NamedExpression} represent an expression that h as a name associated | 7379 * Instances of the class {@code NamedExpression} represent an expression that h as a name associated |
| 6769 * with it. They are used in method invocations when there are named parameters. | 7380 * with it. They are used in method invocations when there are named parameters. |
| 6770 * <pre> | 7381 * <pre> |
| 6771 * namedExpression ::={@link Label name} {@link Expression expression}</pre> | 7382 * namedExpression ::={@link Label name} {@link Expression expression}</pre> |
| 6772 */ | 7383 */ |
| 6773 class NamedExpression extends Expression { | 7384 class NamedExpression extends Expression { |
| 6774 /** | 7385 /** |
| 6775 * The name associated with the expression. | 7386 * The name associated with the expression. |
| 6776 */ | 7387 */ |
| 6777 Label _name; | 7388 Label _name; |
| 6778 /** | 7389 /** |
| 6779 * The expression with which the name is associated. | 7390 * The expression with which the name is associated. |
| 6780 */ | 7391 */ |
| 6781 Expression _expression; | 7392 Expression _expression; |
| 6782 /** | 7393 /** |
| 6783 * Initialize a newly created named expression. | 7394 * Initialize a newly created named expression. |
| 6784 * @param name the name associated with the expression | 7395 * @param name the name associated with the expression |
| 6785 * @param expression the expression with which the name is associated | 7396 * @param expression the expression with which the name is associated |
| 6786 */ | 7397 */ |
| 6787 NamedExpression(Label name, Expression expression) { | 7398 NamedExpression.full(Label name, Expression expression) { |
| 6788 this._name = becomeParentOf(name); | 7399 this._name = becomeParentOf(name); |
| 6789 this._expression = becomeParentOf(expression); | 7400 this._expression = becomeParentOf(expression); |
| 6790 } | 7401 } |
| 7402 /** | |
| 7403 * Initialize a newly created named expression. | |
| 7404 * @param name the name associated with the expression | |
| 7405 * @param expression the expression with which the name is associated | |
| 7406 */ | |
| 7407 NamedExpression({Label name, Expression expression}) : this.full(name, express ion); | |
| 6791 accept(ASTVisitor visitor) => visitor.visitNamedExpression(this); | 7408 accept(ASTVisitor visitor) => visitor.visitNamedExpression(this); |
| 6792 Token get beginToken => _name.beginToken; | 7409 Token get beginToken => _name.beginToken; |
| 6793 Token get endToken => _expression.endToken; | 7410 Token get endToken => _expression.endToken; |
| 6794 /** | 7411 /** |
| 6795 * Return the expression with which the name is associated. | 7412 * Return the expression with which the name is associated. |
| 6796 * @return the expression with which the name is associated | 7413 * @return the expression with which the name is associated |
| 6797 */ | 7414 */ |
| 6798 Expression get expression => _expression; | 7415 Expression get expression => _expression; |
| 6799 /** | 7416 /** |
| 6800 * Return the name associated with the expression. | 7417 * Return the name associated with the expression. |
| 6801 * @return the name associated with the expression | 7418 * @return the name associated with the expression |
| 6802 */ | 7419 */ |
| 6803 Label get name => _name; | 7420 Label get name => _name; |
| 6804 /** | 7421 /** |
| 6805 * Set the expression with which the name is associated to the given expressio n. | 7422 * Set the expression with which the name is associated to the given expressio n. |
| 6806 * @param expression the expression with which the name is associated | 7423 * @param expression the expression with which the name is associated |
| 6807 */ | 7424 */ |
| 6808 void set expression8(Expression expression) { | 7425 void set expression(Expression expression8) { |
| 6809 this._expression = becomeParentOf(expression); | 7426 this._expression = becomeParentOf(expression8); |
| 6810 } | 7427 } |
| 6811 /** | 7428 /** |
| 6812 * Set the name associated with the expression to the given identifier. | 7429 * Set the name associated with the expression to the given identifier. |
| 6813 * @param identifier the name associated with the expression | 7430 * @param identifier the name associated with the expression |
| 6814 */ | 7431 */ |
| 6815 void set name11(Label identifier) { | 7432 void set name(Label identifier) { |
| 6816 _name = becomeParentOf(identifier); | 7433 _name = becomeParentOf(identifier); |
| 6817 } | 7434 } |
| 6818 void visitChildren(ASTVisitor<Object> visitor) { | 7435 void visitChildren(ASTVisitor<Object> visitor) { |
| 6819 safelyVisitChild(_name, visitor); | 7436 safelyVisitChild(_name, visitor); |
| 6820 safelyVisitChild(_expression, visitor); | 7437 safelyVisitChild(_expression, visitor); |
| 6821 } | 7438 } |
| 6822 } | 7439 } |
| 6823 /** | 7440 /** |
| 6824 * The abstract class {@code NamespaceDirective} defines the behavior common to nodes that represent | 7441 * The abstract class {@code NamespaceDirective} defines the behavior common to nodes that represent |
| 6825 * a directive that impacts the namespace of a library. | 7442 * a directive that impacts the namespace of a library. |
| 6826 * <pre> | 7443 * <pre> |
| 6827 * directive ::={@link ExportDirective exportDirective}| {@link ImportDirective importDirective}</pre> | 7444 * directive ::={@link ExportDirective exportDirective}| {@link ImportDirective importDirective}</pre> |
| 6828 */ | 7445 */ |
| 6829 abstract class NamespaceDirective extends Directive { | 7446 abstract class NamespaceDirective extends UriBasedDirective { |
| 6830 /** | 7447 /** |
| 6831 * The token representing the 'import' or 'export' keyword. | 7448 * The token representing the 'import' or 'export' keyword. |
| 6832 */ | 7449 */ |
| 6833 Token _keyword; | 7450 Token _keyword; |
| 6834 /** | 7451 /** |
| 6835 * The URI of the library being imported or exported. | |
| 6836 */ | |
| 6837 StringLiteral _libraryUri; | |
| 6838 /** | |
| 6839 * The combinators used to control which names are imported or exported. | 7452 * The combinators used to control which names are imported or exported. |
| 6840 */ | 7453 */ |
| 6841 NodeList<Combinator> _combinators; | 7454 NodeList<Combinator> _combinators; |
| 6842 /** | 7455 /** |
| 6843 * The semicolon terminating the directive. | 7456 * The semicolon terminating the directive. |
| 6844 */ | 7457 */ |
| 6845 Token _semicolon; | 7458 Token _semicolon; |
| 6846 /** | 7459 /** |
| 6847 * Initialize a newly created namespace directive. | 7460 * Initialize a newly created namespace directive. |
| 6848 * @param comment the documentation comment associated with this directive | 7461 * @param comment the documentation comment associated with this directive |
| 6849 * @param metadata the annotations associated with the directive | 7462 * @param metadata the annotations associated with the directive |
| 6850 * @param keyword the token representing the 'import' or 'export' keyword | 7463 * @param keyword the token representing the 'import' or 'export' keyword |
| 6851 * @param libraryUri the URI of the library being imported or exported | 7464 * @param libraryUri the URI of the library being imported or exported |
| 6852 * @param combinators the combinators used to control which names are imported or exported | 7465 * @param combinators the combinators used to control which names are imported or exported |
| 6853 * @param semicolon the semicolon terminating the directive | 7466 * @param semicolon the semicolon terminating the directive |
| 6854 */ | 7467 */ |
| 6855 NamespaceDirective(Comment comment, List<Annotation> metadata, Token keyword, StringLiteral libraryUri, List<Combinator> combinators, Token semicolon) : super (comment, metadata) { | 7468 NamespaceDirective.full(Comment comment, List<Annotation> metadata, Token keyw ord, StringLiteral libraryUri, List<Combinator> combinators, Token semicolon) : super.full(comment, metadata, libraryUri) { |
| 6856 this._combinators = new NodeList<Combinator>(this); | 7469 this._combinators = new NodeList<Combinator>(this); |
| 6857 this._keyword = keyword; | 7470 this._keyword = keyword; |
| 6858 this._libraryUri = becomeParentOf(libraryUri); | |
| 6859 this._combinators.addAll(combinators); | 7471 this._combinators.addAll(combinators); |
| 6860 this._semicolon = semicolon; | 7472 this._semicolon = semicolon; |
| 6861 } | 7473 } |
| 6862 /** | 7474 /** |
| 7475 * Initialize a newly created namespace directive. | |
| 7476 * @param comment the documentation comment associated with this directive | |
| 7477 * @param metadata the annotations associated with the directive | |
| 7478 * @param keyword the token representing the 'import' or 'export' keyword | |
| 7479 * @param libraryUri the URI of the library being imported or exported | |
| 7480 * @param combinators the combinators used to control which names are imported or exported | |
| 7481 * @param semicolon the semicolon terminating the directive | |
| 7482 */ | |
| 7483 NamespaceDirective({Comment comment, List<Annotation> metadata, Token keyword, StringLiteral libraryUri, List<Combinator> combinators, Token semicolon}) : thi s.full(comment, metadata, keyword, libraryUri, combinators, semicolon); | |
| 7484 /** | |
| 6863 * Return the combinators used to control how names are imported or exported. | 7485 * Return the combinators used to control how names are imported or exported. |
| 6864 * @return the combinators used to control how names are imported or exported | 7486 * @return the combinators used to control how names are imported or exported |
| 6865 */ | 7487 */ |
| 6866 NodeList<Combinator> get combinators => _combinators; | 7488 NodeList<Combinator> get combinators => _combinators; |
| 6867 Token get endToken => _semicolon; | 7489 Token get endToken => _semicolon; |
| 6868 Token get keyword => _keyword; | 7490 Token get keyword => _keyword; |
| 6869 /** | 7491 /** |
| 6870 * Return the URI of the library being imported or exported. | |
| 6871 * @return the URI of the library being imported or exported | |
| 6872 */ | |
| 6873 StringLiteral get libraryUri => _libraryUri; | |
| 6874 /** | |
| 6875 * Return the semicolon terminating the directive. | 7492 * Return the semicolon terminating the directive. |
| 6876 * @return the semicolon terminating the directive | 7493 * @return the semicolon terminating the directive |
| 6877 */ | 7494 */ |
| 6878 Token get semicolon => _semicolon; | 7495 Token get semicolon => _semicolon; |
| 6879 /** | 7496 /** |
| 6880 * Set the token representing the 'import' or 'export' keyword to the given to ken. | 7497 * Set the token representing the 'import' or 'export' keyword to the given to ken. |
| 6881 * @param exportToken the token representing the 'import' or 'export' keyword | 7498 * @param exportToken the token representing the 'import' or 'export' keyword |
| 6882 */ | 7499 */ |
| 6883 void set keyword13(Token exportToken) { | 7500 void set keyword(Token exportToken) { |
| 6884 this._keyword = exportToken; | 7501 this._keyword = exportToken; |
| 6885 } | 7502 } |
| 6886 /** | 7503 /** |
| 6887 * Set the URI of the library being imported or exported to the given literal. | |
| 6888 * @param literal the URI of the library being imported or exported | |
| 6889 */ | |
| 6890 void set libraryUri2(StringLiteral literal) { | |
| 6891 _libraryUri = becomeParentOf(literal); | |
| 6892 } | |
| 6893 /** | |
| 6894 * Set the semicolon terminating the directive to the given token. | 7504 * Set the semicolon terminating the directive to the given token. |
| 6895 * @param semicolon the semicolon terminating the directive | 7505 * @param semicolon the semicolon terminating the directive |
| 6896 */ | 7506 */ |
| 6897 void set semicolon12(Token semicolon) { | 7507 void set semicolon(Token semicolon12) { |
| 6898 this._semicolon = semicolon; | 7508 this._semicolon = semicolon12; |
| 6899 } | 7509 } |
| 6900 Token get firstTokenAfterCommentAndMetadata => _keyword; | 7510 Token get firstTokenAfterCommentAndMetadata => _keyword; |
| 6901 } | 7511 } |
| 6902 /** | 7512 /** |
| 6903 * The abstract class {@code NormalFormalParameter} defines the behavior common to formal parameters | 7513 * The abstract class {@code NormalFormalParameter} defines the behavior common to formal parameters |
| 6904 * that are required (are not optional). | 7514 * that are required (are not optional). |
| 6905 * <pre> | 7515 * <pre> |
| 6906 * normalFormalParameter ::={@link FunctionTypedFormalParameter functionSignatur e}| {@link FieldFormalParameter fieldFormalParameter}| {@link SimpleFormalParame ter simpleFormalParameter}</pre> | 7516 * normalFormalParameter ::={@link FunctionTypedFormalParameter functionSignatur e}| {@link FieldFormalParameter fieldFormalParameter}| {@link SimpleFormalParame ter simpleFormalParameter}</pre> |
| 6907 */ | 7517 */ |
| 6908 abstract class NormalFormalParameter extends FormalParameter { | 7518 abstract class NormalFormalParameter extends FormalParameter { |
| 6909 /** | 7519 /** |
| 6910 * The documentation comment associated with this parameter, or {@code null} i f this parameter | 7520 * The documentation comment associated with this parameter, or {@code null} i f this parameter |
| 6911 * does not have a documentation comment associated with it. | 7521 * does not have a documentation comment associated with it. |
| 6912 */ | 7522 */ |
| 6913 Comment _comment; | 7523 Comment _comment; |
| 6914 /** | 7524 /** |
| 6915 * The annotations associated with this parameter. | 7525 * The annotations associated with this parameter. |
| 6916 */ | 7526 */ |
| 6917 NodeList<Annotation> _metadata; | 7527 NodeList<Annotation> _metadata; |
| 6918 /** | 7528 /** |
| 6919 * The name of the parameter being declared. | 7529 * The name of the parameter being declared. |
| 6920 */ | 7530 */ |
| 6921 SimpleIdentifier _identifier; | 7531 SimpleIdentifier _identifier; |
| 6922 /** | 7532 /** |
| 6923 * Initialize a newly created formal parameter. | 7533 * Initialize a newly created formal parameter. |
| 6924 * @param comment the documentation comment associated with this parameter | 7534 * @param comment the documentation comment associated with this parameter |
| 6925 * @param metadata the annotations associated with this parameter | 7535 * @param metadata the annotations associated with this parameter |
| 6926 * @param identifier the name of the parameter being declared | 7536 * @param identifier the name of the parameter being declared |
| 6927 */ | 7537 */ |
| 6928 NormalFormalParameter(Comment comment, List<Annotation> metadata, SimpleIdenti fier identifier) { | 7538 NormalFormalParameter.full(Comment comment, List<Annotation> metadata, SimpleI dentifier identifier) { |
| 6929 this._metadata = new NodeList<Annotation>(this); | 7539 this._metadata = new NodeList<Annotation>(this); |
| 6930 this._comment = becomeParentOf(comment); | 7540 this._comment = becomeParentOf(comment); |
| 6931 this._metadata.addAll(metadata); | 7541 this._metadata.addAll(metadata); |
| 6932 this._identifier = becomeParentOf(identifier); | 7542 this._identifier = becomeParentOf(identifier); |
| 6933 } | 7543 } |
| 6934 /** | 7544 /** |
| 7545 * Initialize a newly created formal parameter. | |
| 7546 * @param comment the documentation comment associated with this parameter | |
| 7547 * @param metadata the annotations associated with this parameter | |
| 7548 * @param identifier the name of the parameter being declared | |
| 7549 */ | |
| 7550 NormalFormalParameter({Comment comment, List<Annotation> metadata, SimpleIdent ifier identifier}) : this.full(comment, metadata, identifier); | |
| 7551 /** | |
| 6935 * Return the documentation comment associated with this parameter, or {@code null} if this | 7552 * Return the documentation comment associated with this parameter, or {@code null} if this |
| 6936 * parameter does not have a documentation comment associated with it. | 7553 * parameter does not have a documentation comment associated with it. |
| 6937 * @return the documentation comment associated with this parameter | 7554 * @return the documentation comment associated with this parameter |
| 6938 */ | 7555 */ |
| 6939 Comment get documentationComment => _comment; | 7556 Comment get documentationComment => _comment; |
| 6940 SimpleIdentifier get identifier => _identifier; | 7557 SimpleIdentifier get identifier => _identifier; |
| 6941 ParameterKind get kind { | 7558 ParameterKind get kind { |
| 6942 ASTNode parent6 = parent; | 7559 ASTNode parent5 = parent; |
| 6943 if (parent6 is DefaultFormalParameter) { | 7560 if (parent5 is DefaultFormalParameter) { |
| 6944 return (parent6 as DefaultFormalParameter).kind; | 7561 return ((parent5 as DefaultFormalParameter)).kind; |
| 6945 } | 7562 } |
| 6946 return ParameterKind.REQUIRED; | 7563 return ParameterKind.REQUIRED; |
| 6947 } | 7564 } |
| 6948 /** | 7565 /** |
| 6949 * Return the annotations associated with this parameter. | 7566 * Return the annotations associated with this parameter. |
| 6950 * @return the annotations associated with this parameter | 7567 * @return the annotations associated with this parameter |
| 6951 */ | 7568 */ |
| 6952 NodeList<Annotation> get metadata => _metadata; | 7569 NodeList<Annotation> get metadata => _metadata; |
| 6953 /** | 7570 /** |
| 6954 * Return {@code true} if this parameter is a const parameter. | 7571 * Return {@code true} if this parameter is a const parameter. |
| 6955 * @return {@code true} if this parameter is a const parameter | 7572 * @return {@code true} if this parameter is a const parameter |
| 6956 */ | 7573 */ |
| 6957 bool isConst(); | 7574 bool isConst(); |
| 6958 /** | 7575 /** |
| 6959 * Return {@code true} if this parameter is a final parameter. | 7576 * Return {@code true} if this parameter is a final parameter. |
| 6960 * @return {@code true} if this parameter is a final parameter | 7577 * @return {@code true} if this parameter is a final parameter |
| 6961 */ | 7578 */ |
| 6962 bool isFinal(); | 7579 bool isFinal(); |
| 6963 /** | 7580 /** |
| 6964 * Set the documentation comment associated with this parameter to the given c omment | 7581 * Set the documentation comment associated with this parameter to the given c omment |
| 6965 * @param comment the documentation comment to be associated with this paramet er | 7582 * @param comment the documentation comment to be associated with this paramet er |
| 6966 */ | 7583 */ |
| 6967 void set documentationComment(Comment comment) { | 7584 void set documentationComment(Comment comment3) { |
| 6968 this._comment = becomeParentOf(comment); | 7585 this._comment = becomeParentOf(comment3); |
| 6969 } | 7586 } |
| 6970 /** | 7587 /** |
| 6971 * Set the name of the parameter being declared to the given identifier. | 7588 * Set the name of the parameter being declared to the given identifier. |
| 6972 * @param identifier the name of the parameter being declared | 7589 * @param identifier the name of the parameter being declared |
| 6973 */ | 7590 */ |
| 6974 void set identifier4(SimpleIdentifier identifier) { | 7591 void set identifier(SimpleIdentifier identifier6) { |
| 6975 this._identifier = becomeParentOf(identifier); | 7592 this._identifier = becomeParentOf(identifier6); |
| 6976 } | 7593 } |
| 6977 void visitChildren(ASTVisitor<Object> visitor) { | 7594 void visitChildren(ASTVisitor<Object> visitor) { |
| 6978 if (commentIsBeforeAnnotations()) { | 7595 if (commentIsBeforeAnnotations()) { |
| 6979 safelyVisitChild(_comment, visitor); | 7596 safelyVisitChild(_comment, visitor); |
| 6980 _metadata.accept(visitor); | 7597 _metadata.accept(visitor); |
| 6981 } else { | 7598 } else { |
| 6982 for (ASTNode child in sortedCommentAndAnnotations) { | 7599 for (ASTNode child in sortedCommentAndAnnotations) { |
| 6983 child.accept(visitor); | 7600 child.accept(visitor); |
| 6984 } | 7601 } |
| 6985 } | 7602 } |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 7019 */ | 7636 */ |
| 7020 class NullLiteral extends Literal { | 7637 class NullLiteral extends Literal { |
| 7021 /** | 7638 /** |
| 7022 * The token representing the literal. | 7639 * The token representing the literal. |
| 7023 */ | 7640 */ |
| 7024 Token _literal; | 7641 Token _literal; |
| 7025 /** | 7642 /** |
| 7026 * Initialize a newly created null literal. | 7643 * Initialize a newly created null literal. |
| 7027 * @param token the token representing the literal | 7644 * @param token the token representing the literal |
| 7028 */ | 7645 */ |
| 7029 NullLiteral(Token token) { | 7646 NullLiteral.full(Token token) { |
| 7030 this._literal = token; | 7647 this._literal = token; |
| 7031 } | 7648 } |
| 7649 /** | |
| 7650 * Initialize a newly created null literal. | |
| 7651 * @param token the token representing the literal | |
| 7652 */ | |
| 7653 NullLiteral({Token token}) : this.full(token); | |
| 7032 accept(ASTVisitor visitor) => visitor.visitNullLiteral(this); | 7654 accept(ASTVisitor visitor) => visitor.visitNullLiteral(this); |
| 7033 Token get beginToken => _literal; | 7655 Token get beginToken => _literal; |
| 7034 Token get endToken => _literal; | 7656 Token get endToken => _literal; |
| 7035 /** | 7657 /** |
| 7036 * Return the token representing the literal. | 7658 * Return the token representing the literal. |
| 7037 * @return the token representing the literal | 7659 * @return the token representing the literal |
| 7038 */ | 7660 */ |
| 7039 Token get literal => _literal; | 7661 Token get literal => _literal; |
| 7040 /** | 7662 /** |
| 7041 * Set the token representing the literal to the given token. | 7663 * Set the token representing the literal to the given token. |
| 7042 * @param literal the token representing the literal | 7664 * @param literal the token representing the literal |
| 7043 */ | 7665 */ |
| 7044 void set literal5(Token literal) { | 7666 void set literal(Token literal5) { |
| 7045 this._literal = literal; | 7667 this._literal = literal5; |
| 7046 } | 7668 } |
| 7047 void visitChildren(ASTVisitor<Object> visitor) { | 7669 void visitChildren(ASTVisitor<Object> visitor) { |
| 7048 } | 7670 } |
| 7049 } | 7671 } |
| 7050 /** | 7672 /** |
| 7051 * Instances of the class {@code ParenthesizedExpression} represent a parenthesi zed expression. | 7673 * Instances of the class {@code ParenthesizedExpression} represent a parenthesi zed expression. |
| 7052 * <pre> | 7674 * <pre> |
| 7053 * parenthesizedExpression ::= | 7675 * parenthesizedExpression ::= |
| 7054 * '(' {@link Expression expression} ')' | 7676 * '(' {@link Expression expression} ')' |
| 7055 * </pre> | 7677 * </pre> |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 7066 /** | 7688 /** |
| 7067 * The right parenthesis. | 7689 * The right parenthesis. |
| 7068 */ | 7690 */ |
| 7069 Token _rightParenthesis; | 7691 Token _rightParenthesis; |
| 7070 /** | 7692 /** |
| 7071 * Initialize a newly created parenthesized expression. | 7693 * Initialize a newly created parenthesized expression. |
| 7072 * @param leftParenthesis the left parenthesis | 7694 * @param leftParenthesis the left parenthesis |
| 7073 * @param expression the expression within the parentheses | 7695 * @param expression the expression within the parentheses |
| 7074 * @param rightParenthesis the right parenthesis | 7696 * @param rightParenthesis the right parenthesis |
| 7075 */ | 7697 */ |
| 7076 ParenthesizedExpression(Token leftParenthesis, Expression expression, Token ri ghtParenthesis) { | 7698 ParenthesizedExpression.full(Token leftParenthesis, Expression expression, Tok en rightParenthesis) { |
| 7077 this._leftParenthesis = leftParenthesis; | 7699 this._leftParenthesis = leftParenthesis; |
| 7078 this._expression = becomeParentOf(expression); | 7700 this._expression = becomeParentOf(expression); |
| 7079 this._rightParenthesis = rightParenthesis; | 7701 this._rightParenthesis = rightParenthesis; |
| 7080 } | 7702 } |
| 7703 /** | |
| 7704 * Initialize a newly created parenthesized expression. | |
| 7705 * @param leftParenthesis the left parenthesis | |
| 7706 * @param expression the expression within the parentheses | |
| 7707 * @param rightParenthesis the right parenthesis | |
| 7708 */ | |
| 7709 ParenthesizedExpression({Token leftParenthesis, Expression expression, Token r ightParenthesis}) : this.full(leftParenthesis, expression, rightParenthesis); | |
| 7081 accept(ASTVisitor visitor) => visitor.visitParenthesizedExpression(this); | 7710 accept(ASTVisitor visitor) => visitor.visitParenthesizedExpression(this); |
| 7082 Token get beginToken => _leftParenthesis; | 7711 Token get beginToken => _leftParenthesis; |
| 7083 Token get endToken => _rightParenthesis; | 7712 Token get endToken => _rightParenthesis; |
| 7084 /** | 7713 /** |
| 7085 * Return the expression within the parentheses. | 7714 * Return the expression within the parentheses. |
| 7086 * @return the expression within the parentheses | 7715 * @return the expression within the parentheses |
| 7087 */ | 7716 */ |
| 7088 Expression get expression => _expression; | 7717 Expression get expression => _expression; |
| 7089 /** | 7718 /** |
| 7090 * Return the left parenthesis. | 7719 * Return the left parenthesis. |
| 7091 * @return the left parenthesis | 7720 * @return the left parenthesis |
| 7092 */ | 7721 */ |
| 7093 Token get leftParenthesis => _leftParenthesis; | 7722 Token get leftParenthesis => _leftParenthesis; |
| 7094 /** | 7723 /** |
| 7095 * Return the right parenthesis. | 7724 * Return the right parenthesis. |
| 7096 * @return the right parenthesis | 7725 * @return the right parenthesis |
| 7097 */ | 7726 */ |
| 7098 Token get rightParenthesis => _rightParenthesis; | 7727 Token get rightParenthesis => _rightParenthesis; |
| 7099 /** | 7728 /** |
| 7100 * Set the expression within the parentheses to the given expression. | 7729 * Set the expression within the parentheses to the given expression. |
| 7101 * @param expression the expression within the parentheses | 7730 * @param expression the expression within the parentheses |
| 7102 */ | 7731 */ |
| 7103 void set expression9(Expression expression) { | 7732 void set expression(Expression expression9) { |
| 7104 this._expression = becomeParentOf(expression); | 7733 this._expression = becomeParentOf(expression9); |
| 7105 } | 7734 } |
| 7106 /** | 7735 /** |
| 7107 * Set the left parenthesis to the given token. | 7736 * Set the left parenthesis to the given token. |
| 7108 * @param parenthesis the left parenthesis | 7737 * @param parenthesis the left parenthesis |
| 7109 */ | 7738 */ |
| 7110 void set leftParenthesis10(Token parenthesis) { | 7739 void set leftParenthesis(Token parenthesis) { |
| 7111 _leftParenthesis = parenthesis; | 7740 _leftParenthesis = parenthesis; |
| 7112 } | 7741 } |
| 7113 /** | 7742 /** |
| 7114 * Set the right parenthesis to the given token. | 7743 * Set the right parenthesis to the given token. |
| 7115 * @param parenthesis the right parenthesis | 7744 * @param parenthesis the right parenthesis |
| 7116 */ | 7745 */ |
| 7117 void set rightParenthesis10(Token parenthesis) { | 7746 void set rightParenthesis(Token parenthesis) { |
| 7118 _rightParenthesis = parenthesis; | 7747 _rightParenthesis = parenthesis; |
| 7119 } | 7748 } |
| 7120 void visitChildren(ASTVisitor<Object> visitor) { | 7749 void visitChildren(ASTVisitor<Object> visitor) { |
| 7121 safelyVisitChild(_expression, visitor); | 7750 safelyVisitChild(_expression, visitor); |
| 7122 } | 7751 } |
| 7123 } | 7752 } |
| 7124 /** | 7753 /** |
| 7125 * Instances of the class {@code PartDirective} represent a part directive. | 7754 * Instances of the class {@code PartDirective} represent a part directive. |
| 7126 * <pre> | 7755 * <pre> |
| 7127 * partDirective ::={@link Annotation metadata} 'part' {@link StringLiteral part Uri} ';' | 7756 * partDirective ::={@link Annotation metadata} 'part' {@link StringLiteral part Uri} ';' |
| 7128 * </pre> | 7757 * </pre> |
| 7129 */ | 7758 */ |
| 7130 class PartDirective extends Directive { | 7759 class PartDirective extends UriBasedDirective { |
| 7131 /** | 7760 /** |
| 7132 * The token representing the 'part' token. | 7761 * The token representing the 'part' token. |
| 7133 */ | 7762 */ |
| 7134 Token _partToken; | 7763 Token _partToken; |
| 7135 /** | 7764 /** |
| 7136 * The URI of the part being included. | |
| 7137 */ | |
| 7138 StringLiteral _partUri; | |
| 7139 /** | |
| 7140 * The semicolon terminating the directive. | 7765 * The semicolon terminating the directive. |
| 7141 */ | 7766 */ |
| 7142 Token _semicolon; | 7767 Token _semicolon; |
| 7143 /** | 7768 /** |
| 7144 * Initialize a newly created part directive. | 7769 * Initialize a newly created part directive. |
| 7145 * @param comment the documentation comment associated with this directive | 7770 * @param comment the documentation comment associated with this directive |
| 7146 * @param metadata the annotations associated with the directive | 7771 * @param metadata the annotations associated with the directive |
| 7147 * @param partToken the token representing the 'part' token | 7772 * @param partToken the token representing the 'part' token |
| 7148 * @param partUri the URI of the part being included | 7773 * @param partUri the URI of the part being included |
| 7149 * @param semicolon the semicolon terminating the directive | 7774 * @param semicolon the semicolon terminating the directive |
| 7150 */ | 7775 */ |
| 7151 PartDirective(Comment comment, List<Annotation> metadata, Token partToken, Str ingLiteral partUri, Token semicolon) : super(comment, metadata) { | 7776 PartDirective.full(Comment comment, List<Annotation> metadata, Token partToken , StringLiteral partUri, Token semicolon) : super.full(comment, metadata, partUr i) { |
| 7152 this._partToken = partToken; | 7777 this._partToken = partToken; |
| 7153 this._partUri = becomeParentOf(partUri); | |
| 7154 this._semicolon = semicolon; | 7778 this._semicolon = semicolon; |
| 7155 } | 7779 } |
| 7780 /** | |
| 7781 * Initialize a newly created part directive. | |
| 7782 * @param comment the documentation comment associated with this directive | |
| 7783 * @param metadata the annotations associated with the directive | |
| 7784 * @param partToken the token representing the 'part' token | |
| 7785 * @param partUri the URI of the part being included | |
| 7786 * @param semicolon the semicolon terminating the directive | |
| 7787 */ | |
| 7788 PartDirective({Comment comment, List<Annotation> metadata, Token partToken, St ringLiteral partUri, Token semicolon}) : this.full(comment, metadata, partToken, partUri, semicolon); | |
| 7156 accept(ASTVisitor visitor) => visitor.visitPartDirective(this); | 7789 accept(ASTVisitor visitor) => visitor.visitPartDirective(this); |
| 7157 Token get endToken => _semicolon; | 7790 Token get endToken => _semicolon; |
| 7158 Token get keyword => _partToken; | 7791 Token get keyword => _partToken; |
| 7159 /** | 7792 /** |
| 7160 * Return the token representing the 'part' token. | 7793 * Return the token representing the 'part' token. |
| 7161 * @return the token representing the 'part' token | 7794 * @return the token representing the 'part' token |
| 7162 */ | 7795 */ |
| 7163 Token get partToken => _partToken; | 7796 Token get partToken => _partToken; |
| 7164 /** | 7797 /** |
| 7165 * Return the URI of the part being included. | |
| 7166 * @return the URI of the part being included | |
| 7167 */ | |
| 7168 StringLiteral get partUri => _partUri; | |
| 7169 /** | |
| 7170 * Return the semicolon terminating the directive. | 7798 * Return the semicolon terminating the directive. |
| 7171 * @return the semicolon terminating the directive | 7799 * @return the semicolon terminating the directive |
| 7172 */ | 7800 */ |
| 7173 Token get semicolon => _semicolon; | 7801 Token get semicolon => _semicolon; |
| 7174 /** | 7802 /** |
| 7175 * Set the token representing the 'part' token to the given token. | 7803 * Set the token representing the 'part' token to the given token. |
| 7176 * @param partToken the token representing the 'part' token | 7804 * @param partToken the token representing the 'part' token |
| 7177 */ | 7805 */ |
| 7178 void set partToken2(Token partToken) { | 7806 void set partToken(Token partToken2) { |
| 7179 this._partToken = partToken; | 7807 this._partToken = partToken2; |
| 7180 } | |
| 7181 /** | |
| 7182 * Set the URI of the part being included to the given string. | |
| 7183 * @param partUri the URI of the part being included | |
| 7184 */ | |
| 7185 void set partUri2(StringLiteral partUri) { | |
| 7186 this._partUri = becomeParentOf(partUri); | |
| 7187 } | 7808 } |
| 7188 /** | 7809 /** |
| 7189 * Set the semicolon terminating the directive to the given token. | 7810 * Set the semicolon terminating the directive to the given token. |
| 7190 * @param semicolon the semicolon terminating the directive | 7811 * @param semicolon the semicolon terminating the directive |
| 7191 */ | 7812 */ |
| 7192 void set semicolon13(Token semicolon) { | 7813 void set semicolon(Token semicolon13) { |
| 7193 this._semicolon = semicolon; | 7814 this._semicolon = semicolon13; |
| 7194 } | |
| 7195 void visitChildren(ASTVisitor<Object> visitor) { | |
| 7196 super.visitChildren(visitor); | |
| 7197 safelyVisitChild(_partUri, visitor); | |
| 7198 } | 7815 } |
| 7199 Token get firstTokenAfterCommentAndMetadata => _partToken; | 7816 Token get firstTokenAfterCommentAndMetadata => _partToken; |
| 7200 } | 7817 } |
| 7201 /** | 7818 /** |
| 7202 * Instances of the class {@code PartOfDirective} represent a part-of directive. | 7819 * Instances of the class {@code PartOfDirective} represent a part-of directive. |
| 7203 * <pre> | 7820 * <pre> |
| 7204 * partOfDirective ::={@link Annotation metadata} 'part' 'of' {@link Identifier libraryName} ';' | 7821 * partOfDirective ::={@link Annotation metadata} 'part' 'of' {@link Identifier libraryName} ';' |
| 7205 * </pre> | 7822 * </pre> |
| 7206 */ | 7823 */ |
| 7207 class PartOfDirective extends Directive { | 7824 class PartOfDirective extends Directive { |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 7223 Token _semicolon; | 7840 Token _semicolon; |
| 7224 /** | 7841 /** |
| 7225 * Initialize a newly created part-of directive. | 7842 * Initialize a newly created part-of directive. |
| 7226 * @param comment the documentation comment associated with this directive | 7843 * @param comment the documentation comment associated with this directive |
| 7227 * @param metadata the annotations associated with the directive | 7844 * @param metadata the annotations associated with the directive |
| 7228 * @param partToken the token representing the 'part' token | 7845 * @param partToken the token representing the 'part' token |
| 7229 * @param ofToken the token representing the 'of' token | 7846 * @param ofToken the token representing the 'of' token |
| 7230 * @param libraryName the name of the library that the containing compilation unit is part of | 7847 * @param libraryName the name of the library that the containing compilation unit is part of |
| 7231 * @param semicolon the semicolon terminating the directive | 7848 * @param semicolon the semicolon terminating the directive |
| 7232 */ | 7849 */ |
| 7233 PartOfDirective(Comment comment, List<Annotation> metadata, Token partToken, T oken ofToken, LibraryIdentifier libraryName, Token semicolon) : super(comment, m etadata) { | 7850 PartOfDirective.full(Comment comment, List<Annotation> metadata, Token partTok en, Token ofToken, LibraryIdentifier libraryName, Token semicolon) : super.full( comment, metadata) { |
| 7234 this._partToken = partToken; | 7851 this._partToken = partToken; |
| 7235 this._ofToken = ofToken; | 7852 this._ofToken = ofToken; |
| 7236 this._libraryName = becomeParentOf(libraryName); | 7853 this._libraryName = becomeParentOf(libraryName); |
| 7237 this._semicolon = semicolon; | 7854 this._semicolon = semicolon; |
| 7238 } | 7855 } |
| 7856 /** | |
| 7857 * Initialize a newly created part-of directive. | |
| 7858 * @param comment the documentation comment associated with this directive | |
| 7859 * @param metadata the annotations associated with the directive | |
| 7860 * @param partToken the token representing the 'part' token | |
| 7861 * @param ofToken the token representing the 'of' token | |
| 7862 * @param libraryName the name of the library that the containing compilation unit is part of | |
| 7863 * @param semicolon the semicolon terminating the directive | |
| 7864 */ | |
| 7865 PartOfDirective({Comment comment, List<Annotation> metadata, Token partToken, Token ofToken, LibraryIdentifier libraryName, Token semicolon}) : this.full(comm ent, metadata, partToken, ofToken, libraryName, semicolon); | |
| 7239 accept(ASTVisitor visitor) => visitor.visitPartOfDirective(this); | 7866 accept(ASTVisitor visitor) => visitor.visitPartOfDirective(this); |
| 7240 Token get endToken => _semicolon; | 7867 Token get endToken => _semicolon; |
| 7241 Token get keyword => _partToken; | 7868 Token get keyword => _partToken; |
| 7242 /** | 7869 /** |
| 7243 * Return the name of the library that the containing compilation unit is part of. | 7870 * Return the name of the library that the containing compilation unit is part of. |
| 7244 * @return the name of the library that the containing compilation unit is par t of | 7871 * @return the name of the library that the containing compilation unit is par t of |
| 7245 */ | 7872 */ |
| 7246 LibraryIdentifier get libraryName => _libraryName; | 7873 LibraryIdentifier get libraryName => _libraryName; |
| 7247 /** | 7874 /** |
| 7248 * Return the token representing the 'of' token. | 7875 * Return the token representing the 'of' token. |
| 7249 * @return the token representing the 'of' token | 7876 * @return the token representing the 'of' token |
| 7250 */ | 7877 */ |
| 7251 Token get ofToken => _ofToken; | 7878 Token get ofToken => _ofToken; |
| 7252 /** | 7879 /** |
| 7253 * Return the token representing the 'part' token. | 7880 * Return the token representing the 'part' token. |
| 7254 * @return the token representing the 'part' token | 7881 * @return the token representing the 'part' token |
| 7255 */ | 7882 */ |
| 7256 Token get partToken => _partToken; | 7883 Token get partToken => _partToken; |
| 7257 /** | 7884 /** |
| 7258 * Return the semicolon terminating the directive. | 7885 * Return the semicolon terminating the directive. |
| 7259 * @return the semicolon terminating the directive | 7886 * @return the semicolon terminating the directive |
| 7260 */ | 7887 */ |
| 7261 Token get semicolon => _semicolon; | 7888 Token get semicolon => _semicolon; |
| 7262 /** | 7889 /** |
| 7263 * Set the name of the library that the containing compilation unit is part of to the given name. | 7890 * Set the name of the library that the containing compilation unit is part of to the given name. |
| 7264 * @param libraryName the name of the library that the containing compilation unit is part of | 7891 * @param libraryName the name of the library that the containing compilation unit is part of |
| 7265 */ | 7892 */ |
| 7266 void set libraryName2(LibraryIdentifier libraryName) { | 7893 void set libraryName(LibraryIdentifier libraryName2) { |
| 7267 this._libraryName = becomeParentOf(libraryName); | 7894 this._libraryName = becomeParentOf(libraryName2); |
| 7268 } | 7895 } |
| 7269 /** | 7896 /** |
| 7270 * Set the token representing the 'of' token to the given token. | 7897 * Set the token representing the 'of' token to the given token. |
| 7271 * @param ofToken the token representing the 'of' token | 7898 * @param ofToken the token representing the 'of' token |
| 7272 */ | 7899 */ |
| 7273 void set ofToken2(Token ofToken) { | 7900 void set ofToken(Token ofToken2) { |
| 7274 this._ofToken = ofToken; | 7901 this._ofToken = ofToken2; |
| 7275 } | 7902 } |
| 7276 /** | 7903 /** |
| 7277 * Set the token representing the 'part' token to the given token. | 7904 * Set the token representing the 'part' token to the given token. |
| 7278 * @param partToken the token representing the 'part' token | 7905 * @param partToken the token representing the 'part' token |
| 7279 */ | 7906 */ |
| 7280 void set partToken3(Token partToken) { | 7907 void set partToken(Token partToken3) { |
| 7281 this._partToken = partToken; | 7908 this._partToken = partToken3; |
| 7282 } | 7909 } |
| 7283 /** | 7910 /** |
| 7284 * Set the semicolon terminating the directive to the given token. | 7911 * Set the semicolon terminating the directive to the given token. |
| 7285 * @param semicolon the semicolon terminating the directive | 7912 * @param semicolon the semicolon terminating the directive |
| 7286 */ | 7913 */ |
| 7287 void set semicolon14(Token semicolon) { | 7914 void set semicolon(Token semicolon14) { |
| 7288 this._semicolon = semicolon; | 7915 this._semicolon = semicolon14; |
| 7289 } | 7916 } |
| 7290 void visitChildren(ASTVisitor<Object> visitor) { | 7917 void visitChildren(ASTVisitor<Object> visitor) { |
| 7291 super.visitChildren(visitor); | 7918 super.visitChildren(visitor); |
| 7292 safelyVisitChild(_libraryName, visitor); | 7919 safelyVisitChild(_libraryName, visitor); |
| 7293 } | 7920 } |
| 7294 Token get firstTokenAfterCommentAndMetadata => _partToken; | 7921 Token get firstTokenAfterCommentAndMetadata => _partToken; |
| 7295 } | 7922 } |
| 7296 /** | 7923 /** |
| 7297 * Instances of the class {@code PostfixExpression} represent a postfix unary ex pression. | 7924 * Instances of the class {@code PostfixExpression} represent a postfix unary ex pression. |
| 7298 * <pre> | 7925 * <pre> |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 7310 /** | 7937 /** |
| 7311 * The element associated with this the operator, or {@code null} if the AST s tructure has not | 7938 * The element associated with this the operator, or {@code null} if the AST s tructure has not |
| 7312 * been resolved, if the operator is not user definable, or if the operator co uld not be resolved. | 7939 * been resolved, if the operator is not user definable, or if the operator co uld not be resolved. |
| 7313 */ | 7940 */ |
| 7314 MethodElement _element; | 7941 MethodElement _element; |
| 7315 /** | 7942 /** |
| 7316 * Initialize a newly created postfix expression. | 7943 * Initialize a newly created postfix expression. |
| 7317 * @param operand the expression computing the operand for the operator | 7944 * @param operand the expression computing the operand for the operator |
| 7318 * @param operator the postfix operator being applied to the operand | 7945 * @param operator the postfix operator being applied to the operand |
| 7319 */ | 7946 */ |
| 7320 PostfixExpression(Expression operand, Token operator) { | 7947 PostfixExpression.full(Expression operand, Token operator) { |
| 7321 this._operand = becomeParentOf(operand); | 7948 this._operand = becomeParentOf(operand); |
| 7322 this._operator = operator; | 7949 this._operator = operator; |
| 7323 } | 7950 } |
| 7951 /** | |
| 7952 * Initialize a newly created postfix expression. | |
| 7953 * @param operand the expression computing the operand for the operator | |
| 7954 * @param operator the postfix operator being applied to the operand | |
| 7955 */ | |
| 7956 PostfixExpression({Expression operand, Token operator}) : this.full(operand, o perator); | |
| 7324 accept(ASTVisitor visitor) => visitor.visitPostfixExpression(this); | 7957 accept(ASTVisitor visitor) => visitor.visitPostfixExpression(this); |
| 7325 Token get beginToken => _operand.beginToken; | 7958 Token get beginToken => _operand.beginToken; |
| 7326 /** | 7959 /** |
| 7327 * Return the element associated with the operator, or {@code null} if the AST structure has not | 7960 * Return the element associated with the operator, or {@code null} if the AST structure has not |
| 7328 * been resolved, if the operator is not user definable, or if the operator co uld not be resolved. | 7961 * been resolved, if the operator is not user definable, or if the operator co uld not be resolved. |
| 7329 * One example of the latter case is an operator that is not defined for the t ype of the operand. | 7962 * One example of the latter case is an operator that is not defined for the t ype of the operand. |
| 7330 * @return the element associated with the operator | 7963 * @return the element associated with the operator |
| 7331 */ | 7964 */ |
| 7332 MethodElement get element => _element; | 7965 MethodElement get element => _element; |
| 7333 Token get endToken => _operator; | 7966 Token get endToken => _operator; |
| 7334 /** | 7967 /** |
| 7335 * Return the expression computing the operand for the operator. | 7968 * Return the expression computing the operand for the operator. |
| 7336 * @return the expression computing the operand for the operator | 7969 * @return the expression computing the operand for the operator |
| 7337 */ | 7970 */ |
| 7338 Expression get operand => _operand; | 7971 Expression get operand => _operand; |
| 7339 /** | 7972 /** |
| 7340 * Return the postfix operator being applied to the operand. | 7973 * Return the postfix operator being applied to the operand. |
| 7341 * @return the postfix operator being applied to the operand | 7974 * @return the postfix operator being applied to the operand |
| 7342 */ | 7975 */ |
| 7343 Token get operator => _operator; | 7976 Token get operator => _operator; |
| 7344 /** | 7977 /** |
| 7345 * Set the element associated with the operator to the given element. | 7978 * Set the element associated with the operator to the given element. |
| 7346 * @param element the element associated with the operator | 7979 * @param element the element associated with the operator |
| 7347 */ | 7980 */ |
| 7348 void set element13(MethodElement element) { | 7981 void set element(MethodElement element14) { |
| 7349 this._element = element; | 7982 this._element = element14; |
| 7350 } | 7983 } |
| 7351 /** | 7984 /** |
| 7352 * Set the expression computing the operand for the operator to the given expr ession. | 7985 * Set the expression computing the operand for the operator to the given expr ession. |
| 7353 * @param expression the expression computing the operand for the operator | 7986 * @param expression the expression computing the operand for the operator |
| 7354 */ | 7987 */ |
| 7355 void set operand2(Expression expression) { | 7988 void set operand(Expression expression) { |
| 7356 _operand = becomeParentOf(expression); | 7989 _operand = becomeParentOf(expression); |
| 7357 } | 7990 } |
| 7358 /** | 7991 /** |
| 7359 * Set the postfix operator being applied to the operand to the given operator . | 7992 * Set the postfix operator being applied to the operand to the given operator . |
| 7360 * @param operator the postfix operator being applied to the operand | 7993 * @param operator the postfix operator being applied to the operand |
| 7361 */ | 7994 */ |
| 7362 void set operator4(Token operator) { | 7995 void set operator(Token operator4) { |
| 7363 this._operator = operator; | 7996 this._operator = operator4; |
| 7364 } | 7997 } |
| 7365 void visitChildren(ASTVisitor<Object> visitor) { | 7998 void visitChildren(ASTVisitor<Object> visitor) { |
| 7366 safelyVisitChild(_operand, visitor); | 7999 safelyVisitChild(_operand, visitor); |
| 7367 } | 8000 } |
| 7368 } | 8001 } |
| 7369 /** | 8002 /** |
| 7370 * Instances of the class {@code PrefixExpression} represent a prefix unary expr ession. | 8003 * Instances of the class {@code PrefixExpression} represent a prefix unary expr ession. |
| 7371 * <pre> | 8004 * <pre> |
| 7372 * prefixExpression ::={@link Token operator} {@link Expression operand}</pre> | 8005 * prefixExpression ::={@link Token operator} {@link Expression operand}</pre> |
| 7373 */ | 8006 */ |
| 7374 class PrefixExpression extends Expression { | 8007 class PrefixExpression extends Expression { |
| 7375 /** | 8008 /** |
| 7376 * The prefix operator being applied to the operand. | 8009 * The prefix operator being applied to the operand. |
| 7377 */ | 8010 */ |
| 7378 Token _operator; | 8011 Token _operator; |
| 7379 /** | 8012 /** |
| 7380 * The expression computing the operand for the operator. | 8013 * The expression computing the operand for the operator. |
| 7381 */ | 8014 */ |
| 7382 Expression _operand; | 8015 Expression _operand; |
| 7383 /** | 8016 /** |
| 7384 * The element associated with the operator, or {@code null} if the AST struct ure has not been | 8017 * The element associated with the operator, or {@code null} if the AST struct ure has not been |
| 7385 * resolved, if the operator is not user definable, or if the operator could n ot be resolved. | 8018 * resolved, if the operator is not user definable, or if the operator could n ot be resolved. |
| 7386 */ | 8019 */ |
| 7387 MethodElement _element; | 8020 MethodElement _element; |
| 7388 /** | 8021 /** |
| 7389 * Initialize a newly created prefix expression. | 8022 * Initialize a newly created prefix expression. |
| 7390 * @param operator the prefix operator being applied to the operand | 8023 * @param operator the prefix operator being applied to the operand |
| 7391 * @param operand the expression computing the operand for the operator | 8024 * @param operand the expression computing the operand for the operator |
| 7392 */ | 8025 */ |
| 7393 PrefixExpression(Token operator, Expression operand) { | 8026 PrefixExpression.full(Token operator, Expression operand) { |
| 7394 this._operator = operator; | 8027 this._operator = operator; |
| 7395 this._operand = becomeParentOf(operand); | 8028 this._operand = becomeParentOf(operand); |
| 7396 } | 8029 } |
| 8030 /** | |
| 8031 * Initialize a newly created prefix expression. | |
| 8032 * @param operator the prefix operator being applied to the operand | |
| 8033 * @param operand the expression computing the operand for the operator | |
| 8034 */ | |
| 8035 PrefixExpression({Token operator, Expression operand}) : this.full(operator, o perand); | |
| 7397 accept(ASTVisitor visitor) => visitor.visitPrefixExpression(this); | 8036 accept(ASTVisitor visitor) => visitor.visitPrefixExpression(this); |
| 7398 Token get beginToken => _operator; | 8037 Token get beginToken => _operator; |
| 7399 /** | 8038 /** |
| 7400 * Return the element associated with the operator, or {@code null} if the AST structure has not | 8039 * Return the element associated with the operator, or {@code null} if the AST structure has not |
| 7401 * been resolved, if the operator is not user definable, or if the operator co uld not be resolved. | 8040 * been resolved, if the operator is not user definable, or if the operator co uld not be resolved. |
| 7402 * One example of the latter case is an operator that is not defined for the t ype of the operand. | 8041 * One example of the latter case is an operator that is not defined for the t ype of the operand. |
| 7403 * @return the element associated with the operator | 8042 * @return the element associated with the operator |
| 7404 */ | 8043 */ |
| 7405 MethodElement get element => _element; | 8044 MethodElement get element => _element; |
| 7406 Token get endToken => _operand.endToken; | 8045 Token get endToken => _operand.endToken; |
| 7407 /** | 8046 /** |
| 7408 * Return the expression computing the operand for the operator. | 8047 * Return the expression computing the operand for the operator. |
| 7409 * @return the expression computing the operand for the operator | 8048 * @return the expression computing the operand for the operator |
| 7410 */ | 8049 */ |
| 7411 Expression get operand => _operand; | 8050 Expression get operand => _operand; |
| 7412 /** | 8051 /** |
| 7413 * Return the prefix operator being applied to the operand. | 8052 * Return the prefix operator being applied to the operand. |
| 7414 * @return the prefix operator being applied to the operand | 8053 * @return the prefix operator being applied to the operand |
| 7415 */ | 8054 */ |
| 7416 Token get operator => _operator; | 8055 Token get operator => _operator; |
| 7417 /** | 8056 /** |
| 7418 * Set the element associated with the operator to the given element. | 8057 * Set the element associated with the operator to the given element. |
| 7419 * @param element the element associated with the operator | 8058 * @param element the element associated with the operator |
| 7420 */ | 8059 */ |
| 7421 void set element14(MethodElement element) { | 8060 void set element(MethodElement element15) { |
| 7422 this._element = element; | 8061 this._element = element15; |
| 7423 } | 8062 } |
| 7424 /** | 8063 /** |
| 7425 * Set the expression computing the operand for the operator to the given expr ession. | 8064 * Set the expression computing the operand for the operator to the given expr ession. |
| 7426 * @param expression the expression computing the operand for the operator | 8065 * @param expression the expression computing the operand for the operator |
| 7427 */ | 8066 */ |
| 7428 void set operand3(Expression expression) { | 8067 void set operand(Expression expression) { |
| 7429 _operand = becomeParentOf(expression); | 8068 _operand = becomeParentOf(expression); |
| 7430 } | 8069 } |
| 7431 /** | 8070 /** |
| 7432 * Set the prefix operator being applied to the operand to the given operator. | 8071 * Set the prefix operator being applied to the operand to the given operator. |
| 7433 * @param operator the prefix operator being applied to the operand | 8072 * @param operator the prefix operator being applied to the operand |
| 7434 */ | 8073 */ |
| 7435 void set operator5(Token operator) { | 8074 void set operator(Token operator5) { |
| 7436 this._operator = operator; | 8075 this._operator = operator5; |
| 7437 } | 8076 } |
| 7438 void visitChildren(ASTVisitor<Object> visitor) { | 8077 void visitChildren(ASTVisitor<Object> visitor) { |
| 7439 safelyVisitChild(_operand, visitor); | 8078 safelyVisitChild(_operand, visitor); |
| 7440 } | 8079 } |
| 7441 } | 8080 } |
| 7442 /** | 8081 /** |
| 7443 * Instances of the class {@code PrefixedIdentifier} represent either an identif ier that is prefixed | 8082 * Instances of the class {@code PrefixedIdentifier} represent either an identif ier that is prefixed |
| 7444 * or an access to an object property where the target of the property access is a simple | 8083 * or an access to an object property where the target of the property access is a simple |
| 7445 * identifier. | 8084 * identifier. |
| 7446 * <pre> | 8085 * <pre> |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 7458 /** | 8097 /** |
| 7459 * The identifier being prefixed. | 8098 * The identifier being prefixed. |
| 7460 */ | 8099 */ |
| 7461 SimpleIdentifier _identifier; | 8100 SimpleIdentifier _identifier; |
| 7462 /** | 8101 /** |
| 7463 * Initialize a newly created prefixed identifier. | 8102 * Initialize a newly created prefixed identifier. |
| 7464 * @param prefix the identifier being prefixed | 8103 * @param prefix the identifier being prefixed |
| 7465 * @param period the period used to separate the prefix from the identifier | 8104 * @param period the period used to separate the prefix from the identifier |
| 7466 * @param identifier the prefix associated with the library in which the ident ifier is defined | 8105 * @param identifier the prefix associated with the library in which the ident ifier is defined |
| 7467 */ | 8106 */ |
| 7468 PrefixedIdentifier(SimpleIdentifier prefix, Token period, SimpleIdentifier ide ntifier) { | 8107 PrefixedIdentifier.full(SimpleIdentifier prefix, Token period, SimpleIdentifie r identifier) { |
| 7469 this._prefix = becomeParentOf(prefix); | 8108 this._prefix = becomeParentOf(prefix); |
| 7470 this._period = period; | 8109 this._period = period; |
| 7471 this._identifier = becomeParentOf(identifier); | 8110 this._identifier = becomeParentOf(identifier); |
| 7472 } | 8111 } |
| 8112 /** | |
| 8113 * Initialize a newly created prefixed identifier. | |
| 8114 * @param prefix the identifier being prefixed | |
| 8115 * @param period the period used to separate the prefix from the identifier | |
| 8116 * @param identifier the prefix associated with the library in which the ident ifier is defined | |
| 8117 */ | |
| 8118 PrefixedIdentifier({SimpleIdentifier prefix, Token period, SimpleIdentifier id entifier}) : this.full(prefix, period, identifier); | |
| 7473 accept(ASTVisitor visitor) => visitor.visitPrefixedIdentifier(this); | 8119 accept(ASTVisitor visitor) => visitor.visitPrefixedIdentifier(this); |
| 7474 Token get beginToken => _prefix.beginToken; | 8120 Token get beginToken => _prefix.beginToken; |
| 7475 Token get endToken => _identifier.endToken; | 8121 Token get endToken => _identifier.endToken; |
| 7476 /** | 8122 /** |
| 7477 * Return the identifier being prefixed. | 8123 * Return the identifier being prefixed. |
| 7478 * @return the identifier being prefixed | 8124 * @return the identifier being prefixed |
| 7479 */ | 8125 */ |
| 7480 SimpleIdentifier get identifier => _identifier; | 8126 SimpleIdentifier get identifier => _identifier; |
| 7481 String get name => "${_prefix.name}.${_identifier.name}"; | 8127 String get name => "${_prefix.name}.${_identifier.name}"; |
| 7482 /** | 8128 /** |
| 7483 * Return the period used to separate the prefix from the identifier. | 8129 * Return the period used to separate the prefix from the identifier. |
| 7484 * @return the period used to separate the prefix from the identifier | 8130 * @return the period used to separate the prefix from the identifier |
| 7485 */ | 8131 */ |
| 7486 Token get period => _period; | 8132 Token get period => _period; |
| 7487 /** | 8133 /** |
| 7488 * Return the prefix associated with the library in which the identifier is de fined. | 8134 * Return the prefix associated with the library in which the identifier is de fined. |
| 7489 * @return the prefix associated with the library in which the identifier is d efined | 8135 * @return the prefix associated with the library in which the identifier is d efined |
| 7490 */ | 8136 */ |
| 7491 SimpleIdentifier get prefix => _prefix; | 8137 SimpleIdentifier get prefix => _prefix; |
| 7492 /** | 8138 /** |
| 7493 * Set the identifier being prefixed to the given identifier. | 8139 * Set the identifier being prefixed to the given identifier. |
| 7494 * @param identifier the identifier being prefixed | 8140 * @param identifier the identifier being prefixed |
| 7495 */ | 8141 */ |
| 7496 void set identifier5(SimpleIdentifier identifier) { | 8142 void set identifier(SimpleIdentifier identifier7) { |
| 7497 this._identifier = becomeParentOf(identifier); | 8143 this._identifier = becomeParentOf(identifier7); |
| 7498 } | 8144 } |
| 7499 /** | 8145 /** |
| 7500 * Set the period used to separate the prefix from the identifier to the given token. | 8146 * Set the period used to separate the prefix from the identifier to the given token. |
| 7501 * @param period the period used to separate the prefix from the identifier | 8147 * @param period the period used to separate the prefix from the identifier |
| 7502 */ | 8148 */ |
| 7503 void set period9(Token period) { | 8149 void set period(Token period10) { |
| 7504 this._period = period; | 8150 this._period = period10; |
| 7505 } | 8151 } |
| 7506 /** | 8152 /** |
| 7507 * Set the prefix associated with the library in which the identifier is defin ed to the given | 8153 * Set the prefix associated with the library in which the identifier is defin ed to the given |
| 7508 * identifier. | 8154 * identifier. |
| 7509 * @param identifier the prefix associated with the library in which the ident ifier is defined | 8155 * @param identifier the prefix associated with the library in which the ident ifier is defined |
| 7510 */ | 8156 */ |
| 7511 void set prefix3(SimpleIdentifier identifier) { | 8157 void set prefix(SimpleIdentifier identifier) { |
| 7512 _prefix = becomeParentOf(identifier); | 8158 _prefix = becomeParentOf(identifier); |
| 7513 } | 8159 } |
| 7514 void visitChildren(ASTVisitor<Object> visitor) { | 8160 void visitChildren(ASTVisitor<Object> visitor) { |
| 7515 safelyVisitChild(_prefix, visitor); | 8161 safelyVisitChild(_prefix, visitor); |
| 7516 safelyVisitChild(_identifier, visitor); | 8162 safelyVisitChild(_identifier, visitor); |
| 7517 } | 8163 } |
| 7518 } | 8164 } |
| 7519 /** | 8165 /** |
| 7520 * Instances of the class {@code PropertyAccess} represent the access of a prope rty of an object. | 8166 * Instances of the class {@code PropertyAccess} represent the access of a prope rty of an object. |
| 7521 * <p> | 8167 * <p> |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 7536 /** | 8182 /** |
| 7537 * The name of the property being accessed. | 8183 * The name of the property being accessed. |
| 7538 */ | 8184 */ |
| 7539 SimpleIdentifier _propertyName; | 8185 SimpleIdentifier _propertyName; |
| 7540 /** | 8186 /** |
| 7541 * Initialize a newly created property access expression. | 8187 * Initialize a newly created property access expression. |
| 7542 * @param target the expression computing the object defining the property bei ng accessed | 8188 * @param target the expression computing the object defining the property bei ng accessed |
| 7543 * @param operator the property access operator | 8189 * @param operator the property access operator |
| 7544 * @param propertyName the name of the property being accessed | 8190 * @param propertyName the name of the property being accessed |
| 7545 */ | 8191 */ |
| 7546 PropertyAccess(Expression target, Token operator, SimpleIdentifier propertyNam e) { | 8192 PropertyAccess.full(Expression target, Token operator, SimpleIdentifier proper tyName) { |
| 7547 this._target = becomeParentOf(target); | 8193 this._target = becomeParentOf(target); |
| 7548 this._operator = operator; | 8194 this._operator = operator; |
| 7549 this._propertyName = becomeParentOf(propertyName); | 8195 this._propertyName = becomeParentOf(propertyName); |
| 7550 } | 8196 } |
| 8197 /** | |
| 8198 * Initialize a newly created property access expression. | |
| 8199 * @param target the expression computing the object defining the property bei ng accessed | |
| 8200 * @param operator the property access operator | |
| 8201 * @param propertyName the name of the property being accessed | |
| 8202 */ | |
| 8203 PropertyAccess({Expression target, Token operator, SimpleIdentifier propertyNa me}) : this.full(target, operator, propertyName); | |
| 7551 accept(ASTVisitor visitor) => visitor.visitPropertyAccess(this); | 8204 accept(ASTVisitor visitor) => visitor.visitPropertyAccess(this); |
| 7552 Token get beginToken { | 8205 Token get beginToken { |
| 7553 if (_target != null) { | 8206 if (_target != null) { |
| 7554 return _target.beginToken; | 8207 return _target.beginToken; |
| 7555 } | 8208 } |
| 7556 return _operator; | 8209 return _operator; |
| 7557 } | 8210 } |
| 7558 Token get endToken => _propertyName.endToken; | 8211 Token get endToken => _propertyName.endToken; |
| 7559 /** | 8212 /** |
| 7560 * Return the property access operator. | 8213 * Return the property access operator. |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 7576 */ | 8229 */ |
| 7577 Expression get realTarget { | 8230 Expression get realTarget { |
| 7578 if (isCascaded()) { | 8231 if (isCascaded()) { |
| 7579 ASTNode ancestor = parent; | 8232 ASTNode ancestor = parent; |
| 7580 while (ancestor is! CascadeExpression) { | 8233 while (ancestor is! CascadeExpression) { |
| 7581 if (ancestor == null) { | 8234 if (ancestor == null) { |
| 7582 return _target; | 8235 return _target; |
| 7583 } | 8236 } |
| 7584 ancestor = ancestor.parent; | 8237 ancestor = ancestor.parent; |
| 7585 } | 8238 } |
| 7586 return (ancestor as CascadeExpression).target; | 8239 return ((ancestor as CascadeExpression)).target; |
| 7587 } | 8240 } |
| 7588 return _target; | 8241 return _target; |
| 7589 } | 8242 } |
| 7590 /** | 8243 /** |
| 7591 * Return the expression computing the object defining the property being acce ssed, or{@code null} if this property access is part of a cascade expression. | 8244 * Return the expression computing the object defining the property being acce ssed, or{@code null} if this property access is part of a cascade expression. |
| 7592 * @return the expression computing the object defining the property being acc essed | 8245 * @return the expression computing the object defining the property being acc essed |
| 7593 * @see #getRealTarget() | 8246 * @see #getRealTarget() |
| 7594 */ | 8247 */ |
| 7595 Expression get target => _target; | 8248 Expression get target => _target; |
| 7596 bool isAssignable() => true; | 8249 bool isAssignable() => true; |
| 7597 /** | 8250 /** |
| 7598 * Return {@code true} if this expression is cascaded. If it is, then the targ et of this | 8251 * Return {@code true} if this expression is cascaded. If it is, then the targ et of this |
| 7599 * expression is not stored locally but is stored in the nearest ancestor that is a{@link CascadeExpression}. | 8252 * expression is not stored locally but is stored in the nearest ancestor that is a{@link CascadeExpression}. |
| 7600 * @return {@code true} if this expression is cascaded | 8253 * @return {@code true} if this expression is cascaded |
| 7601 */ | 8254 */ |
| 7602 bool isCascaded() => _operator != null && _operator.type == TokenType.PERIOD_P ERIOD; | 8255 bool isCascaded() => _operator != null && identical(_operator.type, TokenType. PERIOD_PERIOD); |
| 7603 /** | 8256 /** |
| 7604 * Set the property access operator to the given token. | 8257 * Set the property access operator to the given token. |
| 7605 * @param operator the property access operator | 8258 * @param operator the property access operator |
| 7606 */ | 8259 */ |
| 7607 void set operator6(Token operator) { | 8260 void set operator(Token operator6) { |
| 7608 this._operator = operator; | 8261 this._operator = operator6; |
| 7609 } | 8262 } |
| 7610 /** | 8263 /** |
| 7611 * Set the name of the property being accessed to the given identifier. | 8264 * Set the name of the property being accessed to the given identifier. |
| 7612 * @param identifier the name of the property being accessed | 8265 * @param identifier the name of the property being accessed |
| 7613 */ | 8266 */ |
| 7614 void set propertyName2(SimpleIdentifier identifier) { | 8267 void set propertyName(SimpleIdentifier identifier) { |
| 7615 _propertyName = becomeParentOf(identifier); | 8268 _propertyName = becomeParentOf(identifier); |
| 7616 } | 8269 } |
| 7617 /** | 8270 /** |
| 7618 * Set the expression computing the object defining the property being accesse d to the given | 8271 * Set the expression computing the object defining the property being accesse d to the given |
| 7619 * expression. | 8272 * expression. |
| 7620 * @param expression the expression computing the object defining the property being accessed | 8273 * @param expression the expression computing the object defining the property being accessed |
| 7621 */ | 8274 */ |
| 7622 void set target4(Expression expression) { | 8275 void set target(Expression expression) { |
| 7623 _target = becomeParentOf(expression); | 8276 _target = becomeParentOf(expression); |
| 7624 } | 8277 } |
| 7625 void visitChildren(ASTVisitor<Object> visitor) { | 8278 void visitChildren(ASTVisitor<Object> visitor) { |
| 7626 safelyVisitChild(_target, visitor); | 8279 safelyVisitChild(_target, visitor); |
| 7627 safelyVisitChild(_propertyName, visitor); | 8280 safelyVisitChild(_propertyName, visitor); |
| 7628 } | 8281 } |
| 7629 } | 8282 } |
| 7630 /** | 8283 /** |
| 7631 * Instances of the class {@code RedirectingConstructorInvocation} represent the invocation of a | 8284 * Instances of the class {@code RedirectingConstructorInvocation} represent the invocation of a |
| 7632 * another constructor in the same class from within a constructor's initializat ion list. | 8285 * another constructor in the same class from within a constructor's initializat ion list. |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 7647 /** | 8300 /** |
| 7648 * The name of the constructor that is being invoked, or {@code null} if the u nnamed constructor | 8301 * The name of the constructor that is being invoked, or {@code null} if the u nnamed constructor |
| 7649 * is being invoked. | 8302 * is being invoked. |
| 7650 */ | 8303 */ |
| 7651 SimpleIdentifier _constructorName; | 8304 SimpleIdentifier _constructorName; |
| 7652 /** | 8305 /** |
| 7653 * The list of arguments to the constructor. | 8306 * The list of arguments to the constructor. |
| 7654 */ | 8307 */ |
| 7655 ArgumentList _argumentList; | 8308 ArgumentList _argumentList; |
| 7656 /** | 8309 /** |
| 8310 * The element associated with the constructor, or {@code null} if the AST str ucture has not been | |
| 8311 * resolved or if the constructor could not be resolved. | |
| 8312 */ | |
| 8313 ConstructorElement _element; | |
| 8314 /** | |
| 7657 * Initialize a newly created redirecting invocation to invoke the constructor with the given name | 8315 * Initialize a newly created redirecting invocation to invoke the constructor with the given name |
| 7658 * with the given arguments. | 8316 * with the given arguments. |
| 7659 * @param keyword the token for the 'this' keyword | 8317 * @param keyword the token for the 'this' keyword |
| 7660 * @param period the token for the period before the name of the constructor t hat is being invoked | 8318 * @param period the token for the period before the name of the constructor t hat is being invoked |
| 7661 * @param constructorName the name of the constructor that is being invoked | 8319 * @param constructorName the name of the constructor that is being invoked |
| 7662 * @param argumentList the list of arguments to the constructor | 8320 * @param argumentList the list of arguments to the constructor |
| 7663 */ | 8321 */ |
| 7664 RedirectingConstructorInvocation(Token keyword, Token period, SimpleIdentifier constructorName, ArgumentList argumentList) { | 8322 RedirectingConstructorInvocation.full(Token keyword, Token period, SimpleIdent ifier constructorName, ArgumentList argumentList) { |
| 7665 this._keyword = keyword; | 8323 this._keyword = keyword; |
| 7666 this._period = period; | 8324 this._period = period; |
| 7667 this._constructorName = becomeParentOf(constructorName); | 8325 this._constructorName = becomeParentOf(constructorName); |
| 7668 this._argumentList = becomeParentOf(argumentList); | 8326 this._argumentList = becomeParentOf(argumentList); |
| 7669 } | 8327 } |
| 8328 /** | |
| 8329 * Initialize a newly created redirecting invocation to invoke the constructor with the given name | |
| 8330 * with the given arguments. | |
| 8331 * @param keyword the token for the 'this' keyword | |
| 8332 * @param period the token for the period before the name of the constructor t hat is being invoked | |
| 8333 * @param constructorName the name of the constructor that is being invoked | |
| 8334 * @param argumentList the list of arguments to the constructor | |
| 8335 */ | |
| 8336 RedirectingConstructorInvocation({Token keyword, Token period, SimpleIdentifie r constructorName, ArgumentList argumentList}) : this.full(keyword, period, cons tructorName, argumentList); | |
| 7670 accept(ASTVisitor visitor) => visitor.visitRedirectingConstructorInvocation(th is); | 8337 accept(ASTVisitor visitor) => visitor.visitRedirectingConstructorInvocation(th is); |
| 7671 /** | 8338 /** |
| 7672 * Return the list of arguments to the constructor. | 8339 * Return the list of arguments to the constructor. |
| 7673 * @return the list of arguments to the constructor | 8340 * @return the list of arguments to the constructor |
| 7674 */ | 8341 */ |
| 7675 ArgumentList get argumentList => _argumentList; | 8342 ArgumentList get argumentList => _argumentList; |
| 7676 Token get beginToken => _keyword; | 8343 Token get beginToken => _keyword; |
| 7677 /** | 8344 /** |
| 7678 * Return the name of the constructor that is being invoked, or {@code null} i f the unnamed | 8345 * Return the name of the constructor that is being invoked, or {@code null} i f the unnamed |
| 7679 * constructor is being invoked. | 8346 * constructor is being invoked. |
| 7680 * @return the name of the constructor that is being invoked | 8347 * @return the name of the constructor that is being invoked |
| 7681 */ | 8348 */ |
| 7682 SimpleIdentifier get constructorName => _constructorName; | 8349 SimpleIdentifier get constructorName => _constructorName; |
| 8350 /** | |
| 8351 * Return the element associated with the constructor, or {@code null} if the AST structure has | |
| 8352 * not been resolved or if the constructor could not be resolved. | |
| 8353 * @return the element associated with the super constructor | |
| 8354 */ | |
| 8355 ConstructorElement get element => _element; | |
| 7683 Token get endToken => _argumentList.endToken; | 8356 Token get endToken => _argumentList.endToken; |
| 7684 /** | 8357 /** |
| 7685 * Return the token for the 'this' keyword. | 8358 * Return the token for the 'this' keyword. |
| 7686 * @return the token for the 'this' keyword | 8359 * @return the token for the 'this' keyword |
| 7687 */ | 8360 */ |
| 7688 Token get keyword => _keyword; | 8361 Token get keyword => _keyword; |
| 7689 /** | 8362 /** |
| 7690 * Return the token for the period before the name of the constructor that is being invoked, or{@code null} if the unnamed constructor is being invoked. | 8363 * Return the token for the period before the name of the constructor that is being invoked, or{@code null} if the unnamed constructor is being invoked. |
| 7691 * @return the token for the period before the name of the constructor that is being invoked | 8364 * @return the token for the period before the name of the constructor that is being invoked |
| 7692 */ | 8365 */ |
| 7693 Token get period => _period; | 8366 Token get period => _period; |
| 7694 /** | 8367 /** |
| 7695 * Set the list of arguments to the constructor to the given list. | 8368 * Set the list of arguments to the constructor to the given list. |
| 7696 * @param argumentList the list of arguments to the constructor | 8369 * @param argumentList the list of arguments to the constructor |
| 7697 */ | 8370 */ |
| 7698 void set argumentList8(ArgumentList argumentList) { | 8371 void set argumentList(ArgumentList argumentList8) { |
| 7699 this._argumentList = becomeParentOf(argumentList); | 8372 this._argumentList = becomeParentOf(argumentList8); |
| 7700 } | 8373 } |
| 7701 /** | 8374 /** |
| 7702 * Set the name of the constructor that is being invoked to the given identifi er. | 8375 * Set the name of the constructor that is being invoked to the given identifi er. |
| 7703 * @param identifier the name of the constructor that is being invoked | 8376 * @param identifier the name of the constructor that is being invoked |
| 7704 */ | 8377 */ |
| 7705 void set constructorName4(SimpleIdentifier identifier) { | 8378 void set constructorName(SimpleIdentifier identifier) { |
| 7706 _constructorName = becomeParentOf(identifier); | 8379 _constructorName = becomeParentOf(identifier); |
| 7707 } | 8380 } |
| 7708 /** | 8381 /** |
| 8382 * Set the element associated with the constructor to the given element. | |
| 8383 * @param element the element associated with the constructor | |
| 8384 */ | |
| 8385 void set element(ConstructorElement element16) { | |
| 8386 this._element = element16; | |
| 8387 } | |
| 8388 /** | |
| 7709 * Set the token for the 'this' keyword to the given token. | 8389 * Set the token for the 'this' keyword to the given token. |
| 7710 * @param keyword the token for the 'this' keyword | 8390 * @param keyword the token for the 'this' keyword |
| 7711 */ | 8391 */ |
| 7712 void set keyword14(Token keyword) { | 8392 void set keyword(Token keyword13) { |
| 7713 this._keyword = keyword; | 8393 this._keyword = keyword13; |
| 7714 } | 8394 } |
| 7715 /** | 8395 /** |
| 7716 * Set the token for the period before the name of the constructor that is bei ng invoked to the | 8396 * Set the token for the period before the name of the constructor that is bei ng invoked to the |
| 7717 * given token. | 8397 * given token. |
| 7718 * @param period the token for the period before the name of the constructor t hat is being invoked | 8398 * @param period the token for the period before the name of the constructor t hat is being invoked |
| 7719 */ | 8399 */ |
| 7720 void set period10(Token period) { | 8400 void set period(Token period11) { |
| 7721 this._period = period; | 8401 this._period = period11; |
| 7722 } | 8402 } |
| 7723 void visitChildren(ASTVisitor<Object> visitor) { | 8403 void visitChildren(ASTVisitor<Object> visitor) { |
| 7724 safelyVisitChild(_constructorName, visitor); | 8404 safelyVisitChild(_constructorName, visitor); |
| 7725 safelyVisitChild(_argumentList, visitor); | 8405 safelyVisitChild(_argumentList, visitor); |
| 7726 } | 8406 } |
| 7727 } | 8407 } |
| 7728 /** | 8408 /** |
| 7729 * Instances of the class {@code ReturnStatement} represent a return statement. | 8409 * Instances of the class {@code ReturnStatement} represent a return statement. |
| 7730 * <pre> | 8410 * <pre> |
| 7731 * returnStatement ::= | 8411 * returnStatement ::= |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 7745 /** | 8425 /** |
| 7746 * The semicolon terminating the statement. | 8426 * The semicolon terminating the statement. |
| 7747 */ | 8427 */ |
| 7748 Token _semicolon; | 8428 Token _semicolon; |
| 7749 /** | 8429 /** |
| 7750 * Initialize a newly created return statement. | 8430 * Initialize a newly created return statement. |
| 7751 * @param keyword the token representing the 'return' keyword | 8431 * @param keyword the token representing the 'return' keyword |
| 7752 * @param expression the expression computing the value to be returned | 8432 * @param expression the expression computing the value to be returned |
| 7753 * @param semicolon the semicolon terminating the statement | 8433 * @param semicolon the semicolon terminating the statement |
| 7754 */ | 8434 */ |
| 7755 ReturnStatement(Token keyword, Expression expression, Token semicolon) { | 8435 ReturnStatement.full(Token keyword, Expression expression, Token semicolon) { |
| 7756 this._keyword = keyword; | 8436 this._keyword = keyword; |
| 7757 this._expression = becomeParentOf(expression); | 8437 this._expression = becomeParentOf(expression); |
| 7758 this._semicolon = semicolon; | 8438 this._semicolon = semicolon; |
| 7759 } | 8439 } |
| 8440 /** | |
| 8441 * Initialize a newly created return statement. | |
| 8442 * @param keyword the token representing the 'return' keyword | |
| 8443 * @param expression the expression computing the value to be returned | |
| 8444 * @param semicolon the semicolon terminating the statement | |
| 8445 */ | |
| 8446 ReturnStatement({Token keyword, Expression expression, Token semicolon}) : thi s.full(keyword, expression, semicolon); | |
| 7760 accept(ASTVisitor visitor) => visitor.visitReturnStatement(this); | 8447 accept(ASTVisitor visitor) => visitor.visitReturnStatement(this); |
| 7761 Token get beginToken => _keyword; | 8448 Token get beginToken => _keyword; |
| 7762 Token get endToken => _semicolon; | 8449 Token get endToken => _semicolon; |
| 7763 /** | 8450 /** |
| 7764 * Return the expression computing the value to be returned, or {@code null} i f no explicit value | 8451 * Return the expression computing the value to be returned, or {@code null} i f no explicit value |
| 7765 * was provided. | 8452 * was provided. |
| 7766 * @return the expression computing the value to be returned | 8453 * @return the expression computing the value to be returned |
| 7767 */ | 8454 */ |
| 7768 Expression get expression => _expression; | 8455 Expression get expression => _expression; |
| 7769 /** | 8456 /** |
| 7770 * Return the token representing the 'return' keyword. | 8457 * Return the token representing the 'return' keyword. |
| 7771 * @return the token representing the 'return' keyword | 8458 * @return the token representing the 'return' keyword |
| 7772 */ | 8459 */ |
| 7773 Token get keyword => _keyword; | 8460 Token get keyword => _keyword; |
| 7774 /** | 8461 /** |
| 7775 * Return the semicolon terminating the statement. | 8462 * Return the semicolon terminating the statement. |
| 7776 * @return the semicolon terminating the statement | 8463 * @return the semicolon terminating the statement |
| 7777 */ | 8464 */ |
| 7778 Token get semicolon => _semicolon; | 8465 Token get semicolon => _semicolon; |
| 7779 /** | 8466 /** |
| 7780 * Set the expression computing the value to be returned to the given expressi on. | 8467 * Set the expression computing the value to be returned to the given expressi on. |
| 7781 * @param expression the expression computing the value to be returned | 8468 * @param expression the expression computing the value to be returned |
| 7782 */ | 8469 */ |
| 7783 void set expression10(Expression expression) { | 8470 void set expression(Expression expression10) { |
| 7784 this._expression = becomeParentOf(expression); | 8471 this._expression = becomeParentOf(expression10); |
| 7785 } | 8472 } |
| 7786 /** | 8473 /** |
| 7787 * Set the token representing the 'return' keyword to the given token. | 8474 * Set the token representing the 'return' keyword to the given token. |
| 7788 * @param keyword the token representing the 'return' keyword | 8475 * @param keyword the token representing the 'return' keyword |
| 7789 */ | 8476 */ |
| 7790 void set keyword15(Token keyword) { | 8477 void set keyword(Token keyword14) { |
| 7791 this._keyword = keyword; | 8478 this._keyword = keyword14; |
| 7792 } | 8479 } |
| 7793 /** | 8480 /** |
| 7794 * Set the semicolon terminating the statement to the given token. | 8481 * Set the semicolon terminating the statement to the given token. |
| 7795 * @param semicolon the semicolon terminating the statement | 8482 * @param semicolon the semicolon terminating the statement |
| 7796 */ | 8483 */ |
| 7797 void set semicolon15(Token semicolon) { | 8484 void set semicolon(Token semicolon15) { |
| 7798 this._semicolon = semicolon; | 8485 this._semicolon = semicolon15; |
| 7799 } | 8486 } |
| 7800 void visitChildren(ASTVisitor<Object> visitor) { | 8487 void visitChildren(ASTVisitor<Object> visitor) { |
| 7801 safelyVisitChild(_expression, visitor); | 8488 safelyVisitChild(_expression, visitor); |
| 7802 } | 8489 } |
| 7803 } | 8490 } |
| 7804 /** | 8491 /** |
| 7805 * Instances of the class {@code ScriptTag} represent the script tag that can op tionally occur at | 8492 * Instances of the class {@code ScriptTag} represent the script tag that can op tionally occur at |
| 7806 * the beginning of a compilation unit. | 8493 * the beginning of a compilation unit. |
| 7807 * <pre> | 8494 * <pre> |
| 7808 * scriptTag ::= | 8495 * scriptTag ::= |
| 7809 * '#!' (~NEWLINE)* NEWLINE | 8496 * '#!' (~NEWLINE)* NEWLINE |
| 7810 * </pre> | 8497 * </pre> |
| 7811 */ | 8498 */ |
| 7812 class ScriptTag extends ASTNode { | 8499 class ScriptTag extends ASTNode { |
| 7813 /** | 8500 /** |
| 7814 * The token representing this script tag. | 8501 * The token representing this script tag. |
| 7815 */ | 8502 */ |
| 7816 Token _scriptTag; | 8503 Token _scriptTag; |
| 7817 /** | 8504 /** |
| 7818 * Initialize a newly created script tag. | 8505 * Initialize a newly created script tag. |
| 7819 * @param scriptTag the token representing this script tag | 8506 * @param scriptTag the token representing this script tag |
| 7820 */ | 8507 */ |
| 7821 ScriptTag(Token scriptTag) { | 8508 ScriptTag.full(Token scriptTag) { |
| 7822 this._scriptTag = scriptTag; | 8509 this._scriptTag = scriptTag; |
| 7823 } | 8510 } |
| 8511 /** | |
| 8512 * Initialize a newly created script tag. | |
| 8513 * @param scriptTag the token representing this script tag | |
| 8514 */ | |
| 8515 ScriptTag({Token scriptTag}) : this.full(scriptTag); | |
| 7824 accept(ASTVisitor visitor) => visitor.visitScriptTag(this); | 8516 accept(ASTVisitor visitor) => visitor.visitScriptTag(this); |
| 7825 Token get beginToken => _scriptTag; | 8517 Token get beginToken => _scriptTag; |
| 7826 Token get endToken => _scriptTag; | 8518 Token get endToken => _scriptTag; |
| 7827 /** | 8519 /** |
| 7828 * Return the token representing this script tag. | 8520 * Return the token representing this script tag. |
| 7829 * @return the token representing this script tag | 8521 * @return the token representing this script tag |
| 7830 */ | 8522 */ |
| 7831 Token get scriptTag => _scriptTag; | 8523 Token get scriptTag => _scriptTag; |
| 7832 /** | 8524 /** |
| 7833 * Set the token representing this script tag to the given script tag. | 8525 * Set the token representing this script tag to the given script tag. |
| 7834 * @param scriptTag the token representing this script tag | 8526 * @param scriptTag the token representing this script tag |
| 7835 */ | 8527 */ |
| 7836 void set scriptTag3(Token scriptTag) { | 8528 void set scriptTag(Token scriptTag3) { |
| 7837 this._scriptTag = scriptTag; | 8529 this._scriptTag = scriptTag3; |
| 7838 } | 8530 } |
| 7839 void visitChildren(ASTVisitor<Object> visitor) { | 8531 void visitChildren(ASTVisitor<Object> visitor) { |
| 7840 } | 8532 } |
| 7841 } | 8533 } |
| 7842 /** | 8534 /** |
| 7843 * Instances of the class {@code ShowCombinator} represent a combinator that res tricts the names | 8535 * Instances of the class {@code ShowCombinator} represent a combinator that res tricts the names |
| 7844 * being imported to those in a given list. | 8536 * being imported to those in a given list. |
| 7845 * <pre> | 8537 * <pre> |
| 7846 * showCombinator ::= | 8538 * showCombinator ::= |
| 7847 * 'show' {@link SimpleIdentifier identifier} (',' {@link SimpleIdentifier ident ifier}) | 8539 * 'show' {@link SimpleIdentifier identifier} (',' {@link SimpleIdentifier ident ifier}) |
| 7848 * </pre> | 8540 * </pre> |
| 7849 */ | 8541 */ |
| 7850 class ShowCombinator extends Combinator { | 8542 class ShowCombinator extends Combinator { |
| 7851 /** | 8543 /** |
| 7852 * The list of names from the library that are made visible by this combinator . | 8544 * The list of names from the library that are made visible by this combinator . |
| 7853 */ | 8545 */ |
| 7854 NodeList<SimpleIdentifier> _shownNames; | 8546 NodeList<SimpleIdentifier> _shownNames; |
| 7855 /** | 8547 /** |
| 7856 * Initialize a newly created import show combinator. | 8548 * Initialize a newly created import show combinator. |
| 7857 * @param keyword the comma introducing the combinator | 8549 * @param keyword the comma introducing the combinator |
| 7858 * @param shownNames the list of names from the library that are made visible by this combinator | 8550 * @param shownNames the list of names from the library that are made visible by this combinator |
| 7859 */ | 8551 */ |
| 7860 ShowCombinator(Token keyword, List<SimpleIdentifier> shownNames) : super(keywo rd) { | 8552 ShowCombinator.full(Token keyword, List<SimpleIdentifier> shownNames) : super. full(keyword) { |
| 7861 this._shownNames = new NodeList<SimpleIdentifier>(this); | 8553 this._shownNames = new NodeList<SimpleIdentifier>(this); |
| 7862 this._shownNames.addAll(shownNames); | 8554 this._shownNames.addAll(shownNames); |
| 7863 } | 8555 } |
| 8556 /** | |
| 8557 * Initialize a newly created import show combinator. | |
| 8558 * @param keyword the comma introducing the combinator | |
| 8559 * @param shownNames the list of names from the library that are made visible by this combinator | |
| 8560 */ | |
| 8561 ShowCombinator({Token keyword, List<SimpleIdentifier> shownNames}) : this.full (keyword, shownNames); | |
| 7864 accept(ASTVisitor visitor) => visitor.visitShowCombinator(this); | 8562 accept(ASTVisitor visitor) => visitor.visitShowCombinator(this); |
| 7865 Token get endToken => _shownNames.endToken; | 8563 Token get endToken => _shownNames.endToken; |
| 7866 /** | 8564 /** |
| 7867 * Return the list of names from the library that are made visible by this com binator. | 8565 * Return the list of names from the library that are made visible by this com binator. |
| 7868 * @return the list of names from the library that are made visible by this co mbinator | 8566 * @return the list of names from the library that are made visible by this co mbinator |
| 7869 */ | 8567 */ |
| 7870 NodeList<SimpleIdentifier> get shownNames => _shownNames; | 8568 NodeList<SimpleIdentifier> get shownNames => _shownNames; |
| 7871 void visitChildren(ASTVisitor<Object> visitor) { | 8569 void visitChildren(ASTVisitor<Object> visitor) { |
| 7872 _shownNames.accept(visitor); | 8570 _shownNames.accept(visitor); |
| 7873 } | 8571 } |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 7890 */ | 8588 */ |
| 7891 TypeName _type; | 8589 TypeName _type; |
| 7892 /** | 8590 /** |
| 7893 * Initialize a newly created formal parameter. | 8591 * Initialize a newly created formal parameter. |
| 7894 * @param comment the documentation comment associated with this parameter | 8592 * @param comment the documentation comment associated with this parameter |
| 7895 * @param metadata the annotations associated with this parameter | 8593 * @param metadata the annotations associated with this parameter |
| 7896 * @param keyword the token representing either the 'final', 'const' or 'var' keyword | 8594 * @param keyword the token representing either the 'final', 'const' or 'var' keyword |
| 7897 * @param type the name of the declared type of the parameter | 8595 * @param type the name of the declared type of the parameter |
| 7898 * @param identifier the name of the parameter being declared | 8596 * @param identifier the name of the parameter being declared |
| 7899 */ | 8597 */ |
| 7900 SimpleFormalParameter(Comment comment, List<Annotation> metadata, Token keywor d, TypeName type, SimpleIdentifier identifier) : super(comment, metadata, identi fier) { | 8598 SimpleFormalParameter.full(Comment comment, List<Annotation> metadata, Token k eyword, TypeName type, SimpleIdentifier identifier) : super.full(comment, metada ta, identifier) { |
| 7901 this._keyword = keyword; | 8599 this._keyword = keyword; |
| 7902 this._type = becomeParentOf(type); | 8600 this._type = becomeParentOf(type); |
| 7903 } | 8601 } |
| 8602 /** | |
| 8603 * Initialize a newly created formal parameter. | |
| 8604 * @param comment the documentation comment associated with this parameter | |
| 8605 * @param metadata the annotations associated with this parameter | |
| 8606 * @param keyword the token representing either the 'final', 'const' or 'var' keyword | |
| 8607 * @param type the name of the declared type of the parameter | |
| 8608 * @param identifier the name of the parameter being declared | |
| 8609 */ | |
| 8610 SimpleFormalParameter({Comment comment, List<Annotation> metadata, Token keywo rd, TypeName type, SimpleIdentifier identifier}) : this.full(comment, metadata, keyword, type, identifier); | |
| 7904 accept(ASTVisitor visitor) => visitor.visitSimpleFormalParameter(this); | 8611 accept(ASTVisitor visitor) => visitor.visitSimpleFormalParameter(this); |
| 7905 Token get beginToken { | 8612 Token get beginToken { |
| 7906 if (_keyword != null) { | 8613 if (_keyword != null) { |
| 7907 return _keyword; | 8614 return _keyword; |
| 7908 } else if (_type != null) { | 8615 } else if (_type != null) { |
| 7909 return _type.beginToken; | 8616 return _type.beginToken; |
| 7910 } | 8617 } |
| 7911 return identifier.beginToken; | 8618 return identifier.beginToken; |
| 7912 } | 8619 } |
| 7913 Token get endToken => identifier.endToken; | 8620 Token get endToken => identifier.endToken; |
| 7914 /** | 8621 /** |
| 7915 * Return the token representing either the 'final', 'const' or 'var' keyword. | 8622 * Return the token representing either the 'final', 'const' or 'var' keyword. |
| 7916 * @return the token representing either the 'final', 'const' or 'var' keyword | 8623 * @return the token representing either the 'final', 'const' or 'var' keyword |
| 7917 */ | 8624 */ |
| 7918 Token get keyword => _keyword; | 8625 Token get keyword => _keyword; |
| 7919 /** | 8626 /** |
| 7920 * Return the name of the declared type of the parameter, or {@code null} if t he parameter does | 8627 * Return the name of the declared type of the parameter, or {@code null} if t he parameter does |
| 7921 * not have a declared type. | 8628 * not have a declared type. |
| 7922 * @return the name of the declared type of the parameter | 8629 * @return the name of the declared type of the parameter |
| 7923 */ | 8630 */ |
| 7924 TypeName get type => _type; | 8631 TypeName get type => _type; |
| 7925 bool isConst() => (_keyword is KeywordToken) && (_keyword as KeywordToken).key word == Keyword.CONST; | 8632 bool isConst() => (_keyword is KeywordToken) && identical(((_keyword as Keywor dToken)).keyword, Keyword.CONST); |
| 7926 bool isFinal() => (_keyword is KeywordToken) && (_keyword as KeywordToken).key word == Keyword.FINAL; | 8633 bool isFinal() => (_keyword is KeywordToken) && identical(((_keyword as Keywor dToken)).keyword, Keyword.FINAL); |
| 7927 /** | 8634 /** |
| 7928 * Set the token representing either the 'final', 'const' or 'var' keyword to the given token. | 8635 * Set the token representing either the 'final', 'const' or 'var' keyword to the given token. |
| 7929 * @param keyword the token representing either the 'final', 'const' or 'var' keyword | 8636 * @param keyword the token representing either the 'final', 'const' or 'var' keyword |
| 7930 */ | 8637 */ |
| 7931 void set keyword16(Token keyword) { | 8638 void set keyword(Token keyword15) { |
| 7932 this._keyword = keyword; | 8639 this._keyword = keyword15; |
| 7933 } | 8640 } |
| 7934 /** | 8641 /** |
| 7935 * Set the name of the declared type of the parameter to the given type name. | 8642 * Set the name of the declared type of the parameter to the given type name. |
| 7936 * @param typeName the name of the declared type of the parameter | 8643 * @param typeName the name of the declared type of the parameter |
| 7937 */ | 8644 */ |
| 7938 void set type6(TypeName typeName) { | 8645 void set type(TypeName typeName) { |
| 7939 _type = becomeParentOf(typeName); | 8646 _type = becomeParentOf(typeName); |
| 7940 } | 8647 } |
| 7941 void visitChildren(ASTVisitor<Object> visitor) { | 8648 void visitChildren(ASTVisitor<Object> visitor) { |
| 7942 super.visitChildren(visitor); | 8649 super.visitChildren(visitor); |
| 7943 safelyVisitChild(_type, visitor); | 8650 safelyVisitChild(_type, visitor); |
| 7944 safelyVisitChild(identifier, visitor); | 8651 safelyVisitChild(identifier, visitor); |
| 7945 } | 8652 } |
| 7946 } | 8653 } |
| 7947 /** | 8654 /** |
| 7948 * Instances of the class {@code SimpleIdentifier} represent a simple identifier . | 8655 * Instances of the class {@code SimpleIdentifier} represent a simple identifier . |
| 7949 * <pre> | 8656 * <pre> |
| 7950 * simpleIdentifier ::= | 8657 * simpleIdentifier ::= |
| 7951 * initialCharacter internalCharacter | 8658 * initialCharacter internalCharacter |
| 7952 * initialCharacter ::= '_' | '$' | letter | 8659 * initialCharacter ::= '_' | '$' | letter |
| 7953 * internalCharacter ::= '_' | '$' | letter | digit | 8660 * internalCharacter ::= '_' | '$' | letter | digit |
| 7954 * </pre> | 8661 * </pre> |
| 7955 */ | 8662 */ |
| 7956 class SimpleIdentifier extends Identifier { | 8663 class SimpleIdentifier extends Identifier { |
| 7957 /** | 8664 /** |
| 7958 * The token representing the identifier. | 8665 * The token representing the identifier. |
| 7959 */ | 8666 */ |
| 7960 Token _token; | 8667 Token _token; |
| 7961 /** | 8668 /** |
| 7962 * Initialize a newly created identifier. | 8669 * Initialize a newly created identifier. |
| 7963 * @param token the token representing the identifier | 8670 * @param token the token representing the identifier |
| 7964 */ | 8671 */ |
| 7965 SimpleIdentifier(Token token) { | 8672 SimpleIdentifier.full(Token token) { |
| 7966 this._token = token; | 8673 this._token = token; |
| 7967 } | 8674 } |
| 8675 /** | |
| 8676 * Initialize a newly created identifier. | |
| 8677 * @param token the token representing the identifier | |
| 8678 */ | |
| 8679 SimpleIdentifier({Token token}) : this.full(token); | |
| 7968 accept(ASTVisitor visitor) => visitor.visitSimpleIdentifier(this); | 8680 accept(ASTVisitor visitor) => visitor.visitSimpleIdentifier(this); |
| 7969 Token get beginToken => _token; | 8681 Token get beginToken => _token; |
| 7970 Token get endToken => _token; | 8682 Token get endToken => _token; |
| 7971 String get name => _token.lexeme; | 8683 String get name => _token.lexeme; |
| 7972 /** | 8684 /** |
| 7973 * Return the token representing the identifier. | 8685 * Return the token representing the identifier. |
| 7974 * @return the token representing the identifier | 8686 * @return the token representing the identifier |
| 7975 */ | 8687 */ |
| 7976 Token get token => _token; | 8688 Token get token => _token; |
| 7977 /** | 8689 /** |
| 7978 * Return {@code true} if this expression is computing a right-hand value. | 8690 * Return {@code true} if this expression is computing a right-hand value. |
| 7979 * <p> | 8691 * <p> |
| 7980 * Note that {@link #inGetterContext()} and {@link #inSetterContext()} are not opposites, nor are | 8692 * Note that {@link #inGetterContext()} and {@link #inSetterContext()} are not opposites, nor are |
| 7981 * they mutually exclusive. In other words, it is possible for both methods to return {@code true}when invoked on the same node. | 8693 * they mutually exclusive. In other words, it is possible for both methods to return {@code true}when invoked on the same node. |
| 7982 * @return {@code true} if this expression is in a context where a getter will be invoked | 8694 * @return {@code true} if this expression is in a context where a getter will be invoked |
| 7983 */ | 8695 */ |
| 7984 bool inGetterContext() { | 8696 bool inGetterContext() { |
| 7985 ASTNode parent7 = parent; | 8697 ASTNode parent6 = parent; |
| 7986 ASTNode target = this; | 8698 ASTNode target = this; |
| 7987 if (parent7 is PrefixedIdentifier) { | 8699 if (parent6 is PrefixedIdentifier) { |
| 7988 PrefixedIdentifier prefixed = parent7 as PrefixedIdentifier; | 8700 PrefixedIdentifier prefixed = (parent6 as PrefixedIdentifier); |
| 7989 if (prefixed.identifier != this) { | 8701 if (identical(prefixed.prefix, this)) { |
| 7990 return false; | 8702 return true; |
| 7991 } | 8703 } |
| 7992 parent7 = prefixed.parent; | 8704 parent6 = prefixed.parent; |
| 7993 target = prefixed; | 8705 target = prefixed; |
| 7994 } | 8706 } |
| 7995 if (parent7 is AssignmentExpression) { | 8707 if (parent6 is AssignmentExpression) { |
| 7996 AssignmentExpression expr = parent7 as AssignmentExpression; | 8708 AssignmentExpression expr = (parent6 as AssignmentExpression); |
| 7997 if (expr.leftHandSide == target && expr.operator.type == TokenType.EQ) { | 8709 if (identical(expr.leftHandSide, target) && identical(expr.operator.type, TokenType.EQ)) { |
| 7998 return false; | 8710 return false; |
| 7999 } | 8711 } |
| 8000 } | 8712 } |
| 8001 return true; | 8713 return true; |
| 8002 } | 8714 } |
| 8003 /** | 8715 /** |
| 8004 * Return {@code true} if this expression is computing a left-hand value. | 8716 * Return {@code true} if this expression is computing a left-hand value. |
| 8005 * <p> | 8717 * <p> |
| 8006 * Note that {@link #inGetterContext()} and {@link #inSetterContext()} are not opposites, nor are | 8718 * Note that {@link #inGetterContext()} and {@link #inSetterContext()} are not opposites, nor are |
| 8007 * they mutually exclusive. In other words, it is possible for both methods to return {@code true}when invoked on the same node. | 8719 * they mutually exclusive. In other words, it is possible for both methods to return {@code true}when invoked on the same node. |
| 8008 * @return {@code true} if this expression is in a context where a setter will be invoked | 8720 * @return {@code true} if this expression is in a context where a setter will be invoked |
| 8009 */ | 8721 */ |
| 8010 bool inSetterContext() { | 8722 bool inSetterContext() { |
| 8011 ASTNode parent8 = parent; | 8723 ASTNode parent7 = parent; |
| 8012 ASTNode target = this; | 8724 ASTNode target = this; |
| 8013 if (parent8 is PrefixedIdentifier) { | 8725 if (parent7 is PrefixedIdentifier) { |
| 8014 PrefixedIdentifier prefixed = parent8 as PrefixedIdentifier; | 8726 PrefixedIdentifier prefixed = (parent7 as PrefixedIdentifier); |
| 8015 if (prefixed.identifier != this) { | 8727 if (identical(prefixed.prefix, this)) { |
| 8016 return false; | 8728 return false; |
| 8017 } | 8729 } |
| 8018 parent8 = prefixed.parent; | 8730 parent7 = prefixed.parent; |
| 8019 target = prefixed; | 8731 target = prefixed; |
| 8020 } | 8732 } |
| 8021 if (parent8 is PrefixExpression) { | 8733 if (parent7 is PrefixExpression) { |
| 8022 return (parent8 as PrefixExpression).operator.type.isIncrementOperator(); | 8734 return ((parent7 as PrefixExpression)).operator.type.isIncrementOperator() ; |
| 8023 } else if (parent8 is PostfixExpression) { | 8735 } else if (parent7 is PostfixExpression) { |
| 8024 return true; | 8736 return true; |
| 8025 } else if (parent8 is AssignmentExpression) { | 8737 } else if (parent7 is AssignmentExpression) { |
| 8026 return (parent8 as AssignmentExpression).leftHandSide == target; | 8738 return identical(((parent7 as AssignmentExpression)).leftHandSide, target) ; |
| 8027 } | 8739 } |
| 8028 return false; | 8740 return false; |
| 8029 } | 8741 } |
| 8030 bool isSynthetic() => _token.isSynthetic(); | 8742 bool isSynthetic() => _token.isSynthetic(); |
| 8031 /** | 8743 /** |
| 8032 * Set the token representing the identifier to the given token. | 8744 * Set the token representing the identifier to the given token. |
| 8033 * @param token the token representing the literal | 8745 * @param token the token representing the literal |
| 8034 */ | 8746 */ |
| 8035 void set token12(Token token) { | 8747 void set token(Token token12) { |
| 8036 this._token = token; | 8748 this._token = token12; |
| 8037 } | 8749 } |
| 8038 void visitChildren(ASTVisitor<Object> visitor) { | 8750 void visitChildren(ASTVisitor<Object> visitor) { |
| 8039 } | 8751 } |
| 8040 } | 8752 } |
| 8041 /** | 8753 /** |
| 8042 * Instances of the class {@code SimpleStringLiteral} represent a string literal expression that | 8754 * Instances of the class {@code SimpleStringLiteral} represent a string literal expression that |
| 8043 * does not contain any interpolations. | 8755 * does not contain any interpolations. |
| 8044 * <pre> | 8756 * <pre> |
| 8045 * simpleStringLiteral ::= | 8757 * simpleStringLiteral ::= |
| 8046 * rawStringLiteral | 8758 * rawStringLiteral |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 8065 Token _literal; | 8777 Token _literal; |
| 8066 /** | 8778 /** |
| 8067 * The value of the literal. | 8779 * The value of the literal. |
| 8068 */ | 8780 */ |
| 8069 String _value; | 8781 String _value; |
| 8070 /** | 8782 /** |
| 8071 * Initialize a newly created simple string literal. | 8783 * Initialize a newly created simple string literal. |
| 8072 * @param literal the token representing the literal | 8784 * @param literal the token representing the literal |
| 8073 * @param value the value of the literal | 8785 * @param value the value of the literal |
| 8074 */ | 8786 */ |
| 8075 SimpleStringLiteral(Token literal, String value) { | 8787 SimpleStringLiteral.full(Token literal, String value) { |
| 8076 this._literal = literal; | 8788 this._literal = literal; |
| 8077 this._value = value; | 8789 this._value = value; |
| 8078 } | 8790 } |
| 8791 /** | |
| 8792 * Initialize a newly created simple string literal. | |
| 8793 * @param literal the token representing the literal | |
| 8794 * @param value the value of the literal | |
| 8795 */ | |
| 8796 SimpleStringLiteral({Token literal, String value}) : this.full(literal, value) ; | |
| 8079 accept(ASTVisitor visitor) => visitor.visitSimpleStringLiteral(this); | 8797 accept(ASTVisitor visitor) => visitor.visitSimpleStringLiteral(this); |
| 8080 Token get beginToken => _literal; | 8798 Token get beginToken => _literal; |
| 8081 Token get endToken => _literal; | 8799 Token get endToken => _literal; |
| 8082 /** | 8800 /** |
| 8083 * Return the token representing the literal. | 8801 * Return the token representing the literal. |
| 8084 * @return the token representing the literal | 8802 * @return the token representing the literal |
| 8085 */ | 8803 */ |
| 8086 Token get literal => _literal; | 8804 Token get literal => _literal; |
| 8087 /** | 8805 /** |
| 8088 * Return the value of the literal. | 8806 * Return the value of the literal. |
| 8089 * @return the value of the literal | 8807 * @return the value of the literal |
| 8090 */ | 8808 */ |
| 8091 String get value => _value; | 8809 String get value => _value; |
| 8092 /** | 8810 /** |
| 8093 * Return {@code true} if this string literal is a multi-line string. | 8811 * Return {@code true} if this string literal is a multi-line string. |
| 8094 * @return {@code true} if this string literal is a multi-line string | 8812 * @return {@code true} if this string literal is a multi-line string |
| 8095 */ | 8813 */ |
| 8096 bool isMultiline() { | 8814 bool isMultiline() { |
| 8097 if (_value.length < 6) { | 8815 if (_value.length < 6) { |
| 8098 return false; | 8816 return false; |
| 8099 } | 8817 } |
| 8100 return _value.endsWith("\"\"\"") || _value.endsWith("'''"); | 8818 return _value.endsWith("\"\"\"") || _value.endsWith("'''"); |
| 8101 } | 8819 } |
| 8102 /** | 8820 /** |
| 8103 * Return {@code true} if this string literal is a raw string. | 8821 * Return {@code true} if this string literal is a raw string. |
| 8104 * @return {@code true} if this string literal is a raw string | 8822 * @return {@code true} if this string literal is a raw string |
| 8105 */ | 8823 */ |
| 8106 bool isRaw() => _value.charCodeAt(0) == 0x40; | 8824 bool isRaw() => _value.codeUnitAt(0) == 0x40; |
| 8107 bool isSynthetic() => _literal.isSynthetic(); | 8825 bool isSynthetic() => _literal.isSynthetic(); |
| 8108 /** | 8826 /** |
| 8109 * Set the token representing the literal to the given token. | 8827 * Set the token representing the literal to the given token. |
| 8110 * @param literal the token representing the literal | 8828 * @param literal the token representing the literal |
| 8111 */ | 8829 */ |
| 8112 void set literal6(Token literal) { | 8830 void set literal(Token literal6) { |
| 8113 this._literal = literal; | 8831 this._literal = literal6; |
| 8114 } | 8832 } |
| 8115 /** | 8833 /** |
| 8116 * Set the value of the literal to the given string. | 8834 * Set the value of the literal to the given string. |
| 8117 * @param string the value of the literal | 8835 * @param string the value of the literal |
| 8118 */ | 8836 */ |
| 8119 void set value9(String string) { | 8837 void set value(String string) { |
| 8120 _value = string; | 8838 _value = string; |
| 8121 } | 8839 } |
| 8122 void visitChildren(ASTVisitor<Object> visitor) { | 8840 void visitChildren(ASTVisitor<Object> visitor) { |
| 8123 } | 8841 } |
| 8124 } | 8842 } |
| 8125 /** | 8843 /** |
| 8126 * Instances of the class {@code Statement} defines the behavior common to nodes that represent a | 8844 * Instances of the class {@code Statement} defines the behavior common to nodes that represent a |
| 8127 * statement. | 8845 * statement. |
| 8128 * <pre> | 8846 * <pre> |
| 8129 * statement ::={@link Block block}| {@link VariableDeclarationStatement initial izedVariableDeclaration ';'}| {@link ForStatement forStatement}| {@link ForEachS tatement forEachStatement}| {@link WhileStatement whileStatement}| {@link DoStat ement doStatement}| {@link SwitchStatement switchStatement}| {@link IfStatement ifStatement}| {@link TryStatement tryStatement}| {@link BreakStatement breakStat ement}| {@link ContinueStatement continueStatement}| {@link ReturnStatement retu rnStatement}| {@link ExpressionStatement expressionStatement}| {@link FunctionDe clarationStatement functionSignature functionBody}</pre> | 8847 * statement ::={@link Block block}| {@link VariableDeclarationStatement initial izedVariableDeclaration ';'}| {@link ForStatement forStatement}| {@link ForEachS tatement forEachStatement}| {@link WhileStatement whileStatement}| {@link DoStat ement doStatement}| {@link SwitchStatement switchStatement}| {@link IfStatement ifStatement}| {@link TryStatement tryStatement}| {@link BreakStatement breakStat ement}| {@link ContinueStatement continueStatement}| {@link ReturnStatement retu rnStatement}| {@link ExpressionStatement expressionStatement}| {@link FunctionDe clarationStatement functionSignature functionBody}</pre> |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 8140 */ | 8858 */ |
| 8141 class StringInterpolation extends StringLiteral { | 8859 class StringInterpolation extends StringLiteral { |
| 8142 /** | 8860 /** |
| 8143 * The elements that will be composed to produce the resulting string. | 8861 * The elements that will be composed to produce the resulting string. |
| 8144 */ | 8862 */ |
| 8145 NodeList<InterpolationElement> _elements; | 8863 NodeList<InterpolationElement> _elements; |
| 8146 /** | 8864 /** |
| 8147 * Initialize a newly created string interpolation expression. | 8865 * Initialize a newly created string interpolation expression. |
| 8148 * @param elements the elements that will be composed to produce the resulting string | 8866 * @param elements the elements that will be composed to produce the resulting string |
| 8149 */ | 8867 */ |
| 8150 StringInterpolation(List<InterpolationElement> elements) { | 8868 StringInterpolation.full(List<InterpolationElement> elements) { |
| 8151 this._elements = new NodeList<InterpolationElement>(this); | 8869 this._elements = new NodeList<InterpolationElement>(this); |
| 8152 this._elements.addAll(elements); | 8870 this._elements.addAll(elements); |
| 8153 } | 8871 } |
| 8872 /** | |
| 8873 * Initialize a newly created string interpolation expression. | |
| 8874 * @param elements the elements that will be composed to produce the resulting string | |
| 8875 */ | |
| 8876 StringInterpolation({List<InterpolationElement> elements}) : this.full(element s); | |
| 8154 accept(ASTVisitor visitor) => visitor.visitStringInterpolation(this); | 8877 accept(ASTVisitor visitor) => visitor.visitStringInterpolation(this); |
| 8155 Token get beginToken => _elements.beginToken; | 8878 Token get beginToken => _elements.beginToken; |
| 8156 /** | 8879 /** |
| 8157 * Return the elements that will be composed to produce the resulting string. | 8880 * Return the elements that will be composed to produce the resulting string. |
| 8158 * @return the elements that will be composed to produce the resulting string | 8881 * @return the elements that will be composed to produce the resulting string |
| 8159 */ | 8882 */ |
| 8160 NodeList<InterpolationElement> get elements => _elements; | 8883 NodeList<InterpolationElement> get elements => _elements; |
| 8161 Token get endToken => _elements.endToken; | 8884 Token get endToken => _elements.endToken; |
| 8162 void visitChildren(ASTVisitor<Object> visitor) { | 8885 void visitChildren(ASTVisitor<Object> visitor) { |
| 8163 _elements.accept(visitor); | 8886 _elements.accept(visitor); |
| (...skipping 25 matching lines...) Expand all Loading... | |
| 8189 /** | 8912 /** |
| 8190 * The name of the constructor that is being invoked, or {@code null} if the u nnamed constructor | 8913 * The name of the constructor that is being invoked, or {@code null} if the u nnamed constructor |
| 8191 * is being invoked. | 8914 * is being invoked. |
| 8192 */ | 8915 */ |
| 8193 SimpleIdentifier _constructorName; | 8916 SimpleIdentifier _constructorName; |
| 8194 /** | 8917 /** |
| 8195 * The list of arguments to the constructor. | 8918 * The list of arguments to the constructor. |
| 8196 */ | 8919 */ |
| 8197 ArgumentList _argumentList; | 8920 ArgumentList _argumentList; |
| 8198 /** | 8921 /** |
| 8922 * The element associated with the constructor, or {@code null} if the AST str ucture has not been | |
| 8923 * resolved or if the constructor could not be resolved. | |
| 8924 */ | |
| 8925 ConstructorElement _element; | |
| 8926 /** | |
| 8199 * Initialize a newly created super invocation to invoke the inherited constru ctor with the given | 8927 * Initialize a newly created super invocation to invoke the inherited constru ctor with the given |
| 8200 * name with the given arguments. | 8928 * name with the given arguments. |
| 8201 * @param keyword the token for the 'super' keyword | 8929 * @param keyword the token for the 'super' keyword |
| 8202 * @param period the token for the period before the name of the constructor t hat is being invoked | 8930 * @param period the token for the period before the name of the constructor t hat is being invoked |
| 8203 * @param constructorName the name of the constructor that is being invoked | 8931 * @param constructorName the name of the constructor that is being invoked |
| 8204 * @param argumentList the list of arguments to the constructor | 8932 * @param argumentList the list of arguments to the constructor |
| 8205 */ | 8933 */ |
| 8206 SuperConstructorInvocation(Token keyword, Token period, SimpleIdentifier const ructorName, ArgumentList argumentList) { | 8934 SuperConstructorInvocation.full(Token keyword, Token period, SimpleIdentifier constructorName, ArgumentList argumentList) { |
| 8207 this._keyword = keyword; | 8935 this._keyword = keyword; |
| 8208 this._period = period; | 8936 this._period = period; |
| 8209 this._constructorName = becomeParentOf(constructorName); | 8937 this._constructorName = becomeParentOf(constructorName); |
| 8210 this._argumentList = becomeParentOf(argumentList); | 8938 this._argumentList = becomeParentOf(argumentList); |
| 8211 } | 8939 } |
| 8940 /** | |
| 8941 * Initialize a newly created super invocation to invoke the inherited constru ctor with the given | |
| 8942 * name with the given arguments. | |
| 8943 * @param keyword the token for the 'super' keyword | |
| 8944 * @param period the token for the period before the name of the constructor t hat is being invoked | |
| 8945 * @param constructorName the name of the constructor that is being invoked | |
| 8946 * @param argumentList the list of arguments to the constructor | |
| 8947 */ | |
| 8948 SuperConstructorInvocation({Token keyword, Token period, SimpleIdentifier cons tructorName, ArgumentList argumentList}) : this.full(keyword, period, constructo rName, argumentList); | |
| 8212 accept(ASTVisitor visitor) => visitor.visitSuperConstructorInvocation(this); | 8949 accept(ASTVisitor visitor) => visitor.visitSuperConstructorInvocation(this); |
| 8213 /** | 8950 /** |
| 8214 * Return the list of arguments to the constructor. | 8951 * Return the list of arguments to the constructor. |
| 8215 * @return the list of arguments to the constructor | 8952 * @return the list of arguments to the constructor |
| 8216 */ | 8953 */ |
| 8217 ArgumentList get argumentList => _argumentList; | 8954 ArgumentList get argumentList => _argumentList; |
| 8218 Token get beginToken => _keyword; | 8955 Token get beginToken => _keyword; |
| 8219 /** | 8956 /** |
| 8220 * Return the name of the constructor that is being invoked, or {@code null} i f the unnamed | 8957 * Return the name of the constructor that is being invoked, or {@code null} i f the unnamed |
| 8221 * constructor is being invoked. | 8958 * constructor is being invoked. |
| 8222 * @return the name of the constructor that is being invoked | 8959 * @return the name of the constructor that is being invoked |
| 8223 */ | 8960 */ |
| 8224 SimpleIdentifier get constructorName => _constructorName; | 8961 SimpleIdentifier get constructorName => _constructorName; |
| 8962 /** | |
| 8963 * Return the element associated with the constructor, or {@code null} if the AST structure has | |
| 8964 * not been resolved or if the constructor could not be resolved. | |
| 8965 * @return the element associated with the super constructor | |
| 8966 */ | |
| 8967 ConstructorElement get element => _element; | |
| 8225 Token get endToken => _argumentList.endToken; | 8968 Token get endToken => _argumentList.endToken; |
| 8226 /** | 8969 /** |
| 8227 * Return the token for the 'super' keyword. | 8970 * Return the token for the 'super' keyword. |
| 8228 * @return the token for the 'super' keyword | 8971 * @return the token for the 'super' keyword |
| 8229 */ | 8972 */ |
| 8230 Token get keyword => _keyword; | 8973 Token get keyword => _keyword; |
| 8231 /** | 8974 /** |
| 8232 * Return the token for the period before the name of the constructor that is being invoked, or{@code null} if the unnamed constructor is being invoked. | 8975 * Return the token for the period before the name of the constructor that is being invoked, or{@code null} if the unnamed constructor is being invoked. |
| 8233 * @return the token for the period before the name of the constructor that is being invoked | 8976 * @return the token for the period before the name of the constructor that is being invoked |
| 8234 */ | 8977 */ |
| 8235 Token get period => _period; | 8978 Token get period => _period; |
| 8236 /** | 8979 /** |
| 8237 * Set the list of arguments to the constructor to the given list. | 8980 * Set the list of arguments to the constructor to the given list. |
| 8238 * @param argumentList the list of arguments to the constructor | 8981 * @param argumentList the list of arguments to the constructor |
| 8239 */ | 8982 */ |
| 8240 void set argumentList9(ArgumentList argumentList) { | 8983 void set argumentList(ArgumentList argumentList9) { |
| 8241 this._argumentList = becomeParentOf(argumentList); | 8984 this._argumentList = becomeParentOf(argumentList9); |
| 8242 } | 8985 } |
| 8243 /** | 8986 /** |
| 8244 * Set the name of the constructor that is being invoked to the given identifi er. | 8987 * Set the name of the constructor that is being invoked to the given identifi er. |
| 8245 * @param identifier the name of the constructor that is being invoked | 8988 * @param identifier the name of the constructor that is being invoked |
| 8246 */ | 8989 */ |
| 8247 void set constructorName5(SimpleIdentifier identifier) { | 8990 void set constructorName(SimpleIdentifier identifier) { |
| 8248 _constructorName = becomeParentOf(identifier); | 8991 _constructorName = becomeParentOf(identifier); |
| 8249 } | 8992 } |
| 8250 /** | 8993 /** |
| 8994 * Set the element associated with the constructor to the given element. | |
| 8995 * @param element the element associated with the constructor | |
| 8996 */ | |
| 8997 void set element(ConstructorElement element17) { | |
| 8998 this._element = element17; | |
| 8999 } | |
| 9000 /** | |
| 8251 * Set the token for the 'super' keyword to the given token. | 9001 * Set the token for the 'super' keyword to the given token. |
| 8252 * @param keyword the token for the 'super' keyword | 9002 * @param keyword the token for the 'super' keyword |
| 8253 */ | 9003 */ |
| 8254 void set keyword17(Token keyword) { | 9004 void set keyword(Token keyword16) { |
| 8255 this._keyword = keyword; | 9005 this._keyword = keyword16; |
| 8256 } | 9006 } |
| 8257 /** | 9007 /** |
| 8258 * Set the token for the period before the name of the constructor that is bei ng invoked to the | 9008 * Set the token for the period before the name of the constructor that is bei ng invoked to the |
| 8259 * given token. | 9009 * given token. |
| 8260 * @param period the token for the period before the name of the constructor t hat is being invoked | 9010 * @param period the token for the period before the name of the constructor t hat is being invoked |
| 8261 */ | 9011 */ |
| 8262 void set period11(Token period) { | 9012 void set period(Token period12) { |
| 8263 this._period = period; | 9013 this._period = period12; |
| 8264 } | 9014 } |
| 8265 void visitChildren(ASTVisitor<Object> visitor) { | 9015 void visitChildren(ASTVisitor<Object> visitor) { |
| 8266 safelyVisitChild(_constructorName, visitor); | 9016 safelyVisitChild(_constructorName, visitor); |
| 8267 safelyVisitChild(_argumentList, visitor); | 9017 safelyVisitChild(_argumentList, visitor); |
| 8268 } | 9018 } |
| 8269 } | 9019 } |
| 8270 /** | 9020 /** |
| 8271 * Instances of the class {@code SuperExpression} represent a super expression. | 9021 * Instances of the class {@code SuperExpression} represent a super expression. |
| 8272 * <pre> | 9022 * <pre> |
| 8273 * superExpression ::= | 9023 * superExpression ::= |
| 8274 * 'super' | 9024 * 'super' |
| 8275 * </pre> | 9025 * </pre> |
| 8276 */ | 9026 */ |
| 8277 class SuperExpression extends Expression { | 9027 class SuperExpression extends Expression { |
| 8278 /** | 9028 /** |
| 8279 * The token representing the keyword. | 9029 * The token representing the keyword. |
| 8280 */ | 9030 */ |
| 8281 Token _keyword; | 9031 Token _keyword; |
| 8282 /** | 9032 /** |
| 8283 * Initialize a newly created super expression. | 9033 * Initialize a newly created super expression. |
| 8284 * @param keyword the token representing the keyword | 9034 * @param keyword the token representing the keyword |
| 8285 */ | 9035 */ |
| 8286 SuperExpression(Token keyword) { | 9036 SuperExpression.full(Token keyword) { |
| 8287 this._keyword = keyword; | 9037 this._keyword = keyword; |
| 8288 } | 9038 } |
| 9039 /** | |
| 9040 * Initialize a newly created super expression. | |
| 9041 * @param keyword the token representing the keyword | |
| 9042 */ | |
| 9043 SuperExpression({Token keyword}) : this.full(keyword); | |
| 8289 accept(ASTVisitor visitor) => visitor.visitSuperExpression(this); | 9044 accept(ASTVisitor visitor) => visitor.visitSuperExpression(this); |
| 8290 Token get beginToken => _keyword; | 9045 Token get beginToken => _keyword; |
| 8291 Token get endToken => _keyword; | 9046 Token get endToken => _keyword; |
| 8292 /** | 9047 /** |
| 8293 * Return the token representing the keyword. | 9048 * Return the token representing the keyword. |
| 8294 * @return the token representing the keyword | 9049 * @return the token representing the keyword |
| 8295 */ | 9050 */ |
| 8296 Token get keyword => _keyword; | 9051 Token get keyword => _keyword; |
| 8297 /** | 9052 /** |
| 8298 * Set the token representing the keyword to the given token. | 9053 * Set the token representing the keyword to the given token. |
| 8299 * @param keyword the token representing the keyword | 9054 * @param keyword the token representing the keyword |
| 8300 */ | 9055 */ |
| 8301 void set keyword18(Token keyword) { | 9056 void set keyword(Token keyword17) { |
| 8302 this._keyword = keyword; | 9057 this._keyword = keyword17; |
| 8303 } | 9058 } |
| 8304 void visitChildren(ASTVisitor<Object> visitor) { | 9059 void visitChildren(ASTVisitor<Object> visitor) { |
| 8305 } | 9060 } |
| 8306 } | 9061 } |
| 8307 /** | 9062 /** |
| 8308 * Instances of the class {@code SwitchCase} represent the case in a switch stat ement. | 9063 * Instances of the class {@code SwitchCase} represent the case in a switch stat ement. |
| 8309 * <pre> | 9064 * <pre> |
| 8310 * switchCase ::={@link SimpleIdentifier label}* 'case' {@link Expression expres sion} ':' {@link Statement statement}</pre> | 9065 * switchCase ::={@link SimpleIdentifier label}* 'case' {@link Expression expres sion} ':' {@link Statement statement}</pre> |
| 8311 */ | 9066 */ |
| 8312 class SwitchCase extends SwitchMember { | 9067 class SwitchCase extends SwitchMember { |
| 8313 /** | 9068 /** |
| 8314 * The expression controlling whether the statements will be executed. | 9069 * The expression controlling whether the statements will be executed. |
| 8315 */ | 9070 */ |
| 8316 Expression _expression; | 9071 Expression _expression; |
| 8317 /** | 9072 /** |
| 8318 * Initialize a newly created switch case. | 9073 * Initialize a newly created switch case. |
| 8319 * @param labels the labels associated with the switch member | 9074 * @param labels the labels associated with the switch member |
| 8320 * @param keyword the token representing the 'case' or 'default' keyword | 9075 * @param keyword the token representing the 'case' or 'default' keyword |
| 8321 * @param expression the expression controlling whether the statements will be executed | 9076 * @param expression the expression controlling whether the statements will be executed |
| 8322 * @param colon the colon separating the keyword or the expression from the st atements | 9077 * @param colon the colon separating the keyword or the expression from the st atements |
| 8323 * @param statements the statements that will be executed if this switch membe r is selected | 9078 * @param statements the statements that will be executed if this switch membe r is selected |
| 8324 */ | 9079 */ |
| 8325 SwitchCase(List<Label> labels, Token keyword, Expression expression, Token col on, List<Statement> statements) : super(labels, keyword, colon, statements) { | 9080 SwitchCase.full(List<Label> labels, Token keyword, Expression expression, Toke n colon, List<Statement> statements) : super.full(labels, keyword, colon, statem ents) { |
| 8326 this._expression = becomeParentOf(expression); | 9081 this._expression = becomeParentOf(expression); |
| 8327 } | 9082 } |
| 9083 /** | |
| 9084 * Initialize a newly created switch case. | |
| 9085 * @param labels the labels associated with the switch member | |
| 9086 * @param keyword the token representing the 'case' or 'default' keyword | |
| 9087 * @param expression the expression controlling whether the statements will be executed | |
| 9088 * @param colon the colon separating the keyword or the expression from the st atements | |
| 9089 * @param statements the statements that will be executed if this switch membe r is selected | |
| 9090 */ | |
| 9091 SwitchCase({List<Label> labels, Token keyword, Expression expression, Token co lon, List<Statement> statements}) : this.full(labels, keyword, expression, colon , statements); | |
| 8328 accept(ASTVisitor visitor) => visitor.visitSwitchCase(this); | 9092 accept(ASTVisitor visitor) => visitor.visitSwitchCase(this); |
| 8329 /** | 9093 /** |
| 8330 * Return the expression controlling whether the statements will be executed. | 9094 * Return the expression controlling whether the statements will be executed. |
| 8331 * @return the expression controlling whether the statements will be executed | 9095 * @return the expression controlling whether the statements will be executed |
| 8332 */ | 9096 */ |
| 8333 Expression get expression => _expression; | 9097 Expression get expression => _expression; |
| 8334 /** | 9098 /** |
| 8335 * Set the expression controlling whether the statements will be executed to t he given expression. | 9099 * Set the expression controlling whether the statements will be executed to t he given expression. |
| 8336 * @param expression the expression controlling whether the statements will be executed | 9100 * @param expression the expression controlling whether the statements will be executed |
| 8337 */ | 9101 */ |
| 8338 void set expression11(Expression expression) { | 9102 void set expression(Expression expression11) { |
| 8339 this._expression = becomeParentOf(expression); | 9103 this._expression = becomeParentOf(expression11); |
| 8340 } | 9104 } |
| 8341 void visitChildren(ASTVisitor<Object> visitor) { | 9105 void visitChildren(ASTVisitor<Object> visitor) { |
| 8342 labels.accept(visitor); | 9106 labels.accept(visitor); |
| 8343 safelyVisitChild(_expression, visitor); | 9107 safelyVisitChild(_expression, visitor); |
| 8344 statements.accept(visitor); | 9108 statements.accept(visitor); |
| 8345 } | 9109 } |
| 8346 } | 9110 } |
| 8347 /** | 9111 /** |
| 8348 * Instances of the class {@code SwitchDefault} represent the default case in a switch statement. | 9112 * Instances of the class {@code SwitchDefault} represent the default case in a switch statement. |
| 8349 * <pre> | 9113 * <pre> |
| 8350 * switchDefault ::={@link SimpleIdentifier label}* 'default' ':' {@link Stateme nt statement}</pre> | 9114 * switchDefault ::={@link SimpleIdentifier label}* 'default' ':' {@link Stateme nt statement}</pre> |
| 8351 */ | 9115 */ |
| 8352 class SwitchDefault extends SwitchMember { | 9116 class SwitchDefault extends SwitchMember { |
| 8353 /** | 9117 /** |
| 8354 * Initialize a newly created switch default. | 9118 * Initialize a newly created switch default. |
| 8355 * @param labels the labels associated with the switch member | 9119 * @param labels the labels associated with the switch member |
| 8356 * @param keyword the token representing the 'case' or 'default' keyword | 9120 * @param keyword the token representing the 'case' or 'default' keyword |
| 8357 * @param colon the colon separating the keyword or the expression from the st atements | 9121 * @param colon the colon separating the keyword or the expression from the st atements |
| 8358 * @param statements the statements that will be executed if this switch membe r is selected | 9122 * @param statements the statements that will be executed if this switch membe r is selected |
| 8359 */ | 9123 */ |
| 8360 SwitchDefault(List<Label> labels, Token keyword, Token colon, List<Statement> statements) : super(labels, keyword, colon, statements) { | 9124 SwitchDefault.full(List<Label> labels, Token keyword, Token colon, List<Statem ent> statements) : super.full(labels, keyword, colon, statements) { |
| 8361 } | 9125 } |
| 9126 /** | |
| 9127 * Initialize a newly created switch default. | |
| 9128 * @param labels the labels associated with the switch member | |
| 9129 * @param keyword the token representing the 'case' or 'default' keyword | |
| 9130 * @param colon the colon separating the keyword or the expression from the st atements | |
| 9131 * @param statements the statements that will be executed if this switch membe r is selected | |
| 9132 */ | |
| 9133 SwitchDefault({List<Label> labels, Token keyword, Token colon, List<Statement> statements}) : this.full(labels, keyword, colon, statements); | |
| 8362 accept(ASTVisitor visitor) => visitor.visitSwitchDefault(this); | 9134 accept(ASTVisitor visitor) => visitor.visitSwitchDefault(this); |
| 8363 void visitChildren(ASTVisitor<Object> visitor) { | 9135 void visitChildren(ASTVisitor<Object> visitor) { |
| 8364 labels.accept(visitor); | 9136 labels.accept(visitor); |
| 8365 statements.accept(visitor); | 9137 statements.accept(visitor); |
| 8366 } | 9138 } |
| 8367 } | 9139 } |
| 8368 /** | 9140 /** |
| 8369 * The abstract class {@code SwitchMember} defines the behavior common to object s representing | 9141 * The abstract class {@code SwitchMember} defines the behavior common to object s representing |
| 8370 * elements within a switch statement. | 9142 * elements within a switch statement. |
| 8371 * <pre> | 9143 * <pre> |
| (...skipping 19 matching lines...) Expand all Loading... | |
| 8391 * The statements that will be executed if this switch member is selected. | 9163 * The statements that will be executed if this switch member is selected. |
| 8392 */ | 9164 */ |
| 8393 NodeList<Statement> _statements; | 9165 NodeList<Statement> _statements; |
| 8394 /** | 9166 /** |
| 8395 * Initialize a newly created switch member. | 9167 * Initialize a newly created switch member. |
| 8396 * @param labels the labels associated with the switch member | 9168 * @param labels the labels associated with the switch member |
| 8397 * @param keyword the token representing the 'case' or 'default' keyword | 9169 * @param keyword the token representing the 'case' or 'default' keyword |
| 8398 * @param colon the colon separating the keyword or the expression from the st atements | 9170 * @param colon the colon separating the keyword or the expression from the st atements |
| 8399 * @param statements the statements that will be executed if this switch membe r is selected | 9171 * @param statements the statements that will be executed if this switch membe r is selected |
| 8400 */ | 9172 */ |
| 8401 SwitchMember(List<Label> labels, Token keyword, Token colon, List<Statement> s tatements) { | 9173 SwitchMember.full(List<Label> labels, Token keyword, Token colon, List<Stateme nt> statements) { |
| 8402 this._labels = new NodeList<Label>(this); | 9174 this._labels = new NodeList<Label>(this); |
| 8403 this._statements = new NodeList<Statement>(this); | 9175 this._statements = new NodeList<Statement>(this); |
| 8404 this._labels.addAll(labels); | 9176 this._labels.addAll(labels); |
| 8405 this._keyword = keyword; | 9177 this._keyword = keyword; |
| 8406 this._colon = colon; | 9178 this._colon = colon; |
| 8407 this._statements.addAll(statements); | 9179 this._statements.addAll(statements); |
| 8408 } | 9180 } |
| 9181 /** | |
| 9182 * Initialize a newly created switch member. | |
| 9183 * @param labels the labels associated with the switch member | |
| 9184 * @param keyword the token representing the 'case' or 'default' keyword | |
| 9185 * @param colon the colon separating the keyword or the expression from the st atements | |
| 9186 * @param statements the statements that will be executed if this switch membe r is selected | |
| 9187 */ | |
| 9188 SwitchMember({List<Label> labels, Token keyword, Token colon, List<Statement> statements}) : this.full(labels, keyword, colon, statements); | |
| 8409 Token get beginToken { | 9189 Token get beginToken { |
| 8410 if (!_labels.isEmpty) { | 9190 if (!_labels.isEmpty) { |
| 8411 return _labels.beginToken; | 9191 return _labels.beginToken; |
| 8412 } | 9192 } |
| 8413 return _keyword; | 9193 return _keyword; |
| 8414 } | 9194 } |
| 8415 /** | 9195 /** |
| 8416 * Return the colon separating the keyword or the expression from the statemen ts. | 9196 * Return the colon separating the keyword or the expression from the statemen ts. |
| 8417 * @return the colon separating the keyword or the expression from the stateme nts | 9197 * @return the colon separating the keyword or the expression from the stateme nts |
| 8418 */ | 9198 */ |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 8435 NodeList<Label> get labels => _labels; | 9215 NodeList<Label> get labels => _labels; |
| 8436 /** | 9216 /** |
| 8437 * Return the statements that will be executed if this switch member is select ed. | 9217 * Return the statements that will be executed if this switch member is select ed. |
| 8438 * @return the statements that will be executed if this switch member is selec ted | 9218 * @return the statements that will be executed if this switch member is selec ted |
| 8439 */ | 9219 */ |
| 8440 NodeList<Statement> get statements => _statements; | 9220 NodeList<Statement> get statements => _statements; |
| 8441 /** | 9221 /** |
| 8442 * Set the colon separating the keyword or the expression from the statements to the given token. | 9222 * Set the colon separating the keyword or the expression from the statements to the given token. |
| 8443 * @param colon the colon separating the keyword or the expression from the st atements | 9223 * @param colon the colon separating the keyword or the expression from the st atements |
| 8444 */ | 9224 */ |
| 8445 void set colon4(Token colon) { | 9225 void set colon(Token colon4) { |
| 8446 this._colon = colon; | 9226 this._colon = colon4; |
| 8447 } | 9227 } |
| 8448 /** | 9228 /** |
| 8449 * Set the token representing the 'case' or 'default' keyword to the given tok en. | 9229 * Set the token representing the 'case' or 'default' keyword to the given tok en. |
| 8450 * @param keyword the token representing the 'case' or 'default' keyword | 9230 * @param keyword the token representing the 'case' or 'default' keyword |
| 8451 */ | 9231 */ |
| 8452 void set keyword19(Token keyword) { | 9232 void set keyword(Token keyword18) { |
| 8453 this._keyword = keyword; | 9233 this._keyword = keyword18; |
| 8454 } | 9234 } |
| 8455 } | 9235 } |
| 8456 /** | 9236 /** |
| 8457 * Instances of the class {@code SwitchStatement} represent a switch statement. | 9237 * Instances of the class {@code SwitchStatement} represent a switch statement. |
| 8458 * <pre> | 9238 * <pre> |
| 8459 * switchStatement ::= | 9239 * switchStatement ::= |
| 8460 * 'switch' '(' {@link Expression expression} ')' '{' {@link SwitchCase switchCa se}* {@link SwitchDefault defaultCase}? '}' | 9240 * 'switch' '(' {@link Expression expression} ')' '{' {@link SwitchCase switchCa se}* {@link SwitchDefault defaultCase}? '}' |
| 8461 * </pre> | 9241 * </pre> |
| 8462 */ | 9242 */ |
| 8463 class SwitchStatement extends Statement { | 9243 class SwitchStatement extends Statement { |
| (...skipping 28 matching lines...) Expand all Loading... | |
| 8492 /** | 9272 /** |
| 8493 * Initialize a newly created switch statement. | 9273 * Initialize a newly created switch statement. |
| 8494 * @param keyword the token representing the 'switch' keyword | 9274 * @param keyword the token representing the 'switch' keyword |
| 8495 * @param leftParenthesis the left parenthesis | 9275 * @param leftParenthesis the left parenthesis |
| 8496 * @param expression the expression used to determine which of the switch memb ers will be selected | 9276 * @param expression the expression used to determine which of the switch memb ers will be selected |
| 8497 * @param rightParenthesis the right parenthesis | 9277 * @param rightParenthesis the right parenthesis |
| 8498 * @param leftBracket the left curly bracket | 9278 * @param leftBracket the left curly bracket |
| 8499 * @param members the switch members that can be selected by the expression | 9279 * @param members the switch members that can be selected by the expression |
| 8500 * @param rightBracket the right curly bracket | 9280 * @param rightBracket the right curly bracket |
| 8501 */ | 9281 */ |
| 8502 SwitchStatement(Token keyword, Token leftParenthesis, Expression expression, T oken rightParenthesis, Token leftBracket, List<SwitchMember> members, Token righ tBracket) { | 9282 SwitchStatement.full(Token keyword, Token leftParenthesis, Expression expressi on, Token rightParenthesis, Token leftBracket, List<SwitchMember> members, Token rightBracket) { |
| 8503 this._members = new NodeList<SwitchMember>(this); | 9283 this._members = new NodeList<SwitchMember>(this); |
| 8504 this._keyword = keyword; | 9284 this._keyword = keyword; |
| 8505 this._leftParenthesis = leftParenthesis; | 9285 this._leftParenthesis = leftParenthesis; |
| 8506 this._expression = becomeParentOf(expression); | 9286 this._expression = becomeParentOf(expression); |
| 8507 this._rightParenthesis = rightParenthesis; | 9287 this._rightParenthesis = rightParenthesis; |
| 8508 this._leftBracket = leftBracket; | 9288 this._leftBracket = leftBracket; |
| 8509 this._members.addAll(members); | 9289 this._members.addAll(members); |
| 8510 this._rightBracket = rightBracket; | 9290 this._rightBracket = rightBracket; |
| 8511 } | 9291 } |
| 9292 /** | |
| 9293 * Initialize a newly created switch statement. | |
| 9294 * @param keyword the token representing the 'switch' keyword | |
| 9295 * @param leftParenthesis the left parenthesis | |
| 9296 * @param expression the expression used to determine which of the switch memb ers will be selected | |
| 9297 * @param rightParenthesis the right parenthesis | |
| 9298 * @param leftBracket the left curly bracket | |
| 9299 * @param members the switch members that can be selected by the expression | |
| 9300 * @param rightBracket the right curly bracket | |
| 9301 */ | |
| 9302 SwitchStatement({Token keyword, Token leftParenthesis, Expression expression, Token rightParenthesis, Token leftBracket, List<SwitchMember> members, Token rig htBracket}) : this.full(keyword, leftParenthesis, expression, rightParenthesis, leftBracket, members, rightBracket); | |
| 8512 accept(ASTVisitor visitor) => visitor.visitSwitchStatement(this); | 9303 accept(ASTVisitor visitor) => visitor.visitSwitchStatement(this); |
| 8513 Token get beginToken => _keyword; | 9304 Token get beginToken => _keyword; |
| 8514 Token get endToken => _rightBracket; | 9305 Token get endToken => _rightBracket; |
| 8515 /** | 9306 /** |
| 8516 * Return the expression used to determine which of the switch members will be selected. | 9307 * Return the expression used to determine which of the switch members will be selected. |
| 8517 * @return the expression used to determine which of the switch members will b e selected | 9308 * @return the expression used to determine which of the switch members will b e selected |
| 8518 */ | 9309 */ |
| 8519 Expression get expression => _expression; | 9310 Expression get expression => _expression; |
| 8520 /** | 9311 /** |
| 8521 * Return the token representing the 'switch' keyword. | 9312 * Return the token representing the 'switch' keyword. |
| (...skipping 23 matching lines...) Expand all Loading... | |
| 8545 /** | 9336 /** |
| 8546 * Return the right parenthesis. | 9337 * Return the right parenthesis. |
| 8547 * @return the right parenthesis | 9338 * @return the right parenthesis |
| 8548 */ | 9339 */ |
| 8549 Token get rightParenthesis => _rightParenthesis; | 9340 Token get rightParenthesis => _rightParenthesis; |
| 8550 /** | 9341 /** |
| 8551 * Set the expression used to determine which of the switch members will be se lected to the given | 9342 * Set the expression used to determine which of the switch members will be se lected to the given |
| 8552 * expression. | 9343 * expression. |
| 8553 * @param expression the expression used to determine which of the switch memb ers will be selected | 9344 * @param expression the expression used to determine which of the switch memb ers will be selected |
| 8554 */ | 9345 */ |
| 8555 void set expression12(Expression expression) { | 9346 void set expression(Expression expression12) { |
| 8556 this._expression = becomeParentOf(expression); | 9347 this._expression = becomeParentOf(expression12); |
| 8557 } | 9348 } |
| 8558 /** | 9349 /** |
| 8559 * Set the token representing the 'switch' keyword to the given token. | 9350 * Set the token representing the 'switch' keyword to the given token. |
| 8560 * @param keyword the token representing the 'switch' keyword | 9351 * @param keyword the token representing the 'switch' keyword |
| 8561 */ | 9352 */ |
| 8562 void set keyword20(Token keyword) { | 9353 void set keyword(Token keyword19) { |
| 8563 this._keyword = keyword; | 9354 this._keyword = keyword19; |
| 8564 } | 9355 } |
| 8565 /** | 9356 /** |
| 8566 * Set the left curly bracket to the given token. | 9357 * Set the left curly bracket to the given token. |
| 8567 * @param leftBracket the left curly bracket | 9358 * @param leftBracket the left curly bracket |
| 8568 */ | 9359 */ |
| 8569 void set leftBracket8(Token leftBracket) { | 9360 void set leftBracket(Token leftBracket7) { |
| 8570 this._leftBracket = leftBracket; | 9361 this._leftBracket = leftBracket7; |
| 8571 } | 9362 } |
| 8572 /** | 9363 /** |
| 8573 * Set the left parenthesis to the given token. | 9364 * Set the left parenthesis to the given token. |
| 8574 * @param leftParenthesis the left parenthesis | 9365 * @param leftParenthesis the left parenthesis |
| 8575 */ | 9366 */ |
| 8576 void set leftParenthesis11(Token leftParenthesis) { | 9367 void set leftParenthesis(Token leftParenthesis6) { |
| 8577 this._leftParenthesis = leftParenthesis; | 9368 this._leftParenthesis = leftParenthesis6; |
| 8578 } | 9369 } |
| 8579 /** | 9370 /** |
| 8580 * Set the right curly bracket to the given token. | 9371 * Set the right curly bracket to the given token. |
| 8581 * @param rightBracket the right curly bracket | 9372 * @param rightBracket the right curly bracket |
| 8582 */ | 9373 */ |
| 8583 void set rightBracket8(Token rightBracket) { | 9374 void set rightBracket(Token rightBracket7) { |
| 8584 this._rightBracket = rightBracket; | 9375 this._rightBracket = rightBracket7; |
| 8585 } | 9376 } |
| 8586 /** | 9377 /** |
| 8587 * Set the right parenthesis to the given token. | 9378 * Set the right parenthesis to the given token. |
| 8588 * @param rightParenthesis the right parenthesis | 9379 * @param rightParenthesis the right parenthesis |
| 8589 */ | 9380 */ |
| 8590 void set rightParenthesis11(Token rightParenthesis) { | 9381 void set rightParenthesis(Token rightParenthesis6) { |
| 8591 this._rightParenthesis = rightParenthesis; | 9382 this._rightParenthesis = rightParenthesis6; |
| 8592 } | 9383 } |
| 8593 void visitChildren(ASTVisitor<Object> visitor) { | 9384 void visitChildren(ASTVisitor<Object> visitor) { |
| 8594 safelyVisitChild(_expression, visitor); | 9385 safelyVisitChild(_expression, visitor); |
| 8595 _members.accept(visitor); | 9386 _members.accept(visitor); |
| 8596 } | 9387 } |
| 8597 } | 9388 } |
| 8598 /** | 9389 /** |
| 8599 * Instances of the class {@code ThisExpression} represent a this expression. | 9390 * Instances of the class {@code ThisExpression} represent a this expression. |
| 8600 * <pre> | 9391 * <pre> |
| 8601 * thisExpression ::= | 9392 * thisExpression ::= |
| 8602 * 'this' | 9393 * 'this' |
| 8603 * </pre> | 9394 * </pre> |
| 8604 */ | 9395 */ |
| 8605 class ThisExpression extends Expression { | 9396 class ThisExpression extends Expression { |
| 8606 /** | 9397 /** |
| 8607 * The token representing the keyword. | 9398 * The token representing the keyword. |
| 8608 */ | 9399 */ |
| 8609 Token _keyword; | 9400 Token _keyword; |
| 8610 /** | 9401 /** |
| 8611 * Initialize a newly created this expression. | 9402 * Initialize a newly created this expression. |
| 8612 * @param keyword the token representing the keyword | 9403 * @param keyword the token representing the keyword |
| 8613 */ | 9404 */ |
| 8614 ThisExpression(Token keyword) { | 9405 ThisExpression.full(Token keyword) { |
| 8615 this._keyword = keyword; | 9406 this._keyword = keyword; |
| 8616 } | 9407 } |
| 9408 /** | |
| 9409 * Initialize a newly created this expression. | |
| 9410 * @param keyword the token representing the keyword | |
| 9411 */ | |
| 9412 ThisExpression({Token keyword}) : this.full(keyword); | |
| 8617 accept(ASTVisitor visitor) => visitor.visitThisExpression(this); | 9413 accept(ASTVisitor visitor) => visitor.visitThisExpression(this); |
| 8618 Token get beginToken => _keyword; | 9414 Token get beginToken => _keyword; |
| 8619 Token get endToken => _keyword; | 9415 Token get endToken => _keyword; |
| 8620 /** | 9416 /** |
| 8621 * Return the token representing the keyword. | 9417 * Return the token representing the keyword. |
| 8622 * @return the token representing the keyword | 9418 * @return the token representing the keyword |
| 8623 */ | 9419 */ |
| 8624 Token get keyword => _keyword; | 9420 Token get keyword => _keyword; |
| 8625 /** | 9421 /** |
| 8626 * Set the token representing the keyword to the given token. | 9422 * Set the token representing the keyword to the given token. |
| 8627 * @param keyword the token representing the keyword | 9423 * @param keyword the token representing the keyword |
| 8628 */ | 9424 */ |
| 8629 void set keyword21(Token keyword) { | 9425 void set keyword(Token keyword20) { |
| 8630 this._keyword = keyword; | 9426 this._keyword = keyword20; |
| 8631 } | 9427 } |
| 8632 void visitChildren(ASTVisitor<Object> visitor) { | 9428 void visitChildren(ASTVisitor<Object> visitor) { |
| 8633 } | 9429 } |
| 8634 } | 9430 } |
| 8635 /** | 9431 /** |
| 8636 * Instances of the class {@code ThrowExpression} represent a throw expression. | 9432 * Instances of the class {@code ThrowExpression} represent a throw expression. |
| 8637 * <pre> | 9433 * <pre> |
| 8638 * throwExpression ::= | 9434 * throwExpression ::= |
| 8639 * 'throw' {@link Expression expression}? ';' | 9435 * 'throw' {@link Expression expression}? ';' |
| 8640 * </pre> | 9436 * </pre> |
| 8641 */ | 9437 */ |
| 8642 class ThrowExpression extends Expression { | 9438 class ThrowExpression extends Expression { |
| 8643 /** | 9439 /** |
| 8644 * The token representing the 'throw' keyword. | 9440 * The token representing the 'throw' keyword. |
| 8645 */ | 9441 */ |
| 8646 Token _keyword; | 9442 Token _keyword; |
| 8647 /** | 9443 /** |
| 8648 * The expression computing the exception to be thrown, or {@code null} if the current exception | 9444 * The expression computing the exception to be thrown, or {@code null} if the current exception |
| 8649 * is to be re-thrown. (The latter case can only occur if the throw statement is inside a catch | 9445 * is to be re-thrown. (The latter case can only occur if the throw statement is inside a catch |
| 8650 * clause.) | 9446 * clause.) |
| 8651 */ | 9447 */ |
| 8652 Expression _expression; | 9448 Expression _expression; |
| 8653 /** | 9449 /** |
| 8654 * Initialize a newly created throw expression. | 9450 * Initialize a newly created throw expression. |
| 8655 * @param keyword the token representing the 'throw' keyword | 9451 * @param keyword the token representing the 'throw' keyword |
| 8656 * @param expression the expression computing the exception to be thrown | 9452 * @param expression the expression computing the exception to be thrown |
| 8657 */ | 9453 */ |
| 8658 ThrowExpression(Token keyword, Expression expression) { | 9454 ThrowExpression.full(Token keyword, Expression expression) { |
| 8659 this._keyword = keyword; | 9455 this._keyword = keyword; |
| 8660 this._expression = becomeParentOf(expression); | 9456 this._expression = becomeParentOf(expression); |
| 8661 } | 9457 } |
| 9458 /** | |
| 9459 * Initialize a newly created throw expression. | |
| 9460 * @param keyword the token representing the 'throw' keyword | |
| 9461 * @param expression the expression computing the exception to be thrown | |
| 9462 */ | |
| 9463 ThrowExpression({Token keyword, Expression expression}) : this.full(keyword, e xpression); | |
| 8662 accept(ASTVisitor visitor) => visitor.visitThrowExpression(this); | 9464 accept(ASTVisitor visitor) => visitor.visitThrowExpression(this); |
| 8663 Token get beginToken => _keyword; | 9465 Token get beginToken => _keyword; |
| 8664 Token get endToken { | 9466 Token get endToken { |
| 8665 if (_expression != null) { | 9467 if (_expression != null) { |
| 8666 return _expression.endToken; | 9468 return _expression.endToken; |
| 8667 } | 9469 } |
| 8668 return _keyword; | 9470 return _keyword; |
| 8669 } | 9471 } |
| 8670 /** | 9472 /** |
| 8671 * Return the expression computing the exception to be thrown, or {@code null} if the current | 9473 * Return the expression computing the exception to be thrown, or {@code null} if the current |
| 8672 * exception is to be re-thrown. (The latter case can only occur if the throw statement is inside | 9474 * exception is to be re-thrown. (The latter case can only occur if the throw statement is inside |
| 8673 * a catch clause.) | 9475 * a catch clause.) |
| 8674 * @return the expression computing the exception to be thrown | 9476 * @return the expression computing the exception to be thrown |
| 8675 */ | 9477 */ |
| 8676 Expression get expression => _expression; | 9478 Expression get expression => _expression; |
| 8677 /** | 9479 /** |
| 8678 * Return the token representing the 'throw' keyword. | 9480 * Return the token representing the 'throw' keyword. |
| 8679 * @return the token representing the 'throw' keyword | 9481 * @return the token representing the 'throw' keyword |
| 8680 */ | 9482 */ |
| 8681 Token get keyword => _keyword; | 9483 Token get keyword => _keyword; |
| 8682 /** | 9484 /** |
| 8683 * Set the expression computing the exception to be thrown to the given expres sion. | 9485 * Set the expression computing the exception to be thrown to the given expres sion. |
| 8684 * @param expression the expression computing the exception to be thrown | 9486 * @param expression the expression computing the exception to be thrown |
| 8685 */ | 9487 */ |
| 8686 void set expression13(Expression expression) { | 9488 void set expression(Expression expression13) { |
| 8687 this._expression = becomeParentOf(expression); | 9489 this._expression = becomeParentOf(expression13); |
| 8688 } | 9490 } |
| 8689 /** | 9491 /** |
| 8690 * Set the token representing the 'throw' keyword to the given token. | 9492 * Set the token representing the 'throw' keyword to the given token. |
| 8691 * @param keyword the token representing the 'throw' keyword | 9493 * @param keyword the token representing the 'throw' keyword |
| 8692 */ | 9494 */ |
| 8693 void set keyword22(Token keyword) { | 9495 void set keyword(Token keyword21) { |
| 8694 this._keyword = keyword; | 9496 this._keyword = keyword21; |
| 8695 } | 9497 } |
| 8696 void visitChildren(ASTVisitor<Object> visitor) { | 9498 void visitChildren(ASTVisitor<Object> visitor) { |
| 8697 safelyVisitChild(_expression, visitor); | 9499 safelyVisitChild(_expression, visitor); |
| 8698 } | 9500 } |
| 8699 } | 9501 } |
| 8700 /** | 9502 /** |
| 8701 * Instances of the class {@code TopLevelVariableDeclaration} represent the decl aration of one or | 9503 * Instances of the class {@code TopLevelVariableDeclaration} represent the decl aration of one or |
| 8702 * more top-level variables of the same type. | 9504 * more top-level variables of the same type. |
| 8703 * <pre> | 9505 * <pre> |
| 8704 * topLevelVariableDeclaration ::= | 9506 * topLevelVariableDeclaration ::= |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 8715 * The semicolon terminating the declaration. | 9517 * The semicolon terminating the declaration. |
| 8716 */ | 9518 */ |
| 8717 Token _semicolon; | 9519 Token _semicolon; |
| 8718 /** | 9520 /** |
| 8719 * Initialize a newly created top-level variable declaration. | 9521 * Initialize a newly created top-level variable declaration. |
| 8720 * @param comment the documentation comment associated with this variable | 9522 * @param comment the documentation comment associated with this variable |
| 8721 * @param metadata the annotations associated with this variable | 9523 * @param metadata the annotations associated with this variable |
| 8722 * @param variableList the top-level variables being declared | 9524 * @param variableList the top-level variables being declared |
| 8723 * @param semicolon the semicolon terminating the declaration | 9525 * @param semicolon the semicolon terminating the declaration |
| 8724 */ | 9526 */ |
| 8725 TopLevelVariableDeclaration(Comment comment, List<Annotation> metadata, Variab leDeclarationList variableList, Token semicolon) : super(comment, metadata) { | 9527 TopLevelVariableDeclaration.full(Comment comment, List<Annotation> metadata, V ariableDeclarationList variableList, Token semicolon) : super.full(comment, meta data) { |
| 8726 this._variableList = becomeParentOf(variableList); | 9528 this._variableList = becomeParentOf(variableList); |
| 8727 this._semicolon = semicolon; | 9529 this._semicolon = semicolon; |
| 8728 } | 9530 } |
| 9531 /** | |
| 9532 * Initialize a newly created top-level variable declaration. | |
| 9533 * @param comment the documentation comment associated with this variable | |
| 9534 * @param metadata the annotations associated with this variable | |
| 9535 * @param variableList the top-level variables being declared | |
| 9536 * @param semicolon the semicolon terminating the declaration | |
| 9537 */ | |
| 9538 TopLevelVariableDeclaration({Comment comment, List<Annotation> metadata, Varia bleDeclarationList variableList, Token semicolon}) : this.full(comment, metadata , variableList, semicolon); | |
| 8729 accept(ASTVisitor visitor) => visitor.visitTopLevelVariableDeclaration(this); | 9539 accept(ASTVisitor visitor) => visitor.visitTopLevelVariableDeclaration(this); |
| 8730 Token get endToken => _semicolon; | 9540 Token get endToken => _semicolon; |
| 8731 /** | 9541 /** |
| 8732 * Return the semicolon terminating the declaration. | 9542 * Return the semicolon terminating the declaration. |
| 8733 * @return the semicolon terminating the declaration | 9543 * @return the semicolon terminating the declaration |
| 8734 */ | 9544 */ |
| 8735 Token get semicolon => _semicolon; | 9545 Token get semicolon => _semicolon; |
| 8736 /** | 9546 /** |
| 8737 * Return the top-level variables being declared. | 9547 * Return the top-level variables being declared. |
| 8738 * @return the top-level variables being declared | 9548 * @return the top-level variables being declared |
| 8739 */ | 9549 */ |
| 8740 VariableDeclarationList get variables => _variableList; | 9550 VariableDeclarationList get variables => _variableList; |
| 8741 /** | 9551 /** |
| 8742 * Set the semicolon terminating the declaration to the given token. | 9552 * Set the semicolon terminating the declaration to the given token. |
| 8743 * @param semicolon the semicolon terminating the declaration | 9553 * @param semicolon the semicolon terminating the declaration |
| 8744 */ | 9554 */ |
| 8745 void set semicolon16(Token semicolon) { | 9555 void set semicolon(Token semicolon16) { |
| 8746 this._semicolon = semicolon; | 9556 this._semicolon = semicolon16; |
| 8747 } | 9557 } |
| 8748 /** | 9558 /** |
| 8749 * Set the top-level variables being declared to the given list of variables. | 9559 * Set the top-level variables being declared to the given list of variables. |
| 8750 * @param variableList the top-level variables being declared | 9560 * @param variableList the top-level variables being declared |
| 8751 */ | 9561 */ |
| 8752 void set variables3(VariableDeclarationList variableList) { | 9562 void set variables(VariableDeclarationList variableList) { |
| 8753 variableList = becomeParentOf(variableList); | 9563 variableList = becomeParentOf(variableList); |
| 8754 } | 9564 } |
| 8755 void visitChildren(ASTVisitor<Object> visitor) { | 9565 void visitChildren(ASTVisitor<Object> visitor) { |
| 8756 super.visitChildren(visitor); | 9566 super.visitChildren(visitor); |
| 8757 safelyVisitChild(_variableList, visitor); | 9567 safelyVisitChild(_variableList, visitor); |
| 8758 } | 9568 } |
| 8759 Token get firstTokenAfterCommentAndMetadata => _variableList.beginToken; | 9569 Token get firstTokenAfterCommentAndMetadata => _variableList.beginToken; |
| 8760 } | 9570 } |
| 8761 /** | 9571 /** |
| 8762 * Instances of the class {@code TryStatement} represent a try statement. | 9572 * Instances of the class {@code TryStatement} represent a try statement. |
| (...skipping 27 matching lines...) Expand all Loading... | |
| 8790 */ | 9600 */ |
| 8791 Block _finallyClause; | 9601 Block _finallyClause; |
| 8792 /** | 9602 /** |
| 8793 * Initialize a newly created try statement. | 9603 * Initialize a newly created try statement. |
| 8794 * @param tryKeyword the token representing the 'try' keyword | 9604 * @param tryKeyword the token representing the 'try' keyword |
| 8795 * @param body the body of the statement | 9605 * @param body the body of the statement |
| 8796 * @param catchClauses the catch clauses contained in the try statement | 9606 * @param catchClauses the catch clauses contained in the try statement |
| 8797 * @param finallyKeyword the token representing the 'finally' keyword | 9607 * @param finallyKeyword the token representing the 'finally' keyword |
| 8798 * @param finallyClause the finally clause contained in the try statement | 9608 * @param finallyClause the finally clause contained in the try statement |
| 8799 */ | 9609 */ |
| 8800 TryStatement(Token tryKeyword, Block body, List<CatchClause> catchClauses, Tok en finallyKeyword, Block finallyClause) { | 9610 TryStatement.full(Token tryKeyword, Block body, List<CatchClause> catchClauses , Token finallyKeyword, Block finallyClause) { |
| 8801 this._catchClauses = new NodeList<CatchClause>(this); | 9611 this._catchClauses = new NodeList<CatchClause>(this); |
| 8802 this._tryKeyword = tryKeyword; | 9612 this._tryKeyword = tryKeyword; |
| 8803 this._body = becomeParentOf(body); | 9613 this._body = becomeParentOf(body); |
| 8804 this._catchClauses.addAll(catchClauses); | 9614 this._catchClauses.addAll(catchClauses); |
| 8805 this._finallyKeyword = finallyKeyword; | 9615 this._finallyKeyword = finallyKeyword; |
| 8806 this._finallyClause = becomeParentOf(finallyClause); | 9616 this._finallyClause = becomeParentOf(finallyClause); |
| 8807 } | 9617 } |
| 9618 /** | |
| 9619 * Initialize a newly created try statement. | |
| 9620 * @param tryKeyword the token representing the 'try' keyword | |
| 9621 * @param body the body of the statement | |
| 9622 * @param catchClauses the catch clauses contained in the try statement | |
| 9623 * @param finallyKeyword the token representing the 'finally' keyword | |
| 9624 * @param finallyClause the finally clause contained in the try statement | |
| 9625 */ | |
| 9626 TryStatement({Token tryKeyword, Block body, List<CatchClause> catchClauses, To ken finallyKeyword, Block finallyClause}) : this.full(tryKeyword, body, catchCla uses, finallyKeyword, finallyClause); | |
| 8808 accept(ASTVisitor visitor) => visitor.visitTryStatement(this); | 9627 accept(ASTVisitor visitor) => visitor.visitTryStatement(this); |
| 8809 Token get beginToken => _tryKeyword; | 9628 Token get beginToken => _tryKeyword; |
| 8810 /** | 9629 /** |
| 8811 * Return the body of the statement. | 9630 * Return the body of the statement. |
| 8812 * @return the body of the statement | 9631 * @return the body of the statement |
| 8813 */ | 9632 */ |
| 8814 Block get body => _body; | 9633 Block get body => _body; |
| 8815 /** | 9634 /** |
| 8816 * Return the catch clauses contained in the try statement. | 9635 * Return the catch clauses contained in the try statement. |
| 8817 * @return the catch clauses contained in the try statement | 9636 * @return the catch clauses contained in the try statement |
| (...skipping 23 matching lines...) Expand all Loading... | |
| 8841 Token get finallyKeyword => _finallyKeyword; | 9660 Token get finallyKeyword => _finallyKeyword; |
| 8842 /** | 9661 /** |
| 8843 * Return the token representing the 'try' keyword. | 9662 * Return the token representing the 'try' keyword. |
| 8844 * @return the token representing the 'try' keyword | 9663 * @return the token representing the 'try' keyword |
| 8845 */ | 9664 */ |
| 8846 Token get tryKeyword => _tryKeyword; | 9665 Token get tryKeyword => _tryKeyword; |
| 8847 /** | 9666 /** |
| 8848 * Set the body of the statement to the given block. | 9667 * Set the body of the statement to the given block. |
| 8849 * @param block the body of the statement | 9668 * @param block the body of the statement |
| 8850 */ | 9669 */ |
| 8851 void set body9(Block block) { | 9670 void set body(Block block) { |
| 8852 _body = becomeParentOf(block); | 9671 _body = becomeParentOf(block); |
| 8853 } | 9672 } |
| 8854 /** | 9673 /** |
| 8855 * Set the finally clause contained in the try statement to the given block. | 9674 * Set the finally clause contained in the try statement to the given block. |
| 8856 * @param block the finally clause contained in the try statement | 9675 * @param block the finally clause contained in the try statement |
| 8857 */ | 9676 */ |
| 8858 void set finallyClause2(Block block) { | 9677 void set finallyClause(Block block) { |
| 8859 _finallyClause = becomeParentOf(block); | 9678 _finallyClause = becomeParentOf(block); |
| 8860 } | 9679 } |
| 8861 /** | 9680 /** |
| 8862 * Set the token representing the 'finally' keyword to the given token. | 9681 * Set the token representing the 'finally' keyword to the given token. |
| 8863 * @param finallyKeyword the token representing the 'finally' keyword | 9682 * @param finallyKeyword the token representing the 'finally' keyword |
| 8864 */ | 9683 */ |
| 8865 void set finallyKeyword2(Token finallyKeyword) { | 9684 void set finallyKeyword(Token finallyKeyword2) { |
| 8866 this._finallyKeyword = finallyKeyword; | 9685 this._finallyKeyword = finallyKeyword2; |
| 8867 } | 9686 } |
| 8868 /** | 9687 /** |
| 8869 * Set the token representing the 'try' keyword to the given token. | 9688 * Set the token representing the 'try' keyword to the given token. |
| 8870 * @param tryKeyword the token representing the 'try' keyword | 9689 * @param tryKeyword the token representing the 'try' keyword |
| 8871 */ | 9690 */ |
| 8872 void set tryKeyword2(Token tryKeyword) { | 9691 void set tryKeyword(Token tryKeyword2) { |
| 8873 this._tryKeyword = tryKeyword; | 9692 this._tryKeyword = tryKeyword2; |
| 8874 } | 9693 } |
| 8875 void visitChildren(ASTVisitor<Object> visitor) { | 9694 void visitChildren(ASTVisitor<Object> visitor) { |
| 8876 safelyVisitChild(_body, visitor); | 9695 safelyVisitChild(_body, visitor); |
| 8877 _catchClauses.accept(visitor); | 9696 _catchClauses.accept(visitor); |
| 8878 safelyVisitChild(_finallyClause, visitor); | 9697 safelyVisitChild(_finallyClause, visitor); |
| 8879 } | 9698 } |
| 8880 } | 9699 } |
| 8881 /** | 9700 /** |
| 8882 * The abstract class {@code TypeAlias} defines the behavior common to declarati ons of type aliases. | 9701 * The abstract class {@code TypeAlias} defines the behavior common to declarati ons of type aliases. |
| 8883 * <pre> | 9702 * <pre> |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 8897 * The semicolon terminating the declaration. | 9716 * The semicolon terminating the declaration. |
| 8898 */ | 9717 */ |
| 8899 Token _semicolon; | 9718 Token _semicolon; |
| 8900 /** | 9719 /** |
| 8901 * Initialize a newly created type alias. | 9720 * Initialize a newly created type alias. |
| 8902 * @param comment the documentation comment associated with this type alias | 9721 * @param comment the documentation comment associated with this type alias |
| 8903 * @param metadata the annotations associated with this type alias | 9722 * @param metadata the annotations associated with this type alias |
| 8904 * @param keyword the token representing the 'typedef' keyword | 9723 * @param keyword the token representing the 'typedef' keyword |
| 8905 * @param semicolon the semicolon terminating the declaration | 9724 * @param semicolon the semicolon terminating the declaration |
| 8906 */ | 9725 */ |
| 8907 TypeAlias(Comment comment, List<Annotation> metadata, Token keyword, Token sem icolon) : super(comment, metadata) { | 9726 TypeAlias.full(Comment comment, List<Annotation> metadata, Token keyword, Toke n semicolon) : super.full(comment, metadata) { |
| 8908 this._keyword = keyword; | 9727 this._keyword = keyword; |
| 8909 this._semicolon = semicolon; | 9728 this._semicolon = semicolon; |
| 8910 } | 9729 } |
| 9730 /** | |
| 9731 * Initialize a newly created type alias. | |
| 9732 * @param comment the documentation comment associated with this type alias | |
| 9733 * @param metadata the annotations associated with this type alias | |
| 9734 * @param keyword the token representing the 'typedef' keyword | |
| 9735 * @param semicolon the semicolon terminating the declaration | |
| 9736 */ | |
| 9737 TypeAlias({Comment comment, List<Annotation> metadata, Token keyword, Token se micolon}) : this.full(comment, metadata, keyword, semicolon); | |
| 8911 Token get endToken => _semicolon; | 9738 Token get endToken => _semicolon; |
| 8912 /** | 9739 /** |
| 8913 * Return the token representing the 'typedef' keyword. | 9740 * Return the token representing the 'typedef' keyword. |
| 8914 * @return the token representing the 'typedef' keyword | 9741 * @return the token representing the 'typedef' keyword |
| 8915 */ | 9742 */ |
| 8916 Token get keyword => _keyword; | 9743 Token get keyword => _keyword; |
| 8917 /** | 9744 /** |
| 8918 * Return the semicolon terminating the declaration. | 9745 * Return the semicolon terminating the declaration. |
| 8919 * @return the semicolon terminating the declaration | 9746 * @return the semicolon terminating the declaration |
| 8920 */ | 9747 */ |
| 8921 Token get semicolon => _semicolon; | 9748 Token get semicolon => _semicolon; |
| 8922 /** | 9749 /** |
| 8923 * Set the token representing the 'typedef' keyword to the given token. | 9750 * Set the token representing the 'typedef' keyword to the given token. |
| 8924 * @param keyword the token representing the 'typedef' keyword | 9751 * @param keyword the token representing the 'typedef' keyword |
| 8925 */ | 9752 */ |
| 8926 void set keyword23(Token keyword) { | 9753 void set keyword(Token keyword22) { |
| 8927 this._keyword = keyword; | 9754 this._keyword = keyword22; |
| 8928 } | 9755 } |
| 8929 /** | 9756 /** |
| 8930 * Set the semicolon terminating the declaration to the given token. | 9757 * Set the semicolon terminating the declaration to the given token. |
| 8931 * @param semicolon the semicolon terminating the declaration | 9758 * @param semicolon the semicolon terminating the declaration |
| 8932 */ | 9759 */ |
| 8933 void set semicolon17(Token semicolon) { | 9760 void set semicolon(Token semicolon17) { |
| 8934 this._semicolon = semicolon; | 9761 this._semicolon = semicolon17; |
| 8935 } | 9762 } |
| 8936 Token get firstTokenAfterCommentAndMetadata => _keyword; | 9763 Token get firstTokenAfterCommentAndMetadata => _keyword; |
| 8937 } | 9764 } |
| 8938 /** | 9765 /** |
| 8939 * Instances of the class {@code TypeArgumentList} represent a list of type argu ments. | 9766 * Instances of the class {@code TypeArgumentList} represent a list of type argu ments. |
| 8940 * <pre> | 9767 * <pre> |
| 8941 * typeArguments ::= | 9768 * typeArguments ::= |
| 8942 * '<' typeName (',' typeName)* '>' | 9769 * '<' typeName (',' typeName)* '>' |
| 8943 * </pre> | 9770 * </pre> |
| 8944 */ | 9771 */ |
| 8945 class TypeArgumentList extends ASTNode { | 9772 class TypeArgumentList extends ASTNode { |
| 8946 /** | 9773 /** |
| 8947 * The left bracket. | 9774 * The left bracket. |
| 8948 */ | 9775 */ |
| 8949 Token _leftBracket; | 9776 Token _leftBracket; |
| 8950 /** | 9777 /** |
| 8951 * The type arguments associated with the type. | 9778 * The type arguments associated with the type. |
| 8952 */ | 9779 */ |
| 8953 NodeList<TypeName> _arguments; | 9780 NodeList<TypeName> _arguments; |
| 8954 /** | 9781 /** |
| 8955 * The right bracket. | 9782 * The right bracket. |
| 8956 */ | 9783 */ |
| 8957 Token _rightBracket; | 9784 Token _rightBracket; |
| 8958 /** | 9785 /** |
| 8959 * Initialize a newly created list of type arguments. | 9786 * Initialize a newly created list of type arguments. |
| 8960 * @param leftBracket the left bracket | 9787 * @param leftBracket the left bracket |
| 8961 * @param arguments the type arguments associated with the type | 9788 * @param arguments the type arguments associated with the type |
| 8962 * @param rightBracket the right bracket | 9789 * @param rightBracket the right bracket |
| 8963 */ | 9790 */ |
| 8964 TypeArgumentList(Token leftBracket, List<TypeName> arguments, Token rightBrack et) { | 9791 TypeArgumentList.full(Token leftBracket, List<TypeName> arguments, Token right Bracket) { |
| 8965 this._arguments = new NodeList<TypeName>(this); | 9792 this._arguments = new NodeList<TypeName>(this); |
| 8966 this._leftBracket = leftBracket; | 9793 this._leftBracket = leftBracket; |
| 8967 this._arguments.addAll(arguments); | 9794 this._arguments.addAll(arguments); |
| 8968 this._rightBracket = rightBracket; | 9795 this._rightBracket = rightBracket; |
| 8969 } | 9796 } |
| 9797 /** | |
| 9798 * Initialize a newly created list of type arguments. | |
| 9799 * @param leftBracket the left bracket | |
| 9800 * @param arguments the type arguments associated with the type | |
| 9801 * @param rightBracket the right bracket | |
| 9802 */ | |
| 9803 TypeArgumentList({Token leftBracket, List<TypeName> arguments, Token rightBrac ket}) : this.full(leftBracket, arguments, rightBracket); | |
| 8970 accept(ASTVisitor visitor) => visitor.visitTypeArgumentList(this); | 9804 accept(ASTVisitor visitor) => visitor.visitTypeArgumentList(this); |
| 8971 /** | 9805 /** |
| 8972 * Return the type arguments associated with the type. | 9806 * Return the type arguments associated with the type. |
| 8973 * @return the type arguments associated with the type | 9807 * @return the type arguments associated with the type |
| 8974 */ | 9808 */ |
| 8975 NodeList<TypeName> get arguments => _arguments; | 9809 NodeList<TypeName> get arguments => _arguments; |
| 8976 Token get beginToken => _leftBracket; | 9810 Token get beginToken => _leftBracket; |
| 8977 Token get endToken => _rightBracket; | 9811 Token get endToken => _rightBracket; |
| 8978 /** | 9812 /** |
| 8979 * Return the left bracket. | 9813 * Return the left bracket. |
| 8980 * @return the left bracket | 9814 * @return the left bracket |
| 8981 */ | 9815 */ |
| 8982 Token get leftBracket => _leftBracket; | 9816 Token get leftBracket => _leftBracket; |
| 8983 /** | 9817 /** |
| 8984 * Return the right bracket. | 9818 * Return the right bracket. |
| 8985 * @return the right bracket | 9819 * @return the right bracket |
| 8986 */ | 9820 */ |
| 8987 Token get rightBracket => _rightBracket; | 9821 Token get rightBracket => _rightBracket; |
| 8988 /** | 9822 /** |
| 8989 * Set the left bracket to the given token. | 9823 * Set the left bracket to the given token. |
| 8990 * @param leftBracket the left bracket | 9824 * @param leftBracket the left bracket |
| 8991 */ | 9825 */ |
| 8992 void set leftBracket9(Token leftBracket) { | 9826 void set leftBracket(Token leftBracket8) { |
| 8993 this._leftBracket = leftBracket; | 9827 this._leftBracket = leftBracket8; |
| 8994 } | 9828 } |
| 8995 /** | 9829 /** |
| 8996 * Set the right bracket to the given token. | 9830 * Set the right bracket to the given token. |
| 8997 * @param rightBracket the right bracket | 9831 * @param rightBracket the right bracket |
| 8998 */ | 9832 */ |
| 8999 void set rightBracket9(Token rightBracket) { | 9833 void set rightBracket(Token rightBracket8) { |
| 9000 this._rightBracket = rightBracket; | 9834 this._rightBracket = rightBracket8; |
| 9001 } | 9835 } |
| 9002 void visitChildren(ASTVisitor<Object> visitor) { | 9836 void visitChildren(ASTVisitor<Object> visitor) { |
| 9003 _arguments.accept(visitor); | 9837 _arguments.accept(visitor); |
| 9004 } | 9838 } |
| 9005 } | 9839 } |
| 9006 /** | 9840 /** |
| 9007 * Instances of the class {@code TypeName} represent the name of a type, which c an optionally | 9841 * Instances of the class {@code TypeName} represent the name of a type, which c an optionally |
| 9008 * include type arguments. | 9842 * include type arguments. |
| 9009 * <pre> | 9843 * <pre> |
| 9010 * typeName ::={@link Identifier identifier} typeArguments? | 9844 * typeName ::={@link Identifier identifier} typeArguments? |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 9022 /** | 9856 /** |
| 9023 * The type being named, or {@code null} if the AST structure has not been res olved. | 9857 * The type being named, or {@code null} if the AST structure has not been res olved. |
| 9024 */ | 9858 */ |
| 9025 Type2 _type; | 9859 Type2 _type; |
| 9026 /** | 9860 /** |
| 9027 * Initialize a newly created type name. | 9861 * Initialize a newly created type name. |
| 9028 * @param name the name of the type | 9862 * @param name the name of the type |
| 9029 * @param typeArguments the type arguments associated with the type, or {@code null} if there are | 9863 * @param typeArguments the type arguments associated with the type, or {@code null} if there are |
| 9030 * no type arguments | 9864 * no type arguments |
| 9031 */ | 9865 */ |
| 9032 TypeName(Identifier name, TypeArgumentList typeArguments) { | 9866 TypeName.full(Identifier name, TypeArgumentList typeArguments) { |
| 9033 this._name = becomeParentOf(name); | 9867 this._name = becomeParentOf(name); |
| 9034 this._typeArguments = becomeParentOf(typeArguments); | 9868 this._typeArguments = becomeParentOf(typeArguments); |
| 9035 } | 9869 } |
| 9870 /** | |
| 9871 * Initialize a newly created type name. | |
| 9872 * @param name the name of the type | |
| 9873 * @param typeArguments the type arguments associated with the type, or {@code null} if there are | |
| 9874 * no type arguments | |
| 9875 */ | |
| 9876 TypeName({Identifier name, TypeArgumentList typeArguments}) : this.full(name, typeArguments); | |
| 9036 accept(ASTVisitor visitor) => visitor.visitTypeName(this); | 9877 accept(ASTVisitor visitor) => visitor.visitTypeName(this); |
| 9037 Token get beginToken => _name.beginToken; | 9878 Token get beginToken => _name.beginToken; |
| 9038 Token get endToken { | 9879 Token get endToken { |
| 9039 if (_typeArguments != null) { | 9880 if (_typeArguments != null) { |
| 9040 return _typeArguments.endToken; | 9881 return _typeArguments.endToken; |
| 9041 } | 9882 } |
| 9042 return _name.endToken; | 9883 return _name.endToken; |
| 9043 } | 9884 } |
| 9044 /** | 9885 /** |
| 9045 * Return the name of the type. | 9886 * Return the name of the type. |
| 9046 * @return the name of the type | 9887 * @return the name of the type |
| 9047 */ | 9888 */ |
| 9048 Identifier get name => _name; | 9889 Identifier get name => _name; |
| 9049 /** | 9890 /** |
| 9050 * Return the type being named, or {@code null} if the AST structure has not b een resolved. | 9891 * Return the type being named, or {@code null} if the AST structure has not b een resolved. |
| 9051 * @return the type being named | 9892 * @return the type being named |
| 9052 */ | 9893 */ |
| 9053 Type2 get type => _type; | 9894 Type2 get type => _type; |
| 9054 /** | 9895 /** |
| 9055 * Return the type arguments associated with the type, or {@code null} if ther e are no type | 9896 * Return the type arguments associated with the type, or {@code null} if ther e are no type |
| 9056 * arguments. | 9897 * arguments. |
| 9057 * @return the type arguments associated with the type | 9898 * @return the type arguments associated with the type |
| 9058 */ | 9899 */ |
| 9059 TypeArgumentList get typeArguments => _typeArguments; | 9900 TypeArgumentList get typeArguments => _typeArguments; |
| 9060 bool isSynthetic() => _name.isSynthetic() && _typeArguments == null; | 9901 bool isSynthetic() => _name.isSynthetic() && _typeArguments == null; |
| 9061 /** | 9902 /** |
| 9062 * Set the name of the type to the given identifier. | 9903 * Set the name of the type to the given identifier. |
| 9063 * @param identifier the name of the type | 9904 * @param identifier the name of the type |
| 9064 */ | 9905 */ |
| 9065 void set name12(Identifier identifier) { | 9906 void set name(Identifier identifier) { |
| 9066 _name = becomeParentOf(identifier); | 9907 _name = becomeParentOf(identifier); |
| 9067 } | 9908 } |
| 9068 /** | 9909 /** |
| 9069 * Set the type being named to the given type. | 9910 * Set the type being named to the given type. |
| 9070 * @param type the type being named | 9911 * @param type the type being named |
| 9071 */ | 9912 */ |
| 9072 void set type7(Type2 type) { | 9913 void set type(Type2 type3) { |
| 9073 this._type = type; | 9914 this._type = type3; |
| 9074 } | 9915 } |
| 9075 /** | 9916 /** |
| 9076 * Set the type arguments associated with the type to the given type arguments . | 9917 * Set the type arguments associated with the type to the given type arguments . |
| 9077 * @param typeArguments the type arguments associated with the type | 9918 * @param typeArguments the type arguments associated with the type |
| 9078 */ | 9919 */ |
| 9079 void set typeArguments2(TypeArgumentList typeArguments) { | 9920 void set typeArguments(TypeArgumentList typeArguments2) { |
| 9080 this._typeArguments = becomeParentOf(typeArguments); | 9921 this._typeArguments = becomeParentOf(typeArguments2); |
| 9081 } | 9922 } |
| 9082 void visitChildren(ASTVisitor<Object> visitor) { | 9923 void visitChildren(ASTVisitor<Object> visitor) { |
| 9083 safelyVisitChild(_name, visitor); | 9924 safelyVisitChild(_name, visitor); |
| 9084 safelyVisitChild(_typeArguments, visitor); | 9925 safelyVisitChild(_typeArguments, visitor); |
| 9085 } | 9926 } |
| 9086 } | 9927 } |
| 9087 /** | 9928 /** |
| 9088 * Instances of the class {@code TypeParameter} represent a type parameter. | 9929 * Instances of the class {@code TypeParameter} represent a type parameter. |
| 9089 * <pre> | 9930 * <pre> |
| 9090 * typeParameter ::={@link SimpleIdentifier name} ('extends' {@link TypeName bou nd})? | 9931 * typeParameter ::={@link SimpleIdentifier name} ('extends' {@link TypeName bou nd})? |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 9106 */ | 9947 */ |
| 9107 TypeName _bound; | 9948 TypeName _bound; |
| 9108 /** | 9949 /** |
| 9109 * Initialize a newly created type parameter. | 9950 * Initialize a newly created type parameter. |
| 9110 * @param comment the documentation comment associated with the type parameter | 9951 * @param comment the documentation comment associated with the type parameter |
| 9111 * @param metadata the annotations associated with the type parameter | 9952 * @param metadata the annotations associated with the type parameter |
| 9112 * @param name the name of the type parameter | 9953 * @param name the name of the type parameter |
| 9113 * @param keyword the token representing the 'extends' keyword | 9954 * @param keyword the token representing the 'extends' keyword |
| 9114 * @param bound the name of the upper bound for legal arguments | 9955 * @param bound the name of the upper bound for legal arguments |
| 9115 */ | 9956 */ |
| 9116 TypeParameter(Comment comment, List<Annotation> metadata, SimpleIdentifier nam e, Token keyword, TypeName bound) : super(comment, metadata) { | 9957 TypeParameter.full(Comment comment, List<Annotation> metadata, SimpleIdentifie r name, Token keyword, TypeName bound) : super.full(comment, metadata) { |
| 9117 this._name = becomeParentOf(name); | 9958 this._name = becomeParentOf(name); |
| 9118 this._keyword = keyword; | 9959 this._keyword = keyword; |
| 9119 this._bound = becomeParentOf(bound); | 9960 this._bound = becomeParentOf(bound); |
| 9120 } | 9961 } |
| 9962 /** | |
| 9963 * Initialize a newly created type parameter. | |
| 9964 * @param comment the documentation comment associated with the type parameter | |
| 9965 * @param metadata the annotations associated with the type parameter | |
| 9966 * @param name the name of the type parameter | |
| 9967 * @param keyword the token representing the 'extends' keyword | |
| 9968 * @param bound the name of the upper bound for legal arguments | |
| 9969 */ | |
| 9970 TypeParameter({Comment comment, List<Annotation> metadata, SimpleIdentifier na me, Token keyword, TypeName bound}) : this.full(comment, metadata, name, keyword , bound); | |
| 9121 accept(ASTVisitor visitor) => visitor.visitTypeParameter(this); | 9971 accept(ASTVisitor visitor) => visitor.visitTypeParameter(this); |
| 9122 /** | 9972 /** |
| 9123 * Return the name of the upper bound for legal arguments, or {@code null} if there was no | 9973 * Return the name of the upper bound for legal arguments, or {@code null} if there was no |
| 9124 * explicit upper bound. | 9974 * explicit upper bound. |
| 9125 * @return the name of the upper bound for legal arguments | 9975 * @return the name of the upper bound for legal arguments |
| 9126 */ | 9976 */ |
| 9127 TypeName get bound => _bound; | 9977 TypeName get bound => _bound; |
| 9128 Token get endToken { | 9978 Token get endToken { |
| 9129 if (_bound == null) { | 9979 if (_bound == null) { |
| 9130 return _name.endToken; | 9980 return _name.endToken; |
| 9131 } | 9981 } |
| 9132 return _bound.endToken; | 9982 return _bound.endToken; |
| 9133 } | 9983 } |
| 9134 /** | 9984 /** |
| 9135 * Return the token representing the 'assert' keyword. | 9985 * Return the token representing the 'assert' keyword. |
| 9136 * @return the token representing the 'assert' keyword | 9986 * @return the token representing the 'assert' keyword |
| 9137 */ | 9987 */ |
| 9138 Token get keyword => _keyword; | 9988 Token get keyword => _keyword; |
| 9139 /** | 9989 /** |
| 9140 * Return the name of the type parameter. | 9990 * Return the name of the type parameter. |
| 9141 * @return the name of the type parameter | 9991 * @return the name of the type parameter |
| 9142 */ | 9992 */ |
| 9143 SimpleIdentifier get name => _name; | 9993 SimpleIdentifier get name => _name; |
| 9144 /** | 9994 /** |
| 9145 * Set the name of the upper bound for legal arguments to the given type name. | 9995 * Set the name of the upper bound for legal arguments to the given type name. |
| 9146 * @param typeName the name of the upper bound for legal arguments | 9996 * @param typeName the name of the upper bound for legal arguments |
| 9147 */ | 9997 */ |
| 9148 void set bound2(TypeName typeName) { | 9998 void set bound(TypeName typeName) { |
| 9149 _bound = becomeParentOf(typeName); | 9999 _bound = becomeParentOf(typeName); |
| 9150 } | 10000 } |
| 9151 /** | 10001 /** |
| 9152 * Set the token representing the 'assert' keyword to the given token. | 10002 * Set the token representing the 'assert' keyword to the given token. |
| 9153 * @param keyword the token representing the 'assert' keyword | 10003 * @param keyword the token representing the 'assert' keyword |
| 9154 */ | 10004 */ |
| 9155 void set keyword24(Token keyword) { | 10005 void set keyword(Token keyword23) { |
| 9156 this._keyword = keyword; | 10006 this._keyword = keyword23; |
| 9157 } | 10007 } |
| 9158 /** | 10008 /** |
| 9159 * Set the name of the type parameter to the given identifier. | 10009 * Set the name of the type parameter to the given identifier. |
| 9160 * @param identifier the name of the type parameter | 10010 * @param identifier the name of the type parameter |
| 9161 */ | 10011 */ |
| 9162 void set name13(SimpleIdentifier identifier) { | 10012 void set name(SimpleIdentifier identifier) { |
| 9163 _name = becomeParentOf(identifier); | 10013 _name = becomeParentOf(identifier); |
| 9164 } | 10014 } |
| 9165 void visitChildren(ASTVisitor<Object> visitor) { | 10015 void visitChildren(ASTVisitor<Object> visitor) { |
| 9166 super.visitChildren(visitor); | 10016 super.visitChildren(visitor); |
| 9167 safelyVisitChild(_name, visitor); | 10017 safelyVisitChild(_name, visitor); |
| 9168 safelyVisitChild(_bound, visitor); | 10018 safelyVisitChild(_bound, visitor); |
| 9169 } | 10019 } |
| 9170 Token get firstTokenAfterCommentAndMetadata => _name.beginToken; | 10020 Token get firstTokenAfterCommentAndMetadata => _name.beginToken; |
| 9171 } | 10021 } |
| 9172 /** | 10022 /** |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 9188 /** | 10038 /** |
| 9189 * The right angle bracket. | 10039 * The right angle bracket. |
| 9190 */ | 10040 */ |
| 9191 Token _rightBracket; | 10041 Token _rightBracket; |
| 9192 /** | 10042 /** |
| 9193 * Initialize a newly created list of type parameters. | 10043 * Initialize a newly created list of type parameters. |
| 9194 * @param leftBracket the left angle bracket | 10044 * @param leftBracket the left angle bracket |
| 9195 * @param typeParameters the type parameters in the list | 10045 * @param typeParameters the type parameters in the list |
| 9196 * @param rightBracket the right angle bracket | 10046 * @param rightBracket the right angle bracket |
| 9197 */ | 10047 */ |
| 9198 TypeParameterList(Token leftBracket, List<TypeParameter> typeParameters, Token rightBracket) { | 10048 TypeParameterList.full(Token leftBracket, List<TypeParameter> typeParameters, Token rightBracket) { |
| 9199 this._typeParameters = new NodeList<TypeParameter>(this); | 10049 this._typeParameters = new NodeList<TypeParameter>(this); |
| 9200 this._leftBracket = leftBracket; | 10050 this._leftBracket = leftBracket; |
| 9201 this._typeParameters.addAll(typeParameters); | 10051 this._typeParameters.addAll(typeParameters); |
| 9202 this._rightBracket = rightBracket; | 10052 this._rightBracket = rightBracket; |
| 9203 } | 10053 } |
| 10054 /** | |
| 10055 * Initialize a newly created list of type parameters. | |
| 10056 * @param leftBracket the left angle bracket | |
| 10057 * @param typeParameters the type parameters in the list | |
| 10058 * @param rightBracket the right angle bracket | |
| 10059 */ | |
| 10060 TypeParameterList({Token leftBracket, List<TypeParameter> typeParameters, Toke n rightBracket}) : this.full(leftBracket, typeParameters, rightBracket); | |
| 9204 accept(ASTVisitor visitor) => visitor.visitTypeParameterList(this); | 10061 accept(ASTVisitor visitor) => visitor.visitTypeParameterList(this); |
| 9205 Token get beginToken => _leftBracket; | 10062 Token get beginToken => _leftBracket; |
| 9206 Token get endToken => _rightBracket; | 10063 Token get endToken => _rightBracket; |
| 9207 /** | 10064 /** |
| 9208 * Return the left angle bracket. | 10065 * Return the left angle bracket. |
| 9209 * @return the left angle bracket | 10066 * @return the left angle bracket |
| 9210 */ | 10067 */ |
| 9211 Token get leftBracket => _leftBracket; | 10068 Token get leftBracket => _leftBracket; |
| 9212 /** | 10069 /** |
| 9213 * Return the right angle bracket. | 10070 * Return the right angle bracket. |
| (...skipping 25 matching lines...) Expand all Loading... | |
| 9239 * The type argument associated with this literal, or {@code null} if no type arguments were | 10096 * The type argument associated with this literal, or {@code null} if no type arguments were |
| 9240 * declared. | 10097 * declared. |
| 9241 */ | 10098 */ |
| 9242 TypeArgumentList _typeArguments; | 10099 TypeArgumentList _typeArguments; |
| 9243 /** | 10100 /** |
| 9244 * Initialize a newly created typed literal. | 10101 * Initialize a newly created typed literal. |
| 9245 * @param modifier the const modifier associated with this literal | 10102 * @param modifier the const modifier associated with this literal |
| 9246 * @param typeArguments the type argument associated with this literal, or {@c ode null} if no type | 10103 * @param typeArguments the type argument associated with this literal, or {@c ode null} if no type |
| 9247 * arguments were declared | 10104 * arguments were declared |
| 9248 */ | 10105 */ |
| 9249 TypedLiteral(Token modifier, TypeArgumentList typeArguments) { | 10106 TypedLiteral.full(Token modifier, TypeArgumentList typeArguments) { |
| 9250 this._modifier = modifier; | 10107 this._modifier = modifier; |
| 9251 this._typeArguments = becomeParentOf(typeArguments); | 10108 this._typeArguments = becomeParentOf(typeArguments); |
| 9252 } | 10109 } |
| 9253 /** | 10110 /** |
| 10111 * Initialize a newly created typed literal. | |
| 10112 * @param modifier the const modifier associated with this literal | |
| 10113 * @param typeArguments the type argument associated with this literal, or {@c ode null} if no type | |
| 10114 * arguments were declared | |
| 10115 */ | |
| 10116 TypedLiteral({Token modifier, TypeArgumentList typeArguments}) : this.full(mod ifier, typeArguments); | |
| 10117 /** | |
| 9254 * Return the const modifier associated with this literal. | 10118 * Return the const modifier associated with this literal. |
| 9255 * @return the const modifier associated with this literal | 10119 * @return the const modifier associated with this literal |
| 9256 */ | 10120 */ |
| 9257 Token get modifier => _modifier; | 10121 Token get modifier => _modifier; |
| 9258 /** | 10122 /** |
| 9259 * Return the type argument associated with this literal, or {@code null} if n o type arguments | 10123 * Return the type argument associated with this literal, or {@code null} if n o type arguments |
| 9260 * were declared. | 10124 * were declared. |
| 9261 * @return the type argument associated with this literal | 10125 * @return the type argument associated with this literal |
| 9262 */ | 10126 */ |
| 9263 TypeArgumentList get typeArguments => _typeArguments; | 10127 TypeArgumentList get typeArguments => _typeArguments; |
| 9264 /** | 10128 /** |
| 9265 * Set the modifiers associated with this literal to the given modifiers. | 10129 * Set the modifiers associated with this literal to the given modifiers. |
| 9266 * @param modifiers the modifiers associated with this literal | 10130 * @param modifiers the modifiers associated with this literal |
| 9267 */ | 10131 */ |
| 9268 void set modifier2(Token modifier) { | 10132 void set modifier(Token modifier2) { |
| 9269 this._modifier = modifier; | 10133 this._modifier = modifier2; |
| 9270 } | 10134 } |
| 9271 /** | 10135 /** |
| 9272 * Set the type argument associated with this literal to the given arguments. | 10136 * Set the type argument associated with this literal to the given arguments. |
| 9273 * @param typeArguments the type argument associated with this literal | 10137 * @param typeArguments the type argument associated with this literal |
| 9274 */ | 10138 */ |
| 9275 void set typeArguments3(TypeArgumentList typeArguments) { | 10139 void set typeArguments(TypeArgumentList typeArguments3) { |
| 9276 this._typeArguments = typeArguments; | 10140 this._typeArguments = typeArguments3; |
| 9277 } | 10141 } |
| 9278 void visitChildren(ASTVisitor<Object> visitor) { | 10142 void visitChildren(ASTVisitor<Object> visitor) { |
| 9279 safelyVisitChild(_typeArguments, visitor); | 10143 safelyVisitChild(_typeArguments, visitor); |
| 9280 } | 10144 } |
| 9281 } | 10145 } |
| 9282 /** | 10146 /** |
| 10147 * The abstract class {@code UriBasedDirective} defines the behavior common to n odes that represent | |
| 10148 * a directive that references a URI. | |
| 10149 * <pre> | |
| 10150 * uriBasedDirective ::={@link ExportDirective exportDirective}| {@link ImportDi rective importDirective}| {@link PartDirective partDirective}</pre> | |
| 10151 */ | |
| 10152 abstract class UriBasedDirective extends Directive { | |
| 10153 /** | |
| 10154 * The URI referenced by this directive. | |
| 10155 */ | |
| 10156 StringLiteral _uri; | |
| 10157 /** | |
| 10158 * Initialize a newly create URI-based directive. | |
| 10159 * @param comment the documentation comment associated with this directive | |
| 10160 * @param metadata the annotations associated with the directive | |
| 10161 * @param uri the URI referenced by this directive | |
| 10162 */ | |
| 10163 UriBasedDirective.full(Comment comment, List<Annotation> metadata, StringLiter al uri) : super.full(comment, metadata) { | |
| 10164 this._uri = becomeParentOf(uri); | |
| 10165 } | |
| 10166 /** | |
| 10167 * Initialize a newly create URI-based directive. | |
| 10168 * @param comment the documentation comment associated with this directive | |
| 10169 * @param metadata the annotations associated with the directive | |
| 10170 * @param uri the URI referenced by this directive | |
| 10171 */ | |
| 10172 UriBasedDirective({Comment comment, List<Annotation> metadata, StringLiteral u ri}) : this.full(comment, metadata, uri); | |
| 10173 /** | |
| 10174 * Return the URI referenced by this directive. | |
| 10175 * @return the URI referenced by this directive | |
| 10176 */ | |
| 10177 StringLiteral get uri => _uri; | |
| 10178 /** | |
| 10179 * Set the URI referenced by this directive to the given URI. | |
| 10180 * @param uri the URI referenced by this directive | |
| 10181 */ | |
| 10182 void set uri(StringLiteral uri2) { | |
| 10183 this._uri = becomeParentOf(uri2); | |
| 10184 } | |
| 10185 void visitChildren(ASTVisitor<Object> visitor) { | |
| 10186 super.visitChildren(visitor); | |
| 10187 safelyVisitChild(_uri, visitor); | |
| 10188 } | |
| 10189 } | |
| 10190 /** | |
| 9283 * Instances of the class {@code VariableDeclaration} represent an identifier th at has an initial | 10191 * Instances of the class {@code VariableDeclaration} represent an identifier th at has an initial |
| 9284 * value associated with it. Instances of this class are always children of the class{@link VariableDeclarationList}. | 10192 * value associated with it. Instances of this class are always children of the class{@link VariableDeclarationList}. |
| 9285 * <pre> | 10193 * <pre> |
| 9286 * variableDeclaration ::={@link SimpleIdentifier identifier} ('=' {@link Expres sion initialValue})? | 10194 * variableDeclaration ::={@link SimpleIdentifier identifier} ('=' {@link Expres sion initialValue})? |
| 9287 * </pre> | 10195 * </pre> |
| 9288 */ | 10196 */ |
| 9289 class VariableDeclaration extends Declaration { | 10197 class VariableDeclaration extends Declaration { |
| 9290 /** | 10198 /** |
| 9291 * The name of the variable being declared. | 10199 * The name of the variable being declared. |
| 9292 */ | 10200 */ |
| 9293 SimpleIdentifier _name; | 10201 SimpleIdentifier _name; |
| 9294 /** | 10202 /** |
| 9295 * The equal sign separating the variable name from the initial value, or {@co de null} if the | 10203 * The equal sign separating the variable name from the initial value, or {@co de null} if the |
| 9296 * initial value was not specified. | 10204 * initial value was not specified. |
| 9297 */ | 10205 */ |
| 9298 Token _equals; | 10206 Token _equals; |
| 9299 /** | 10207 /** |
| 9300 * The expression used to compute the initial value for the variable, or {@cod e null} if the | 10208 * The expression used to compute the initial value for the variable, or {@cod e null} if the |
| 9301 * initial value was not specified. | 10209 * initial value was not specified. |
| 9302 */ | 10210 */ |
| 9303 Expression _initializer; | 10211 Expression _initializer; |
| 9304 /** | 10212 /** |
| 9305 * Initialize a newly created variable declaration. | 10213 * Initialize a newly created variable declaration. |
| 9306 * @param comment the documentation comment associated with this declaration | 10214 * @param comment the documentation comment associated with this declaration |
| 9307 * @param metadata the annotations associated with this member | 10215 * @param metadata the annotations associated with this member |
| 9308 * @param name the name of the variable being declared | 10216 * @param name the name of the variable being declared |
| 9309 * @param equals the equal sign separating the variable name from the initial value | 10217 * @param equals the equal sign separating the variable name from the initial value |
| 9310 * @param initializer the expression used to compute the initial value for the variable | 10218 * @param initializer the expression used to compute the initial value for the variable |
| 9311 */ | 10219 */ |
| 9312 VariableDeclaration(Comment comment, List<Annotation> metadata, SimpleIdentifi er name, Token equals, Expression initializer) : super(comment, metadata) { | 10220 VariableDeclaration.full(Comment comment, List<Annotation> metadata, SimpleIde ntifier name, Token equals, Expression initializer) : super.full(comment, metada ta) { |
| 9313 this._name = becomeParentOf(name); | 10221 this._name = becomeParentOf(name); |
| 9314 this._equals = equals; | 10222 this._equals = equals; |
| 9315 this._initializer = becomeParentOf(initializer); | 10223 this._initializer = becomeParentOf(initializer); |
| 9316 } | 10224 } |
| 10225 /** | |
| 10226 * Initialize a newly created variable declaration. | |
| 10227 * @param comment the documentation comment associated with this declaration | |
| 10228 * @param metadata the annotations associated with this member | |
| 10229 * @param name the name of the variable being declared | |
| 10230 * @param equals the equal sign separating the variable name from the initial value | |
| 10231 * @param initializer the expression used to compute the initial value for the variable | |
| 10232 */ | |
| 10233 VariableDeclaration({Comment comment, List<Annotation> metadata, SimpleIdentif ier name, Token equals, Expression initializer}) : this.full(comment, metadata, name, equals, initializer); | |
| 9317 accept(ASTVisitor visitor) => visitor.visitVariableDeclaration(this); | 10234 accept(ASTVisitor visitor) => visitor.visitVariableDeclaration(this); |
| 9318 /** | 10235 /** |
| 9319 * Return the {@link VariableElement} associated with this variable, or {@code null} if the AST | 10236 * Return the {@link VariableElement} associated with this variable, or {@code null} if the AST |
| 9320 * structure has not been resolved. | 10237 * structure has not been resolved. |
| 9321 * @return the {@link VariableElement} associated with this variable | 10238 * @return the {@link VariableElement} associated with this variable |
| 9322 */ | 10239 */ |
| 9323 VariableElement get element => _name != null ? _name.element as VariableElemen t : null; | 10240 VariableElement get element => _name != null ? (_name.element as VariableEleme nt) : null; |
| 9324 Token get endToken { | 10241 Token get endToken { |
| 9325 if (_initializer != null) { | 10242 if (_initializer != null) { |
| 9326 return _initializer.endToken; | 10243 return _initializer.endToken; |
| 9327 } | 10244 } |
| 9328 return _name.endToken; | 10245 return _name.endToken; |
| 9329 } | 10246 } |
| 9330 /** | 10247 /** |
| 9331 * Return the equal sign separating the variable name from the initial value, or {@code null} if | 10248 * Return the equal sign separating the variable name from the initial value, or {@code null} if |
| 9332 * the initial value was not specified. | 10249 * the initial value was not specified. |
| 9333 * @return the equal sign separating the variable name from the initial value | 10250 * @return the equal sign separating the variable name from the initial value |
| 9334 */ | 10251 */ |
| 9335 Token get equals => _equals; | 10252 Token get equals => _equals; |
| 9336 /** | 10253 /** |
| 9337 * Return the expression used to compute the initial value for the variable, o r {@code null} if | 10254 * Return the expression used to compute the initial value for the variable, o r {@code null} if |
| 9338 * the initial value was not specified. | 10255 * the initial value was not specified. |
| 9339 * @return the expression used to compute the initial value for the variable | 10256 * @return the expression used to compute the initial value for the variable |
| 9340 */ | 10257 */ |
| 9341 Expression get initializer => _initializer; | 10258 Expression get initializer => _initializer; |
| 9342 /** | 10259 /** |
| 9343 * Return the name of the variable being declared. | 10260 * Return the name of the variable being declared. |
| 9344 * @return the name of the variable being declared | 10261 * @return the name of the variable being declared |
| 9345 */ | 10262 */ |
| 9346 SimpleIdentifier get name => _name; | 10263 SimpleIdentifier get name => _name; |
| 9347 /** | 10264 /** |
| 9348 * Set the equal sign separating the variable name from the initial value to t he given token. | 10265 * Set the equal sign separating the variable name from the initial value to t he given token. |
| 9349 * @param equals the equal sign separating the variable name from the initial value | 10266 * @param equals the equal sign separating the variable name from the initial value |
| 9350 */ | 10267 */ |
| 9351 void set equals6(Token equals) { | 10268 void set equals(Token equals6) { |
| 9352 this._equals = equals; | 10269 this._equals = equals6; |
| 9353 } | 10270 } |
| 9354 /** | 10271 /** |
| 9355 * Set the expression used to compute the initial value for the variable to th e given expression. | 10272 * Set the expression used to compute the initial value for the variable to th e given expression. |
| 9356 * @param initializer the expression used to compute the initial value for the variable | 10273 * @param initializer the expression used to compute the initial value for the variable |
| 9357 */ | 10274 */ |
| 9358 void set initializer2(Expression initializer) { | 10275 void set initializer(Expression initializer2) { |
| 9359 this._initializer = becomeParentOf(initializer); | 10276 this._initializer = becomeParentOf(initializer2); |
| 9360 } | 10277 } |
| 9361 /** | 10278 /** |
| 9362 * Set the name of the variable being declared to the given identifier. | 10279 * Set the name of the variable being declared to the given identifier. |
| 9363 * @param name the name of the variable being declared | 10280 * @param name the name of the variable being declared |
| 9364 */ | 10281 */ |
| 9365 void set name14(SimpleIdentifier name) { | 10282 void set name(SimpleIdentifier name7) { |
| 9366 this._name = becomeParentOf(name); | 10283 this._name = becomeParentOf(name7); |
| 9367 } | 10284 } |
| 9368 void visitChildren(ASTVisitor<Object> visitor) { | 10285 void visitChildren(ASTVisitor<Object> visitor) { |
| 9369 super.visitChildren(visitor); | 10286 super.visitChildren(visitor); |
| 9370 safelyVisitChild(_name, visitor); | 10287 safelyVisitChild(_name, visitor); |
| 9371 safelyVisitChild(_initializer, visitor); | 10288 safelyVisitChild(_initializer, visitor); |
| 9372 } | 10289 } |
| 9373 Token get firstTokenAfterCommentAndMetadata => _name.beginToken; | 10290 Token get firstTokenAfterCommentAndMetadata => _name.beginToken; |
| 9374 } | 10291 } |
| 9375 /** | 10292 /** |
| 9376 * Instances of the class {@code VariableDeclarationList} represent the declarat ion of one or more | 10293 * Instances of the class {@code VariableDeclarationList} represent the declarat ion of one or more |
| (...skipping 20 matching lines...) Expand all Loading... | |
| 9397 /** | 10314 /** |
| 9398 * A list containing the individual variables being declared. | 10315 * A list containing the individual variables being declared. |
| 9399 */ | 10316 */ |
| 9400 NodeList<VariableDeclaration> _variables; | 10317 NodeList<VariableDeclaration> _variables; |
| 9401 /** | 10318 /** |
| 9402 * Initialize a newly created variable declaration list. | 10319 * Initialize a newly created variable declaration list. |
| 9403 * @param keyword the token representing the 'final', 'const' or 'var' keyword | 10320 * @param keyword the token representing the 'final', 'const' or 'var' keyword |
| 9404 * @param type the type of the variables being declared | 10321 * @param type the type of the variables being declared |
| 9405 * @param variables a list containing the individual variables being declared | 10322 * @param variables a list containing the individual variables being declared |
| 9406 */ | 10323 */ |
| 9407 VariableDeclarationList(Token keyword, TypeName type, List<VariableDeclaration > variables) { | 10324 VariableDeclarationList.full(Token keyword, TypeName type, List<VariableDeclar ation> variables) { |
| 9408 this._variables = new NodeList<VariableDeclaration>(this); | 10325 this._variables = new NodeList<VariableDeclaration>(this); |
| 9409 this._keyword = keyword; | 10326 this._keyword = keyword; |
| 9410 this._type = becomeParentOf(type); | 10327 this._type = becomeParentOf(type); |
| 9411 this._variables.addAll(variables); | 10328 this._variables.addAll(variables); |
| 9412 } | 10329 } |
| 10330 /** | |
| 10331 * Initialize a newly created variable declaration list. | |
| 10332 * @param keyword the token representing the 'final', 'const' or 'var' keyword | |
| 10333 * @param type the type of the variables being declared | |
| 10334 * @param variables a list containing the individual variables being declared | |
| 10335 */ | |
| 10336 VariableDeclarationList({Token keyword, TypeName type, List<VariableDeclaratio n> variables}) : this.full(keyword, type, variables); | |
| 9413 accept(ASTVisitor visitor) => visitor.visitVariableDeclarationList(this); | 10337 accept(ASTVisitor visitor) => visitor.visitVariableDeclarationList(this); |
| 9414 Token get beginToken { | 10338 Token get beginToken { |
| 9415 if (_keyword != null) { | 10339 if (_keyword != null) { |
| 9416 return _keyword; | 10340 return _keyword; |
| 9417 } else if (_type != null) { | 10341 } else if (_type != null) { |
| 9418 return _type.beginToken; | 10342 return _type.beginToken; |
| 9419 } | 10343 } |
| 9420 return _variables.beginToken; | 10344 return _variables.beginToken; |
| 9421 } | 10345 } |
| 9422 Token get endToken => _variables.endToken; | 10346 Token get endToken => _variables.endToken; |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 9433 TypeName get type => _type; | 10357 TypeName get type => _type; |
| 9434 /** | 10358 /** |
| 9435 * Return a list containing the individual variables being declared. | 10359 * Return a list containing the individual variables being declared. |
| 9436 * @return a list containing the individual variables being declared | 10360 * @return a list containing the individual variables being declared |
| 9437 */ | 10361 */ |
| 9438 NodeList<VariableDeclaration> get variables => _variables; | 10362 NodeList<VariableDeclaration> get variables => _variables; |
| 9439 /** | 10363 /** |
| 9440 * Set the token representing the 'final', 'const' or 'var' keyword to the giv en token. | 10364 * Set the token representing the 'final', 'const' or 'var' keyword to the giv en token. |
| 9441 * @param keyword the token representing the 'final', 'const' or 'var' keyword | 10365 * @param keyword the token representing the 'final', 'const' or 'var' keyword |
| 9442 */ | 10366 */ |
| 9443 void set keyword25(Token keyword) { | 10367 void set keyword(Token keyword24) { |
| 9444 this._keyword = keyword; | 10368 this._keyword = keyword24; |
| 9445 } | 10369 } |
| 9446 /** | 10370 /** |
| 9447 * Set the type of the variables being declared to the given type name. | 10371 * Set the type of the variables being declared to the given type name. |
| 9448 * @param typeName the type of the variables being declared | 10372 * @param typeName the type of the variables being declared |
| 9449 */ | 10373 */ |
| 9450 void set type8(TypeName typeName) { | 10374 void set type(TypeName typeName) { |
| 9451 _type = becomeParentOf(typeName); | 10375 _type = becomeParentOf(typeName); |
| 9452 } | 10376 } |
| 9453 void visitChildren(ASTVisitor<Object> visitor) { | 10377 void visitChildren(ASTVisitor<Object> visitor) { |
| 9454 safelyVisitChild(_type, visitor); | 10378 safelyVisitChild(_type, visitor); |
| 9455 _variables.accept(visitor); | 10379 _variables.accept(visitor); |
| 9456 } | 10380 } |
| 9457 } | 10381 } |
| 9458 /** | 10382 /** |
| 9459 * Instances of the class {@code VariableDeclarationStatement} represent a list of variables that | 10383 * Instances of the class {@code VariableDeclarationStatement} represent a list of variables that |
| 9460 * are being declared in a context where a statement is required. | 10384 * are being declared in a context where a statement is required. |
| 9461 * <pre> | 10385 * <pre> |
| 9462 * variableDeclarationStatement ::={@link VariableDeclarationList variableList} ';' | 10386 * variableDeclarationStatement ::={@link VariableDeclarationList variableList} ';' |
| 9463 * </pre> | 10387 * </pre> |
| 9464 */ | 10388 */ |
| 9465 class VariableDeclarationStatement extends Statement { | 10389 class VariableDeclarationStatement extends Statement { |
| 9466 /** | 10390 /** |
| 9467 * The variables being declared. | 10391 * The variables being declared. |
| 9468 */ | 10392 */ |
| 9469 VariableDeclarationList _variableList; | 10393 VariableDeclarationList _variableList; |
| 9470 /** | 10394 /** |
| 9471 * The semicolon terminating the statement. | 10395 * The semicolon terminating the statement. |
| 9472 */ | 10396 */ |
| 9473 Token _semicolon; | 10397 Token _semicolon; |
| 9474 /** | 10398 /** |
| 9475 * Initialize a newly created variable declaration statement. | 10399 * Initialize a newly created variable declaration statement. |
| 9476 * @param variableList the fields being declared | 10400 * @param variableList the fields being declared |
| 9477 * @param semicolon the semicolon terminating the statement | 10401 * @param semicolon the semicolon terminating the statement |
| 9478 */ | 10402 */ |
| 9479 VariableDeclarationStatement(VariableDeclarationList variableList, Token semic olon) { | 10403 VariableDeclarationStatement.full(VariableDeclarationList variableList, Token semicolon) { |
| 9480 this._variableList = becomeParentOf(variableList); | 10404 this._variableList = becomeParentOf(variableList); |
| 9481 this._semicolon = semicolon; | 10405 this._semicolon = semicolon; |
| 9482 } | 10406 } |
| 10407 /** | |
| 10408 * Initialize a newly created variable declaration statement. | |
| 10409 * @param variableList the fields being declared | |
| 10410 * @param semicolon the semicolon terminating the statement | |
| 10411 */ | |
| 10412 VariableDeclarationStatement({VariableDeclarationList variableList, Token semi colon}) : this.full(variableList, semicolon); | |
| 9483 accept(ASTVisitor visitor) => visitor.visitVariableDeclarationStatement(this); | 10413 accept(ASTVisitor visitor) => visitor.visitVariableDeclarationStatement(this); |
| 9484 Token get beginToken => _variableList.beginToken; | 10414 Token get beginToken => _variableList.beginToken; |
| 9485 Token get endToken => _semicolon; | 10415 Token get endToken => _semicolon; |
| 9486 /** | 10416 /** |
| 9487 * Return the semicolon terminating the statement. | 10417 * Return the semicolon terminating the statement. |
| 9488 * @return the semicolon terminating the statement | 10418 * @return the semicolon terminating the statement |
| 9489 */ | 10419 */ |
| 9490 Token get semicolon => _semicolon; | 10420 Token get semicolon => _semicolon; |
| 9491 /** | 10421 /** |
| 9492 * Return the variables being declared. | 10422 * Return the variables being declared. |
| 9493 * @return the variables being declared | 10423 * @return the variables being declared |
| 9494 */ | 10424 */ |
| 9495 VariableDeclarationList get variables => _variableList; | 10425 VariableDeclarationList get variables => _variableList; |
| 9496 /** | 10426 /** |
| 9497 * Set the semicolon terminating the statement to the given token. | 10427 * Set the semicolon terminating the statement to the given token. |
| 9498 * @param semicolon the semicolon terminating the statement | 10428 * @param semicolon the semicolon terminating the statement |
| 9499 */ | 10429 */ |
| 9500 void set semicolon18(Token semicolon) { | 10430 void set semicolon(Token semicolon18) { |
| 9501 this._semicolon = semicolon; | 10431 this._semicolon = semicolon18; |
| 9502 } | 10432 } |
| 9503 /** | 10433 /** |
| 9504 * Set the variables being declared to the given list of variables. | 10434 * Set the variables being declared to the given list of variables. |
| 9505 * @param variableList the variables being declared | 10435 * @param variableList the variables being declared |
| 9506 */ | 10436 */ |
| 9507 void set variables4(VariableDeclarationList variableList) { | 10437 void set variables(VariableDeclarationList variableList2) { |
| 9508 this._variableList = becomeParentOf(variableList); | 10438 this._variableList = becomeParentOf(variableList2); |
| 9509 } | 10439 } |
| 9510 void visitChildren(ASTVisitor<Object> visitor) { | 10440 void visitChildren(ASTVisitor<Object> visitor) { |
| 9511 safelyVisitChild(_variableList, visitor); | 10441 safelyVisitChild(_variableList, visitor); |
| 9512 } | 10442 } |
| 9513 } | 10443 } |
| 9514 /** | 10444 /** |
| 9515 * Instances of the class {@code WhileStatement} represent a while statement. | 10445 * Instances of the class {@code WhileStatement} represent a while statement. |
| 9516 * <pre> | 10446 * <pre> |
| 9517 * whileStatement ::= | 10447 * whileStatement ::= |
| 9518 * 'while' '(' {@link Expression condition} ')' {@link Statement body}</pre> | 10448 * 'while' '(' {@link Expression condition} ')' {@link Statement body}</pre> |
| (...skipping 20 matching lines...) Expand all Loading... | |
| 9539 */ | 10469 */ |
| 9540 Statement _body; | 10470 Statement _body; |
| 9541 /** | 10471 /** |
| 9542 * Initialize a newly created while statement. | 10472 * Initialize a newly created while statement. |
| 9543 * @param keyword the token representing the 'while' keyword | 10473 * @param keyword the token representing the 'while' keyword |
| 9544 * @param leftParenthesis the left parenthesis | 10474 * @param leftParenthesis the left parenthesis |
| 9545 * @param condition the expression used to determine whether to execute the bo dy of the loop | 10475 * @param condition the expression used to determine whether to execute the bo dy of the loop |
| 9546 * @param rightParenthesis the right parenthesis | 10476 * @param rightParenthesis the right parenthesis |
| 9547 * @param body the body of the loop | 10477 * @param body the body of the loop |
| 9548 */ | 10478 */ |
| 9549 WhileStatement(Token keyword, Token leftParenthesis, Expression condition, Tok en rightParenthesis, Statement body) { | 10479 WhileStatement.full(Token keyword, Token leftParenthesis, Expression condition , Token rightParenthesis, Statement body) { |
| 9550 this._keyword = keyword; | 10480 this._keyword = keyword; |
| 9551 this._leftParenthesis = leftParenthesis; | 10481 this._leftParenthesis = leftParenthesis; |
| 9552 this._condition = becomeParentOf(condition); | 10482 this._condition = becomeParentOf(condition); |
| 9553 this._rightParenthesis = rightParenthesis; | 10483 this._rightParenthesis = rightParenthesis; |
| 9554 this._body = becomeParentOf(body); | 10484 this._body = becomeParentOf(body); |
| 9555 } | 10485 } |
| 10486 /** | |
| 10487 * Initialize a newly created while statement. | |
| 10488 * @param keyword the token representing the 'while' keyword | |
| 10489 * @param leftParenthesis the left parenthesis | |
| 10490 * @param condition the expression used to determine whether to execute the bo dy of the loop | |
| 10491 * @param rightParenthesis the right parenthesis | |
| 10492 * @param body the body of the loop | |
| 10493 */ | |
| 10494 WhileStatement({Token keyword, Token leftParenthesis, Expression condition, To ken rightParenthesis, Statement body}) : this.full(keyword, leftParenthesis, con dition, rightParenthesis, body); | |
| 9556 accept(ASTVisitor visitor) => visitor.visitWhileStatement(this); | 10495 accept(ASTVisitor visitor) => visitor.visitWhileStatement(this); |
| 9557 Token get beginToken => _keyword; | 10496 Token get beginToken => _keyword; |
| 9558 /** | 10497 /** |
| 9559 * Return the body of the loop. | 10498 * Return the body of the loop. |
| 9560 * @return the body of the loop | 10499 * @return the body of the loop |
| 9561 */ | 10500 */ |
| 9562 Statement get body => _body; | 10501 Statement get body => _body; |
| 9563 /** | 10502 /** |
| 9564 * Return the expression used to determine whether to execute the body of the loop. | 10503 * Return the expression used to determine whether to execute the body of the loop. |
| 9565 * @return the expression used to determine whether to execute the body of the loop | 10504 * @return the expression used to determine whether to execute the body of the loop |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 9578 Token get leftParenthesis => _leftParenthesis; | 10517 Token get leftParenthesis => _leftParenthesis; |
| 9579 /** | 10518 /** |
| 9580 * Return the right parenthesis. | 10519 * Return the right parenthesis. |
| 9581 * @return the right parenthesis | 10520 * @return the right parenthesis |
| 9582 */ | 10521 */ |
| 9583 Token get rightParenthesis => _rightParenthesis; | 10522 Token get rightParenthesis => _rightParenthesis; |
| 9584 /** | 10523 /** |
| 9585 * Set the body of the loop to the given statement. | 10524 * Set the body of the loop to the given statement. |
| 9586 * @param statement the body of the loop | 10525 * @param statement the body of the loop |
| 9587 */ | 10526 */ |
| 9588 void set body10(Statement statement) { | 10527 void set body(Statement statement) { |
| 9589 _body = becomeParentOf(statement); | 10528 _body = becomeParentOf(statement); |
| 9590 } | 10529 } |
| 9591 /** | 10530 /** |
| 9592 * Set the expression used to determine whether to execute the body of the loo p to the given | 10531 * Set the expression used to determine whether to execute the body of the loo p to the given |
| 9593 * expression. | 10532 * expression. |
| 9594 * @param expression the expression used to determine whether to execute the b ody of the loop | 10533 * @param expression the expression used to determine whether to execute the b ody of the loop |
| 9595 */ | 10534 */ |
| 9596 void set condition7(Expression expression) { | 10535 void set condition(Expression expression) { |
| 9597 _condition = becomeParentOf(expression); | 10536 _condition = becomeParentOf(expression); |
| 9598 } | 10537 } |
| 9599 /** | 10538 /** |
| 9600 * Set the token representing the 'while' keyword to the given token. | 10539 * Set the token representing the 'while' keyword to the given token. |
| 9601 * @param keyword the token representing the 'while' keyword | 10540 * @param keyword the token representing the 'while' keyword |
| 9602 */ | 10541 */ |
| 9603 void set keyword26(Token keyword) { | 10542 void set keyword(Token keyword25) { |
| 9604 this._keyword = keyword; | 10543 this._keyword = keyword25; |
| 9605 } | 10544 } |
| 9606 /** | 10545 /** |
| 9607 * Set the left parenthesis to the given token. | 10546 * Set the left parenthesis to the given token. |
| 9608 * @param leftParenthesis the left parenthesis | 10547 * @param leftParenthesis the left parenthesis |
| 9609 */ | 10548 */ |
| 9610 void set leftParenthesis12(Token leftParenthesis) { | 10549 void set leftParenthesis(Token leftParenthesis7) { |
| 9611 this._leftParenthesis = leftParenthesis; | 10550 this._leftParenthesis = leftParenthesis7; |
| 9612 } | 10551 } |
| 9613 /** | 10552 /** |
| 9614 * Set the right parenthesis to the given token. | 10553 * Set the right parenthesis to the given token. |
| 9615 * @param rightParenthesis the right parenthesis | 10554 * @param rightParenthesis the right parenthesis |
| 9616 */ | 10555 */ |
| 9617 void set rightParenthesis12(Token rightParenthesis) { | 10556 void set rightParenthesis(Token rightParenthesis7) { |
| 9618 this._rightParenthesis = rightParenthesis; | 10557 this._rightParenthesis = rightParenthesis7; |
| 9619 } | 10558 } |
| 9620 void visitChildren(ASTVisitor<Object> visitor) { | 10559 void visitChildren(ASTVisitor<Object> visitor) { |
| 9621 safelyVisitChild(_condition, visitor); | 10560 safelyVisitChild(_condition, visitor); |
| 9622 safelyVisitChild(_body, visitor); | 10561 safelyVisitChild(_body, visitor); |
| 9623 } | 10562 } |
| 9624 } | 10563 } |
| 9625 /** | 10564 /** |
| 9626 * Instances of the class {@code WithClause} represent the with clause in a clas s declaration. | 10565 * Instances of the class {@code WithClause} represent the with clause in a clas s declaration. |
| 9627 * <pre> | 10566 * <pre> |
| 9628 * withClause ::= | 10567 * withClause ::= |
| 9629 * 'with' {@link TypeName mixin} (',' {@link TypeName mixin}) | 10568 * 'with' {@link TypeName mixin} (',' {@link TypeName mixin}) |
| 9630 * </pre> | 10569 * </pre> |
| 9631 */ | 10570 */ |
| 9632 class WithClause extends ASTNode { | 10571 class WithClause extends ASTNode { |
| 9633 /** | 10572 /** |
| 9634 * The token representing the 'with' keyword. | 10573 * The token representing the 'with' keyword. |
| 9635 */ | 10574 */ |
| 9636 Token _withKeyword; | 10575 Token _withKeyword; |
| 9637 /** | 10576 /** |
| 9638 * The names of the mixins that were specified. | 10577 * The names of the mixins that were specified. |
| 9639 */ | 10578 */ |
| 9640 NodeList<TypeName> _mixinTypes; | 10579 NodeList<TypeName> _mixinTypes; |
| 9641 /** | 10580 /** |
| 9642 * Initialize a newly created with clause. | 10581 * Initialize a newly created with clause. |
| 9643 * @param withKeyword the token representing the 'with' keyword | 10582 * @param withKeyword the token representing the 'with' keyword |
| 9644 * @param mixinTypes the names of the mixins that were specified | 10583 * @param mixinTypes the names of the mixins that were specified |
| 9645 */ | 10584 */ |
| 9646 WithClause(Token withKeyword, List<TypeName> mixinTypes) { | 10585 WithClause.full(Token withKeyword, List<TypeName> mixinTypes) { |
| 9647 this._mixinTypes = new NodeList<TypeName>(this); | 10586 this._mixinTypes = new NodeList<TypeName>(this); |
| 9648 this._withKeyword = withKeyword; | 10587 this._withKeyword = withKeyword; |
| 9649 this._mixinTypes.addAll(mixinTypes); | 10588 this._mixinTypes.addAll(mixinTypes); |
| 9650 } | 10589 } |
| 10590 /** | |
| 10591 * Initialize a newly created with clause. | |
| 10592 * @param withKeyword the token representing the 'with' keyword | |
| 10593 * @param mixinTypes the names of the mixins that were specified | |
| 10594 */ | |
| 10595 WithClause({Token withKeyword, List<TypeName> mixinTypes}) : this.full(withKey word, mixinTypes); | |
| 9651 accept(ASTVisitor visitor) => visitor.visitWithClause(this); | 10596 accept(ASTVisitor visitor) => visitor.visitWithClause(this); |
| 9652 Token get beginToken => _withKeyword; | 10597 Token get beginToken => _withKeyword; |
| 9653 Token get endToken => _mixinTypes.endToken; | 10598 Token get endToken => _mixinTypes.endToken; |
| 9654 /** | 10599 /** |
| 9655 * Return the names of the mixins that were specified. | 10600 * Return the names of the mixins that were specified. |
| 9656 * @return the names of the mixins that were specified | 10601 * @return the names of the mixins that were specified |
| 9657 */ | 10602 */ |
| 9658 NodeList<TypeName> get mixinTypes => _mixinTypes; | 10603 NodeList<TypeName> get mixinTypes => _mixinTypes; |
| 9659 /** | 10604 /** |
| 9660 * Return the token representing the 'with' keyword. | 10605 * Return the token representing the 'with' keyword. |
| 9661 * @return the token representing the 'with' keyword | 10606 * @return the token representing the 'with' keyword |
| 9662 */ | 10607 */ |
| 9663 Token get withKeyword => _withKeyword; | 10608 Token get withKeyword => _withKeyword; |
| 9664 /** | 10609 /** |
| 9665 * Set the token representing the 'with' keyword to the given token. | 10610 * Set the token representing the 'with' keyword to the given token. |
| 9666 * @param withKeyword the token representing the 'with' keyword | 10611 * @param withKeyword the token representing the 'with' keyword |
| 9667 */ | 10612 */ |
| 9668 void set mixinKeyword(Token withKeyword) { | 10613 void set mixinKeyword(Token withKeyword2) { |
| 9669 this._withKeyword = withKeyword; | 10614 this._withKeyword = withKeyword2; |
| 9670 } | 10615 } |
| 9671 void visitChildren(ASTVisitor<Object> visitor) { | 10616 void visitChildren(ASTVisitor<Object> visitor) { |
| 9672 _mixinTypes.accept(visitor); | 10617 _mixinTypes.accept(visitor); |
| 9673 } | 10618 } |
| 9674 } | 10619 } |
| 9675 /** | 10620 /** |
| 9676 * Instances of the class {@code ConstantEvaluator} evaluate constant expression s to produce their | 10621 * Instances of the class {@code ConstantEvaluator} evaluate constant expression s to produce their |
| 9677 * compile-time value. According to the Dart Language Specification: <blockquote > A constant | 10622 * compile-time value. According to the Dart Language Specification: <blockquote > A constant |
| 9678 * expression is one of the following: | 10623 * expression is one of the following: |
| 9679 * <ul> | 10624 * <ul> |
| (...skipping 26 matching lines...) Expand all Loading... | |
| 9706 class ConstantEvaluator extends GeneralizingASTVisitor<Object> { | 10651 class ConstantEvaluator extends GeneralizingASTVisitor<Object> { |
| 9707 /** | 10652 /** |
| 9708 * The value returned for expressions (or non-expression nodes) that are not c ompile-time constant | 10653 * The value returned for expressions (or non-expression nodes) that are not c ompile-time constant |
| 9709 * expressions. | 10654 * expressions. |
| 9710 */ | 10655 */ |
| 9711 static Object NOT_A_CONSTANT = new Object(); | 10656 static Object NOT_A_CONSTANT = new Object(); |
| 9712 Object visitAdjacentStrings(AdjacentStrings node) { | 10657 Object visitAdjacentStrings(AdjacentStrings node) { |
| 9713 StringBuffer builder = new StringBuffer(); | 10658 StringBuffer builder = new StringBuffer(); |
| 9714 for (StringLiteral string in node.strings) { | 10659 for (StringLiteral string in node.strings) { |
| 9715 Object value = string.accept(this); | 10660 Object value = string.accept(this); |
| 9716 if (value == ConstantEvaluator.NOT_A_CONSTANT) { | 10661 if (identical(value, NOT_A_CONSTANT)) { |
| 9717 return value; | 10662 return value; |
| 9718 } | 10663 } |
| 9719 builder.add(value); | 10664 builder.add(value); |
| 9720 } | 10665 } |
| 9721 return builder.toString(); | 10666 return builder.toString(); |
| 9722 } | 10667 } |
| 9723 Object visitBinaryExpression(BinaryExpression node) { | 10668 Object visitBinaryExpression(BinaryExpression node) { |
| 9724 Object leftOperand3 = node.leftOperand.accept(this); | 10669 Object leftOperand2 = node.leftOperand.accept(this); |
| 9725 if (leftOperand3 == ConstantEvaluator.NOT_A_CONSTANT) { | 10670 if (identical(leftOperand2, NOT_A_CONSTANT)) { |
| 9726 return leftOperand3; | 10671 return leftOperand2; |
| 9727 } | 10672 } |
| 9728 Object rightOperand3 = node.rightOperand.accept(this); | 10673 Object rightOperand2 = node.rightOperand.accept(this); |
| 9729 if (rightOperand3 == ConstantEvaluator.NOT_A_CONSTANT) { | 10674 if (identical(rightOperand2, NOT_A_CONSTANT)) { |
| 9730 return rightOperand3; | 10675 return rightOperand2; |
| 9731 } | 10676 } |
| 9732 if (node.operator.type == TokenType.AMPERSAND) { | 10677 if (node.operator.type == TokenType.AMPERSAND) { |
| 9733 if (leftOperand3 is int && rightOperand3 is int) { | 10678 if (leftOperand2 is int && rightOperand2 is int) { |
| 9734 return (leftOperand3 as int) & rightOperand3 as int; | 10679 return ((leftOperand2 as int)) & (rightOperand2 as int); |
| 9735 } | 10680 } |
| 9736 } else if (node.operator.type == TokenType.AMPERSAND_AMPERSAND) { | 10681 } else if (node.operator.type == TokenType.AMPERSAND_AMPERSAND) { |
| 9737 if (leftOperand3 is bool && rightOperand3 is bool) { | 10682 if (leftOperand2 is bool && rightOperand2 is bool) { |
| 9738 return (leftOperand3 as bool) && (rightOperand3 as bool); | 10683 return ((leftOperand2 as bool)) && ((rightOperand2 as bool)); |
| 9739 } | 10684 } |
| 9740 } else if (node.operator.type == TokenType.BANG_EQ) { | 10685 } else if (node.operator.type == TokenType.BANG_EQ) { |
| 9741 if (leftOperand3 is bool && rightOperand3 is bool) { | 10686 if (leftOperand2 is bool && rightOperand2 is bool) { |
| 9742 return (leftOperand3 as bool) != (rightOperand3 as bool); | 10687 return ((leftOperand2 as bool)) != ((rightOperand2 as bool)); |
| 9743 } else if (leftOperand3 is int && rightOperand3 is int) { | 10688 } else if (leftOperand2 is int && rightOperand2 is int) { |
| 9744 return (leftOperand3 as int) != rightOperand3; | 10689 return ((leftOperand2 as int)) != rightOperand2; |
| 9745 } else if (leftOperand3 is double && rightOperand3 is double) { | 10690 } else if (leftOperand2 is double && rightOperand2 is double) { |
| 9746 return (leftOperand3 as double) != rightOperand3; | 10691 return ((leftOperand2 as double)) != rightOperand2; |
| 9747 } else if (leftOperand3 is String && rightOperand3 is String) { | 10692 } else if (leftOperand2 is String && rightOperand2 is String) { |
| 9748 return (leftOperand3 as String) != rightOperand3; | 10693 return ((leftOperand2 as String)) != rightOperand2; |
| 9749 } | 10694 } |
| 9750 } else if (node.operator.type == TokenType.BAR) { | 10695 } else if (node.operator.type == TokenType.BAR) { |
| 9751 if (leftOperand3 is int && rightOperand3 is int) { | 10696 if (leftOperand2 is int && rightOperand2 is int) { |
| 9752 return (leftOperand3 as int) | rightOperand3 as int; | 10697 return ((leftOperand2 as int)) | (rightOperand2 as int); |
| 9753 } | 10698 } |
| 9754 } else if (node.operator.type == TokenType.BAR_BAR) { | 10699 } else if (node.operator.type == TokenType.BAR_BAR) { |
| 9755 if (leftOperand3 is bool && rightOperand3 is bool) { | 10700 if (leftOperand2 is bool && rightOperand2 is bool) { |
| 9756 return (leftOperand3 as bool) || (rightOperand3 as bool); | 10701 return ((leftOperand2 as bool)) || ((rightOperand2 as bool)); |
| 9757 } | 10702 } |
| 9758 } else if (node.operator.type == TokenType.CARET) { | 10703 } else if (node.operator.type == TokenType.CARET) { |
| 9759 if (leftOperand3 is int && rightOperand3 is int) { | 10704 if (leftOperand2 is int && rightOperand2 is int) { |
| 9760 return (leftOperand3 as int) ^ rightOperand3 as int; | 10705 return ((leftOperand2 as int)) ^ (rightOperand2 as int); |
| 9761 } | 10706 } |
| 9762 } else if (node.operator.type == TokenType.EQ_EQ) { | 10707 } else if (node.operator.type == TokenType.EQ_EQ) { |
| 9763 if (leftOperand3 is bool && rightOperand3 is bool) { | 10708 if (leftOperand2 is bool && rightOperand2 is bool) { |
| 9764 return (leftOperand3 as bool) == (rightOperand3 as bool); | 10709 return identical(((leftOperand2 as bool)), ((rightOperand2 as bool))); |
| 9765 } else if (leftOperand3 is int && rightOperand3 is int) { | 10710 } else if (leftOperand2 is int && rightOperand2 is int) { |
| 9766 return (leftOperand3 as int) == rightOperand3; | 10711 return ((leftOperand2 as int)) == rightOperand2; |
| 9767 } else if (leftOperand3 is double && rightOperand3 is double) { | 10712 } else if (leftOperand2 is double && rightOperand2 is double) { |
| 9768 return (leftOperand3 as double) == rightOperand3; | 10713 return ((leftOperand2 as double)) == rightOperand2; |
| 9769 } else if (leftOperand3 is String && rightOperand3 is String) { | 10714 } else if (leftOperand2 is String && rightOperand2 is String) { |
| 9770 return (leftOperand3 as String) == rightOperand3; | 10715 return ((leftOperand2 as String)) == rightOperand2; |
| 9771 } | 10716 } |
| 9772 } else if (node.operator.type == TokenType.GT) { | 10717 } else if (node.operator.type == TokenType.GT) { |
| 9773 if (leftOperand3 is int && rightOperand3 is int) { | 10718 if (leftOperand2 is int && rightOperand2 is int) { |
| 9774 return (leftOperand3 as int).compareTo(rightOperand3 as int) > 0; | 10719 return ((leftOperand2 as int)).compareTo((rightOperand2 as int)) > 0; |
| 9775 } else if (leftOperand3 is double && rightOperand3 is double) { | 10720 } else if (leftOperand2 is double && rightOperand2 is double) { |
| 9776 return (leftOperand3 as double).compareTo(rightOperand3 as double) > 0; | 10721 return ((leftOperand2 as double)).compareTo((rightOperand2 as double)) > 0; |
| 9777 } | 10722 } |
| 9778 } else if (node.operator.type == TokenType.GT_EQ) { | 10723 } else if (node.operator.type == TokenType.GT_EQ) { |
| 9779 if (leftOperand3 is int && rightOperand3 is int) { | 10724 if (leftOperand2 is int && rightOperand2 is int) { |
| 9780 return (leftOperand3 as int).compareTo(rightOperand3 as int) >= 0; | 10725 return ((leftOperand2 as int)).compareTo((rightOperand2 as int)) >= 0; |
| 9781 } else if (leftOperand3 is double && rightOperand3 is double) { | 10726 } else if (leftOperand2 is double && rightOperand2 is double) { |
| 9782 return (leftOperand3 as double).compareTo(rightOperand3 as double) >= 0; | 10727 return ((leftOperand2 as double)).compareTo((rightOperand2 as double)) > = 0; |
| 9783 } | 10728 } |
| 9784 } else if (node.operator.type == TokenType.GT_GT) { | 10729 } else if (node.operator.type == TokenType.GT_GT) { |
| 9785 if (leftOperand3 is int && rightOperand3 is int) { | 10730 if (leftOperand2 is int && rightOperand2 is int) { |
| 9786 return (leftOperand3 as int) >> (rightOperand3 as int); | 10731 return ((leftOperand2 as int)) >> ((rightOperand2 as int)); |
| 9787 } | 10732 } |
| 9788 } else if (node.operator.type == TokenType.LT) { | 10733 } else if (node.operator.type == TokenType.LT) { |
| 9789 if (leftOperand3 is int && rightOperand3 is int) { | 10734 if (leftOperand2 is int && rightOperand2 is int) { |
| 9790 return (leftOperand3 as int).compareTo(rightOperand3 as int) < 0; | 10735 return ((leftOperand2 as int)).compareTo((rightOperand2 as int)) < 0; |
| 9791 } else if (leftOperand3 is double && rightOperand3 is double) { | 10736 } else if (leftOperand2 is double && rightOperand2 is double) { |
| 9792 return (leftOperand3 as double).compareTo(rightOperand3 as double) < 0; | 10737 return ((leftOperand2 as double)).compareTo((rightOperand2 as double)) < 0; |
| 9793 } | 10738 } |
| 9794 } else if (node.operator.type == TokenType.LT_EQ) { | 10739 } else if (node.operator.type == TokenType.LT_EQ) { |
| 9795 if (leftOperand3 is int && rightOperand3 is int) { | 10740 if (leftOperand2 is int && rightOperand2 is int) { |
| 9796 return (leftOperand3 as int).compareTo(rightOperand3 as int) <= 0; | 10741 return ((leftOperand2 as int)).compareTo((rightOperand2 as int)) <= 0; |
| 9797 } else if (leftOperand3 is double && rightOperand3 is double) { | 10742 } else if (leftOperand2 is double && rightOperand2 is double) { |
| 9798 return (leftOperand3 as double).compareTo(rightOperand3 as double) <= 0; | 10743 return ((leftOperand2 as double)).compareTo((rightOperand2 as double)) < = 0; |
| 9799 } | 10744 } |
| 9800 } else if (node.operator.type == TokenType.LT_LT) { | 10745 } else if (node.operator.type == TokenType.LT_LT) { |
| 9801 if (leftOperand3 is int && rightOperand3 is int) { | 10746 if (leftOperand2 is int && rightOperand2 is int) { |
| 9802 return (leftOperand3 as int) << (rightOperand3 as int); | 10747 return ((leftOperand2 as int)) << ((rightOperand2 as int)); |
| 9803 } | 10748 } |
| 9804 } else if (node.operator.type == TokenType.MINUS) { | 10749 } else if (node.operator.type == TokenType.MINUS) { |
| 9805 if (leftOperand3 is int && rightOperand3 is int) { | 10750 if (leftOperand2 is int && rightOperand2 is int) { |
| 9806 return (leftOperand3 as int) - rightOperand3 as int; | 10751 return ((leftOperand2 as int)) - (rightOperand2 as int); |
| 9807 } else if (leftOperand3 is double && rightOperand3 is double) { | 10752 } else if (leftOperand2 is double && rightOperand2 is double) { |
| 9808 return (leftOperand3 as double) - (rightOperand3 as double); | 10753 return ((leftOperand2 as double)) - ((rightOperand2 as double)); |
| 9809 } | 10754 } |
| 9810 } else if (node.operator.type == TokenType.PERCENT) { | 10755 } else if (node.operator.type == TokenType.PERCENT) { |
| 9811 if (leftOperand3 is int && rightOperand3 is int) { | 10756 if (leftOperand2 is int && rightOperand2 is int) { |
| 9812 return (leftOperand3 as int).remainder(rightOperand3 as int); | 10757 return ((leftOperand2 as int)).remainder((rightOperand2 as int)); |
| 9813 } else if (leftOperand3 is double && rightOperand3 is double) { | 10758 } else if (leftOperand2 is double && rightOperand2 is double) { |
| 9814 return (leftOperand3 as double) % (rightOperand3 as double); | 10759 return ((leftOperand2 as double)) % ((rightOperand2 as double)); |
| 9815 } | 10760 } |
| 9816 } else if (node.operator.type == TokenType.PLUS) { | 10761 } else if (node.operator.type == TokenType.PLUS) { |
| 9817 if (leftOperand3 is int && rightOperand3 is int) { | 10762 if (leftOperand2 is int && rightOperand2 is int) { |
| 9818 return (leftOperand3 as int) + rightOperand3 as int; | 10763 return ((leftOperand2 as int)) + (rightOperand2 as int); |
| 9819 } else if (leftOperand3 is double && rightOperand3 is double) { | 10764 } else if (leftOperand2 is double && rightOperand2 is double) { |
| 9820 return (leftOperand3 as double) + (rightOperand3 as double); | 10765 return ((leftOperand2 as double)) + ((rightOperand2 as double)); |
| 9821 } | 10766 } |
| 9822 } else if (node.operator.type == TokenType.STAR) { | 10767 } else if (node.operator.type == TokenType.STAR) { |
| 9823 if (leftOperand3 is int && rightOperand3 is int) { | 10768 if (leftOperand2 is int && rightOperand2 is int) { |
| 9824 return (leftOperand3 as int) * rightOperand3 as int; | 10769 return ((leftOperand2 as int)) * (rightOperand2 as int); |
| 9825 } else if (leftOperand3 is double && rightOperand3 is double) { | 10770 } else if (leftOperand2 is double && rightOperand2 is double) { |
| 9826 return (leftOperand3 as double) * (rightOperand3 as double); | 10771 return ((leftOperand2 as double)) * ((rightOperand2 as double)); |
| 9827 } | 10772 } |
| 9828 } else if (node.operator.type == TokenType.SLASH) { | 10773 } else if (node.operator.type == TokenType.SLASH) { |
| 9829 if (leftOperand3 is int && rightOperand3 is int) { | 10774 if (leftOperand2 is int && rightOperand2 is int) { |
| 9830 return (leftOperand3 as int) / rightOperand3 as int; | 10775 return ((leftOperand2 as int)) ~/ (rightOperand2 as int); |
| 9831 } else if (leftOperand3 is double && rightOperand3 is double) { | 10776 } else if (leftOperand2 is double && rightOperand2 is double) { |
| 9832 return (leftOperand3 as double) / (rightOperand3 as double); | 10777 return ((leftOperand2 as double)) / ((rightOperand2 as double)); |
| 9833 } | 10778 } |
| 9834 } else if (node.operator.type == TokenType.TILDE_SLASH) { | 10779 } else if (node.operator.type == TokenType.TILDE_SLASH) { |
| 9835 if (leftOperand3 is int && rightOperand3 is int) { | 10780 if (leftOperand2 is int && rightOperand2 is int) { |
| 9836 return (leftOperand3 as int) / rightOperand3 as int; | 10781 return ((leftOperand2 as int)) ~/ (rightOperand2 as int); |
| 9837 } else if (leftOperand3 is double && rightOperand3 is double) { | 10782 } else if (leftOperand2 is double && rightOperand2 is double) { |
| 9838 return (leftOperand3 as double) ~/ (rightOperand3 as double); | 10783 return ((leftOperand2 as double)) ~/ ((rightOperand2 as double)); |
| 9839 } | 10784 } |
| 9840 } | 10785 } |
| 9841 return visitExpression(node); | 10786 return visitExpression(node); |
| 9842 } | 10787 } |
| 9843 Object visitBooleanLiteral(BooleanLiteral node) => node.value ? true : false; | 10788 Object visitBooleanLiteral(BooleanLiteral node) => node.value ? true : false; |
| 9844 Object visitDoubleLiteral(DoubleLiteral node) => node.value; | 10789 Object visitDoubleLiteral(DoubleLiteral node) => node.value; |
| 9845 Object visitIntegerLiteral(IntegerLiteral node) => node.value; | 10790 Object visitIntegerLiteral(IntegerLiteral node) => node.value; |
| 9846 Object visitInterpolationExpression(InterpolationExpression node) { | 10791 Object visitInterpolationExpression(InterpolationExpression node) { |
| 9847 Object value = node.expression.accept(this); | 10792 Object value = node.expression.accept(this); |
| 9848 if (value == null || value is bool || value is String || value is int || val ue is double) { | 10793 if (value == null || value is bool || value is String || value is int || val ue is double) { |
| 9849 return value; | 10794 return value; |
| 9850 } | 10795 } |
| 9851 return NOT_A_CONSTANT; | 10796 return NOT_A_CONSTANT; |
| 9852 } | 10797 } |
| 9853 Object visitInterpolationString(InterpolationString node) => node.value; | 10798 Object visitInterpolationString(InterpolationString node) => node.value; |
| 9854 Object visitListLiteral(ListLiteral node) { | 10799 Object visitListLiteral(ListLiteral node) { |
| 9855 List<Object> list = new List<Object>(); | 10800 List<Object> list = new List<Object>(); |
| 9856 for (Expression element in node.elements) { | 10801 for (Expression element in node.elements) { |
| 9857 Object value = element.accept(this); | 10802 Object value = element.accept(this); |
| 9858 if (value == ConstantEvaluator.NOT_A_CONSTANT) { | 10803 if (identical(value, NOT_A_CONSTANT)) { |
| 9859 return value; | 10804 return value; |
| 9860 } | 10805 } |
| 9861 list.add(value); | 10806 list.add(value); |
| 9862 } | 10807 } |
| 9863 return list; | 10808 return list; |
| 9864 } | 10809 } |
| 9865 Object visitMapLiteral(MapLiteral node) { | 10810 Object visitMapLiteral(MapLiteral node) { |
| 9866 Map<String, Object> map = new Map<String, Object>(); | 10811 Map<String, Object> map = new Map<String, Object>(); |
| 9867 for (MapLiteralEntry entry in node.entries) { | 10812 for (MapLiteralEntry entry in node.entries) { |
| 9868 Object key3 = entry.key.accept(this); | 10813 Object key2 = entry.key.accept(this); |
| 9869 Object value10 = entry.value.accept(this); | 10814 Object value7 = entry.value.accept(this); |
| 9870 if (key3 is! String || value10 == ConstantEvaluator.NOT_A_CONSTANT) { | 10815 if (key2 is! String || identical(value7, NOT_A_CONSTANT)) { |
| 9871 return NOT_A_CONSTANT; | 10816 return NOT_A_CONSTANT; |
| 9872 } | 10817 } |
| 9873 map[key3 as String] = value10; | 10818 map[(key2 as String)] = value7; |
| 9874 } | 10819 } |
| 9875 return map; | 10820 return map; |
| 9876 } | 10821 } |
| 9877 Object visitMethodInvocation(MethodInvocation node) => visitNode(node); | 10822 Object visitMethodInvocation(MethodInvocation node) => visitNode(node); |
| 9878 Object visitNode(ASTNode node) => NOT_A_CONSTANT; | 10823 Object visitNode(ASTNode node) => NOT_A_CONSTANT; |
| 9879 Object visitNullLiteral(NullLiteral node) => null; | 10824 Object visitNullLiteral(NullLiteral node) => null; |
| 9880 Object visitParenthesizedExpression(ParenthesizedExpression node) => node.expr ession.accept(this); | 10825 Object visitParenthesizedExpression(ParenthesizedExpression node) => node.expr ession.accept(this); |
| 9881 Object visitPrefixedIdentifier(PrefixedIdentifier node) => getConstantValue(nu ll); | 10826 Object visitPrefixedIdentifier(PrefixedIdentifier node) => getConstantValue(nu ll); |
| 9882 Object visitPrefixExpression(PrefixExpression node) { | 10827 Object visitPrefixExpression(PrefixExpression node) { |
| 9883 Object operand4 = node.operand.accept(this); | 10828 Object operand2 = node.operand.accept(this); |
| 9884 if (operand4 == ConstantEvaluator.NOT_A_CONSTANT) { | 10829 if (identical(operand2, NOT_A_CONSTANT)) { |
| 9885 return operand4; | 10830 return operand2; |
| 9886 } | 10831 } |
| 9887 if (node.operator.type == TokenType.BANG) { | 10832 if (node.operator.type == TokenType.BANG) { |
| 9888 if (operand4 == true) { | 10833 if (identical(operand2, true)) { |
| 9889 return false; | 10834 return false; |
| 9890 } else if (operand4 == false) { | 10835 } else if (identical(operand2, false)) { |
| 9891 return true; | 10836 return true; |
| 9892 } | 10837 } |
| 9893 } else if (node.operator.type == TokenType.TILDE) { | 10838 } else if (node.operator.type == TokenType.TILDE) { |
| 9894 if (operand4 is int) { | 10839 if (operand2 is int) { |
| 9895 return ~(operand4 as int); | 10840 return ~((operand2 as int)); |
| 9896 } | 10841 } |
| 9897 } else if (node.operator.type == TokenType.MINUS) { | 10842 } else if (node.operator.type == TokenType.MINUS) { |
| 9898 if (operand4 == null) { | 10843 if (operand2 == null) { |
| 9899 return null; | 10844 return null; |
| 9900 } else if (operand4 is int) { | 10845 } else if (operand2 is int) { |
| 9901 return -(operand4 as int); | 10846 return -((operand2 as int)); |
| 9902 } else if (operand4 is double) { | 10847 } else if (operand2 is double) { |
| 9903 return -(operand4 as double); | 10848 return -((operand2 as double)); |
| 9904 } | 10849 } |
| 9905 } | 10850 } |
| 9906 return NOT_A_CONSTANT; | 10851 return NOT_A_CONSTANT; |
| 9907 } | 10852 } |
| 9908 Object visitPropertyAccess(PropertyAccess node) => getConstantValue(null); | 10853 Object visitPropertyAccess(PropertyAccess node) => getConstantValue(null); |
| 9909 Object visitSimpleIdentifier(SimpleIdentifier node) => getConstantValue(null); | 10854 Object visitSimpleIdentifier(SimpleIdentifier node) => getConstantValue(null); |
| 9910 Object visitSimpleStringLiteral(SimpleStringLiteral node) => node.value; | 10855 Object visitSimpleStringLiteral(SimpleStringLiteral node) => node.value; |
| 9911 Object visitStringInterpolation(StringInterpolation node) { | 10856 Object visitStringInterpolation(StringInterpolation node) { |
| 9912 StringBuffer builder = new StringBuffer(); | 10857 StringBuffer builder = new StringBuffer(); |
| 9913 for (InterpolationElement element in node.elements) { | 10858 for (InterpolationElement element in node.elements) { |
| 9914 Object value = element.accept(this); | 10859 Object value = element.accept(this); |
| 9915 if (value == ConstantEvaluator.NOT_A_CONSTANT) { | 10860 if (identical(value, NOT_A_CONSTANT)) { |
| 9916 return value; | 10861 return value; |
| 9917 } | 10862 } |
| 9918 builder.add(value); | 10863 builder.add(value); |
| 9919 } | 10864 } |
| 9920 return builder.toString(); | 10865 return builder.toString(); |
| 9921 } | 10866 } |
| 9922 /** | 10867 /** |
| 9923 * Return the constant value of the static constant represented by the given e lement. | 10868 * Return the constant value of the static constant represented by the given e lement. |
| 9924 * @param element the element whose value is to be returned | 10869 * @param element the element whose value is to be returned |
| 9925 * @return the constant value of the static constant | 10870 * @return the constant value of the static constant |
| 9926 */ | 10871 */ |
| 9927 Object getConstantValue(Element element) { | 10872 Object getConstantValue(Element element) { |
| 9928 if (element is FieldElement) { | 10873 if (element is FieldElement) { |
| 9929 FieldElement field = element as FieldElement; | 10874 FieldElement field = (element as FieldElement); |
| 9930 if (field.isStatic() && field.isConst()) { | 10875 if (field.isStatic() && field.isConst()) { |
| 9931 } | 10876 } |
| 9932 } | 10877 } |
| 9933 return NOT_A_CONSTANT; | 10878 return NOT_A_CONSTANT; |
| 9934 } | 10879 } |
| 9935 } | 10880 } |
| 9936 /** | 10881 /** |
| 9937 * Instances of the class {@code GeneralizingASTVisitor} implement an AST visito r that will | 10882 * Instances of the class {@code GeneralizingASTVisitor} implement an AST visito r that will |
| 9938 * recursively visit all of the nodes in an AST structure (like instances of the class{@link RecursiveASTVisitor}). In addition, when a node of a specific type is visited not only | 10883 * recursively visit all of the nodes in an AST structure (like instances of the class{@link RecursiveASTVisitor}). In addition, when a node of a specific type is visited not only |
| 9939 * will the visit method for that specific type of node be invoked, but addition al methods for the | 10884 * will the visit method for that specific type of node be invoked, but addition al methods for the |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 10019 R visitLabeledStatement(LabeledStatement node) => visitStatement(node); | 10964 R visitLabeledStatement(LabeledStatement node) => visitStatement(node); |
| 10020 R visitLibraryDirective(LibraryDirective node) => visitDirective(node); | 10965 R visitLibraryDirective(LibraryDirective node) => visitDirective(node); |
| 10021 R visitLibraryIdentifier(LibraryIdentifier node) => visitIdentifier(node); | 10966 R visitLibraryIdentifier(LibraryIdentifier node) => visitIdentifier(node); |
| 10022 R visitListLiteral(ListLiteral node) => visitTypedLiteral(node); | 10967 R visitListLiteral(ListLiteral node) => visitTypedLiteral(node); |
| 10023 R visitLiteral(Literal node) => visitExpression(node); | 10968 R visitLiteral(Literal node) => visitExpression(node); |
| 10024 R visitMapLiteral(MapLiteral node) => visitTypedLiteral(node); | 10969 R visitMapLiteral(MapLiteral node) => visitTypedLiteral(node); |
| 10025 R visitMapLiteralEntry(MapLiteralEntry node) => visitNode(node); | 10970 R visitMapLiteralEntry(MapLiteralEntry node) => visitNode(node); |
| 10026 R visitMethodDeclaration(MethodDeclaration node) => visitClassMember(node); | 10971 R visitMethodDeclaration(MethodDeclaration node) => visitClassMember(node); |
| 10027 R visitMethodInvocation(MethodInvocation node) => visitNode(node); | 10972 R visitMethodInvocation(MethodInvocation node) => visitNode(node); |
| 10028 R visitNamedExpression(NamedExpression node) => visitExpression(node); | 10973 R visitNamedExpression(NamedExpression node) => visitExpression(node); |
| 10029 R visitNamespaceDirective(NamespaceDirective node) => visitDirective(node); | 10974 R visitNamespaceDirective(NamespaceDirective node) => visitUriBasedDirective(n ode); |
| 10030 R visitNode(ASTNode node) { | 10975 R visitNode(ASTNode node) { |
| 10031 node.visitChildren(this); | 10976 node.visitChildren(this); |
| 10032 return null; | 10977 return null; |
| 10033 } | 10978 } |
| 10034 R visitNormalFormalParameter(NormalFormalParameter node) => visitFormalParamet er(node); | 10979 R visitNormalFormalParameter(NormalFormalParameter node) => visitFormalParamet er(node); |
| 10035 R visitNullLiteral(NullLiteral node) => visitLiteral(node); | 10980 R visitNullLiteral(NullLiteral node) => visitLiteral(node); |
| 10036 R visitParenthesizedExpression(ParenthesizedExpression node) => visitExpressio n(node); | 10981 R visitParenthesizedExpression(ParenthesizedExpression node) => visitExpressio n(node); |
| 10037 R visitPartDirective(PartDirective node) => visitDirective(node); | 10982 R visitPartDirective(PartDirective node) => visitUriBasedDirective(node); |
| 10038 R visitPartOfDirective(PartOfDirective node) => visitDirective(node); | 10983 R visitPartOfDirective(PartOfDirective node) => visitDirective(node); |
| 10039 R visitPostfixExpression(PostfixExpression node) => visitExpression(node); | 10984 R visitPostfixExpression(PostfixExpression node) => visitExpression(node); |
| 10040 R visitPrefixedIdentifier(PrefixedIdentifier node) => visitIdentifier(node); | 10985 R visitPrefixedIdentifier(PrefixedIdentifier node) => visitIdentifier(node); |
| 10041 R visitPrefixExpression(PrefixExpression node) => visitExpression(node); | 10986 R visitPrefixExpression(PrefixExpression node) => visitExpression(node); |
| 10042 R visitPropertyAccess(PropertyAccess node) => visitExpression(node); | 10987 R visitPropertyAccess(PropertyAccess node) => visitExpression(node); |
| 10043 R visitRedirectingConstructorInvocation(RedirectingConstructorInvocation node) => visitConstructorInitializer(node); | 10988 R visitRedirectingConstructorInvocation(RedirectingConstructorInvocation node) => visitConstructorInitializer(node); |
| 10044 R visitReturnStatement(ReturnStatement node) => visitStatement(node); | 10989 R visitReturnStatement(ReturnStatement node) => visitStatement(node); |
| 10045 R visitScriptTag(ScriptTag scriptTag) => visitNode(scriptTag); | 10990 R visitScriptTag(ScriptTag scriptTag) => visitNode(scriptTag); |
| 10046 R visitShowCombinator(ShowCombinator node) => visitCombinator(node); | 10991 R visitShowCombinator(ShowCombinator node) => visitCombinator(node); |
| 10047 R visitSimpleFormalParameter(SimpleFormalParameter node) => visitNormalFormalP arameter(node); | 10992 R visitSimpleFormalParameter(SimpleFormalParameter node) => visitNormalFormalP arameter(node); |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 10059 R visitThisExpression(ThisExpression node) => visitExpression(node); | 11004 R visitThisExpression(ThisExpression node) => visitExpression(node); |
| 10060 R visitThrowExpression(ThrowExpression node) => visitExpression(node); | 11005 R visitThrowExpression(ThrowExpression node) => visitExpression(node); |
| 10061 R visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) => visitC ompilationUnitMember(node); | 11006 R visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) => visitC ompilationUnitMember(node); |
| 10062 R visitTryStatement(TryStatement node) => visitStatement(node); | 11007 R visitTryStatement(TryStatement node) => visitStatement(node); |
| 10063 R visitTypeAlias(TypeAlias node) => visitCompilationUnitMember(node); | 11008 R visitTypeAlias(TypeAlias node) => visitCompilationUnitMember(node); |
| 10064 R visitTypeArgumentList(TypeArgumentList node) => visitNode(node); | 11009 R visitTypeArgumentList(TypeArgumentList node) => visitNode(node); |
| 10065 R visitTypedLiteral(TypedLiteral node) => visitLiteral(node); | 11010 R visitTypedLiteral(TypedLiteral node) => visitLiteral(node); |
| 10066 R visitTypeName(TypeName node) => visitNode(node); | 11011 R visitTypeName(TypeName node) => visitNode(node); |
| 10067 R visitTypeParameter(TypeParameter node) => visitNode(node); | 11012 R visitTypeParameter(TypeParameter node) => visitNode(node); |
| 10068 R visitTypeParameterList(TypeParameterList node) => visitNode(node); | 11013 R visitTypeParameterList(TypeParameterList node) => visitNode(node); |
| 11014 R visitUriBasedDirective(UriBasedDirective node) => visitDirective(node); | |
| 10069 R visitVariableDeclaration(VariableDeclaration node) => visitDeclaration(node) ; | 11015 R visitVariableDeclaration(VariableDeclaration node) => visitDeclaration(node) ; |
| 10070 R visitVariableDeclarationList(VariableDeclarationList node) => visitNode(node ); | 11016 R visitVariableDeclarationList(VariableDeclarationList node) => visitNode(node ); |
| 10071 R visitVariableDeclarationStatement(VariableDeclarationStatement node) => visi tStatement(node); | 11017 R visitVariableDeclarationStatement(VariableDeclarationStatement node) => visi tStatement(node); |
| 10072 R visitWhileStatement(WhileStatement node) => visitStatement(node); | 11018 R visitWhileStatement(WhileStatement node) => visitStatement(node); |
| 10073 R visitWithClause(WithClause node) => visitNode(node); | 11019 R visitWithClause(WithClause node) => visitNode(node); |
| 10074 } | 11020 } |
| 10075 /** | 11021 /** |
| 11022 * Instances of the class {@code NodeLocator} locate the {@link ASTNode AST node } associated with a | |
| 11023 * source range, given the AST structure built from the source. More specificall y, they will return | |
| 11024 * the {@link ASTNode AST node} with the shortest length whose source range comp letely encompasses | |
| 11025 * the specified range. | |
| 11026 */ | |
| 11027 class NodeLocator extends GeneralizingASTVisitor<Object> { | |
|
Jennifer Messerly
2013/02/13 21:36:54
nice, very useful for answering the question of "w
| |
| 11028 /** | |
| 11029 * The start offset of the range used to identify the node. | |
| 11030 */ | |
| 11031 int _startOffset = 0; | |
| 11032 /** | |
| 11033 * The end offset of the range used to identify the node. | |
| 11034 */ | |
| 11035 int _endOffset = 0; | |
| 11036 /** | |
| 11037 * The element that was found that corresponds to the given source range, or { @code null} if there | |
| 11038 * is no such element. | |
| 11039 */ | |
| 11040 ASTNode _foundNode; | |
| 11041 /** | |
| 11042 * Initialize a newly created locator to locate one or more {@link ASTNode AST nodes} by locating | |
| 11043 * the node within an AST structure that corresponds to the given offset in th e source. | |
| 11044 * @param offset the offset used to identify the node | |
| 11045 */ | |
| 11046 NodeLocator.con1(int offset) { | |
| 11047 _jtd_constructor_114_impl(offset); | |
| 11048 } | |
| 11049 _jtd_constructor_114_impl(int offset) { | |
| 11050 _jtd_constructor_115_impl(offset, offset); | |
| 11051 } | |
| 11052 /** | |
| 11053 * Initialize a newly created locator to locate one or more {@link ASTNode AST nodes} by locating | |
| 11054 * the node within an AST structure that corresponds to the given range of cha racters in the | |
| 11055 * source. | |
| 11056 * @param start the start offset of the range used to identify the node | |
| 11057 * @param end the end offset of the range used to identify the node | |
| 11058 */ | |
| 11059 NodeLocator.con2(int start, int end) { | |
| 11060 _jtd_constructor_115_impl(start, end); | |
| 11061 } | |
| 11062 _jtd_constructor_115_impl(int start, int end) { | |
| 11063 this._startOffset = start; | |
| 11064 this._endOffset = end; | |
| 11065 } | |
| 11066 /** | |
| 11067 * Return the node that was found that corresponds to the given source range, or {@code null} if | |
| 11068 * there is no such node. | |
| 11069 * @return the node that was found | |
| 11070 */ | |
| 11071 ASTNode get foundNode => _foundNode; | |
| 11072 /** | |
| 11073 * Search within the given AST node for an identifier representing a {@link Da rtElement Dart | |
| 11074 * element} in the specified source range. Return the element that was found, or {@code null} if | |
| 11075 * no element was found. | |
| 11076 * @param node the AST node within which to search | |
| 11077 * @return the element that was found | |
| 11078 */ | |
| 11079 ASTNode searchWithin(ASTNode node) { | |
| 11080 try { | |
| 11081 node.accept(this); | |
| 11082 } on NodeLocator_NodeFoundException catch (exception) { | |
| 11083 } on JavaException catch (exception) { | |
| 11084 AnalysisEngine.instance.logger.logInformation2("Unable to locate element a t offset (${_startOffset} - ${_endOffset})", exception); | |
| 11085 return null; | |
| 11086 } | |
| 11087 return _foundNode; | |
| 11088 } | |
| 11089 Object visitNode(ASTNode node) { | |
| 11090 try { | |
| 11091 node.visitChildren(this); | |
| 11092 } on NodeLocator_NodeFoundException catch (exception) { | |
| 11093 throw exception; | |
| 11094 } on JavaException catch (exception) { | |
| 11095 AnalysisEngine.instance.logger.logInformation2("Exception caught while tra versing an AST structure.", exception); | |
| 11096 } | |
| 11097 int start = node.offset; | |
| 11098 int end = start + node.length; | |
| 11099 if (start <= _startOffset && _endOffset <= end) { | |
| 11100 _foundNode = node; | |
| 11101 throw new NodeLocator_NodeFoundException(); | |
| 11102 } | |
| 11103 return null; | |
| 11104 } | |
| 11105 } | |
| 11106 /** | |
| 10076 * Instances of the class {@code NodeFoundException} are used to cancel visiting after a node has | 11107 * Instances of the class {@code NodeFoundException} are used to cancel visiting after a node has |
| 10077 * been found. | 11108 * been found. |
| 10078 */ | 11109 */ |
| 10079 class NodeLocator_NodeFoundException extends RuntimeException { | 11110 class NodeLocator_NodeFoundException extends RuntimeException { |
| 10080 static int _serialVersionUID = 1; | 11111 static int _serialVersionUID = 1; |
| 10081 } | 11112 } |
| 10082 /** | 11113 /** |
| 10083 * Instances of the class {@code RecursiveASTVisitor} implement an AST visitor t hat will recursively | 11114 * Instances of the class {@code RecursiveASTVisitor} implement an AST visitor t hat will recursively |
| 10084 * visit all of the nodes in an AST structure. For example, using an instance of this class to visit | 11115 * visit all of the nodes in an AST structure. For example, using an instance of this class to visit |
| 10085 * a {@link Block} will also cause all of the statements in the block to be visi ted. | 11116 * a {@link Block} will also cause all of the statements in the block to be visi ted. |
| (...skipping 633 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 10719 } | 11750 } |
| 10720 visit(node.superclass); | 11751 visit(node.superclass); |
| 10721 visit3(" ", node.withClause); | 11752 visit3(" ", node.withClause); |
| 10722 visit3(" ", node.implementsClause); | 11753 visit3(" ", node.implementsClause); |
| 10723 _writer.print(";"); | 11754 _writer.print(";"); |
| 10724 return null; | 11755 return null; |
| 10725 } | 11756 } |
| 10726 Object visitComment(Comment node) => null; | 11757 Object visitComment(Comment node) => null; |
| 10727 Object visitCommentReference(CommentReference node) => null; | 11758 Object visitCommentReference(CommentReference node) => null; |
| 10728 Object visitCompilationUnit(CompilationUnit node) { | 11759 Object visitCompilationUnit(CompilationUnit node) { |
| 10729 ScriptTag scriptTag4 = node.scriptTag; | 11760 ScriptTag scriptTag6 = node.scriptTag; |
| 10730 NodeList<Directive> directives2 = node.directives; | 11761 NodeList<Directive> directives2 = node.directives; |
| 10731 visit(scriptTag4); | 11762 visit(scriptTag6); |
| 10732 String prefix = scriptTag4 == null ? "" : " "; | 11763 String prefix = scriptTag6 == null ? "" : " "; |
| 10733 visitList4(prefix, directives2, " "); | 11764 visitList4(prefix, directives2, " "); |
| 10734 prefix = scriptTag4 == null && directives2.isEmpty ? "" : " "; | 11765 prefix = scriptTag6 == null && directives2.isEmpty ? "" : " "; |
| 10735 visitList4(prefix, node.declarations, " "); | 11766 visitList4(prefix, node.declarations, " "); |
| 10736 return null; | 11767 return null; |
| 10737 } | 11768 } |
| 10738 Object visitConditionalExpression(ConditionalExpression node) { | 11769 Object visitConditionalExpression(ConditionalExpression node) { |
| 10739 visit(node.condition); | 11770 visit(node.condition); |
| 10740 _writer.print(" ? "); | 11771 _writer.print(" ? "); |
| 10741 visit(node.thenExpression); | 11772 visit(node.thenExpression); |
| 10742 _writer.print(" : "); | 11773 _writer.print(" : "); |
| 10743 visit(node.elseExpression); | 11774 visit(node.elseExpression); |
| 10744 return null; | 11775 return null; |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 10797 Object visitEmptyFunctionBody(EmptyFunctionBody node) { | 11828 Object visitEmptyFunctionBody(EmptyFunctionBody node) { |
| 10798 _writer.print(';'); | 11829 _writer.print(';'); |
| 10799 return null; | 11830 return null; |
| 10800 } | 11831 } |
| 10801 Object visitEmptyStatement(EmptyStatement node) { | 11832 Object visitEmptyStatement(EmptyStatement node) { |
| 10802 _writer.print(';'); | 11833 _writer.print(';'); |
| 10803 return null; | 11834 return null; |
| 10804 } | 11835 } |
| 10805 Object visitExportDirective(ExportDirective node) { | 11836 Object visitExportDirective(ExportDirective node) { |
| 10806 _writer.print("export "); | 11837 _writer.print("export "); |
| 10807 visit(node.libraryUri); | 11838 visit(node.uri); |
| 10808 visitList4(" ", node.combinators, " "); | 11839 visitList4(" ", node.combinators, " "); |
| 10809 _writer.print(';'); | 11840 _writer.print(';'); |
| 10810 return null; | 11841 return null; |
| 10811 } | 11842 } |
| 10812 Object visitExpressionFunctionBody(ExpressionFunctionBody node) { | 11843 Object visitExpressionFunctionBody(ExpressionFunctionBody node) { |
| 10813 _writer.print("=> "); | 11844 _writer.print("=> "); |
| 10814 visit(node.expression); | 11845 visit(node.expression); |
| 10815 if (node.semicolon != null) { | 11846 if (node.semicolon != null) { |
| 10816 _writer.print(';'); | 11847 _writer.print(';'); |
| 10817 } | 11848 } |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 10853 String groupEnd = null; | 11884 String groupEnd = null; |
| 10854 _writer.print('('); | 11885 _writer.print('('); |
| 10855 NodeList<FormalParameter> parameters9 = node.parameters; | 11886 NodeList<FormalParameter> parameters9 = node.parameters; |
| 10856 int size2 = parameters9.length; | 11887 int size2 = parameters9.length; |
| 10857 for (int i = 0; i < size2; i++) { | 11888 for (int i = 0; i < size2; i++) { |
| 10858 FormalParameter parameter = parameters9[i]; | 11889 FormalParameter parameter = parameters9[i]; |
| 10859 if (i > 0) { | 11890 if (i > 0) { |
| 10860 _writer.print(", "); | 11891 _writer.print(", "); |
| 10861 } | 11892 } |
| 10862 if (groupEnd == null && parameter is DefaultFormalParameter) { | 11893 if (groupEnd == null && parameter is DefaultFormalParameter) { |
| 10863 if (parameter.kind == ParameterKind.NAMED) { | 11894 if (identical(parameter.kind, ParameterKind.NAMED)) { |
| 10864 groupEnd = "}"; | 11895 groupEnd = "}"; |
| 10865 _writer.print('{'); | 11896 _writer.print('{'); |
| 10866 } else { | 11897 } else { |
| 10867 groupEnd = "]"; | 11898 groupEnd = "]"; |
| 10868 _writer.print('['); | 11899 _writer.print('['); |
| 10869 } | 11900 } |
| 10870 } | 11901 } |
| 10871 parameter.accept(this); | 11902 parameter.accept(this); |
| 10872 } | 11903 } |
| 10873 if (groupEnd != null) { | 11904 if (groupEnd != null) { |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 10943 visit3(" else ", node.elseStatement); | 11974 visit3(" else ", node.elseStatement); |
| 10944 return null; | 11975 return null; |
| 10945 } | 11976 } |
| 10946 Object visitImplementsClause(ImplementsClause node) { | 11977 Object visitImplementsClause(ImplementsClause node) { |
| 10947 _writer.print("implements "); | 11978 _writer.print("implements "); |
| 10948 visitList2(node.interfaces, ", "); | 11979 visitList2(node.interfaces, ", "); |
| 10949 return null; | 11980 return null; |
| 10950 } | 11981 } |
| 10951 Object visitImportDirective(ImportDirective node) { | 11982 Object visitImportDirective(ImportDirective node) { |
| 10952 _writer.print("import "); | 11983 _writer.print("import "); |
| 10953 visit(node.libraryUri); | 11984 visit(node.uri); |
| 10954 visit3(" as ", node.prefix); | 11985 visit3(" as ", node.prefix); |
| 10955 visitList4(" ", node.combinators, " "); | 11986 visitList4(" ", node.combinators, " "); |
| 10956 _writer.print(';'); | 11987 _writer.print(';'); |
| 10957 return null; | 11988 return null; |
| 10958 } | 11989 } |
| 10959 Object visitIndexExpression(IndexExpression node) { | 11990 Object visitIndexExpression(IndexExpression node) { |
| 10960 if (node.isCascaded()) { | 11991 if (node.isCascaded()) { |
| 10961 _writer.print(".."); | 11992 _writer.print(".."); |
| 10962 } else { | 11993 } else { |
| 10963 visit(node.array); | 11994 visit(node.array); |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 11083 return null; | 12114 return null; |
| 11084 } | 12115 } |
| 11085 Object visitParenthesizedExpression(ParenthesizedExpression node) { | 12116 Object visitParenthesizedExpression(ParenthesizedExpression node) { |
| 11086 _writer.print('('); | 12117 _writer.print('('); |
| 11087 visit(node.expression); | 12118 visit(node.expression); |
| 11088 _writer.print(')'); | 12119 _writer.print(')'); |
| 11089 return null; | 12120 return null; |
| 11090 } | 12121 } |
| 11091 Object visitPartDirective(PartDirective node) { | 12122 Object visitPartDirective(PartDirective node) { |
| 11092 _writer.print("part "); | 12123 _writer.print("part "); |
| 11093 visit(node.partUri); | 12124 visit(node.uri); |
| 11094 _writer.print(';'); | 12125 _writer.print(';'); |
| 11095 return null; | 12126 return null; |
| 11096 } | 12127 } |
| 11097 Object visitPartOfDirective(PartOfDirective node) { | 12128 Object visitPartOfDirective(PartOfDirective node) { |
| 11098 _writer.print("part of "); | 12129 _writer.print("part of "); |
| 11099 visit(node.libraryName); | 12130 visit(node.libraryName); |
| 11100 _writer.print(';'); | 12131 _writer.print(';'); |
| 11101 return null; | 12132 return null; |
| 11102 } | 12133 } |
| 11103 Object visitPostfixExpression(PostfixExpression node) { | 12134 Object visitPostfixExpression(PostfixExpression node) { |
| (...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 11448 return elements[elements.length - 1].endToken; | 12479 return elements[elements.length - 1].endToken; |
| 11449 } | 12480 } |
| 11450 /** | 12481 /** |
| 11451 * Return the node that is the parent of each of the elements in the list. | 12482 * Return the node that is the parent of each of the elements in the list. |
| 11452 * @return the node that is the parent of each of the elements in the list | 12483 * @return the node that is the parent of each of the elements in the list |
| 11453 */ | 12484 */ |
| 11454 ASTNode getOwner() { | 12485 ASTNode getOwner() { |
| 11455 return owner; | 12486 return owner; |
| 11456 } | 12487 } |
| 11457 } | 12488 } |
| OLD | NEW |