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.element_resolver; | 5 library analyzer.src.generated.element_resolver; |
6 | 6 |
7 import 'dart:collection'; | 7 import 'dart:collection'; |
8 | 8 |
9 import 'package:analyzer/dart/element/element.dart'; | 9 import 'package:analyzer/dart/element/element.dart'; |
10 import 'package:analyzer/dart/element/type.dart'; | 10 import 'package:analyzer/dart/element/type.dart'; |
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
256 } | 256 } |
257 } | 257 } |
258 } else if (identifier is PrefixedIdentifier) { | 258 } else if (identifier is PrefixedIdentifier) { |
259 PrefixedIdentifier prefixedIdentifier = identifier; | 259 PrefixedIdentifier prefixedIdentifier = identifier; |
260 SimpleIdentifier prefix = prefixedIdentifier.prefix; | 260 SimpleIdentifier prefix = prefixedIdentifier.prefix; |
261 SimpleIdentifier name = prefixedIdentifier.identifier; | 261 SimpleIdentifier name = prefixedIdentifier.identifier; |
262 Element element = _resolveSimpleIdentifier(prefix); | 262 Element element = _resolveSimpleIdentifier(prefix); |
263 if (element == null) { | 263 if (element == null) { |
264 // resolver.reportError(StaticWarningCode.UNDEFINED_IDENTIFIER, prefix, p
refix.getName()); | 264 // resolver.reportError(StaticWarningCode.UNDEFINED_IDENTIFIER, prefix, p
refix.getName()); |
265 } else { | 265 } else { |
| 266 prefix.staticElement = element; |
266 if (element is PrefixElement) { | 267 if (element is PrefixElement) { |
267 prefix.staticElement = element; | |
268 // TODO(brianwilkerson) Report this error? | 268 // TODO(brianwilkerson) Report this error? |
269 element = _resolver.nameScope.lookup(identifier, _definingLibrary); | 269 element = _resolver.nameScope.lookup(identifier, _definingLibrary); |
270 name.staticElement = element; | 270 name.staticElement = element; |
271 return null; | 271 return null; |
272 } | 272 } |
273 LibraryElement library = element.library; | 273 LibraryElement library = element.library; |
274 if (library == null) { | 274 if (library == null) { |
275 // TODO(brianwilkerson) We need to understand how the library could | 275 // TODO(brianwilkerson) We need to understand how the library could |
276 // ever be null. | 276 // ever be null. |
277 AnalysisEngine.instance.logger | 277 AnalysisEngine.instance.logger |
278 .logError("Found element with null library: ${element.name}"); | 278 .logError("Found element with null library: ${element.name}"); |
279 } else if (library != _definingLibrary) { | 279 } else if (library != _definingLibrary) { |
280 // TODO(brianwilkerson) Report this error. | 280 // TODO(brianwilkerson) Report this error. |
281 } | 281 } |
282 name.staticElement = element; | |
283 if (node.newKeyword == null) { | 282 if (node.newKeyword == null) { |
284 if (element is ClassElement) { | 283 if (element is ClassElement) { |
285 Element memberElement = | 284 Element memberElement = |
286 _lookupGetterOrMethod(element.type, name.name); | 285 _lookupGetterOrMethod(element.type, name.name); |
287 if (memberElement == null) { | 286 if (memberElement == null) { |
288 memberElement = element.getNamedConstructor(name.name); | 287 memberElement = element.getNamedConstructor(name.name); |
289 if (memberElement == null) { | 288 if (memberElement == null) { |
290 memberElement = _lookUpSetter(prefix, element.type, name.name); | 289 memberElement = _lookUpSetter(prefix, element.type, name.name); |
291 } | 290 } |
292 } | 291 } |
(...skipping 2352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2645 | 2644 |
2646 @override | 2645 @override |
2647 Element get staticElement => null; | 2646 Element get staticElement => null; |
2648 | 2647 |
2649 @override | 2648 @override |
2650 accept(AstVisitor visitor) => null; | 2649 accept(AstVisitor visitor) => null; |
2651 | 2650 |
2652 @override | 2651 @override |
2653 void visitChildren(AstVisitor visitor) {} | 2652 void visitChildren(AstVisitor visitor) {} |
2654 } | 2653 } |
OLD | NEW |