| 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/ast/ast.dart'; | 9 import 'package:analyzer/dart/ast/ast.dart'; |
| 10 import 'package:analyzer/dart/ast/syntactic_entity.dart'; | 10 import 'package:analyzer/dart/ast/syntactic_entity.dart'; |
| (...skipping 2205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2216 } | 2216 } |
| 2217 | 2217 |
| 2218 /** | 2218 /** |
| 2219 * Given an invocation of the form 'e.m(a1, ..., an)', resolve 'e.m' to the | 2219 * Given an invocation of the form 'e.m(a1, ..., an)', resolve 'e.m' to the |
| 2220 * element being invoked. If the returned element is a method, then the method | 2220 * element being invoked. If the returned element is a method, then the method |
| 2221 * will be invoked. If the returned element is a getter, the getter will be | 2221 * will be invoked. If the returned element is a getter, the getter will be |
| 2222 * invoked without arguments and the result of that invocation will then be | 2222 * invoked without arguments and the result of that invocation will then be |
| 2223 * invoked with the arguments. The [target] is the target of the invocation | 2223 * invoked with the arguments. The [target] is the target of the invocation |
| 2224 * ('e'). The [targetType] is the type of the target. The [methodName] is th | 2224 * ('e'). The [targetType] is the type of the target. The [methodName] is th |
| 2225 * name of the method being invoked ('m'). [isConditional] indicates | 2225 * name of the method being invoked ('m'). [isConditional] indicates |
| 2226 * whether the invocatoin uses a '?.' operator. | 2226 * whether the invocation uses a '?.' operator. |
| 2227 */ | 2227 */ |
| 2228 Element _resolveInvokedElementWithTarget(Expression target, | 2228 Element _resolveInvokedElementWithTarget(Expression target, |
| 2229 DartType targetType, SimpleIdentifier methodName, bool isConditional) { | 2229 DartType targetType, SimpleIdentifier methodName, bool isConditional) { |
| 2230 String name = methodName.name; | 2230 String name = methodName.name; |
| 2231 if (targetType is InterfaceType) { | 2231 if (targetType is InterfaceType) { |
| 2232 Element element = _lookUpMethod(target, targetType, name); | 2232 Element element = _lookUpMethod(target, targetType, name); |
| 2233 if (element == null) { | 2233 if (element == null) { |
| 2234 // | 2234 // |
| 2235 // If there's no method, then it's possible that 'm' is a getter that | 2235 // If there's no method, then it's possible that 'm' is a getter that |
| 2236 // returns a function. | 2236 // returns a function. |
| (...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2649 | 2649 |
| 2650 @override | 2650 @override |
| 2651 Element get staticElement => null; | 2651 Element get staticElement => null; |
| 2652 | 2652 |
| 2653 @override | 2653 @override |
| 2654 dynamic/*=E*/ accept/*<E>*/(AstVisitor/*<E>*/ visitor) => null; | 2654 dynamic/*=E*/ accept/*<E>*/(AstVisitor/*<E>*/ visitor) => null; |
| 2655 | 2655 |
| 2656 @override | 2656 @override |
| 2657 void visitChildren(AstVisitor visitor) {} | 2657 void visitChildren(AstVisitor visitor) {} |
| 2658 } | 2658 } |
| OLD | NEW |