6e3b91507b
This ensures that if the class containing the `.call` method is generic, the appropriate substitutions will be made. Fixes #32238. Change-Id: Ie72ebffc8f3a8233a7e4d7f9cec1d5fd7b2eec97 Reviewed-on: https://dart-review.googlesource.com/42380 Reviewed-by: Kevin Millikin <kmillikin@google.com> Commit-Queue: Paul Berry <paulberry@google.com>
27 lines
738 B
Dart
27 lines
738 B
Dart
// 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(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());
|
|
}
|