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

Side by Side Diff: pkg/analyzer/lib/src/generated/ast.dart

Issue 200583002: Analyzer snapshot with disabled 'this.field' generation. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 // This code was auto-generated, is not intended to be edited, and is subject to 5 // This code was auto-generated, is not intended to be edited, and is subject to
6 // significant change. Please see the README file for more information. 6 // significant change. Please see the README file for more information.
7 7
8 library engine.ast; 8 library engine.ast;
9 9
10 import 'dart:collection'; 10 import 'dart:collection';
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 * @param atSign the at sign that introduced the annotation 263 * @param atSign the at sign that introduced the annotation
264 * @param name the name of the class defining the constructor that is being in voked or the name of 264 * @param name the name of the class defining the constructor that is being in voked or the name of
265 * the field that is being referenced 265 * the field that is being referenced
266 * @param period the period before the constructor name, or `null` if this ann otation is not 266 * @param period the period before the constructor name, or `null` if this ann otation is not
267 * the invocation of a named constructor 267 * the invocation of a named constructor
268 * @param constructorName the name of the constructor being invoked, or `null` if this 268 * @param constructorName the name of the constructor being invoked, or `null` if this
269 * annotation is not the invocation of a named constructor 269 * annotation is not the invocation of a named constructor
270 * @param arguments the arguments to the constructor being invoked, or `null` if this 270 * @param arguments the arguments to the constructor being invoked, or `null` if this
271 * annotation is not the invocation of a constructor 271 * annotation is not the invocation of a constructor
272 */ 272 */
273 Annotation(this.atSign, Identifier name, this.period, SimpleIdentifier constru ctorName, ArgumentList arguments) { 273 Annotation(Token atSign, Identifier name, Token period, SimpleIdentifier const ructorName, ArgumentList arguments) {
274 this.atSign = atSign;
274 this._name = becomeParentOf(name); 275 this._name = becomeParentOf(name);
276 this.period = period;
275 this._constructorName = becomeParentOf(constructorName); 277 this._constructorName = becomeParentOf(constructorName);
276 this._arguments = becomeParentOf(arguments); 278 this._arguments = becomeParentOf(arguments);
277 } 279 }
278 280
279 @override 281 @override
280 accept(AstVisitor visitor) => visitor.visitAnnotation(this); 282 accept(AstVisitor visitor) => visitor.visitAnnotation(this);
281 283
282 /** 284 /**
283 * Return the arguments to the constructor being invoked, or `null` if this an notation is 285 * Return the arguments to the constructor being invoked, or `null` if this an notation is
284 * not the invocation of a constructor. 286 * not the invocation of a constructor.
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 * The identifier representing the argument being tested. 397 * The identifier representing the argument being tested.
396 */ 398 */
397 SimpleIdentifier _identifier; 399 SimpleIdentifier _identifier;
398 400
399 /** 401 /**
400 * Initialize a newly created argument definition test. 402 * Initialize a newly created argument definition test.
401 * 403 *
402 * @param question the token representing the question mark 404 * @param question the token representing the question mark
403 * @param identifier the identifier representing the argument being tested 405 * @param identifier the identifier representing the argument being tested
404 */ 406 */
405 ArgumentDefinitionTest(this.question, SimpleIdentifier identifier) { 407 ArgumentDefinitionTest(Token question, SimpleIdentifier identifier) {
408 this.question = question;
406 this._identifier = becomeParentOf(identifier); 409 this._identifier = becomeParentOf(identifier);
407 } 410 }
408 411
409 @override 412 @override
410 accept(AstVisitor visitor) => visitor.visitArgumentDefinitionTest(this); 413 accept(AstVisitor visitor) => visitor.visitArgumentDefinitionTest(this);
411 414
412 @override 415 @override
413 Token get beginToken => question; 416 Token get beginToken => question;
414 417
415 @override 418 @override
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after
765 768
766 /** 769 /**
767 * Initialize a newly created assert statement. 770 * Initialize a newly created assert statement.
768 * 771 *
769 * @param keyword the token representing the 'assert' keyword 772 * @param keyword the token representing the 'assert' keyword
770 * @param leftParenthesis the left parenthesis 773 * @param leftParenthesis the left parenthesis
771 * @param condition the condition that is being asserted to be `true` 774 * @param condition the condition that is being asserted to be `true`
772 * @param rightParenthesis the right parenthesis 775 * @param rightParenthesis the right parenthesis
773 * @param semicolon the semicolon terminating the statement 776 * @param semicolon the semicolon terminating the statement
774 */ 777 */
775 AssertStatement(this.keyword, this.leftParenthesis, Expression condition, this .rightParenthesis, this.semicolon) { 778 AssertStatement(Token keyword, Token leftParenthesis, Expression condition, To ken rightParenthesis, Token semicolon) {
779 this.keyword = keyword;
780 this.leftParenthesis = leftParenthesis;
776 this._condition = becomeParentOf(condition); 781 this._condition = becomeParentOf(condition);
782 this.rightParenthesis = rightParenthesis;
783 this.semicolon = semicolon;
777 } 784 }
778 785
779 @override 786 @override
780 accept(AstVisitor visitor) => visitor.visitAssertStatement(this); 787 accept(AstVisitor visitor) => visitor.visitAssertStatement(this);
781 788
782 @override 789 @override
783 Token get beginToken => keyword; 790 Token get beginToken => keyword;
784 791
785 /** 792 /**
786 * Return the condition that is being asserted to be `true`. 793 * Return the condition that is being asserted to be `true`.
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
845 */ 852 */
846 MethodElement _propagatedElement; 853 MethodElement _propagatedElement;
847 854
848 /** 855 /**
849 * Initialize a newly created assignment expression. 856 * Initialize a newly created assignment expression.
850 * 857 *
851 * @param leftHandSide the expression used to compute the left hand side 858 * @param leftHandSide the expression used to compute the left hand side
852 * @param operator the assignment operator being applied 859 * @param operator the assignment operator being applied
853 * @param rightHandSide the expression used to compute the right hand side 860 * @param rightHandSide the expression used to compute the right hand side
854 */ 861 */
855 AssignmentExpression(Expression leftHandSide, this.operator, Expression rightH andSide) { 862 AssignmentExpression(Expression leftHandSide, Token operator, Expression right HandSide) {
856 this._leftHandSide = becomeParentOf(leftHandSide); 863 this._leftHandSide = becomeParentOf(leftHandSide);
864 this.operator = operator;
857 this._rightHandSide = becomeParentOf(rightHandSide); 865 this._rightHandSide = becomeParentOf(rightHandSide);
858 } 866 }
859 867
860 @override 868 @override
861 accept(AstVisitor visitor) => visitor.visitAssignmentExpression(this); 869 accept(AstVisitor visitor) => visitor.visitAssignmentExpression(this);
862 870
863 @override 871 @override
864 Token get beginToken => _leftHandSide.beginToken; 872 Token get beginToken => _leftHandSide.beginToken;
865 873
866 /** 874 /**
(...skipping 624 matching lines...) Expand 10 before | Expand all | Expand 10 after
1491 */ 1499 */
1492 MethodElement _propagatedElement; 1500 MethodElement _propagatedElement;
1493 1501
1494 /** 1502 /**
1495 * Initialize a newly created binary expression. 1503 * Initialize a newly created binary expression.
1496 * 1504 *
1497 * @param leftOperand the expression used to compute the left operand 1505 * @param leftOperand the expression used to compute the left operand
1498 * @param operator the binary operator being applied 1506 * @param operator the binary operator being applied
1499 * @param rightOperand the expression used to compute the right operand 1507 * @param rightOperand the expression used to compute the right operand
1500 */ 1508 */
1501 BinaryExpression(Expression leftOperand, this.operator, Expression rightOperan d) { 1509 BinaryExpression(Expression leftOperand, Token operator, Expression rightOpera nd) {
1502 this._leftOperand = becomeParentOf(leftOperand); 1510 this._leftOperand = becomeParentOf(leftOperand);
1511 this.operator = operator;
1503 this._rightOperand = becomeParentOf(rightOperand); 1512 this._rightOperand = becomeParentOf(rightOperand);
1504 } 1513 }
1505 1514
1506 @override 1515 @override
1507 accept(AstVisitor visitor) => visitor.visitBinaryExpression(this); 1516 accept(AstVisitor visitor) => visitor.visitBinaryExpression(this);
1508 1517
1509 @override 1518 @override
1510 Token get beginToken => _leftOperand.beginToken; 1519 Token get beginToken => _leftOperand.beginToken;
1511 1520
1512 /** 1521 /**
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
1676 */ 1685 */
1677 Token rightBracket; 1686 Token rightBracket;
1678 1687
1679 /** 1688 /**
1680 * Initialize a newly created block of code. 1689 * Initialize a newly created block of code.
1681 * 1690 *
1682 * @param leftBracket the left curly bracket 1691 * @param leftBracket the left curly bracket
1683 * @param statements the statements contained in the block 1692 * @param statements the statements contained in the block
1684 * @param rightBracket the right curly bracket 1693 * @param rightBracket the right curly bracket
1685 */ 1694 */
1686 Block(this.leftBracket, List<Statement> statements, this.rightBracket) { 1695 Block(Token leftBracket, List<Statement> statements, Token rightBracket) {
1687 this._statements = new NodeList<Statement>(this); 1696 this._statements = new NodeList<Statement>(this);
1697 this.leftBracket = leftBracket;
1688 this._statements.addAll(statements); 1698 this._statements.addAll(statements);
1699 this.rightBracket = rightBracket;
1689 } 1700 }
1690 1701
1691 @override 1702 @override
1692 accept(AstVisitor visitor) => visitor.visitBlock(this); 1703 accept(AstVisitor visitor) => visitor.visitBlock(this);
1693 1704
1694 @override 1705 @override
1695 Token get beginToken => leftBracket; 1706 Token get beginToken => leftBracket;
1696 1707
1697 @override 1708 @override
1698 Token get endToken => rightBracket; 1709 Token get endToken => rightBracket;
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
1783 * The value of the literal. 1794 * The value of the literal.
1784 */ 1795 */
1785 bool value = false; 1796 bool value = false;
1786 1797
1787 /** 1798 /**
1788 * Initialize a newly created boolean literal. 1799 * Initialize a newly created boolean literal.
1789 * 1800 *
1790 * @param literal the token representing the literal 1801 * @param literal the token representing the literal
1791 * @param value the value of the literal 1802 * @param value the value of the literal
1792 */ 1803 */
1793 BooleanLiteral(this.literal, this.value); 1804 BooleanLiteral(Token literal, bool value) {
1805 this.literal = literal;
1806 this.value = value;
1807 }
1794 1808
1795 @override 1809 @override
1796 accept(AstVisitor visitor) => visitor.visitBooleanLiteral(this); 1810 accept(AstVisitor visitor) => visitor.visitBooleanLiteral(this);
1797 1811
1798 @override 1812 @override
1799 Token get beginToken => literal; 1813 Token get beginToken => literal;
1800 1814
1801 @override 1815 @override
1802 Token get endToken => literal; 1816 Token get endToken => literal;
1803 1817
(...skipping 29 matching lines...) Expand all
1833 */ 1847 */
1834 Token semicolon; 1848 Token semicolon;
1835 1849
1836 /** 1850 /**
1837 * Initialize a newly created break statement. 1851 * Initialize a newly created break statement.
1838 * 1852 *
1839 * @param keyword the token representing the 'break' keyword 1853 * @param keyword the token representing the 'break' keyword
1840 * @param label the label associated with the statement 1854 * @param label the label associated with the statement
1841 * @param semicolon the semicolon terminating the statement 1855 * @param semicolon the semicolon terminating the statement
1842 */ 1856 */
1843 BreakStatement(this.keyword, SimpleIdentifier label, this.semicolon) { 1857 BreakStatement(Token keyword, SimpleIdentifier label, Token semicolon) {
1858 this.keyword = keyword;
1844 this._label = becomeParentOf(label); 1859 this._label = becomeParentOf(label);
1860 this.semicolon = semicolon;
1845 } 1861 }
1846 1862
1847 @override 1863 @override
1848 accept(AstVisitor visitor) => visitor.visitBreakStatement(this); 1864 accept(AstVisitor visitor) => visitor.visitBreakStatement(this);
1849 1865
1850 @override 1866 @override
1851 Token get beginToken => keyword; 1867 Token get beginToken => keyword;
1852 1868
1853 @override 1869 @override
1854 Token get endToken => semicolon; 1870 Token get endToken => semicolon;
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
2025 * @param onKeyword the token representing the 'on' keyword 2041 * @param onKeyword the token representing the 'on' keyword
2026 * @param exceptionType the type of exceptions caught by this catch clause 2042 * @param exceptionType the type of exceptions caught by this catch clause
2027 * @param leftParenthesis the left parenthesis 2043 * @param leftParenthesis the left parenthesis
2028 * @param exceptionParameter the parameter whose value will be the exception t hat was thrown 2044 * @param exceptionParameter the parameter whose value will be the exception t hat was thrown
2029 * @param comma the comma separating the exception parameter from the stack tr ace parameter 2045 * @param comma the comma separating the exception parameter from the stack tr ace parameter
2030 * @param stackTraceParameter the parameter whose value will be the stack trac e associated with 2046 * @param stackTraceParameter the parameter whose value will be the stack trac e associated with
2031 * the exception 2047 * the exception
2032 * @param rightParenthesis the right parenthesis 2048 * @param rightParenthesis the right parenthesis
2033 * @param body the body of the catch block 2049 * @param body the body of the catch block
2034 */ 2050 */
2035 CatchClause(this.onKeyword, TypeName exceptionType, this.catchKeyword, Token l eftParenthesis, SimpleIdentifier exceptionParameter, this.comma, SimpleIdentifie r stackTraceParameter, Token rightParenthesis, Block body) { 2051 CatchClause(Token onKeyword, TypeName exceptionType, Token catchKeyword, Token leftParenthesis, SimpleIdentifier exceptionParameter, Token comma, SimpleIdenti fier stackTraceParameter, Token rightParenthesis, Block body) {
2052 this.onKeyword = onKeyword;
2036 this.exceptionType = becomeParentOf(exceptionType); 2053 this.exceptionType = becomeParentOf(exceptionType);
2054 this.catchKeyword = catchKeyword;
2037 this._leftParenthesis = leftParenthesis; 2055 this._leftParenthesis = leftParenthesis;
2038 this._exceptionParameter = becomeParentOf(exceptionParameter); 2056 this._exceptionParameter = becomeParentOf(exceptionParameter);
2057 this.comma = comma;
2039 this._stackTraceParameter = becomeParentOf(stackTraceParameter); 2058 this._stackTraceParameter = becomeParentOf(stackTraceParameter);
2040 this._rightParenthesis = rightParenthesis; 2059 this._rightParenthesis = rightParenthesis;
2041 this._body = becomeParentOf(body); 2060 this._body = becomeParentOf(body);
2042 } 2061 }
2043 2062
2044 @override 2063 @override
2045 accept(AstVisitor visitor) => visitor.visitCatchClause(this); 2064 accept(AstVisitor visitor) => visitor.visitCatchClause(this);
2046 2065
2047 @override 2066 @override
2048 Token get beginToken { 2067 Token get beginToken {
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
2225 * @param classKeyword the token representing the 'class' keyword 2244 * @param classKeyword the token representing the 'class' keyword
2226 * @param name the name of the class being declared 2245 * @param name the name of the class being declared
2227 * @param typeParameters the type parameters for the class 2246 * @param typeParameters the type parameters for the class
2228 * @param extendsClause the extends clause for the class 2247 * @param extendsClause the extends clause for the class
2229 * @param withClause the with clause for the class 2248 * @param withClause the with clause for the class
2230 * @param implementsClause the implements clause for the class 2249 * @param implementsClause the implements clause for the class
2231 * @param leftBracket the left curly bracket 2250 * @param leftBracket the left curly bracket
2232 * @param members the members defined by the class 2251 * @param members the members defined by the class
2233 * @param rightBracket the right curly bracket 2252 * @param rightBracket the right curly bracket
2234 */ 2253 */
2235 ClassDeclaration(Comment comment, List<Annotation> metadata, this.abstractKeyw ord, this.classKeyword, SimpleIdentifier name, TypeParameterList typeParameters, ExtendsClause extendsClause, WithClause withClause, ImplementsClause implements Clause, this.leftBracket, List<ClassMember> members, this.rightBracket) : super( comment, metadata) { 2254 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) {
2236 this._members = new NodeList<ClassMember>(this); 2255 this._members = new NodeList<ClassMember>(this);
2256 this.abstractKeyword = abstractKeyword;
2257 this.classKeyword = classKeyword;
2237 this._name = becomeParentOf(name); 2258 this._name = becomeParentOf(name);
2238 this.typeParameters = becomeParentOf(typeParameters); 2259 this.typeParameters = becomeParentOf(typeParameters);
2239 this._extendsClause = becomeParentOf(extendsClause); 2260 this._extendsClause = becomeParentOf(extendsClause);
2240 this._withClause = becomeParentOf(withClause); 2261 this._withClause = becomeParentOf(withClause);
2241 this._implementsClause = becomeParentOf(implementsClause); 2262 this._implementsClause = becomeParentOf(implementsClause);
2263 this.leftBracket = leftBracket;
2242 this._members.addAll(members); 2264 this._members.addAll(members);
2265 this.rightBracket = rightBracket;
2243 } 2266 }
2244 2267
2245 @override 2268 @override
2246 accept(AstVisitor visitor) => visitor.visitClassDeclaration(this); 2269 accept(AstVisitor visitor) => visitor.visitClassDeclaration(this);
2247 2270
2248 /** 2271 /**
2249 * Return the constructor declared in the class with the given name. 2272 * Return the constructor declared in the class with the given name.
2250 * 2273 *
2251 * @param name the name of the constructor to find, `null` for default 2274 * @param name the name of the constructor to find, `null` for default
2252 * @return the found constructor or `null` if not found 2275 * @return the found constructor or `null` if not found
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
2479 * @param keyword the token representing the 'typedef' keyword 2502 * @param keyword the token representing the 'typedef' keyword
2480 * @param name the name of the class being declared 2503 * @param name the name of the class being declared
2481 * @param typeParameters the type parameters for the class 2504 * @param typeParameters the type parameters for the class
2482 * @param equals the token for the '=' separating the name from the definition 2505 * @param equals the token for the '=' separating the name from the definition
2483 * @param abstractKeyword the token for the 'abstract' keyword 2506 * @param abstractKeyword the token for the 'abstract' keyword
2484 * @param superclass the name of the superclass of the class being declared 2507 * @param superclass the name of the superclass of the class being declared
2485 * @param withClause the with clause for this class 2508 * @param withClause the with clause for this class
2486 * @param implementsClause the implements clause for this class 2509 * @param implementsClause the implements clause for this class
2487 * @param semicolon the semicolon terminating the declaration 2510 * @param semicolon the semicolon terminating the declaration
2488 */ 2511 */
2489 ClassTypeAlias(Comment comment, List<Annotation> metadata, Token keyword, Simp leIdentifier name, TypeParameterList typeParameters, this.equals, this.abstractK eyword, TypeName superclass, WithClause withClause, ImplementsClause implementsC lause, Token semicolon) : super(comment, metadata, keyword, semicolon) { 2512 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) {
2490 this._name = becomeParentOf(name); 2513 this._name = becomeParentOf(name);
2491 this._typeParameters = becomeParentOf(typeParameters); 2514 this._typeParameters = becomeParentOf(typeParameters);
2515 this.equals = equals;
2516 this.abstractKeyword = abstractKeyword;
2492 this._superclass = becomeParentOf(superclass); 2517 this._superclass = becomeParentOf(superclass);
2493 this._withClause = becomeParentOf(withClause); 2518 this._withClause = becomeParentOf(withClause);
2494 this._implementsClause = becomeParentOf(implementsClause); 2519 this._implementsClause = becomeParentOf(implementsClause);
2495 } 2520 }
2496 2521
2497 @override 2522 @override
2498 accept(AstVisitor visitor) => visitor.visitClassTypeAlias(this); 2523 accept(AstVisitor visitor) => visitor.visitClassTypeAlias(this);
2499 2524
2500 @override 2525 @override
2501 ClassElement get element => _name != null ? (_name.staticElement as ClassEleme nt) : null; 2526 ClassElement get element => _name != null ? (_name.staticElement as ClassEleme nt) : null;
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
2607 * The keyword specifying what kind of processing is to be done on the importe d names. 2632 * The keyword specifying what kind of processing is to be done on the importe d names.
2608 */ 2633 */
2609 Token keyword; 2634 Token keyword;
2610 2635
2611 /** 2636 /**
2612 * Initialize a newly created import combinator. 2637 * Initialize a newly created import combinator.
2613 * 2638 *
2614 * @param keyword the keyword specifying what kind of processing is to be done on the imported 2639 * @param keyword the keyword specifying what kind of processing is to be done on the imported
2615 * names 2640 * names
2616 */ 2641 */
2617 Combinator(this.keyword); 2642 Combinator(Token keyword) {
2643 this.keyword = keyword;
2644 }
2618 2645
2619 @override 2646 @override
2620 Token get beginToken => keyword; 2647 Token get beginToken => keyword;
2621 } 2648 }
2622 2649
2623 /** 2650 /**
2624 * Instances of the class `Comment` represent a comment within the source code. 2651 * Instances of the class `Comment` represent a comment within the source code.
2625 * 2652 *
2626 * <pre> 2653 * <pre>
2627 * comment ::= 2654 * comment ::=
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
2670 * Create an end-of-line comment. 2697 * Create an end-of-line comment.
2671 * 2698 *
2672 * @param tokens the tokens representing the comment 2699 * @param tokens the tokens representing the comment
2673 * @return the end-of-line comment that was created 2700 * @return the end-of-line comment that was created
2674 */ 2701 */
2675 static Comment createEndOfLineComment(List<Token> tokens) => new Comment(token s, CommentType.END_OF_LINE, null); 2702 static Comment createEndOfLineComment(List<Token> tokens) => new Comment(token s, CommentType.END_OF_LINE, null);
2676 2703
2677 /** 2704 /**
2678 * The tokens representing the comment. 2705 * The tokens representing the comment.
2679 */ 2706 */
2680 final List<Token> tokens; 2707 List<Token> tokens;
2681 2708
2682 /** 2709 /**
2683 * The type of the comment. 2710 * The type of the comment.
2684 */ 2711 */
2685 CommentType _type; 2712 CommentType _type;
2686 2713
2687 /** 2714 /**
2688 * The references embedded within the documentation comment. This list will be empty unless this 2715 * The references embedded within the documentation comment. This list will be empty unless this
2689 * is a documentation comment that has references embedded within it. 2716 * is a documentation comment that has references embedded within it.
2690 */ 2717 */
2691 NodeList<CommentReference> _references; 2718 NodeList<CommentReference> _references;
2692 2719
2693 /** 2720 /**
2694 * Initialize a newly created comment. 2721 * Initialize a newly created comment.
2695 * 2722 *
2696 * @param tokens the tokens representing the comment 2723 * @param tokens the tokens representing the comment
2697 * @param type the type of the comment 2724 * @param type the type of the comment
2698 * @param references the references embedded within the documentation comment 2725 * @param references the references embedded within the documentation comment
2699 */ 2726 */
2700 Comment(this.tokens, CommentType type, List<CommentReference> references) { 2727 Comment(List<Token> tokens, CommentType type, List<CommentReference> reference s) {
2701 this._references = new NodeList<CommentReference>(this); 2728 this._references = new NodeList<CommentReference>(this);
2729 this.tokens = tokens;
2702 this._type = type; 2730 this._type = type;
2703 this._references.addAll(references); 2731 this._references.addAll(references);
2704 } 2732 }
2705 2733
2706 @override 2734 @override
2707 accept(AstVisitor visitor) => visitor.visitComment(this); 2735 accept(AstVisitor visitor) => visitor.visitComment(this);
2708 2736
2709 @override 2737 @override
2710 Token get beginToken => tokens[0]; 2738 Token get beginToken => tokens[0];
2711 2739
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
2790 * The identifier being referenced. 2818 * The identifier being referenced.
2791 */ 2819 */
2792 Identifier _identifier; 2820 Identifier _identifier;
2793 2821
2794 /** 2822 /**
2795 * Initialize a newly created reference to a Dart element. 2823 * Initialize a newly created reference to a Dart element.
2796 * 2824 *
2797 * @param newKeyword the token representing the 'new' keyword 2825 * @param newKeyword the token representing the 'new' keyword
2798 * @param identifier the identifier being referenced 2826 * @param identifier the identifier being referenced
2799 */ 2827 */
2800 CommentReference(this.newKeyword, Identifier identifier) { 2828 CommentReference(Token newKeyword, Identifier identifier) {
2829 this.newKeyword = newKeyword;
2801 this._identifier = becomeParentOf(identifier); 2830 this._identifier = becomeParentOf(identifier);
2802 } 2831 }
2803 2832
2804 @override 2833 @override
2805 accept(AstVisitor visitor) => visitor.visitCommentReference(this); 2834 accept(AstVisitor visitor) => visitor.visitCommentReference(this);
2806 2835
2807 @override 2836 @override
2808 Token get beginToken => _identifier.beginToken; 2837 Token get beginToken => _identifier.beginToken;
2809 2838
2810 @override 2839 @override
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
2853 * | [ExportDirective] 2882 * | [ExportDirective]
2854 * 2883 *
2855 * declarations ::= 2884 * declarations ::=
2856 * [CompilationUnitMember]* 2885 * [CompilationUnitMember]*
2857 * </pre> 2886 * </pre>
2858 */ 2887 */
2859 class CompilationUnit extends AstNode { 2888 class CompilationUnit extends AstNode {
2860 /** 2889 /**
2861 * The first token in the token stream that was parsed to form this compilatio n unit. 2890 * The first token in the token stream that was parsed to form this compilatio n unit.
2862 */ 2891 */
2863 final Token beginToken; 2892 Token beginToken;
2864 2893
2865 /** 2894 /**
2866 * The script tag at the beginning of the compilation unit, or `null` if there is no script 2895 * The script tag at the beginning of the compilation unit, or `null` if there is no script
2867 * tag in this compilation unit. 2896 * tag in this compilation unit.
2868 */ 2897 */
2869 ScriptTag _scriptTag; 2898 ScriptTag _scriptTag;
2870 2899
2871 /** 2900 /**
2872 * The directives contained in this compilation unit. 2901 * The directives contained in this compilation unit.
2873 */ 2902 */
2874 NodeList<Directive> _directives; 2903 NodeList<Directive> _directives;
2875 2904
2876 /** 2905 /**
2877 * The declarations contained in this compilation unit. 2906 * The declarations contained in this compilation unit.
2878 */ 2907 */
2879 NodeList<CompilationUnitMember> _declarations; 2908 NodeList<CompilationUnitMember> _declarations;
2880 2909
2881 /** 2910 /**
2882 * The last token in the token stream that was parsed to form this compilation unit. This token 2911 * The last token in the token stream that was parsed to form this compilation unit. This token
2883 * should always have a type of [TokenType.EOF]. 2912 * should always have a type of [TokenType.EOF].
2884 */ 2913 */
2885 final Token endToken; 2914 Token endToken;
2886 2915
2887 /** 2916 /**
2888 * The element associated with this compilation unit, or `null` if the AST str ucture has not 2917 * The element associated with this compilation unit, or `null` if the AST str ucture has not
2889 * been resolved. 2918 * been resolved.
2890 */ 2919 */
2891 CompilationUnitElement element; 2920 CompilationUnitElement element;
2892 2921
2893 /** 2922 /**
2894 * The line information for this compilation unit. 2923 * The line information for this compilation unit.
2895 */ 2924 */
2896 LineInfo lineInfo; 2925 LineInfo lineInfo;
2897 2926
2898 /** 2927 /**
2899 * Initialize a newly created compilation unit to have the given directives an d declarations. 2928 * Initialize a newly created compilation unit to have the given directives an d declarations.
2900 * 2929 *
2901 * @param beginToken the first token in the token stream 2930 * @param beginToken the first token in the token stream
2902 * @param scriptTag the script tag at the beginning of the compilation unit 2931 * @param scriptTag the script tag at the beginning of the compilation unit
2903 * @param directives the directives contained in this compilation unit 2932 * @param directives the directives contained in this compilation unit
2904 * @param declarations the declarations contained in this compilation unit 2933 * @param declarations the declarations contained in this compilation unit
2905 * @param endToken the last token in the token stream 2934 * @param endToken the last token in the token stream
2906 */ 2935 */
2907 CompilationUnit(this.beginToken, ScriptTag scriptTag, List<Directive> directiv es, List<CompilationUnitMember> declarations, this.endToken) { 2936 CompilationUnit(Token beginToken, ScriptTag scriptTag, List<Directive> directi ves, List<CompilationUnitMember> declarations, Token endToken) {
2908 this._directives = new NodeList<Directive>(this); 2937 this._directives = new NodeList<Directive>(this);
2909 this._declarations = new NodeList<CompilationUnitMember>(this); 2938 this._declarations = new NodeList<CompilationUnitMember>(this);
2939 this.beginToken = beginToken;
2910 this._scriptTag = becomeParentOf(scriptTag); 2940 this._scriptTag = becomeParentOf(scriptTag);
2911 this._directives.addAll(directives); 2941 this._directives.addAll(directives);
2912 this._declarations.addAll(declarations); 2942 this._declarations.addAll(declarations);
2943 this.endToken = endToken;
2913 } 2944 }
2914 2945
2915 @override 2946 @override
2916 accept(AstVisitor visitor) => visitor.visitCompilationUnit(this); 2947 accept(AstVisitor visitor) => visitor.visitCompilationUnit(this);
2917 2948
2918 /** 2949 /**
2919 * Return the declarations contained in this compilation unit. 2950 * Return the declarations contained in this compilation unit.
2920 * 2951 *
2921 * @return the declarations contained in this compilation unit 2952 * @return the declarations contained in this compilation unit
2922 */ 2953 */
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
3064 * Initialize a newly created conditional expression. 3095 * Initialize a newly created conditional expression.
3065 * 3096 *
3066 * @param condition the condition used to determine which expression is execut ed next 3097 * @param condition the condition used to determine which expression is execut ed next
3067 * @param question the token used to separate the condition from the then expr ession 3098 * @param question the token used to separate the condition from the then expr ession
3068 * @param thenExpression the expression that is executed if the condition eval uates to 3099 * @param thenExpression the expression that is executed if the condition eval uates to
3069 * `true` 3100 * `true`
3070 * @param colon the token used to separate the then expression from the else e xpression 3101 * @param colon the token used to separate the then expression from the else e xpression
3071 * @param elseExpression the expression that is executed if the condition eval uates to 3102 * @param elseExpression the expression that is executed if the condition eval uates to
3072 * `false` 3103 * `false`
3073 */ 3104 */
3074 ConditionalExpression(Expression condition, this.question, Expression thenExpr ession, this.colon, Expression elseExpression) { 3105 ConditionalExpression(Expression condition, Token question, Expression thenExp ression, Token colon, Expression elseExpression) {
3075 this._condition = becomeParentOf(condition); 3106 this._condition = becomeParentOf(condition);
3107 this.question = question;
3076 this._thenExpression = becomeParentOf(thenExpression); 3108 this._thenExpression = becomeParentOf(thenExpression);
3109 this.colon = colon;
3077 this._elseExpression = becomeParentOf(elseExpression); 3110 this._elseExpression = becomeParentOf(elseExpression);
3078 } 3111 }
3079 3112
3080 @override 3113 @override
3081 accept(AstVisitor visitor) => visitor.visitConditionalExpression(this); 3114 accept(AstVisitor visitor) => visitor.visitConditionalExpression(this);
3082 3115
3083 @override 3116 @override
3084 Token get beginToken => _condition.beginToken; 3117 Token get beginToken => _condition.beginToken;
3085 3118
3086 /** 3119 /**
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
3250 * @param returnType the return type of the constructor 3283 * @param returnType the return type of the constructor
3251 * @param period the token for the period before the constructor name 3284 * @param period the token for the period before the constructor name
3252 * @param name the name of the constructor 3285 * @param name the name of the constructor
3253 * @param parameters the parameters associated with the constructor 3286 * @param parameters the parameters associated with the constructor
3254 * @param separator the token for the colon or equals before the initializers 3287 * @param separator the token for the colon or equals before the initializers
3255 * @param initializers the initializers associated with the constructor 3288 * @param initializers the initializers associated with the constructor
3256 * @param redirectedConstructor the name of the constructor to which this cons tructor will be 3289 * @param redirectedConstructor the name of the constructor to which this cons tructor will be
3257 * redirected 3290 * redirected
3258 * @param body the body of the constructor 3291 * @param body the body of the constructor
3259 */ 3292 */
3260 ConstructorDeclaration(Comment comment, List<Annotation> metadata, this.extern alKeyword, this.constKeyword, this.factoryKeyword, Identifier returnType, this.p eriod, SimpleIdentifier name, FormalParameterList parameters, this.separator, Li st<ConstructorInitializer> initializers, ConstructorName redirectedConstructor, FunctionBody body) : super(comment, metadata) { 3293 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) {
3261 this._initializers = new NodeList<ConstructorInitializer>(this); 3294 this._initializers = new NodeList<ConstructorInitializer>(this);
3295 this.externalKeyword = externalKeyword;
3296 this.constKeyword = constKeyword;
3297 this.factoryKeyword = factoryKeyword;
3262 this._returnType = becomeParentOf(returnType); 3298 this._returnType = becomeParentOf(returnType);
3299 this.period = period;
3263 this._name = becomeParentOf(name); 3300 this._name = becomeParentOf(name);
3264 this._parameters = becomeParentOf(parameters); 3301 this._parameters = becomeParentOf(parameters);
3302 this.separator = separator;
3265 this._initializers.addAll(initializers); 3303 this._initializers.addAll(initializers);
3266 this._redirectedConstructor = becomeParentOf(redirectedConstructor); 3304 this._redirectedConstructor = becomeParentOf(redirectedConstructor);
3267 this._body = becomeParentOf(body); 3305 this._body = becomeParentOf(body);
3268 } 3306 }
3269 3307
3270 @override 3308 @override
3271 accept(AstVisitor visitor) => visitor.visitConstructorDeclaration(this); 3309 accept(AstVisitor visitor) => visitor.visitConstructorDeclaration(this);
3272 3310
3273 /** 3311 /**
3274 * Return the body of the constructor, or `null` if the constructor does not h ave a body. 3312 * Return the body of the constructor, or `null` if the constructor does not h ave a body.
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
3451 /** 3489 /**
3452 * Initialize a newly created field initializer to initialize the field with t he given name to the 3490 * Initialize a newly created field initializer to initialize the field with t he given name to the
3453 * value of the given expression. 3491 * value of the given expression.
3454 * 3492 *
3455 * @param keyword the token for the 'this' keyword 3493 * @param keyword the token for the 'this' keyword
3456 * @param period the token for the period after the 'this' keyword 3494 * @param period the token for the period after the 'this' keyword
3457 * @param fieldName the name of the field being initialized 3495 * @param fieldName the name of the field being initialized
3458 * @param equals the token for the equal sign between the field name and the e xpression 3496 * @param equals the token for the equal sign between the field name and the e xpression
3459 * @param expression the expression computing the value to which the field wil l be initialized 3497 * @param expression the expression computing the value to which the field wil l be initialized
3460 */ 3498 */
3461 ConstructorFieldInitializer(this.keyword, this.period, SimpleIdentifier fieldN ame, this.equals, Expression expression) { 3499 ConstructorFieldInitializer(Token keyword, Token period, SimpleIdentifier fiel dName, Token equals, Expression expression) {
3500 this.keyword = keyword;
3501 this.period = period;
3462 this._fieldName = becomeParentOf(fieldName); 3502 this._fieldName = becomeParentOf(fieldName);
3503 this.equals = equals;
3463 this._expression = becomeParentOf(expression); 3504 this._expression = becomeParentOf(expression);
3464 } 3505 }
3465 3506
3466 @override 3507 @override
3467 accept(AstVisitor visitor) => visitor.visitConstructorFieldInitializer(this); 3508 accept(AstVisitor visitor) => visitor.visitConstructorFieldInitializer(this);
3468 3509
3469 @override 3510 @override
3470 Token get beginToken { 3511 Token get beginToken {
3471 if (keyword != null) { 3512 if (keyword != null) {
3472 return keyword; 3513 return keyword;
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
3563 */ 3604 */
3564 ConstructorElement _staticElement; 3605 ConstructorElement _staticElement;
3565 3606
3566 /** 3607 /**
3567 * Initialize a newly created constructor name. 3608 * Initialize a newly created constructor name.
3568 * 3609 *
3569 * @param type the name of the type defining the constructor 3610 * @param type the name of the type defining the constructor
3570 * @param period the token for the period before the constructor name 3611 * @param period the token for the period before the constructor name
3571 * @param name the name of the constructor 3612 * @param name the name of the constructor
3572 */ 3613 */
3573 ConstructorName(TypeName type, this.period, SimpleIdentifier name) { 3614 ConstructorName(TypeName type, Token period, SimpleIdentifier name) {
3574 this._type = becomeParentOf(type); 3615 this._type = becomeParentOf(type);
3616 this.period = period;
3575 this._name = becomeParentOf(name); 3617 this._name = becomeParentOf(name);
3576 } 3618 }
3577 3619
3578 @override 3620 @override
3579 accept(AstVisitor visitor) => visitor.visitConstructorName(this); 3621 accept(AstVisitor visitor) => visitor.visitConstructorName(this);
3580 3622
3581 @override 3623 @override
3582 Token get beginToken => _type.beginToken; 3624 Token get beginToken => _type.beginToken;
3583 3625
3584 @override 3626 @override
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
3672 */ 3714 */
3673 Token semicolon; 3715 Token semicolon;
3674 3716
3675 /** 3717 /**
3676 * Initialize a newly created continue statement. 3718 * Initialize a newly created continue statement.
3677 * 3719 *
3678 * @param keyword the token representing the 'continue' keyword 3720 * @param keyword the token representing the 'continue' keyword
3679 * @param label the label associated with the statement 3721 * @param label the label associated with the statement
3680 * @param semicolon the semicolon terminating the statement 3722 * @param semicolon the semicolon terminating the statement
3681 */ 3723 */
3682 ContinueStatement(this.keyword, SimpleIdentifier label, this.semicolon) { 3724 ContinueStatement(Token keyword, SimpleIdentifier label, Token semicolon) {
3725 this.keyword = keyword;
3683 this._label = becomeParentOf(label); 3726 this._label = becomeParentOf(label);
3727 this.semicolon = semicolon;
3684 } 3728 }
3685 3729
3686 @override 3730 @override
3687 accept(AstVisitor visitor) => visitor.visitContinueStatement(this); 3731 accept(AstVisitor visitor) => visitor.visitContinueStatement(this);
3688 3732
3689 @override 3733 @override
3690 Token get beginToken => keyword; 3734 Token get beginToken => keyword;
3691 3735
3692 @override 3736 @override
3693 Token get endToken => semicolon; 3737 Token get endToken => semicolon;
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
3765 3809
3766 /** 3810 /**
3767 * Initialize a newly created formal parameter. 3811 * Initialize a newly created formal parameter.
3768 * 3812 *
3769 * @param comment the documentation comment associated with this parameter 3813 * @param comment the documentation comment associated with this parameter
3770 * @param metadata the annotations associated with this parameter 3814 * @param metadata the annotations associated with this parameter
3771 * @param keyword the token representing either the 'final', 'const' or 'var' keyword 3815 * @param keyword the token representing either the 'final', 'const' or 'var' keyword
3772 * @param type the name of the declared type of the parameter 3816 * @param type the name of the declared type of the parameter
3773 * @param identifier the name of the parameter being declared 3817 * @param identifier the name of the parameter being declared
3774 */ 3818 */
3775 DeclaredIdentifier(Comment comment, List<Annotation> metadata, this.keyword, T ypeName type, SimpleIdentifier identifier) : super(comment, metadata) { 3819 DeclaredIdentifier(Comment comment, List<Annotation> metadata, Token keyword, TypeName type, SimpleIdentifier identifier) : super(comment, metadata) {
3820 this.keyword = keyword;
3776 this._type = becomeParentOf(type); 3821 this._type = becomeParentOf(type);
3777 this._identifier = becomeParentOf(identifier); 3822 this._identifier = becomeParentOf(identifier);
3778 } 3823 }
3779 3824
3780 @override 3825 @override
3781 accept(AstVisitor visitor) => visitor.visitDeclaredIdentifier(this); 3826 accept(AstVisitor visitor) => visitor.visitDeclaredIdentifier(this);
3782 3827
3783 @override 3828 @override
3784 LocalVariableElement get element { 3829 LocalVariableElement get element {
3785 SimpleIdentifier identifier = this.identifier; 3830 SimpleIdentifier identifier = this.identifier;
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
3887 Expression _defaultValue; 3932 Expression _defaultValue;
3888 3933
3889 /** 3934 /**
3890 * Initialize a newly created default formal parameter. 3935 * Initialize a newly created default formal parameter.
3891 * 3936 *
3892 * @param parameter the formal parameter with which the default value is assoc iated 3937 * @param parameter the formal parameter with which the default value is assoc iated
3893 * @param kind the kind of this parameter 3938 * @param kind the kind of this parameter
3894 * @param separator the token separating the parameter from the default value 3939 * @param separator the token separating the parameter from the default value
3895 * @param defaultValue the expression computing the default value for the para meter 3940 * @param defaultValue the expression computing the default value for the para meter
3896 */ 3941 */
3897 DefaultFormalParameter(NormalFormalParameter parameter, this.kind, this.separa tor, Expression defaultValue) { 3942 DefaultFormalParameter(NormalFormalParameter parameter, ParameterKind kind, To ken separator, Expression defaultValue) {
3898 this._parameter = becomeParentOf(parameter); 3943 this._parameter = becomeParentOf(parameter);
3944 this.kind = kind;
3945 this.separator = separator;
3899 this._defaultValue = becomeParentOf(defaultValue); 3946 this._defaultValue = becomeParentOf(defaultValue);
3900 } 3947 }
3901 3948
3902 @override 3949 @override
3903 accept(AstVisitor visitor) => visitor.visitDefaultFormalParameter(this); 3950 accept(AstVisitor visitor) => visitor.visitDefaultFormalParameter(this);
3904 3951
3905 @override 3952 @override
3906 Token get beginToken => _parameter.beginToken; 3953 Token get beginToken => _parameter.beginToken;
3907 3954
3908 /** 3955 /**
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
4065 * Initialize a newly created do loop. 4112 * Initialize a newly created do loop.
4066 * 4113 *
4067 * @param doKeyword the token representing the 'do' keyword 4114 * @param doKeyword the token representing the 'do' keyword
4068 * @param body the body of the loop 4115 * @param body the body of the loop
4069 * @param whileKeyword the token representing the 'while' keyword 4116 * @param whileKeyword the token representing the 'while' keyword
4070 * @param leftParenthesis the left parenthesis 4117 * @param leftParenthesis the left parenthesis
4071 * @param condition the condition that determines when the loop will terminate 4118 * @param condition the condition that determines when the loop will terminate
4072 * @param rightParenthesis the right parenthesis 4119 * @param rightParenthesis the right parenthesis
4073 * @param semicolon the semicolon terminating the statement 4120 * @param semicolon the semicolon terminating the statement
4074 */ 4121 */
4075 DoStatement(this.doKeyword, Statement body, this.whileKeyword, Token leftParen thesis, Expression condition, Token rightParenthesis, this.semicolon) { 4122 DoStatement(Token doKeyword, Statement body, Token whileKeyword, Token leftPar enthesis, Expression condition, Token rightParenthesis, Token semicolon) {
4123 this.doKeyword = doKeyword;
4076 this._body = becomeParentOf(body); 4124 this._body = becomeParentOf(body);
4125 this.whileKeyword = whileKeyword;
4077 this._leftParenthesis = leftParenthesis; 4126 this._leftParenthesis = leftParenthesis;
4078 this._condition = becomeParentOf(condition); 4127 this._condition = becomeParentOf(condition);
4079 this._rightParenthesis = rightParenthesis; 4128 this._rightParenthesis = rightParenthesis;
4129 this.semicolon = semicolon;
4080 } 4130 }
4081 4131
4082 @override 4132 @override
4083 accept(AstVisitor visitor) => visitor.visitDoStatement(this); 4133 accept(AstVisitor visitor) => visitor.visitDoStatement(this);
4084 4134
4085 @override 4135 @override
4086 Token get beginToken => doKeyword; 4136 Token get beginToken => doKeyword;
4087 4137
4088 /** 4138 /**
4089 * Return the body of the loop. 4139 * Return the body of the loop.
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
4181 * The value of the literal. 4231 * The value of the literal.
4182 */ 4232 */
4183 double value = 0.0; 4233 double value = 0.0;
4184 4234
4185 /** 4235 /**
4186 * Initialize a newly created floating point literal. 4236 * Initialize a newly created floating point literal.
4187 * 4237 *
4188 * @param literal the token representing the literal 4238 * @param literal the token representing the literal
4189 * @param value the value of the literal 4239 * @param value the value of the literal
4190 */ 4240 */
4191 DoubleLiteral(this.literal, this.value); 4241 DoubleLiteral(Token literal, double value) {
4242 this.literal = literal;
4243 this.value = value;
4244 }
4192 4245
4193 @override 4246 @override
4194 accept(AstVisitor visitor) => visitor.visitDoubleLiteral(this); 4247 accept(AstVisitor visitor) => visitor.visitDoubleLiteral(this);
4195 4248
4196 @override 4249 @override
4197 Token get beginToken => literal; 4250 Token get beginToken => literal;
4198 4251
4199 @override 4252 @override
4200 Token get endToken => literal; 4253 Token get endToken => literal;
4201 4254
(...skipping 15 matching lines...) Expand all
4217 /** 4270 /**
4218 * The token representing the semicolon that marks the end of the function bod y. 4271 * The token representing the semicolon that marks the end of the function bod y.
4219 */ 4272 */
4220 Token semicolon; 4273 Token semicolon;
4221 4274
4222 /** 4275 /**
4223 * Initialize a newly created function body. 4276 * Initialize a newly created function body.
4224 * 4277 *
4225 * @param semicolon the token representing the semicolon that marks the end of the function body 4278 * @param semicolon the token representing the semicolon that marks the end of the function body
4226 */ 4279 */
4227 EmptyFunctionBody(this.semicolon); 4280 EmptyFunctionBody(Token semicolon) {
4281 this.semicolon = semicolon;
4282 }
4228 4283
4229 @override 4284 @override
4230 accept(AstVisitor visitor) => visitor.visitEmptyFunctionBody(this); 4285 accept(AstVisitor visitor) => visitor.visitEmptyFunctionBody(this);
4231 4286
4232 @override 4287 @override
4233 Token get beginToken => semicolon; 4288 Token get beginToken => semicolon;
4234 4289
4235 @override 4290 @override
4236 Token get endToken => semicolon; 4291 Token get endToken => semicolon;
4237 4292
(...skipping 14 matching lines...) Expand all
4252 /** 4307 /**
4253 * The semicolon terminating the statement. 4308 * The semicolon terminating the statement.
4254 */ 4309 */
4255 Token semicolon; 4310 Token semicolon;
4256 4311
4257 /** 4312 /**
4258 * Initialize a newly created empty statement. 4313 * Initialize a newly created empty statement.
4259 * 4314 *
4260 * @param semicolon the semicolon terminating the statement 4315 * @param semicolon the semicolon terminating the statement
4261 */ 4316 */
4262 EmptyStatement(this.semicolon); 4317 EmptyStatement(Token semicolon) {
4318 this.semicolon = semicolon;
4319 }
4263 4320
4264 @override 4321 @override
4265 accept(AstVisitor visitor) => visitor.visitEmptyStatement(this); 4322 accept(AstVisitor visitor) => visitor.visitEmptyStatement(this);
4266 4323
4267 @override 4324 @override
4268 Token get beginToken => semicolon; 4325 Token get beginToken => semicolon;
4269 4326
4270 @override 4327 @override
4271 Token get endToken => semicolon; 4328 Token get endToken => semicolon;
4272 4329
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
4510 Token semicolon; 4567 Token semicolon;
4511 4568
4512 /** 4569 /**
4513 * Initialize a newly created function body consisting of a block of statement s. 4570 * Initialize a newly created function body consisting of a block of statement s.
4514 * 4571 *
4515 * @param functionDefinition the token introducing the expression that represe nts the body of the 4572 * @param functionDefinition the token introducing the expression that represe nts the body of the
4516 * function 4573 * function
4517 * @param expression the expression representing the body of the function 4574 * @param expression the expression representing the body of the function
4518 * @param semicolon the semicolon terminating the statement 4575 * @param semicolon the semicolon terminating the statement
4519 */ 4576 */
4520 ExpressionFunctionBody(this.functionDefinition, Expression expression, this.se micolon) { 4577 ExpressionFunctionBody(Token functionDefinition, Expression expression, Token semicolon) {
4578 this.functionDefinition = functionDefinition;
4521 this._expression = becomeParentOf(expression); 4579 this._expression = becomeParentOf(expression);
4580 this.semicolon = semicolon;
4522 } 4581 }
4523 4582
4524 @override 4583 @override
4525 accept(AstVisitor visitor) => visitor.visitExpressionFunctionBody(this); 4584 accept(AstVisitor visitor) => visitor.visitExpressionFunctionBody(this);
4526 4585
4527 @override 4586 @override
4528 Token get beginToken => functionDefinition; 4587 Token get beginToken => functionDefinition;
4529 4588
4530 @override 4589 @override
4531 Token get endToken { 4590 Token get endToken {
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
4576 * expression and therefore isn't followed by a semicolon. 4635 * expression and therefore isn't followed by a semicolon.
4577 */ 4636 */
4578 Token semicolon; 4637 Token semicolon;
4579 4638
4580 /** 4639 /**
4581 * Initialize a newly created expression statement. 4640 * Initialize a newly created expression statement.
4582 * 4641 *
4583 * @param expression the expression that comprises the statement 4642 * @param expression the expression that comprises the statement
4584 * @param semicolon the semicolon terminating the statement 4643 * @param semicolon the semicolon terminating the statement
4585 */ 4644 */
4586 ExpressionStatement(Expression expression, this.semicolon) { 4645 ExpressionStatement(Expression expression, Token semicolon) {
4587 this._expression = becomeParentOf(expression); 4646 this._expression = becomeParentOf(expression);
4647 this.semicolon = semicolon;
4588 } 4648 }
4589 4649
4590 @override 4650 @override
4591 accept(AstVisitor visitor) => visitor.visitExpressionStatement(this); 4651 accept(AstVisitor visitor) => visitor.visitExpressionStatement(this);
4592 4652
4593 @override 4653 @override
4594 Token get beginToken => _expression.beginToken; 4654 Token get beginToken => _expression.beginToken;
4595 4655
4596 @override 4656 @override
4597 Token get endToken { 4657 Token get endToken {
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
4645 * The name of the class that is being extended. 4705 * The name of the class that is being extended.
4646 */ 4706 */
4647 TypeName _superclass; 4707 TypeName _superclass;
4648 4708
4649 /** 4709 /**
4650 * Initialize a newly created extends clause. 4710 * Initialize a newly created extends clause.
4651 * 4711 *
4652 * @param keyword the token representing the 'extends' keyword 4712 * @param keyword the token representing the 'extends' keyword
4653 * @param superclass the name of the class that is being extended 4713 * @param superclass the name of the class that is being extended
4654 */ 4714 */
4655 ExtendsClause(this.keyword, TypeName superclass) { 4715 ExtendsClause(Token keyword, TypeName superclass) {
4716 this.keyword = keyword;
4656 this._superclass = becomeParentOf(superclass); 4717 this._superclass = becomeParentOf(superclass);
4657 } 4718 }
4658 4719
4659 @override 4720 @override
4660 accept(AstVisitor visitor) => visitor.visitExtendsClause(this); 4721 accept(AstVisitor visitor) => visitor.visitExtendsClause(this);
4661 4722
4662 @override 4723 @override
4663 Token get beginToken => keyword; 4724 Token get beginToken => keyword;
4664 4725
4665 @override 4726 @override
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
4714 4775
4715 /** 4776 /**
4716 * Initialize a newly created field declaration. 4777 * Initialize a newly created field declaration.
4717 * 4778 *
4718 * @param comment the documentation comment associated with this field 4779 * @param comment the documentation comment associated with this field
4719 * @param metadata the annotations associated with this field 4780 * @param metadata the annotations associated with this field
4720 * @param staticKeyword the token representing the 'static' keyword 4781 * @param staticKeyword the token representing the 'static' keyword
4721 * @param fieldList the fields being declared 4782 * @param fieldList the fields being declared
4722 * @param semicolon the semicolon terminating the declaration 4783 * @param semicolon the semicolon terminating the declaration
4723 */ 4784 */
4724 FieldDeclaration(Comment comment, List<Annotation> metadata, this.staticKeywor d, VariableDeclarationList fieldList, this.semicolon) : super(comment, metadata) { 4785 FieldDeclaration(Comment comment, List<Annotation> metadata, Token staticKeywo rd, VariableDeclarationList fieldList, Token semicolon) : super(comment, metadat a) {
4786 this.staticKeyword = staticKeyword;
4725 this._fieldList = becomeParentOf(fieldList); 4787 this._fieldList = becomeParentOf(fieldList);
4788 this.semicolon = semicolon;
4726 } 4789 }
4727 4790
4728 @override 4791 @override
4729 accept(AstVisitor visitor) => visitor.visitFieldDeclaration(this); 4792 accept(AstVisitor visitor) => visitor.visitFieldDeclaration(this);
4730 4793
4731 @override 4794 @override
4732 Element get element => null; 4795 Element get element => null;
4733 4796
4734 @override 4797 @override
4735 Token get endToken => semicolon; 4798 Token get endToken => semicolon;
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
4815 * @param comment the documentation comment associated with this parameter 4878 * @param comment the documentation comment associated with this parameter
4816 * @param metadata the annotations associated with this parameter 4879 * @param metadata the annotations associated with this parameter
4817 * @param keyword the token representing either the 'final', 'const' or 'var' keyword 4880 * @param keyword the token representing either the 'final', 'const' or 'var' keyword
4818 * @param type the name of the declared type of the parameter 4881 * @param type the name of the declared type of the parameter
4819 * @param thisToken the token representing the 'this' keyword 4882 * @param thisToken the token representing the 'this' keyword
4820 * @param period the token representing the period 4883 * @param period the token representing the period
4821 * @param identifier the name of the parameter being declared 4884 * @param identifier the name of the parameter being declared
4822 * @param parameters the parameters of the function-typed parameter, or `null` if this is 4885 * @param parameters the parameters of the function-typed parameter, or `null` if this is
4823 * not a function-typed field formal parameter 4886 * not a function-typed field formal parameter
4824 */ 4887 */
4825 FieldFormalParameter(Comment comment, List<Annotation> metadata, this.keyword, TypeName type, this.thisToken, this.period, SimpleIdentifier identifier, Formal ParameterList parameters) : super(comment, metadata, identifier) { 4888 FieldFormalParameter(Comment comment, List<Annotation> metadata, Token keyword , TypeName type, Token thisToken, Token period, SimpleIdentifier identifier, For malParameterList parameters) : super(comment, metadata, identifier) {
4889 this.keyword = keyword;
4826 this._type = becomeParentOf(type); 4890 this._type = becomeParentOf(type);
4891 this.thisToken = thisToken;
4892 this.period = period;
4827 this._parameters = becomeParentOf(parameters); 4893 this._parameters = becomeParentOf(parameters);
4828 } 4894 }
4829 4895
4830 @override 4896 @override
4831 accept(AstVisitor visitor) => visitor.visitFieldFormalParameter(this); 4897 accept(AstVisitor visitor) => visitor.visitFieldFormalParameter(this);
4832 4898
4833 @override 4899 @override
4834 Token get beginToken { 4900 Token get beginToken {
4835 if (keyword != null) { 4901 if (keyword != null) {
4836 return keyword; 4902 return keyword;
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
4947 /** 5013 /**
4948 * Initialize a newly created for-each statement. 5014 * Initialize a newly created for-each statement.
4949 * 5015 *
4950 * @param forKeyword the token representing the 'for' keyword 5016 * @param forKeyword the token representing the 'for' keyword
4951 * @param leftParenthesis the left parenthesis 5017 * @param leftParenthesis the left parenthesis
4952 * @param loopVariable the declaration of the loop variable 5018 * @param loopVariable the declaration of the loop variable
4953 * @param iterator the expression evaluated to produce the iterator 5019 * @param iterator the expression evaluated to produce the iterator
4954 * @param rightParenthesis the right parenthesis 5020 * @param rightParenthesis the right parenthesis
4955 * @param body the body of the loop 5021 * @param body the body of the loop
4956 */ 5022 */
4957 ForEachStatement.con1(this.forKeyword, this.leftParenthesis, DeclaredIdentifie r loopVariable, this.inKeyword, Expression iterator, this.rightParenthesis, Stat ement body) { 5023 ForEachStatement.con1(Token forKeyword, Token leftParenthesis, DeclaredIdentif ier loopVariable, Token inKeyword, Expression iterator, Token rightParenthesis, Statement body) {
5024 this.forKeyword = forKeyword;
5025 this.leftParenthesis = leftParenthesis;
4958 this._loopVariable = becomeParentOf(loopVariable); 5026 this._loopVariable = becomeParentOf(loopVariable);
5027 this.inKeyword = inKeyword;
4959 this._iterator = becomeParentOf(iterator); 5028 this._iterator = becomeParentOf(iterator);
5029 this.rightParenthesis = rightParenthesis;
4960 this._body = becomeParentOf(body); 5030 this._body = becomeParentOf(body);
4961 } 5031 }
4962 5032
4963 /** 5033 /**
4964 * Initialize a newly created for-each statement. 5034 * Initialize a newly created for-each statement.
4965 * 5035 *
4966 * @param forKeyword the token representing the 'for' keyword 5036 * @param forKeyword the token representing the 'for' keyword
4967 * @param leftParenthesis the left parenthesis 5037 * @param leftParenthesis the left parenthesis
4968 * @param identifier the loop variable 5038 * @param identifier the loop variable
4969 * @param iterator the expression evaluated to produce the iterator 5039 * @param iterator the expression evaluated to produce the iterator
4970 * @param rightParenthesis the right parenthesis 5040 * @param rightParenthesis the right parenthesis
4971 * @param body the body of the loop 5041 * @param body the body of the loop
4972 */ 5042 */
4973 ForEachStatement.con2(this.forKeyword, this.leftParenthesis, SimpleIdentifier identifier, this.inKeyword, Expression iterator, this.rightParenthesis, Statemen t body) { 5043 ForEachStatement.con2(Token forKeyword, Token leftParenthesis, SimpleIdentifie r identifier, Token inKeyword, Expression iterator, Token rightParenthesis, Stat ement body) {
5044 this.forKeyword = forKeyword;
5045 this.leftParenthesis = leftParenthesis;
4974 this._identifier = becomeParentOf(identifier); 5046 this._identifier = becomeParentOf(identifier);
5047 this.inKeyword = inKeyword;
4975 this._iterator = becomeParentOf(iterator); 5048 this._iterator = becomeParentOf(iterator);
5049 this.rightParenthesis = rightParenthesis;
4976 this._body = becomeParentOf(body); 5050 this._body = becomeParentOf(body);
4977 } 5051 }
4978 5052
4979 @override 5053 @override
4980 accept(AstVisitor visitor) => visitor.visitForEachStatement(this); 5054 accept(AstVisitor visitor) => visitor.visitForEachStatement(this);
4981 5055
4982 @override 5056 @override
4983 Token get beginToken => forKeyword; 5057 Token get beginToken => forKeyword;
4984 5058
4985 /** 5059 /**
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
5137 * @param leftParenthesis the left parenthesis 5211 * @param leftParenthesis the left parenthesis
5138 * @param variableList the declaration of the loop variables 5212 * @param variableList the declaration of the loop variables
5139 * @param initialization the initialization expression 5213 * @param initialization the initialization expression
5140 * @param leftSeparator the semicolon separating the initializer and the condi tion 5214 * @param leftSeparator the semicolon separating the initializer and the condi tion
5141 * @param condition the condition used to determine when to terminate the loop 5215 * @param condition the condition used to determine when to terminate the loop
5142 * @param rightSeparator the semicolon separating the condition and the update r 5216 * @param rightSeparator the semicolon separating the condition and the update r
5143 * @param updaters the list of expressions run after each execution of the loo p body 5217 * @param updaters the list of expressions run after each execution of the loo p body
5144 * @param rightParenthesis the right parenthesis 5218 * @param rightParenthesis the right parenthesis
5145 * @param body the body of the loop 5219 * @param body the body of the loop
5146 */ 5220 */
5147 ForStatement(this.forKeyword, this.leftParenthesis, VariableDeclarationList va riableList, Expression initialization, this.leftSeparator, Expression condition, this.rightSeparator, List<Expression> updaters, this.rightParenthesis, Statemen t body) { 5221 ForStatement(Token forKeyword, Token leftParenthesis, VariableDeclarationList variableList, Expression initialization, Token leftSeparator, Expression conditi on, Token rightSeparator, List<Expression> updaters, Token rightParenthesis, Sta tement body) {
5148 this._updaters = new NodeList<Expression>(this); 5222 this._updaters = new NodeList<Expression>(this);
5223 this.forKeyword = forKeyword;
5224 this.leftParenthesis = leftParenthesis;
5149 this._variableList = becomeParentOf(variableList); 5225 this._variableList = becomeParentOf(variableList);
5150 this._initialization = becomeParentOf(initialization); 5226 this._initialization = becomeParentOf(initialization);
5227 this.leftSeparator = leftSeparator;
5151 this._condition = becomeParentOf(condition); 5228 this._condition = becomeParentOf(condition);
5229 this.rightSeparator = rightSeparator;
5152 this._updaters.addAll(updaters); 5230 this._updaters.addAll(updaters);
5231 this.rightParenthesis = rightParenthesis;
5153 this._body = becomeParentOf(body); 5232 this._body = becomeParentOf(body);
5154 } 5233 }
5155 5234
5156 @override 5235 @override
5157 accept(AstVisitor visitor) => visitor.visitForStatement(this); 5236 accept(AstVisitor visitor) => visitor.visitForStatement(this);
5158 5237
5159 @override 5238 @override
5160 Token get beginToken => forKeyword; 5239 Token get beginToken => forKeyword;
5161 5240
5162 /** 5241 /**
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after
5541 * Initialize a newly created function declaration. 5620 * Initialize a newly created function declaration.
5542 * 5621 *
5543 * @param comment the documentation comment associated with this function 5622 * @param comment the documentation comment associated with this function
5544 * @param metadata the annotations associated with this function 5623 * @param metadata the annotations associated with this function
5545 * @param externalKeyword the token representing the 'external' keyword 5624 * @param externalKeyword the token representing the 'external' keyword
5546 * @param returnType the return type of the function 5625 * @param returnType the return type of the function
5547 * @param propertyKeyword the token representing the 'get' or 'set' keyword 5626 * @param propertyKeyword the token representing the 'get' or 'set' keyword
5548 * @param name the name of the function 5627 * @param name the name of the function
5549 * @param functionExpression the function expression being wrapped 5628 * @param functionExpression the function expression being wrapped
5550 */ 5629 */
5551 FunctionDeclaration(Comment comment, List<Annotation> metadata, this.externalK eyword, TypeName returnType, this.propertyKeyword, SimpleIdentifier name, Functi onExpression functionExpression) : super(comment, metadata) { 5630 FunctionDeclaration(Comment comment, List<Annotation> metadata, Token external Keyword, TypeName returnType, Token propertyKeyword, SimpleIdentifier name, Func tionExpression functionExpression) : super(comment, metadata) {
5631 this.externalKeyword = externalKeyword;
5552 this._returnType = becomeParentOf(returnType); 5632 this._returnType = becomeParentOf(returnType);
5633 this.propertyKeyword = propertyKeyword;
5553 this._name = becomeParentOf(name); 5634 this._name = becomeParentOf(name);
5554 this._functionExpression = becomeParentOf(functionExpression); 5635 this._functionExpression = becomeParentOf(functionExpression);
5555 } 5636 }
5556 5637
5557 @override 5638 @override
5558 accept(AstVisitor visitor) => visitor.visitFunctionDeclaration(this); 5639 accept(AstVisitor visitor) => visitor.visitFunctionDeclaration(this);
5559 5640
5560 @override 5641 @override
5561 ExecutableElement get element => _name != null ? (_name.staticElement as Execu tableElement) : null; 5642 ExecutableElement get element => _name != null ? (_name.staticElement as Execu tableElement) : null;
5562 5643
(...skipping 761 matching lines...) Expand 10 before | Expand all | Expand 10 after
6324 * Initialize a newly created if statement. 6405 * Initialize a newly created if statement.
6325 * 6406 *
6326 * @param ifKeyword the token representing the 'if' keyword 6407 * @param ifKeyword the token representing the 'if' keyword
6327 * @param leftParenthesis the left parenthesis 6408 * @param leftParenthesis the left parenthesis
6328 * @param condition the condition used to determine which of the statements is executed next 6409 * @param condition the condition used to determine which of the statements is executed next
6329 * @param rightParenthesis the right parenthesis 6410 * @param rightParenthesis the right parenthesis
6330 * @param thenStatement the statement that is executed if the condition evalua tes to `true` 6411 * @param thenStatement the statement that is executed if the condition evalua tes to `true`
6331 * @param elseKeyword the token representing the 'else' keyword 6412 * @param elseKeyword the token representing the 'else' keyword
6332 * @param elseStatement the statement that is executed if the condition evalua tes to `false` 6413 * @param elseStatement the statement that is executed if the condition evalua tes to `false`
6333 */ 6414 */
6334 IfStatement(this.ifKeyword, this.leftParenthesis, Expression condition, this.r ightParenthesis, Statement thenStatement, this.elseKeyword, Statement elseStatem ent) { 6415 IfStatement(Token ifKeyword, Token leftParenthesis, Expression condition, Toke n rightParenthesis, Statement thenStatement, Token elseKeyword, Statement elseSt atement) {
6416 this.ifKeyword = ifKeyword;
6417 this.leftParenthesis = leftParenthesis;
6335 this._condition = becomeParentOf(condition); 6418 this._condition = becomeParentOf(condition);
6419 this.rightParenthesis = rightParenthesis;
6336 this._thenStatement = becomeParentOf(thenStatement); 6420 this._thenStatement = becomeParentOf(thenStatement);
6421 this.elseKeyword = elseKeyword;
6337 this._elseStatement = becomeParentOf(elseStatement); 6422 this._elseStatement = becomeParentOf(elseStatement);
6338 } 6423 }
6339 6424
6340 @override 6425 @override
6341 accept(AstVisitor visitor) => visitor.visitIfStatement(this); 6426 accept(AstVisitor visitor) => visitor.visitIfStatement(this);
6342 6427
6343 @override 6428 @override
6344 Token get beginToken => ifKeyword; 6429 Token get beginToken => ifKeyword;
6345 6430
6346 /** 6431 /**
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
6430 * The interfaces that are being implemented. 6515 * The interfaces that are being implemented.
6431 */ 6516 */
6432 NodeList<TypeName> _interfaces; 6517 NodeList<TypeName> _interfaces;
6433 6518
6434 /** 6519 /**
6435 * Initialize a newly created implements clause. 6520 * Initialize a newly created implements clause.
6436 * 6521 *
6437 * @param keyword the token representing the 'implements' keyword 6522 * @param keyword the token representing the 'implements' keyword
6438 * @param interfaces the interfaces that are being implemented 6523 * @param interfaces the interfaces that are being implemented
6439 */ 6524 */
6440 ImplementsClause(this.keyword, List<TypeName> interfaces) { 6525 ImplementsClause(Token keyword, List<TypeName> interfaces) {
6441 this._interfaces = new NodeList<TypeName>(this); 6526 this._interfaces = new NodeList<TypeName>(this);
6527 this.keyword = keyword;
6442 this._interfaces.addAll(interfaces); 6528 this._interfaces.addAll(interfaces);
6443 } 6529 }
6444 6530
6445 @override 6531 @override
6446 accept(AstVisitor visitor) => visitor.visitImplementsClause(this); 6532 accept(AstVisitor visitor) => visitor.visitImplementsClause(this);
6447 6533
6448 @override 6534 @override
6449 Token get beginToken => keyword; 6535 Token get beginToken => keyword;
6450 6536
6451 @override 6537 @override
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
6580 * 6666 *
6581 * @param comment the documentation comment associated with this directive 6667 * @param comment the documentation comment associated with this directive
6582 * @param metadata the annotations associated with the directive 6668 * @param metadata the annotations associated with the directive
6583 * @param keyword the token representing the 'import' keyword 6669 * @param keyword the token representing the 'import' keyword
6584 * @param libraryUri the URI of the library being imported 6670 * @param libraryUri the URI of the library being imported
6585 * @param asToken the token representing the 'as' token 6671 * @param asToken the token representing the 'as' token
6586 * @param prefix the prefix to be used with the imported names 6672 * @param prefix the prefix to be used with the imported names
6587 * @param combinators the combinators used to control how names are imported 6673 * @param combinators the combinators used to control how names are imported
6588 * @param semicolon the semicolon terminating the directive 6674 * @param semicolon the semicolon terminating the directive
6589 */ 6675 */
6590 ImportDirective(Comment comment, List<Annotation> metadata, Token keyword, Str ingLiteral libraryUri, this.asToken, SimpleIdentifier prefix, List<Combinator> c ombinators, Token semicolon) : super(comment, metadata, keyword, libraryUri, com binators, semicolon) { 6676 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) {
6677 this.asToken = asToken;
6591 this._prefix = becomeParentOf(prefix); 6678 this._prefix = becomeParentOf(prefix);
6592 } 6679 }
6593 6680
6594 @override 6681 @override
6595 accept(AstVisitor visitor) => visitor.visitImportDirective(this); 6682 accept(AstVisitor visitor) => visitor.visitImportDirective(this);
6596 6683
6597 @override 6684 @override
6598 ImportElement get element => super.element as ImportElement; 6685 ImportElement get element => super.element as ImportElement;
6599 6686
6600 /** 6687 /**
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
6704 } 6791 }
6705 6792
6706 /** 6793 /**
6707 * Initialize a newly created index expression. 6794 * Initialize a newly created index expression.
6708 * 6795 *
6709 * @param period the period ("..") before a cascaded index expression 6796 * @param period the period ("..") before a cascaded index expression
6710 * @param leftBracket the left square bracket 6797 * @param leftBracket the left square bracket
6711 * @param index the expression used to compute the index 6798 * @param index the expression used to compute the index
6712 * @param rightBracket the right square bracket 6799 * @param rightBracket the right square bracket
6713 */ 6800 */
6714 IndexExpression.forCascade(this.period, Token leftBracket, Expression index, T oken rightBracket) { 6801 IndexExpression.forCascade(Token period, Token leftBracket, Expression index, Token rightBracket) {
6802 this.period = period;
6715 this._leftBracket = leftBracket; 6803 this._leftBracket = leftBracket;
6716 this._index = becomeParentOf(index); 6804 this._index = becomeParentOf(index);
6717 this._rightBracket = rightBracket; 6805 this._rightBracket = rightBracket;
6718 } 6806 }
6719 6807
6720 @override 6808 @override
6721 accept(AstVisitor visitor) => visitor.visitIndexExpression(this); 6809 accept(AstVisitor visitor) => visitor.visitIndexExpression(this);
6722 6810
6723 @override 6811 @override
6724 Token get beginToken { 6812 Token get beginToken {
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
7013 */ 7101 */
7014 ConstructorElement staticElement; 7102 ConstructorElement staticElement;
7015 7103
7016 /** 7104 /**
7017 * Initialize a newly created instance creation expression. 7105 * Initialize a newly created instance creation expression.
7018 * 7106 *
7019 * @param keyword the keyword used to indicate how an object should be created 7107 * @param keyword the keyword used to indicate how an object should be created
7020 * @param constructorName the name of the constructor to be invoked 7108 * @param constructorName the name of the constructor to be invoked
7021 * @param argumentList the list of arguments to the constructor 7109 * @param argumentList the list of arguments to the constructor
7022 */ 7110 */
7023 InstanceCreationExpression(this.keyword, ConstructorName constructorName, Argu mentList argumentList) { 7111 InstanceCreationExpression(Token keyword, ConstructorName constructorName, Arg umentList argumentList) {
7112 this.keyword = keyword;
7024 this.constructorName = becomeParentOf(constructorName); 7113 this.constructorName = becomeParentOf(constructorName);
7025 this._argumentList = becomeParentOf(argumentList); 7114 this._argumentList = becomeParentOf(argumentList);
7026 } 7115 }
7027 7116
7028 @override 7117 @override
7029 accept(AstVisitor visitor) => visitor.visitInstanceCreationExpression(this); 7118 accept(AstVisitor visitor) => visitor.visitInstanceCreationExpression(this);
7030 7119
7031 /** 7120 /**
7032 * Return the list of arguments to the constructor. 7121 * Return the list of arguments to the constructor.
7033 * 7122 *
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
7093 * The value of the literal. 7182 * The value of the literal.
7094 */ 7183 */
7095 int value = 0; 7184 int value = 0;
7096 7185
7097 /** 7186 /**
7098 * Initialize a newly created integer literal. 7187 * Initialize a newly created integer literal.
7099 * 7188 *
7100 * @param literal the token representing the literal 7189 * @param literal the token representing the literal
7101 * @param value the value of the literal 7190 * @param value the value of the literal
7102 */ 7191 */
7103 IntegerLiteral(this.literal, this.value); 7192 IntegerLiteral(Token literal, int value) {
7193 this.literal = literal;
7194 this.value = value;
7195 }
7104 7196
7105 @override 7197 @override
7106 accept(AstVisitor visitor) => visitor.visitIntegerLiteral(this); 7198 accept(AstVisitor visitor) => visitor.visitIntegerLiteral(this);
7107 7199
7108 @override 7200 @override
7109 Token get beginToken => literal; 7201 Token get beginToken => literal;
7110 7202
7111 @override 7203 @override
7112 Token get endToken => literal; 7204 Token get endToken => literal;
7113 7205
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
7156 */ 7248 */
7157 Token rightBracket; 7249 Token rightBracket;
7158 7250
7159 /** 7251 /**
7160 * Initialize a newly created interpolation expression. 7252 * Initialize a newly created interpolation expression.
7161 * 7253 *
7162 * @param leftBracket the left curly bracket 7254 * @param leftBracket the left curly bracket
7163 * @param expression the expression to be evaluated for the value to be conver ted into a string 7255 * @param expression the expression to be evaluated for the value to be conver ted into a string
7164 * @param rightBracket the right curly bracket 7256 * @param rightBracket the right curly bracket
7165 */ 7257 */
7166 InterpolationExpression(this.leftBracket, Expression expression, this.rightBra cket) { 7258 InterpolationExpression(Token leftBracket, Expression expression, Token rightB racket) {
7259 this.leftBracket = leftBracket;
7167 this._expression = becomeParentOf(expression); 7260 this._expression = becomeParentOf(expression);
7261 this.rightBracket = rightBracket;
7168 } 7262 }
7169 7263
7170 @override 7264 @override
7171 accept(AstVisitor visitor) => visitor.visitInterpolationExpression(this); 7265 accept(AstVisitor visitor) => visitor.visitInterpolationExpression(this);
7172 7266
7173 @override 7267 @override
7174 Token get beginToken => leftBracket; 7268 Token get beginToken => leftBracket;
7175 7269
7176 @override 7270 @override
7177 Token get endToken { 7271 Token get endToken {
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
7311 TypeName _type; 7405 TypeName _type;
7312 7406
7313 /** 7407 /**
7314 * Initialize a newly created is expression. 7408 * Initialize a newly created is expression.
7315 * 7409 *
7316 * @param expression the expression used to compute the value whose type is be ing tested 7410 * @param expression the expression used to compute the value whose type is be ing tested
7317 * @param isOperator the is operator 7411 * @param isOperator the is operator
7318 * @param notOperator the not operator, or `null` if the sense of the test is not negated 7412 * @param notOperator the not operator, or `null` if the sense of the test is not negated
7319 * @param type the name of the type being tested for 7413 * @param type the name of the type being tested for
7320 */ 7414 */
7321 IsExpression(Expression expression, this.isOperator, this.notOperator, TypeNam e type) { 7415 IsExpression(Expression expression, Token isOperator, Token notOperator, TypeN ame type) {
7322 this._expression = becomeParentOf(expression); 7416 this._expression = becomeParentOf(expression);
7417 this.isOperator = isOperator;
7418 this.notOperator = notOperator;
7323 this._type = becomeParentOf(type); 7419 this._type = becomeParentOf(type);
7324 } 7420 }
7325 7421
7326 @override 7422 @override
7327 accept(AstVisitor visitor) => visitor.visitIsExpression(this); 7423 accept(AstVisitor visitor) => visitor.visitIsExpression(this);
7328 7424
7329 @override 7425 @override
7330 Token get beginToken => _expression.beginToken; 7426 Token get beginToken => _expression.beginToken;
7331 7427
7332 @override 7428 @override
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
7393 * The colon that separates the label from the statement. 7489 * The colon that separates the label from the statement.
7394 */ 7490 */
7395 Token colon; 7491 Token colon;
7396 7492
7397 /** 7493 /**
7398 * Initialize a newly created label. 7494 * Initialize a newly created label.
7399 * 7495 *
7400 * @param label the label being applied 7496 * @param label the label being applied
7401 * @param colon the colon that separates the label from whatever follows 7497 * @param colon the colon that separates the label from whatever follows
7402 */ 7498 */
7403 Label(SimpleIdentifier label, this.colon) { 7499 Label(SimpleIdentifier label, Token colon) {
7404 this._label = becomeParentOf(label); 7500 this._label = becomeParentOf(label);
7501 this.colon = colon;
7405 } 7502 }
7406 7503
7407 @override 7504 @override
7408 accept(AstVisitor visitor) => visitor.visitLabel(this); 7505 accept(AstVisitor visitor) => visitor.visitLabel(this);
7409 7506
7410 @override 7507 @override
7411 Token get beginToken => _label.beginToken; 7508 Token get beginToken => _label.beginToken;
7412 7509
7413 @override 7510 @override
7414 Token get endToken => colon; 7511 Token get endToken => colon;
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
7537 7634
7538 /** 7635 /**
7539 * Initialize a newly created library directive. 7636 * Initialize a newly created library directive.
7540 * 7637 *
7541 * @param comment the documentation comment associated with this directive 7638 * @param comment the documentation comment associated with this directive
7542 * @param metadata the annotations associated with the directive 7639 * @param metadata the annotations associated with the directive
7543 * @param libraryToken the token representing the 'library' token 7640 * @param libraryToken the token representing the 'library' token
7544 * @param name the name of the library being defined 7641 * @param name the name of the library being defined
7545 * @param semicolon the semicolon terminating the directive 7642 * @param semicolon the semicolon terminating the directive
7546 */ 7643 */
7547 LibraryDirective(Comment comment, List<Annotation> metadata, this.libraryToken , LibraryIdentifier name, this.semicolon) : super(comment, metadata) { 7644 LibraryDirective(Comment comment, List<Annotation> metadata, Token libraryToke n, LibraryIdentifier name, Token semicolon) : super(comment, metadata) {
7645 this.libraryToken = libraryToken;
7548 this._name = becomeParentOf(name); 7646 this._name = becomeParentOf(name);
7647 this.semicolon = semicolon;
7549 } 7648 }
7550 7649
7551 @override 7650 @override
7552 accept(AstVisitor visitor) => visitor.visitLibraryDirective(this); 7651 accept(AstVisitor visitor) => visitor.visitLibraryDirective(this);
7553 7652
7554 @override 7653 @override
7555 Token get endToken => semicolon; 7654 Token get endToken => semicolon;
7556 7655
7557 @override 7656 @override
7558 Token get keyword => libraryToken; 7657 Token get keyword => libraryToken;
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after
7913 */ 8012 */
7914 Expression _value; 8013 Expression _value;
7915 8014
7916 /** 8015 /**
7917 * Initialize a newly created map literal entry. 8016 * Initialize a newly created map literal entry.
7918 * 8017 *
7919 * @param key the expression computing the key with which the value will be as sociated 8018 * @param key the expression computing the key with which the value will be as sociated
7920 * @param separator the colon that separates the key from the value 8019 * @param separator the colon that separates the key from the value
7921 * @param value the expression computing the value that will be associated wit h the key 8020 * @param value the expression computing the value that will be associated wit h the key
7922 */ 8021 */
7923 MapLiteralEntry(Expression key, this.separator, Expression value) { 8022 MapLiteralEntry(Expression key, Token separator, Expression value) {
7924 this._key = becomeParentOf(key); 8023 this._key = becomeParentOf(key);
8024 this.separator = separator;
7925 this._value = becomeParentOf(value); 8025 this._value = becomeParentOf(value);
7926 } 8026 }
7927 8027
7928 @override 8028 @override
7929 accept(AstVisitor visitor) => visitor.visitMapLiteralEntry(this); 8029 accept(AstVisitor visitor) => visitor.visitMapLiteralEntry(this);
7930 8030
7931 @override 8031 @override
7932 Token get beginToken => _key.beginToken; 8032 Token get beginToken => _key.beginToken;
7933 8033
7934 @override 8034 @override
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
8043 * @param metadata the annotations associated with this method 8143 * @param metadata the annotations associated with this method
8044 * @param modifierKeyword the token representing the 'abstract' or 'static' ke yword 8144 * @param modifierKeyword the token representing the 'abstract' or 'static' ke yword
8045 * @param returnType the return type of the method 8145 * @param returnType the return type of the method
8046 * @param propertyKeyword the token representing the 'get' or 'set' keyword 8146 * @param propertyKeyword the token representing the 'get' or 'set' keyword
8047 * @param operatorKeyword the token representing the 'operator' keyword 8147 * @param operatorKeyword the token representing the 'operator' keyword
8048 * @param name the name of the method 8148 * @param name the name of the method
8049 * @param parameters the parameters associated with the method, or `null` if t his method 8149 * @param parameters the parameters associated with the method, or `null` if t his method
8050 * declares a getter 8150 * declares a getter
8051 * @param body the body of the method 8151 * @param body the body of the method
8052 */ 8152 */
8053 MethodDeclaration(Comment comment, List<Annotation> metadata, this.externalKey word, this.modifierKeyword, TypeName returnType, this.propertyKeyword, this.oper atorKeyword, SimpleIdentifier name, FormalParameterList parameters, FunctionBody body) : super(comment, metadata) { 8153 MethodDeclaration(Comment comment, List<Annotation> metadata, Token externalKe yword, Token modifierKeyword, TypeName returnType, Token propertyKeyword, Token operatorKeyword, SimpleIdentifier name, FormalParameterList parameters, Function Body body) : super(comment, metadata) {
8154 this.externalKeyword = externalKeyword;
8155 this.modifierKeyword = modifierKeyword;
8054 this._returnType = becomeParentOf(returnType); 8156 this._returnType = becomeParentOf(returnType);
8157 this.propertyKeyword = propertyKeyword;
8158 this.operatorKeyword = operatorKeyword;
8055 this._name = becomeParentOf(name); 8159 this._name = becomeParentOf(name);
8056 this._parameters = becomeParentOf(parameters); 8160 this._parameters = becomeParentOf(parameters);
8057 this._body = becomeParentOf(body); 8161 this._body = becomeParentOf(body);
8058 } 8162 }
8059 8163
8060 @override 8164 @override
8061 accept(AstVisitor visitor) => visitor.visitMethodDeclaration(this); 8165 accept(AstVisitor visitor) => visitor.visitMethodDeclaration(this);
8062 8166
8063 /** 8167 /**
8064 * Return the body of the method. 8168 * Return the body of the method.
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
8234 ArgumentList _argumentList; 8338 ArgumentList _argumentList;
8235 8339
8236 /** 8340 /**
8237 * Initialize a newly created method invocation. 8341 * Initialize a newly created method invocation.
8238 * 8342 *
8239 * @param target the expression producing the object on which the method is de fined 8343 * @param target the expression producing the object on which the method is de fined
8240 * @param period the period that separates the target from the method name 8344 * @param period the period that separates the target from the method name
8241 * @param methodName the name of the method being invoked 8345 * @param methodName the name of the method being invoked
8242 * @param argumentList the list of arguments to the method 8346 * @param argumentList the list of arguments to the method
8243 */ 8347 */
8244 MethodInvocation(Expression target, this.period, SimpleIdentifier methodName, ArgumentList argumentList) { 8348 MethodInvocation(Expression target, Token period, SimpleIdentifier methodName, ArgumentList argumentList) {
8245 this._target = becomeParentOf(target); 8349 this._target = becomeParentOf(target);
8350 this.period = period;
8246 this._methodName = becomeParentOf(methodName); 8351 this._methodName = becomeParentOf(methodName);
8247 this._argumentList = becomeParentOf(argumentList); 8352 this._argumentList = becomeParentOf(argumentList);
8248 } 8353 }
8249 8354
8250 @override 8355 @override
8251 accept(AstVisitor visitor) => visitor.visitMethodInvocation(this); 8356 accept(AstVisitor visitor) => visitor.visitMethodInvocation(this);
8252 8357
8253 /** 8358 /**
8254 * Return the list of arguments to the method. 8359 * Return the list of arguments to the method.
8255 * 8360 *
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
8483 /** 8588 /**
8484 * Initialize a newly created namespace directive. 8589 * Initialize a newly created namespace directive.
8485 * 8590 *
8486 * @param comment the documentation comment associated with this directive 8591 * @param comment the documentation comment associated with this directive
8487 * @param metadata the annotations associated with the directive 8592 * @param metadata the annotations associated with the directive
8488 * @param keyword the token representing the 'import' or 'export' keyword 8593 * @param keyword the token representing the 'import' or 'export' keyword
8489 * @param libraryUri the URI of the library being imported or exported 8594 * @param libraryUri the URI of the library being imported or exported
8490 * @param combinators the combinators used to control which names are imported or exported 8595 * @param combinators the combinators used to control which names are imported or exported
8491 * @param semicolon the semicolon terminating the directive 8596 * @param semicolon the semicolon terminating the directive
8492 */ 8597 */
8493 NamespaceDirective(Comment comment, List<Annotation> metadata, this.keyword, S tringLiteral libraryUri, List<Combinator> combinators, this.semicolon) : super(c omment, metadata, libraryUri) { 8598 NamespaceDirective(Comment comment, List<Annotation> metadata, Token keyword, StringLiteral libraryUri, List<Combinator> combinators, Token semicolon) : super (comment, metadata, libraryUri) {
8494 this._combinators = new NodeList<Combinator>(this); 8599 this._combinators = new NodeList<Combinator>(this);
8600 this.keyword = keyword;
8495 this._combinators.addAll(combinators); 8601 this._combinators.addAll(combinators);
8602 this.semicolon = semicolon;
8496 } 8603 }
8497 8604
8498 /** 8605 /**
8499 * Return the combinators used to control how names are imported or exported. 8606 * Return the combinators used to control how names are imported or exported.
8500 * 8607 *
8501 * @return the combinators used to control how names are imported or exported 8608 * @return the combinators used to control how names are imported or exported
8502 */ 8609 */
8503 NodeList<Combinator> get combinators => _combinators; 8610 NodeList<Combinator> get combinators => _combinators;
8504 8611
8505 @override 8612 @override
(...skipping 25 matching lines...) Expand all
8531 * The name of the native object that implements the class. 8638 * The name of the native object that implements the class.
8532 */ 8639 */
8533 StringLiteral name; 8640 StringLiteral name;
8534 8641
8535 /** 8642 /**
8536 * Initialize a newly created native clause. 8643 * Initialize a newly created native clause.
8537 * 8644 *
8538 * @param keyword the token representing the 'native' keyword 8645 * @param keyword the token representing the 'native' keyword
8539 * @param name the name of the native object that implements the class. 8646 * @param name the name of the native object that implements the class.
8540 */ 8647 */
8541 NativeClause(this.keyword, this.name); 8648 NativeClause(Token keyword, StringLiteral name) {
8649 this.keyword = keyword;
8650 this.name = name;
8651 }
8542 8652
8543 @override 8653 @override
8544 accept(AstVisitor visitor) => visitor.visitNativeClause(this); 8654 accept(AstVisitor visitor) => visitor.visitNativeClause(this);
8545 8655
8546 @override 8656 @override
8547 Token get beginToken => keyword; 8657 Token get beginToken => keyword;
8548 8658
8549 @override 8659 @override
8550 Token get endToken => name.endToken; 8660 Token get endToken => name.endToken;
8551 8661
8552 @override 8662 @override
8553 void visitChildren(AstVisitor visitor) { 8663 void visitChildren(AstVisitor visitor) {
8554 safelyVisitChild(name, visitor); 8664 safelyVisitChild(name, visitor);
8555 } 8665 }
8556 } 8666 }
8557 8667
8558 /** 8668 /**
8559 * Instances of the class `NativeFunctionBody` represent a function body that co nsists of a 8669 * Instances of the class `NativeFunctionBody` represent a function body that co nsists of a
8560 * native keyword followed by a string literal. 8670 * native keyword followed by a string literal.
8561 * 8671 *
8562 * <pre> 8672 * <pre>
8563 * nativeFunctionBody ::= 8673 * nativeFunctionBody ::=
8564 * 'native' [SimpleStringLiteral] ';' 8674 * 'native' [SimpleStringLiteral] ';'
8565 * </pre> 8675 * </pre>
8566 */ 8676 */
8567 class NativeFunctionBody extends FunctionBody { 8677 class NativeFunctionBody extends FunctionBody {
8568 /** 8678 /**
8569 * The token representing 'native' that marks the start of the function body. 8679 * The token representing 'native' that marks the start of the function body.
8570 */ 8680 */
8571 final Token nativeToken; 8681 Token nativeToken;
8572 8682
8573 /** 8683 /**
8574 * The string literal, after the 'native' token. 8684 * The string literal, after the 'native' token.
8575 */ 8685 */
8576 StringLiteral _stringLiteral; 8686 StringLiteral _stringLiteral;
8577 8687
8578 /** 8688 /**
8579 * The token representing the semicolon that marks the end of the function bod y. 8689 * The token representing the semicolon that marks the end of the function bod y.
8580 */ 8690 */
8581 final Token semicolon; 8691 Token semicolon;
8582 8692
8583 /** 8693 /**
8584 * Initialize a newly created function body consisting of the 'native' token, a string literal, 8694 * Initialize a newly created function body consisting of the 'native' token, a string literal,
8585 * and a semicolon. 8695 * and a semicolon.
8586 * 8696 *
8587 * @param nativeToken the token representing 'native' that marks the start of the function body 8697 * @param nativeToken the token representing 'native' that marks the start of the function body
8588 * @param stringLiteral the string literal 8698 * @param stringLiteral the string literal
8589 * @param semicolon the token representing the semicolon that marks the end of the function body 8699 * @param semicolon the token representing the semicolon that marks the end of the function body
8590 */ 8700 */
8591 NativeFunctionBody(this.nativeToken, StringLiteral stringLiteral, this.semicol on) { 8701 NativeFunctionBody(Token nativeToken, StringLiteral stringLiteral, Token semic olon) {
8702 this.nativeToken = nativeToken;
8592 this._stringLiteral = becomeParentOf(stringLiteral); 8703 this._stringLiteral = becomeParentOf(stringLiteral);
8704 this.semicolon = semicolon;
8593 } 8705 }
8594 8706
8595 @override 8707 @override
8596 accept(AstVisitor visitor) => visitor.visitNativeFunctionBody(this); 8708 accept(AstVisitor visitor) => visitor.visitNativeFunctionBody(this);
8597 8709
8598 @override 8710 @override
8599 Token get beginToken => nativeToken; 8711 Token get beginToken => nativeToken;
8600 8712
8601 @override 8713 @override
8602 Token get endToken => semicolon; 8714 Token get endToken => semicolon;
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after
8908 9020
8909 /** 9021 /**
8910 * Initialize a newly created part directive. 9022 * Initialize a newly created part directive.
8911 * 9023 *
8912 * @param comment the documentation comment associated with this directive 9024 * @param comment the documentation comment associated with this directive
8913 * @param metadata the annotations associated with the directive 9025 * @param metadata the annotations associated with the directive
8914 * @param partToken the token representing the 'part' token 9026 * @param partToken the token representing the 'part' token
8915 * @param partUri the URI of the part being included 9027 * @param partUri the URI of the part being included
8916 * @param semicolon the semicolon terminating the directive 9028 * @param semicolon the semicolon terminating the directive
8917 */ 9029 */
8918 PartDirective(Comment comment, List<Annotation> metadata, this.partToken, Stri ngLiteral partUri, this.semicolon) : super(comment, metadata, partUri); 9030 PartDirective(Comment comment, List<Annotation> metadata, Token partToken, Str ingLiteral partUri, Token semicolon) : super(comment, metadata, partUri) {
9031 this.partToken = partToken;
9032 this.semicolon = semicolon;
9033 }
8919 9034
8920 @override 9035 @override
8921 accept(AstVisitor visitor) => visitor.visitPartDirective(this); 9036 accept(AstVisitor visitor) => visitor.visitPartDirective(this);
8922 9037
8923 @override 9038 @override
8924 Token get endToken => semicolon; 9039 Token get endToken => semicolon;
8925 9040
8926 @override 9041 @override
8927 Token get keyword => partToken; 9042 Token get keyword => partToken;
8928 9043
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
8965 /** 9080 /**
8966 * Initialize a newly created part-of directive. 9081 * Initialize a newly created part-of directive.
8967 * 9082 *
8968 * @param comment the documentation comment associated with this directive 9083 * @param comment the documentation comment associated with this directive
8969 * @param metadata the annotations associated with the directive 9084 * @param metadata the annotations associated with the directive
8970 * @param partToken the token representing the 'part' token 9085 * @param partToken the token representing the 'part' token
8971 * @param ofToken the token representing the 'of' token 9086 * @param ofToken the token representing the 'of' token
8972 * @param libraryName the name of the library that the containing compilation unit is part of 9087 * @param libraryName the name of the library that the containing compilation unit is part of
8973 * @param semicolon the semicolon terminating the directive 9088 * @param semicolon the semicolon terminating the directive
8974 */ 9089 */
8975 PartOfDirective(Comment comment, List<Annotation> metadata, this.partToken, th is.ofToken, LibraryIdentifier libraryName, this.semicolon) : super(comment, meta data) { 9090 PartOfDirective(Comment comment, List<Annotation> metadata, Token partToken, T oken ofToken, LibraryIdentifier libraryName, Token semicolon) : super(comment, m etadata) {
9091 this.partToken = partToken;
9092 this.ofToken = ofToken;
8976 this._libraryName = becomeParentOf(libraryName); 9093 this._libraryName = becomeParentOf(libraryName);
9094 this.semicolon = semicolon;
8977 } 9095 }
8978 9096
8979 @override 9097 @override
8980 accept(AstVisitor visitor) => visitor.visitPartOfDirective(this); 9098 accept(AstVisitor visitor) => visitor.visitPartOfDirective(this);
8981 9099
8982 @override 9100 @override
8983 Token get endToken => semicolon; 9101 Token get endToken => semicolon;
8984 9102
8985 @override 9103 @override
8986 Token get keyword => partToken; 9104 Token get keyword => partToken;
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
9043 * or if the operator could not be resolved. 9161 * or if the operator could not be resolved.
9044 */ 9162 */
9045 MethodElement _staticElement; 9163 MethodElement _staticElement;
9046 9164
9047 /** 9165 /**
9048 * Initialize a newly created postfix expression. 9166 * Initialize a newly created postfix expression.
9049 * 9167 *
9050 * @param operand the expression computing the operand for the operator 9168 * @param operand the expression computing the operand for the operator
9051 * @param operator the postfix operator being applied to the operand 9169 * @param operator the postfix operator being applied to the operand
9052 */ 9170 */
9053 PostfixExpression(Expression operand, this.operator) { 9171 PostfixExpression(Expression operand, Token operator) {
9054 this._operand = becomeParentOf(operand); 9172 this._operand = becomeParentOf(operand);
9173 this.operator = operator;
9055 } 9174 }
9056 9175
9057 @override 9176 @override
9058 accept(AstVisitor visitor) => visitor.visitPostfixExpression(this); 9177 accept(AstVisitor visitor) => visitor.visitPostfixExpression(this);
9059 9178
9060 @override 9179 @override
9061 Token get beginToken => _operand.beginToken; 9180 Token get beginToken => _operand.beginToken;
9062 9181
9063 /** 9182 /**
9064 * Return the best element available for this operator. If resolution was able to find a better 9183 * Return the best element available for this operator. If resolution was able to find a better
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
9218 * or if the operator could not be resolved. 9337 * or if the operator could not be resolved.
9219 */ 9338 */
9220 MethodElement _propagatedElement; 9339 MethodElement _propagatedElement;
9221 9340
9222 /** 9341 /**
9223 * Initialize a newly created prefix expression. 9342 * Initialize a newly created prefix expression.
9224 * 9343 *
9225 * @param operator the prefix operator being applied to the operand 9344 * @param operator the prefix operator being applied to the operand
9226 * @param operand the expression computing the operand for the operator 9345 * @param operand the expression computing the operand for the operator
9227 */ 9346 */
9228 PrefixExpression(this.operator, Expression operand) { 9347 PrefixExpression(Token operator, Expression operand) {
9348 this.operator = operator;
9229 this._operand = becomeParentOf(operand); 9349 this._operand = becomeParentOf(operand);
9230 } 9350 }
9231 9351
9232 @override 9352 @override
9233 accept(AstVisitor visitor) => visitor.visitPrefixExpression(this); 9353 accept(AstVisitor visitor) => visitor.visitPrefixExpression(this);
9234 9354
9235 @override 9355 @override
9236 Token get beginToken => operator; 9356 Token get beginToken => operator;
9237 9357
9238 /** 9358 /**
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
9387 */ 9507 */
9388 SimpleIdentifier _identifier; 9508 SimpleIdentifier _identifier;
9389 9509
9390 /** 9510 /**
9391 * Initialize a newly created prefixed identifier. 9511 * Initialize a newly created prefixed identifier.
9392 * 9512 *
9393 * @param prefix the identifier being prefixed 9513 * @param prefix the identifier being prefixed
9394 * @param period the period used to separate the prefix from the identifier 9514 * @param period the period used to separate the prefix from the identifier
9395 * @param identifier the prefix associated with the library in which the ident ifier is defined 9515 * @param identifier the prefix associated with the library in which the ident ifier is defined
9396 */ 9516 */
9397 PrefixedIdentifier(SimpleIdentifier prefix, this.period, SimpleIdentifier iden tifier) { 9517 PrefixedIdentifier(SimpleIdentifier prefix, Token period, SimpleIdentifier ide ntifier) {
9398 this._prefix = becomeParentOf(prefix); 9518 this._prefix = becomeParentOf(prefix);
9519 this.period = period;
9399 this._identifier = becomeParentOf(identifier); 9520 this._identifier = becomeParentOf(identifier);
9400 } 9521 }
9401 9522
9402 @override 9523 @override
9403 accept(AstVisitor visitor) => visitor.visitPrefixedIdentifier(this); 9524 accept(AstVisitor visitor) => visitor.visitPrefixedIdentifier(this);
9404 9525
9405 @override 9526 @override
9406 Token get beginToken => _prefix.beginToken; 9527 Token get beginToken => _prefix.beginToken;
9407 9528
9408 @override 9529 @override
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
9506 */ 9627 */
9507 SimpleIdentifier _propertyName; 9628 SimpleIdentifier _propertyName;
9508 9629
9509 /** 9630 /**
9510 * Initialize a newly created property access expression. 9631 * Initialize a newly created property access expression.
9511 * 9632 *
9512 * @param target the expression computing the object defining the property bei ng accessed 9633 * @param target the expression computing the object defining the property bei ng accessed
9513 * @param operator the property access operator 9634 * @param operator the property access operator
9514 * @param propertyName the name of the property being accessed 9635 * @param propertyName the name of the property being accessed
9515 */ 9636 */
9516 PropertyAccess(Expression target, this.operator, SimpleIdentifier propertyName ) { 9637 PropertyAccess(Expression target, Token operator, SimpleIdentifier propertyNam e) {
9517 this._target = becomeParentOf(target); 9638 this._target = becomeParentOf(target);
9639 this.operator = operator;
9518 this._propertyName = becomeParentOf(propertyName); 9640 this._propertyName = becomeParentOf(propertyName);
9519 } 9641 }
9520 9642
9521 @override 9643 @override
9522 accept(AstVisitor visitor) => visitor.visitPropertyAccess(this); 9644 accept(AstVisitor visitor) => visitor.visitPropertyAccess(this);
9523 9645
9524 @override 9646 @override
9525 Token get beginToken { 9647 Token get beginToken {
9526 if (_target != null) { 9648 if (_target != null) {
9527 return _target.beginToken; 9649 return _target.beginToken;
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
9652 9774
9653 /** 9775 /**
9654 * Initialize a newly created redirecting invocation to invoke the constructor with the given name 9776 * Initialize a newly created redirecting invocation to invoke the constructor with the given name
9655 * with the given arguments. 9777 * with the given arguments.
9656 * 9778 *
9657 * @param keyword the token for the 'this' keyword 9779 * @param keyword the token for the 'this' keyword
9658 * @param period the token for the period before the name of the constructor t hat is being invoked 9780 * @param period the token for the period before the name of the constructor t hat is being invoked
9659 * @param constructorName the name of the constructor that is being invoked 9781 * @param constructorName the name of the constructor that is being invoked
9660 * @param argumentList the list of arguments to the constructor 9782 * @param argumentList the list of arguments to the constructor
9661 */ 9783 */
9662 RedirectingConstructorInvocation(this.keyword, this.period, SimpleIdentifier c onstructorName, ArgumentList argumentList) { 9784 RedirectingConstructorInvocation(Token keyword, Token period, SimpleIdentifier constructorName, ArgumentList argumentList) {
9785 this.keyword = keyword;
9786 this.period = period;
9663 this._constructorName = becomeParentOf(constructorName); 9787 this._constructorName = becomeParentOf(constructorName);
9664 this._argumentList = becomeParentOf(argumentList); 9788 this._argumentList = becomeParentOf(argumentList);
9665 } 9789 }
9666 9790
9667 @override 9791 @override
9668 accept(AstVisitor visitor) => visitor.visitRedirectingConstructorInvocation(th is); 9792 accept(AstVisitor visitor) => visitor.visitRedirectingConstructorInvocation(th is);
9669 9793
9670 /** 9794 /**
9671 * Return the list of arguments to the constructor. 9795 * Return the list of arguments to the constructor.
9672 * 9796 *
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
9725 /** 9849 /**
9726 * The token representing the 'rethrow' keyword. 9850 * The token representing the 'rethrow' keyword.
9727 */ 9851 */
9728 Token keyword; 9852 Token keyword;
9729 9853
9730 /** 9854 /**
9731 * Initialize a newly created rethrow expression. 9855 * Initialize a newly created rethrow expression.
9732 * 9856 *
9733 * @param keyword the token representing the 'rethrow' keyword 9857 * @param keyword the token representing the 'rethrow' keyword
9734 */ 9858 */
9735 RethrowExpression(this.keyword); 9859 RethrowExpression(Token keyword) {
9860 this.keyword = keyword;
9861 }
9736 9862
9737 @override 9863 @override
9738 accept(AstVisitor visitor) => visitor.visitRethrowExpression(this); 9864 accept(AstVisitor visitor) => visitor.visitRethrowExpression(this);
9739 9865
9740 @override 9866 @override
9741 Token get beginToken => keyword; 9867 Token get beginToken => keyword;
9742 9868
9743 @override 9869 @override
9744 Token get endToken => keyword; 9870 Token get endToken => keyword;
9745 9871
(...skipping 30 matching lines...) Expand all
9776 */ 9902 */
9777 Token semicolon; 9903 Token semicolon;
9778 9904
9779 /** 9905 /**
9780 * Initialize a newly created return statement. 9906 * Initialize a newly created return statement.
9781 * 9907 *
9782 * @param keyword the token representing the 'return' keyword 9908 * @param keyword the token representing the 'return' keyword
9783 * @param expression the expression computing the value to be returned 9909 * @param expression the expression computing the value to be returned
9784 * @param semicolon the semicolon terminating the statement 9910 * @param semicolon the semicolon terminating the statement
9785 */ 9911 */
9786 ReturnStatement(this.keyword, Expression expression, this.semicolon) { 9912 ReturnStatement(Token keyword, Expression expression, Token semicolon) {
9913 this.keyword = keyword;
9787 this._expression = becomeParentOf(expression); 9914 this._expression = becomeParentOf(expression);
9915 this.semicolon = semicolon;
9788 } 9916 }
9789 9917
9790 @override 9918 @override
9791 accept(AstVisitor visitor) => visitor.visitReturnStatement(this); 9919 accept(AstVisitor visitor) => visitor.visitReturnStatement(this);
9792 9920
9793 @override 9921 @override
9794 Token get beginToken => keyword; 9922 Token get beginToken => keyword;
9795 9923
9796 @override 9924 @override
9797 Token get endToken => semicolon; 9925 Token get endToken => semicolon;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
9832 /** 9960 /**
9833 * The token representing this script tag. 9961 * The token representing this script tag.
9834 */ 9962 */
9835 Token scriptTag; 9963 Token scriptTag;
9836 9964
9837 /** 9965 /**
9838 * Initialize a newly created script tag. 9966 * Initialize a newly created script tag.
9839 * 9967 *
9840 * @param scriptTag the token representing this script tag 9968 * @param scriptTag the token representing this script tag
9841 */ 9969 */
9842 ScriptTag(this.scriptTag); 9970 ScriptTag(Token scriptTag) {
9971 this.scriptTag = scriptTag;
9972 }
9843 9973
9844 @override 9974 @override
9845 accept(AstVisitor visitor) => visitor.visitScriptTag(this); 9975 accept(AstVisitor visitor) => visitor.visitScriptTag(this);
9846 9976
9847 @override 9977 @override
9848 Token get beginToken => scriptTag; 9978 Token get beginToken => scriptTag;
9849 9979
9850 @override 9980 @override
9851 Token get endToken => scriptTag; 9981 Token get endToken => scriptTag;
9852 9982
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
9923 10053
9924 /** 10054 /**
9925 * Initialize a newly created formal parameter. 10055 * Initialize a newly created formal parameter.
9926 * 10056 *
9927 * @param comment the documentation comment associated with this parameter 10057 * @param comment the documentation comment associated with this parameter
9928 * @param metadata the annotations associated with this parameter 10058 * @param metadata the annotations associated with this parameter
9929 * @param keyword the token representing either the 'final', 'const' or 'var' keyword 10059 * @param keyword the token representing either the 'final', 'const' or 'var' keyword
9930 * @param type the name of the declared type of the parameter 10060 * @param type the name of the declared type of the parameter
9931 * @param identifier the name of the parameter being declared 10061 * @param identifier the name of the parameter being declared
9932 */ 10062 */
9933 SimpleFormalParameter(Comment comment, List<Annotation> metadata, this.keyword , TypeName type, SimpleIdentifier identifier) : super(comment, metadata, identif ier) { 10063 SimpleFormalParameter(Comment comment, List<Annotation> metadata, Token keywor d, TypeName type, SimpleIdentifier identifier) : super(comment, metadata, identi fier) {
10064 this.keyword = keyword;
9934 this._type = becomeParentOf(type); 10065 this._type = becomeParentOf(type);
9935 } 10066 }
9936 10067
9937 @override 10068 @override
9938 accept(AstVisitor visitor) => visitor.visitSimpleFormalParameter(this); 10069 accept(AstVisitor visitor) => visitor.visitSimpleFormalParameter(this);
9939 10070
9940 @override 10071 @override
9941 Token get beginToken { 10072 Token get beginToken {
9942 if (keyword != null) { 10073 if (keyword != null) {
9943 return keyword; 10074 return keyword;
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
10017 * be set to hold onto the static and propagated information. The auxiliary el ement will hold onto 10148 * be set to hold onto the static and propagated information. The auxiliary el ement will hold onto
10018 * the elements from the getter context. 10149 * the elements from the getter context.
10019 */ 10150 */
10020 AuxiliaryElements auxiliaryElements = null; 10151 AuxiliaryElements auxiliaryElements = null;
10021 10152
10022 /** 10153 /**
10023 * Initialize a newly created identifier. 10154 * Initialize a newly created identifier.
10024 * 10155 *
10025 * @param token the token representing the identifier 10156 * @param token the token representing the identifier
10026 */ 10157 */
10027 SimpleIdentifier(this.token); 10158 SimpleIdentifier(Token token) {
10159 this.token = token;
10160 }
10028 10161
10029 @override 10162 @override
10030 accept(AstVisitor visitor) => visitor.visitSimpleIdentifier(this); 10163 accept(AstVisitor visitor) => visitor.visitSimpleIdentifier(this);
10031 10164
10032 @override 10165 @override
10033 Token get beginToken => token; 10166 Token get beginToken => token;
10034 10167
10035 @override 10168 @override
10036 Element get bestElement { 10169 Element get bestElement {
10037 if (_propagatedElement == null) { 10170 if (_propagatedElement == null) {
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
10292 * The toolkit specific element associated with this literal, or `null`. 10425 * The toolkit specific element associated with this literal, or `null`.
10293 */ 10426 */
10294 Element _toolkitElement; 10427 Element _toolkitElement;
10295 10428
10296 /** 10429 /**
10297 * Initialize a newly created simple string literal. 10430 * Initialize a newly created simple string literal.
10298 * 10431 *
10299 * @param literal the token representing the literal 10432 * @param literal the token representing the literal
10300 * @param value the value of the literal 10433 * @param value the value of the literal
10301 */ 10434 */
10302 SimpleStringLiteral(this.literal, String value) { 10435 SimpleStringLiteral(Token literal, String value) {
10436 this.literal = literal;
10303 this._value = StringUtilities.intern(value); 10437 this._value = StringUtilities.intern(value);
10304 } 10438 }
10305 10439
10306 @override 10440 @override
10307 accept(AstVisitor visitor) => visitor.visitSimpleStringLiteral(this); 10441 accept(AstVisitor visitor) => visitor.visitSimpleStringLiteral(this);
10308 10442
10309 @override 10443 @override
10310 Token get beginToken => literal; 10444 Token get beginToken => literal;
10311 10445
10312 @override 10446 @override
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
10549 10683
10550 /** 10684 /**
10551 * Initialize a newly created super invocation to invoke the inherited constru ctor with the given 10685 * Initialize a newly created super invocation to invoke the inherited constru ctor with the given
10552 * name with the given arguments. 10686 * name with the given arguments.
10553 * 10687 *
10554 * @param keyword the token for the 'super' keyword 10688 * @param keyword the token for the 'super' keyword
10555 * @param period the token for the period before the name of the constructor t hat is being invoked 10689 * @param period the token for the period before the name of the constructor t hat is being invoked
10556 * @param constructorName the name of the constructor that is being invoked 10690 * @param constructorName the name of the constructor that is being invoked
10557 * @param argumentList the list of arguments to the constructor 10691 * @param argumentList the list of arguments to the constructor
10558 */ 10692 */
10559 SuperConstructorInvocation(this.keyword, this.period, SimpleIdentifier constru ctorName, ArgumentList argumentList) { 10693 SuperConstructorInvocation(Token keyword, Token period, SimpleIdentifier const ructorName, ArgumentList argumentList) {
10694 this.keyword = keyword;
10695 this.period = period;
10560 this._constructorName = becomeParentOf(constructorName); 10696 this._constructorName = becomeParentOf(constructorName);
10561 this._argumentList = becomeParentOf(argumentList); 10697 this._argumentList = becomeParentOf(argumentList);
10562 } 10698 }
10563 10699
10564 @override 10700 @override
10565 accept(AstVisitor visitor) => visitor.visitSuperConstructorInvocation(this); 10701 accept(AstVisitor visitor) => visitor.visitSuperConstructorInvocation(this);
10566 10702
10567 /** 10703 /**
10568 * Return the list of arguments to the constructor. 10704 * Return the list of arguments to the constructor.
10569 * 10705 *
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
10622 /** 10758 /**
10623 * The token representing the keyword. 10759 * The token representing the keyword.
10624 */ 10760 */
10625 Token keyword; 10761 Token keyword;
10626 10762
10627 /** 10763 /**
10628 * Initialize a newly created super expression. 10764 * Initialize a newly created super expression.
10629 * 10765 *
10630 * @param keyword the token representing the keyword 10766 * @param keyword the token representing the keyword
10631 */ 10767 */
10632 SuperExpression(this.keyword); 10768 SuperExpression(Token keyword) {
10769 this.keyword = keyword;
10770 }
10633 10771
10634 @override 10772 @override
10635 accept(AstVisitor visitor) => visitor.visitSuperExpression(this); 10773 accept(AstVisitor visitor) => visitor.visitSuperExpression(this);
10636 10774
10637 @override 10775 @override
10638 Token get beginToken => keyword; 10776 Token get beginToken => keyword;
10639 10777
10640 @override 10778 @override
10641 Token get endToken => keyword; 10779 Token get endToken => keyword;
10642 10780
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
10763 NodeList<Statement> _statements; 10901 NodeList<Statement> _statements;
10764 10902
10765 /** 10903 /**
10766 * Initialize a newly created switch member. 10904 * Initialize a newly created switch member.
10767 * 10905 *
10768 * @param labels the labels associated with the switch member 10906 * @param labels the labels associated with the switch member
10769 * @param keyword the token representing the 'case' or 'default' keyword 10907 * @param keyword the token representing the 'case' or 'default' keyword
10770 * @param colon the colon separating the keyword or the expression from the st atements 10908 * @param colon the colon separating the keyword or the expression from the st atements
10771 * @param statements the statements that will be executed if this switch membe r is selected 10909 * @param statements the statements that will be executed if this switch membe r is selected
10772 */ 10910 */
10773 SwitchMember(List<Label> labels, this.keyword, this.colon, List<Statement> sta tements) { 10911 SwitchMember(List<Label> labels, Token keyword, Token colon, List<Statement> s tatements) {
10774 this._labels = new NodeList<Label>(this); 10912 this._labels = new NodeList<Label>(this);
10775 this._statements = new NodeList<Statement>(this); 10913 this._statements = new NodeList<Statement>(this);
10776 this._labels.addAll(labels); 10914 this._labels.addAll(labels);
10915 this.keyword = keyword;
10916 this.colon = colon;
10777 this._statements.addAll(statements); 10917 this._statements.addAll(statements);
10778 } 10918 }
10779 10919
10780 @override 10920 @override
10781 Token get beginToken { 10921 Token get beginToken {
10782 if (!_labels.isEmpty) { 10922 if (!_labels.isEmpty) {
10783 return _labels.beginToken; 10923 return _labels.beginToken;
10784 } 10924 }
10785 return keyword; 10925 return keyword;
10786 } 10926 }
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
10856 * Initialize a newly created switch statement. 10996 * Initialize a newly created switch statement.
10857 * 10997 *
10858 * @param keyword the token representing the 'switch' keyword 10998 * @param keyword the token representing the 'switch' keyword
10859 * @param leftParenthesis the left parenthesis 10999 * @param leftParenthesis the left parenthesis
10860 * @param expression the expression used to determine which of the switch memb ers will be selected 11000 * @param expression the expression used to determine which of the switch memb ers will be selected
10861 * @param rightParenthesis the right parenthesis 11001 * @param rightParenthesis the right parenthesis
10862 * @param leftBracket the left curly bracket 11002 * @param leftBracket the left curly bracket
10863 * @param members the switch members that can be selected by the expression 11003 * @param members the switch members that can be selected by the expression
10864 * @param rightBracket the right curly bracket 11004 * @param rightBracket the right curly bracket
10865 */ 11005 */
10866 SwitchStatement(this.keyword, this.leftParenthesis, Expression expression, thi s.rightParenthesis, this.leftBracket, List<SwitchMember> members, this.rightBrac ket) { 11006 SwitchStatement(Token keyword, Token leftParenthesis, Expression expression, T oken rightParenthesis, Token leftBracket, List<SwitchMember> members, Token righ tBracket) {
10867 this._members = new NodeList<SwitchMember>(this); 11007 this._members = new NodeList<SwitchMember>(this);
11008 this.keyword = keyword;
11009 this.leftParenthesis = leftParenthesis;
10868 this._expression = becomeParentOf(expression); 11010 this._expression = becomeParentOf(expression);
11011 this.rightParenthesis = rightParenthesis;
11012 this.leftBracket = leftBracket;
10869 this._members.addAll(members); 11013 this._members.addAll(members);
11014 this.rightBracket = rightBracket;
10870 } 11015 }
10871 11016
10872 @override 11017 @override
10873 accept(AstVisitor visitor) => visitor.visitSwitchStatement(this); 11018 accept(AstVisitor visitor) => visitor.visitSwitchStatement(this);
10874 11019
10875 @override 11020 @override
10876 Token get beginToken => keyword; 11021 Token get beginToken => keyword;
10877 11022
10878 @override 11023 @override
10879 Token get endToken => rightBracket; 11024 Token get endToken => rightBracket;
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
10919 */ 11064 */
10920 class SymbolLiteral extends Literal { 11065 class SymbolLiteral extends Literal {
10921 /** 11066 /**
10922 * The token introducing the literal. 11067 * The token introducing the literal.
10923 */ 11068 */
10924 Token poundSign; 11069 Token poundSign;
10925 11070
10926 /** 11071 /**
10927 * The components of the literal. 11072 * The components of the literal.
10928 */ 11073 */
10929 final List<Token> components; 11074 List<Token> components;
10930 11075
10931 /** 11076 /**
10932 * Initialize a newly created symbol literal. 11077 * Initialize a newly created symbol literal.
10933 * 11078 *
10934 * @param poundSign the token introducing the literal 11079 * @param poundSign the token introducing the literal
10935 * @param components the components of the literal 11080 * @param components the components of the literal
10936 */ 11081 */
10937 SymbolLiteral(this.poundSign, this.components); 11082 SymbolLiteral(Token poundSign, List<Token> components) {
11083 this.poundSign = poundSign;
11084 this.components = components;
11085 }
10938 11086
10939 @override 11087 @override
10940 accept(AstVisitor visitor) => visitor.visitSymbolLiteral(this); 11088 accept(AstVisitor visitor) => visitor.visitSymbolLiteral(this);
10941 11089
10942 @override 11090 @override
10943 Token get beginToken => poundSign; 11091 Token get beginToken => poundSign;
10944 11092
10945 @override 11093 @override
10946 Token get endToken => components[components.length - 1]; 11094 Token get endToken => components[components.length - 1];
10947 11095
(...skipping 14 matching lines...) Expand all
10962 /** 11110 /**
10963 * The token representing the keyword. 11111 * The token representing the keyword.
10964 */ 11112 */
10965 Token keyword; 11113 Token keyword;
10966 11114
10967 /** 11115 /**
10968 * Initialize a newly created this expression. 11116 * Initialize a newly created this expression.
10969 * 11117 *
10970 * @param keyword the token representing the keyword 11118 * @param keyword the token representing the keyword
10971 */ 11119 */
10972 ThisExpression(this.keyword); 11120 ThisExpression(Token keyword) {
11121 this.keyword = keyword;
11122 }
10973 11123
10974 @override 11124 @override
10975 accept(AstVisitor visitor) => visitor.visitThisExpression(this); 11125 accept(AstVisitor visitor) => visitor.visitThisExpression(this);
10976 11126
10977 @override 11127 @override
10978 Token get beginToken => keyword; 11128 Token get beginToken => keyword;
10979 11129
10980 @override 11130 @override
10981 Token get endToken => keyword; 11131 Token get endToken => keyword;
10982 11132
(...skipping 23 matching lines...) Expand all
11006 * The expression computing the exception to be thrown. 11156 * The expression computing the exception to be thrown.
11007 */ 11157 */
11008 Expression _expression; 11158 Expression _expression;
11009 11159
11010 /** 11160 /**
11011 * Initialize a newly created throw expression. 11161 * Initialize a newly created throw expression.
11012 * 11162 *
11013 * @param keyword the token representing the 'throw' keyword 11163 * @param keyword the token representing the 'throw' keyword
11014 * @param expression the expression computing the exception to be thrown 11164 * @param expression the expression computing the exception to be thrown
11015 */ 11165 */
11016 ThrowExpression(this.keyword, Expression expression) { 11166 ThrowExpression(Token keyword, Expression expression) {
11167 this.keyword = keyword;
11017 this._expression = becomeParentOf(expression); 11168 this._expression = becomeParentOf(expression);
11018 } 11169 }
11019 11170
11020 @override 11171 @override
11021 accept(AstVisitor visitor) => visitor.visitThrowExpression(this); 11172 accept(AstVisitor visitor) => visitor.visitThrowExpression(this);
11022 11173
11023 @override 11174 @override
11024 Token get beginToken => keyword; 11175 Token get beginToken => keyword;
11025 11176
11026 @override 11177 @override
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
11078 Token semicolon; 11229 Token semicolon;
11079 11230
11080 /** 11231 /**
11081 * Initialize a newly created top-level variable declaration. 11232 * Initialize a newly created top-level variable declaration.
11082 * 11233 *
11083 * @param comment the documentation comment associated with this variable 11234 * @param comment the documentation comment associated with this variable
11084 * @param metadata the annotations associated with this variable 11235 * @param metadata the annotations associated with this variable
11085 * @param variableList the top-level variables being declared 11236 * @param variableList the top-level variables being declared
11086 * @param semicolon the semicolon terminating the declaration 11237 * @param semicolon the semicolon terminating the declaration
11087 */ 11238 */
11088 TopLevelVariableDeclaration(Comment comment, List<Annotation> metadata, Variab leDeclarationList variableList, this.semicolon) : super(comment, metadata) { 11239 TopLevelVariableDeclaration(Comment comment, List<Annotation> metadata, Variab leDeclarationList variableList, Token semicolon) : super(comment, metadata) {
11089 this._variableList = becomeParentOf(variableList); 11240 this._variableList = becomeParentOf(variableList);
11241 this.semicolon = semicolon;
11090 } 11242 }
11091 11243
11092 @override 11244 @override
11093 accept(AstVisitor visitor) => visitor.visitTopLevelVariableDeclaration(this); 11245 accept(AstVisitor visitor) => visitor.visitTopLevelVariableDeclaration(this);
11094 11246
11095 @override 11247 @override
11096 Element get element => null; 11248 Element get element => null;
11097 11249
11098 @override 11250 @override
11099 Token get endToken => semicolon; 11251 Token get endToken => semicolon;
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
11165 11317
11166 /** 11318 /**
11167 * Initialize a newly created try statement. 11319 * Initialize a newly created try statement.
11168 * 11320 *
11169 * @param tryKeyword the token representing the 'try' keyword 11321 * @param tryKeyword the token representing the 'try' keyword
11170 * @param body the body of the statement 11322 * @param body the body of the statement
11171 * @param catchClauses the catch clauses contained in the try statement 11323 * @param catchClauses the catch clauses contained in the try statement
11172 * @param finallyKeyword the token representing the 'finally' keyword 11324 * @param finallyKeyword the token representing the 'finally' keyword
11173 * @param finallyBlock the finally block contained in the try statement 11325 * @param finallyBlock the finally block contained in the try statement
11174 */ 11326 */
11175 TryStatement(this.tryKeyword, Block body, List<CatchClause> catchClauses, this .finallyKeyword, Block finallyBlock) { 11327 TryStatement(Token tryKeyword, Block body, List<CatchClause> catchClauses, Tok en finallyKeyword, Block finallyBlock) {
11176 this._catchClauses = new NodeList<CatchClause>(this); 11328 this._catchClauses = new NodeList<CatchClause>(this);
11329 this.tryKeyword = tryKeyword;
11177 this._body = becomeParentOf(body); 11330 this._body = becomeParentOf(body);
11178 this._catchClauses.addAll(catchClauses); 11331 this._catchClauses.addAll(catchClauses);
11332 this.finallyKeyword = finallyKeyword;
11179 this._finallyBlock = becomeParentOf(finallyBlock); 11333 this._finallyBlock = becomeParentOf(finallyBlock);
11180 } 11334 }
11181 11335
11182 @override 11336 @override
11183 accept(AstVisitor visitor) => visitor.visitTryStatement(this); 11337 accept(AstVisitor visitor) => visitor.visitTryStatement(this);
11184 11338
11185 @override 11339 @override
11186 Token get beginToken => tryKeyword; 11340 Token get beginToken => tryKeyword;
11187 11341
11188 /** 11342 /**
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
11269 Token semicolon; 11423 Token semicolon;
11270 11424
11271 /** 11425 /**
11272 * Initialize a newly created type alias. 11426 * Initialize a newly created type alias.
11273 * 11427 *
11274 * @param comment the documentation comment associated with this type alias 11428 * @param comment the documentation comment associated with this type alias
11275 * @param metadata the annotations associated with this type alias 11429 * @param metadata the annotations associated with this type alias
11276 * @param keyword the token representing the 'typedef' keyword 11430 * @param keyword the token representing the 'typedef' keyword
11277 * @param semicolon the semicolon terminating the declaration 11431 * @param semicolon the semicolon terminating the declaration
11278 */ 11432 */
11279 TypeAlias(Comment comment, List<Annotation> metadata, this.keyword, this.semic olon) : super(comment, metadata); 11433 TypeAlias(Comment comment, List<Annotation> metadata, Token keyword, Token sem icolon) : super(comment, metadata) {
11434 this.keyword = keyword;
11435 this.semicolon = semicolon;
11436 }
11280 11437
11281 @override 11438 @override
11282 Token get endToken => semicolon; 11439 Token get endToken => semicolon;
11283 11440
11284 @override 11441 @override
11285 Token get firstTokenAfterCommentAndMetadata => keyword; 11442 Token get firstTokenAfterCommentAndMetadata => keyword;
11286 } 11443 }
11287 11444
11288 /** 11445 /**
11289 * Instances of the class `TypeArgumentList` represent a list of type arguments. 11446 * Instances of the class `TypeArgumentList` represent a list of type arguments.
(...skipping 19 matching lines...) Expand all
11309 */ 11466 */
11310 Token rightBracket; 11467 Token rightBracket;
11311 11468
11312 /** 11469 /**
11313 * Initialize a newly created list of type arguments. 11470 * Initialize a newly created list of type arguments.
11314 * 11471 *
11315 * @param leftBracket the left bracket 11472 * @param leftBracket the left bracket
11316 * @param arguments the type arguments associated with the type 11473 * @param arguments the type arguments associated with the type
11317 * @param rightBracket the right bracket 11474 * @param rightBracket the right bracket
11318 */ 11475 */
11319 TypeArgumentList(this.leftBracket, List<TypeName> arguments, this.rightBracket ) { 11476 TypeArgumentList(Token leftBracket, List<TypeName> arguments, Token rightBrack et) {
11320 this._arguments = new NodeList<TypeName>(this); 11477 this._arguments = new NodeList<TypeName>(this);
11478 this.leftBracket = leftBracket;
11321 this._arguments.addAll(arguments); 11479 this._arguments.addAll(arguments);
11480 this.rightBracket = rightBracket;
11322 } 11481 }
11323 11482
11324 @override 11483 @override
11325 accept(AstVisitor visitor) => visitor.visitTypeArgumentList(this); 11484 accept(AstVisitor visitor) => visitor.visitTypeArgumentList(this);
11326 11485
11327 /** 11486 /**
11328 * Return the type arguments associated with the type. 11487 * Return the type arguments associated with the type.
11329 * 11488 *
11330 * @return the type arguments associated with the type 11489 * @return the type arguments associated with the type
11331 */ 11490 */
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
11465 11624
11466 /** 11625 /**
11467 * Initialize a newly created type parameter. 11626 * Initialize a newly created type parameter.
11468 * 11627 *
11469 * @param comment the documentation comment associated with the type parameter 11628 * @param comment the documentation comment associated with the type parameter
11470 * @param metadata the annotations associated with the type parameter 11629 * @param metadata the annotations associated with the type parameter
11471 * @param name the name of the type parameter 11630 * @param name the name of the type parameter
11472 * @param keyword the token representing the 'extends' keyword 11631 * @param keyword the token representing the 'extends' keyword
11473 * @param bound the name of the upper bound for legal arguments 11632 * @param bound the name of the upper bound for legal arguments
11474 */ 11633 */
11475 TypeParameter(Comment comment, List<Annotation> metadata, SimpleIdentifier nam e, this.keyword, TypeName bound) : super(comment, metadata) { 11634 TypeParameter(Comment comment, List<Annotation> metadata, SimpleIdentifier nam e, Token keyword, TypeName bound) : super(comment, metadata) {
11476 this._name = becomeParentOf(name); 11635 this._name = becomeParentOf(name);
11636 this.keyword = keyword;
11477 this._bound = becomeParentOf(bound); 11637 this._bound = becomeParentOf(bound);
11478 } 11638 }
11479 11639
11480 @override 11640 @override
11481 accept(AstVisitor visitor) => visitor.visitTypeParameter(this); 11641 accept(AstVisitor visitor) => visitor.visitTypeParameter(this);
11482 11642
11483 /** 11643 /**
11484 * Return the name of the upper bound for legal arguments, or `null` if there was no 11644 * Return the name of the upper bound for legal arguments, or `null` if there was no
11485 * explicit upper bound. 11645 * explicit upper bound.
11486 * 11646 *
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
11540 * 11700 *
11541 * <pre> 11701 * <pre>
11542 * typeParameterList ::= 11702 * typeParameterList ::=
11543 * '<' [TypeParameter] (',' [TypeParameter])* '>' 11703 * '<' [TypeParameter] (',' [TypeParameter])* '>'
11544 * </pre> 11704 * </pre>
11545 */ 11705 */
11546 class TypeParameterList extends AstNode { 11706 class TypeParameterList extends AstNode {
11547 /** 11707 /**
11548 * The left angle bracket. 11708 * The left angle bracket.
11549 */ 11709 */
11550 final Token leftBracket; 11710 Token leftBracket;
11551 11711
11552 /** 11712 /**
11553 * The type parameters in the list. 11713 * The type parameters in the list.
11554 */ 11714 */
11555 NodeList<TypeParameter> _typeParameters; 11715 NodeList<TypeParameter> _typeParameters;
11556 11716
11557 /** 11717 /**
11558 * The right angle bracket. 11718 * The right angle bracket.
11559 */ 11719 */
11560 final Token rightBracket; 11720 Token rightBracket;
11561 11721
11562 /** 11722 /**
11563 * Initialize a newly created list of type parameters. 11723 * Initialize a newly created list of type parameters.
11564 * 11724 *
11565 * @param leftBracket the left angle bracket 11725 * @param leftBracket the left angle bracket
11566 * @param typeParameters the type parameters in the list 11726 * @param typeParameters the type parameters in the list
11567 * @param rightBracket the right angle bracket 11727 * @param rightBracket the right angle bracket
11568 */ 11728 */
11569 TypeParameterList(this.leftBracket, List<TypeParameter> typeParameters, this.r ightBracket) { 11729 TypeParameterList(Token leftBracket, List<TypeParameter> typeParameters, Token rightBracket) {
11570 this._typeParameters = new NodeList<TypeParameter>(this); 11730 this._typeParameters = new NodeList<TypeParameter>(this);
11731 this.leftBracket = leftBracket;
11571 this._typeParameters.addAll(typeParameters); 11732 this._typeParameters.addAll(typeParameters);
11733 this.rightBracket = rightBracket;
11572 } 11734 }
11573 11735
11574 @override 11736 @override
11575 accept(AstVisitor visitor) => visitor.visitTypeParameterList(this); 11737 accept(AstVisitor visitor) => visitor.visitTypeParameterList(this);
11576 11738
11577 @override 11739 @override
11578 Token get beginToken => leftBracket; 11740 Token get beginToken => leftBracket;
11579 11741
11580 @override 11742 @override
11581 Token get endToken => rightBracket; 11743 Token get endToken => rightBracket;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
11615 */ 11777 */
11616 TypeArgumentList typeArguments; 11778 TypeArgumentList typeArguments;
11617 11779
11618 /** 11780 /**
11619 * Initialize a newly created typed literal. 11781 * Initialize a newly created typed literal.
11620 * 11782 *
11621 * @param constKeyword the token representing the 'const' keyword 11783 * @param constKeyword the token representing the 'const' keyword
11622 * @param typeArguments the type argument associated with this literal, or `nu ll` if no type 11784 * @param typeArguments the type argument associated with this literal, or `nu ll` if no type
11623 * arguments were declared 11785 * arguments were declared
11624 */ 11786 */
11625 TypedLiteral(this.constKeyword, TypeArgumentList typeArguments) { 11787 TypedLiteral(Token constKeyword, TypeArgumentList typeArguments) {
11788 this.constKeyword = constKeyword;
11626 this.typeArguments = becomeParentOf(typeArguments); 11789 this.typeArguments = becomeParentOf(typeArguments);
11627 } 11790 }
11628 11791
11629 @override 11792 @override
11630 void visitChildren(AstVisitor visitor) { 11793 void visitChildren(AstVisitor visitor) {
11631 safelyVisitChild(typeArguments, visitor); 11794 safelyVisitChild(typeArguments, visitor);
11632 } 11795 }
11633 } 11796 }
11634 11797
11635 /** 11798 /**
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
11732 11895
11733 /** 11896 /**
11734 * Initialize a newly created variable declaration. 11897 * Initialize a newly created variable declaration.
11735 * 11898 *
11736 * @param comment the documentation comment associated with this declaration 11899 * @param comment the documentation comment associated with this declaration
11737 * @param metadata the annotations associated with this member 11900 * @param metadata the annotations associated with this member
11738 * @param name the name of the variable being declared 11901 * @param name the name of the variable being declared
11739 * @param equals the equal sign separating the variable name from the initial value 11902 * @param equals the equal sign separating the variable name from the initial value
11740 * @param initializer the expression used to compute the initial value for the variable 11903 * @param initializer the expression used to compute the initial value for the variable
11741 */ 11904 */
11742 VariableDeclaration(Comment comment, List<Annotation> metadata, SimpleIdentifi er name, this.equals, Expression initializer) : super(comment, metadata) { 11905 VariableDeclaration(Comment comment, List<Annotation> metadata, SimpleIdentifi er name, Token equals, Expression initializer) : super(comment, metadata) {
11743 this._name = becomeParentOf(name); 11906 this._name = becomeParentOf(name);
11907 this.equals = equals;
11744 this._initializer = becomeParentOf(initializer); 11908 this._initializer = becomeParentOf(initializer);
11745 } 11909 }
11746 11910
11747 @override 11911 @override
11748 accept(AstVisitor visitor) => visitor.visitVariableDeclaration(this); 11912 accept(AstVisitor visitor) => visitor.visitVariableDeclaration(this);
11749 11913
11750 /** 11914 /**
11751 * This overridden implementation of getDocumentationComment() looks in the gr andparent node for 11915 * This overridden implementation of getDocumentationComment() looks in the gr andparent node for
11752 * dartdoc comments if no documentation is specifically available on the node. 11916 * dartdoc comments if no documentation is specifically available on the node.
11753 */ 11917 */
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
11876 12040
11877 /** 12041 /**
11878 * Initialize a newly created variable declaration list. 12042 * Initialize a newly created variable declaration list.
11879 * 12043 *
11880 * @param comment the documentation comment associated with this declaration l ist 12044 * @param comment the documentation comment associated with this declaration l ist
11881 * @param metadata the annotations associated with this declaration list 12045 * @param metadata the annotations associated with this declaration list
11882 * @param keyword the token representing the 'final', 'const' or 'var' keyword 12046 * @param keyword the token representing the 'final', 'const' or 'var' keyword
11883 * @param type the type of the variables being declared 12047 * @param type the type of the variables being declared
11884 * @param variables a list containing the individual variables being declared 12048 * @param variables a list containing the individual variables being declared
11885 */ 12049 */
11886 VariableDeclarationList(Comment comment, List<Annotation> metadata, this.keywo rd, TypeName type, List<VariableDeclaration> variables) : super(comment, metadat a) { 12050 VariableDeclarationList(Comment comment, List<Annotation> metadata, Token keyw ord, TypeName type, List<VariableDeclaration> variables) : super(comment, metada ta) {
11887 this._variables = new NodeList<VariableDeclaration>(this); 12051 this._variables = new NodeList<VariableDeclaration>(this);
12052 this.keyword = keyword;
11888 this._type = becomeParentOf(type); 12053 this._type = becomeParentOf(type);
11889 this._variables.addAll(variables); 12054 this._variables.addAll(variables);
11890 } 12055 }
11891 12056
11892 @override 12057 @override
11893 accept(AstVisitor visitor) => visitor.visitVariableDeclarationList(this); 12058 accept(AstVisitor visitor) => visitor.visitVariableDeclarationList(this);
11894 12059
11895 @override 12060 @override
11896 Token get endToken => _variables.endToken; 12061 Token get endToken => _variables.endToken;
11897 12062
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
11970 * The semicolon terminating the statement. 12135 * The semicolon terminating the statement.
11971 */ 12136 */
11972 Token semicolon; 12137 Token semicolon;
11973 12138
11974 /** 12139 /**
11975 * Initialize a newly created variable declaration statement. 12140 * Initialize a newly created variable declaration statement.
11976 * 12141 *
11977 * @param variableList the fields being declared 12142 * @param variableList the fields being declared
11978 * @param semicolon the semicolon terminating the statement 12143 * @param semicolon the semicolon terminating the statement
11979 */ 12144 */
11980 VariableDeclarationStatement(VariableDeclarationList variableList, this.semico lon) { 12145 VariableDeclarationStatement(VariableDeclarationList variableList, Token semic olon) {
11981 this._variableList = becomeParentOf(variableList); 12146 this._variableList = becomeParentOf(variableList);
12147 this.semicolon = semicolon;
11982 } 12148 }
11983 12149
11984 @override 12150 @override
11985 accept(AstVisitor visitor) => visitor.visitVariableDeclarationStatement(this); 12151 accept(AstVisitor visitor) => visitor.visitVariableDeclarationStatement(this);
11986 12152
11987 @override 12153 @override
11988 Token get beginToken => _variableList.beginToken; 12154 Token get beginToken => _variableList.beginToken;
11989 12155
11990 @override 12156 @override
11991 Token get endToken => semicolon; 12157 Token get endToken => semicolon;
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
12048 12214
12049 /** 12215 /**
12050 * Initialize a newly created while statement. 12216 * Initialize a newly created while statement.
12051 * 12217 *
12052 * @param keyword the token representing the 'while' keyword 12218 * @param keyword the token representing the 'while' keyword
12053 * @param leftParenthesis the left parenthesis 12219 * @param leftParenthesis the left parenthesis
12054 * @param condition the expression used to determine whether to execute the bo dy of the loop 12220 * @param condition the expression used to determine whether to execute the bo dy of the loop
12055 * @param rightParenthesis the right parenthesis 12221 * @param rightParenthesis the right parenthesis
12056 * @param body the body of the loop 12222 * @param body the body of the loop
12057 */ 12223 */
12058 WhileStatement(this.keyword, this.leftParenthesis, Expression condition, this. rightParenthesis, Statement body) { 12224 WhileStatement(Token keyword, Token leftParenthesis, Expression condition, Tok en rightParenthesis, Statement body) {
12225 this.keyword = keyword;
12226 this.leftParenthesis = leftParenthesis;
12059 this._condition = becomeParentOf(condition); 12227 this._condition = becomeParentOf(condition);
12228 this.rightParenthesis = rightParenthesis;
12060 this._body = becomeParentOf(body); 12229 this._body = becomeParentOf(body);
12061 } 12230 }
12062 12231
12063 @override 12232 @override
12064 accept(AstVisitor visitor) => visitor.visitWhileStatement(this); 12233 accept(AstVisitor visitor) => visitor.visitWhileStatement(this);
12065 12234
12066 @override 12235 @override
12067 Token get beginToken => keyword; 12236 Token get beginToken => keyword;
12068 12237
12069 /** 12238 /**
(...skipping 5544 matching lines...) Expand 10 before | Expand all | Expand 10 after
17614 _elements[index] = node; 17783 _elements[index] = node;
17615 } 17784 }
17616 void clear() { 17785 void clear() {
17617 _elements = <E> []; 17786 _elements = <E> [];
17618 } 17787 }
17619 int get length => _elements.length; 17788 int get length => _elements.length;
17620 void set length(int value) { 17789 void set length(int value) {
17621 throw new UnsupportedError("Cannot resize NodeList."); 17790 throw new UnsupportedError("Cannot resize NodeList.");
17622 } 17791 }
17623 } 17792 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698