| OLD | NEW |
| 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 library analyzer.src.dart.ast.ast; | 5 library analyzer.src.dart.ast.ast; |
| 6 | 6 |
| 7 import 'dart:collection'; | 7 import 'dart:collection'; |
| 8 | 8 |
| 9 import 'package:analyzer/dart/ast/ast.dart'; | 9 import 'package:analyzer/dart/ast/ast.dart'; |
| 10 import 'package:analyzer/dart/ast/token.dart'; | 10 import 'package:analyzer/dart/ast/token.dart'; |
| (...skipping 4045 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4056 if (identical(parent.rightHandSide, this)) { | 4056 if (identical(parent.rightHandSide, this)) { |
| 4057 return parent._staticParameterElementForRightHandSide; | 4057 return parent._staticParameterElementForRightHandSide; |
| 4058 } | 4058 } |
| 4059 } else if (parent is PrefixExpressionImpl) { | 4059 } else if (parent is PrefixExpressionImpl) { |
| 4060 return parent._staticParameterElementForOperand; | 4060 return parent._staticParameterElementForOperand; |
| 4061 } else if (parent is PostfixExpressionImpl) { | 4061 } else if (parent is PostfixExpressionImpl) { |
| 4062 return parent._staticParameterElementForOperand; | 4062 return parent._staticParameterElementForOperand; |
| 4063 } | 4063 } |
| 4064 return null; | 4064 return null; |
| 4065 } | 4065 } |
| 4066 |
| 4067 @override |
| 4068 Expression get unParenthesized => this; |
| 4066 } | 4069 } |
| 4067 | 4070 |
| 4068 /** | 4071 /** |
| 4069 * An expression used as a statement. | 4072 * An expression used as a statement. |
| 4070 * | 4073 * |
| 4071 * expressionStatement ::= | 4074 * expressionStatement ::= |
| 4072 * [Expression]? ';' | 4075 * [Expression]? ';' |
| 4073 */ | 4076 */ |
| 4074 class ExpressionStatementImpl extends StatementImpl | 4077 class ExpressionStatementImpl extends StatementImpl |
| 4075 implements ExpressionStatement { | 4078 implements ExpressionStatement { |
| (...skipping 3832 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7908 | 7911 |
| 7909 @override | 7912 @override |
| 7910 void set expression(Expression expression) { | 7913 void set expression(Expression expression) { |
| 7911 _expression = _becomeParentOf(expression); | 7914 _expression = _becomeParentOf(expression); |
| 7912 } | 7915 } |
| 7913 | 7916 |
| 7914 @override | 7917 @override |
| 7915 int get precedence => 15; | 7918 int get precedence => 15; |
| 7916 | 7919 |
| 7917 @override | 7920 @override |
| 7921 Expression get unParenthesized { |
| 7922 // This is somewhat inefficient, but it avoids a stack overflow in the |
| 7923 // degenerate case. |
| 7924 Expression expression = _expression; |
| 7925 while (expression is ParenthesizedExpressionImpl) { |
| 7926 expression = (expression as ParenthesizedExpressionImpl)._expression; |
| 7927 } |
| 7928 return expression; |
| 7929 } |
| 7930 |
| 7931 @override |
| 7918 dynamic/*=E*/ accept/*<E>*/(AstVisitor/*<E>*/ visitor) => | 7932 dynamic/*=E*/ accept/*<E>*/(AstVisitor/*<E>*/ visitor) => |
| 7919 visitor.visitParenthesizedExpression(this); | 7933 visitor.visitParenthesizedExpression(this); |
| 7920 | 7934 |
| 7921 @override | 7935 @override |
| 7922 void visitChildren(AstVisitor visitor) { | 7936 void visitChildren(AstVisitor visitor) { |
| 7923 _expression?.accept(visitor); | 7937 _expression?.accept(visitor); |
| 7924 } | 7938 } |
| 7925 } | 7939 } |
| 7926 | 7940 |
| 7927 /** | 7941 /** |
| (...skipping 3051 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10979 | 10993 |
| 10980 @override | 10994 @override |
| 10981 dynamic/*=E*/ accept/*<E>*/(AstVisitor/*<E>*/ visitor) => | 10995 dynamic/*=E*/ accept/*<E>*/(AstVisitor/*<E>*/ visitor) => |
| 10982 visitor.visitYieldStatement(this); | 10996 visitor.visitYieldStatement(this); |
| 10983 | 10997 |
| 10984 @override | 10998 @override |
| 10985 void visitChildren(AstVisitor visitor) { | 10999 void visitChildren(AstVisitor visitor) { |
| 10986 _expression?.accept(visitor); | 11000 _expression?.accept(visitor); |
| 10987 } | 11001 } |
| 10988 } | 11002 } |
| OLD | NEW |