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 968 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
979 // return true; | 979 // return true; |
980 // } | 980 // } |
981 // } | 981 // } |
982 // return false; | 982 // return false; |
983 // } | 983 // } |
984 | 984 |
985 bool _hasTypeOrSuperType(ClassElement element, InterfaceType type) { | 985 bool _hasTypeOrSuperType(ClassElement element, InterfaceType type) { |
986 if (element == null) { | 986 if (element == null) { |
987 return false; | 987 return false; |
988 } | 988 } |
989 if (element.type == type) { | |
990 return true; | |
991 } | |
992 ClassElement typeElement = type.element; | 989 ClassElement typeElement = type.element; |
993 return element.allSupertypes | 990 return element == typeElement || |
994 .any((InterfaceType t) => t.element == typeElement); | 991 element.allSupertypes |
| 992 .any((InterfaceType t) => t.element == typeElement); |
995 } | 993 } |
996 | 994 |
997 /** | 995 /** |
998 * Given a parenthesized expression, this returns the parent (or recursively g
rand-parent) of the | 996 * Given a parenthesized expression, this returns the parent (or recursively g
rand-parent) of the |
999 * expression that is a parenthesized expression, but whose parent is not a pa
renthesized | 997 * expression that is a parenthesized expression, but whose parent is not a pa
renthesized |
1000 * expression. | 998 * expression. |
1001 * | 999 * |
1002 * For example given the code `(((e)))`: `(e) -> (((e)))`. | 1000 * For example given the code `(((e)))`: `(e) -> (((e)))`. |
1003 * | 1001 * |
1004 * @param parenthesizedExpression some expression whose parent is a parenthesi
zed expression | 1002 * @param parenthesizedExpression some expression whose parent is a parenthesi
zed expression |
(...skipping 9927 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10932 return null; | 10930 return null; |
10933 } | 10931 } |
10934 if (identical(node.staticElement, variable)) { | 10932 if (identical(node.staticElement, variable)) { |
10935 if (node.inSetterContext()) { | 10933 if (node.inSetterContext()) { |
10936 result = true; | 10934 result = true; |
10937 } | 10935 } |
10938 } | 10936 } |
10939 return null; | 10937 return null; |
10940 } | 10938 } |
10941 } | 10939 } |
OLD | NEW |