| // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| /*@testedFeatures=inference*/ |
| library test; |
| |
| class ActionDispatcher<P> { |
| void call([P? value]) {} |
| } |
| |
| class Bar {} |
| |
| class FooActions { |
| ActionDispatcher<Bar> get foo => new ActionDispatcher<Bar>(); |
| } |
| |
| void main() { |
| new FooActions() |
| . /*@target=FooActions.foo*/ foo /*@target=ActionDispatcher.call*/ ( |
| new Bar()); |
| new FooActions() |
| . /*@target=FooActions.foo*/ foo |
| . /*@target=ActionDispatcher.call*/ call(new Bar()); |
| (new FooActions() |
| . /*@target=FooActions.foo*/ foo) /*@target=ActionDispatcher.call*/ ( |
| new Bar()); |
| } |