blob: 013c8c79a152085af2d837486114253f7d9c02db [file] [log] [blame]
// 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.
// @dart=2.9
/*@testedFeatures=inference*/
library test;
abstract class I1 {
void f(int i);
}
abstract class I2 {
void f(Object o);
}
abstract class C implements I1, I2 {}
class D extends C {
void f(Object o) {}
}
abstract class E implements I2, I1 {}
class F extends E {
void f(Object o) {}
}
void g1(C c) {
c. /*@target=C.f*/ f('hi');
}
void g2(E e) {
e. /*@target=I2.f*/ f('hi');
}
main() {
g1(new D());
g2(new F());
}