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

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

Issue 1925173002: Add a (public) utility method to clean-up code (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 4 years, 7 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
« no previous file with comments | « pkg/analyzer/lib/dart/ast/ast.dart ('k') | pkg/analyzer/lib/src/generated/resolver.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 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
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
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
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 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/dart/ast/ast.dart ('k') | pkg/analyzer/lib/src/generated/resolver.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698