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.generated.resolver; | 5 library analyzer.src.generated.resolver; |
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 3416 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3427 | 3427 |
3428 @override | 3428 @override |
3429 bool visitAssertStatement(AssertStatement node) => false; | 3429 bool visitAssertStatement(AssertStatement node) => false; |
3430 | 3430 |
3431 @override | 3431 @override |
3432 bool visitAssignmentExpression(AssignmentExpression node) { | 3432 bool visitAssignmentExpression(AssignmentExpression node) { |
3433 Expression leftHandSide = node.leftHandSide; | 3433 Expression leftHandSide = node.leftHandSide; |
3434 if (_nodeExits(leftHandSide)) { | 3434 if (_nodeExits(leftHandSide)) { |
3435 return true; | 3435 return true; |
3436 } | 3436 } |
3437 if (node.operator.type == TokenType.QUESTION_QUESTION_EQ) { | 3437 TokenType operatorType = node.operator.type; |
| 3438 if (operatorType == TokenType.AMPERSAND_AMPERSAND_EQ || |
| 3439 operatorType == TokenType.BAR_BAR_EQ || |
| 3440 operatorType == TokenType.QUESTION_QUESTION_EQ) { |
3438 return false; | 3441 return false; |
3439 } | 3442 } |
3440 if (leftHandSide is PropertyAccess && | 3443 if (leftHandSide is PropertyAccess && |
3441 leftHandSide.operator.type == TokenType.QUESTION_PERIOD) { | 3444 leftHandSide.operator.type == TokenType.QUESTION_PERIOD) { |
3442 return false; | 3445 return false; |
3443 } | 3446 } |
3444 return _nodeExits(node.rightHandSide); | 3447 return _nodeExits(node.rightHandSide); |
3445 } | 3448 } |
3446 | 3449 |
3447 @override | 3450 @override |
(...skipping 7543 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10991 return null; | 10994 return null; |
10992 } | 10995 } |
10993 if (identical(node.staticElement, variable)) { | 10996 if (identical(node.staticElement, variable)) { |
10994 if (node.inSetterContext()) { | 10997 if (node.inSetterContext()) { |
10995 result = true; | 10998 result = true; |
10996 } | 10999 } |
10997 } | 11000 } |
10998 return null; | 11001 return null; |
10999 } | 11002 } |
11000 } | 11003 } |
OLD | NEW |