blob: 1f4d7dafbf899c050831e54325071948c2168b22 [file] [log] [blame]
// Copyright (c) 2018, 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
abstract class A {
void foo1(Object x) {}
dynamic get foo2;
set foo3(int x);
}
class B {
void bar1(Object arg) {}
dynamic get bar2 => null;
set bar3(int y) {}
int bar4;
}
class C {
interfaceCalls(A aa, Object a2, Object a3, Object a4) {
aa.foo1(new B());
aa.foo3 = aa.foo2;
a4 = aa.foo2(a2, a3, aa.foo1);
return a4;
}
dynamicCalls(dynamic aa, Object a2, Object a3, Object a4) {
aa.foo1(new B());
aa.foo3 = aa.foo2;
a4 = aa.foo2(a2, a3, aa.foo1);
return a4;
}
}
class D extends B {
superCalls(Object a1, Object a2, Object a3, Object a4) {
super.bar1(a1);
super.bar3 = super.bar4;
a4 = super.bar2(a2, a3, super.bar1);
return a4;
}
}
main() {}