| // @dart = 2.9 |
| abstract class Implement1 { |
| void method(covariant int a, int b, int c, int d, int e) {} |
| } |
| |
| class C extends Object with M1, M2 {} |
| |
| class Direct { |
| void named({covariant int a, int b, covariant int c, int d}) {} |
| void optional([covariant int a, int b, covariant int c, int d]) {} |
| void positional(covariant int a, int b, covariant int c, int d, int e) {} |
| } |
| |
| class Implement2 { |
| void method(int a, covariant int b, int c, int d, int e) {} |
| } |
| |
| class Implement3 { |
| void method(int a, int b, covariant int c, int d, int e) {} |
| } |
| |
| class Implement4 implements Implement3 { |
| void method(int a, int b, int c, covariant int d, int e) {} |
| } |
| |
| class Implement5 implements Implement1, Implement2, Implement4 { |
| void method(int a, int b, int c, int d, covariant int e) {} |
| } |
| |
| class Inherited extends Direct {} |
| |
| class Interface1 { |
| void method(covariant int a, int b, int c, int d, int e) {} |
| } |
| |
| class Interface2 { |
| void method(int a, covariant int b, int c, int d, int e) {} |
| } |
| |
| class M1 { |
| method(covariant int a, int b) {} |
| } |
| |
| class M2 { |
| method(int a, covariant int b) {} |
| } |
| |
| class Mixed extends Superclass |
| with Mixin1, Mixin2 |
| implements Interface1, Interface2 {} |
| |
| class Mixin1 { |
| void method(int a, int b, covariant int c, int d, int e) {} |
| } |
| |
| class Mixin2 { |
| void method(int a, int b, int c, covariant int d, int e) {} |
| } |
| |
| class Override1 { |
| void method(covariant int a, int b, int c, int d, int e) {} |
| } |
| |
| class Override2 extends Override1 { |
| void method(int a, int b, covariant int c, int d, int e) {} |
| } |
| |
| class Override3 extends Override2 { |
| void method(int a, int b, int c, int d, int e) {} |
| } |
| |
| class Superclass { |
| void method(int a, int b, int c, int d, covariant int e) {} |
| } |
| |
| typedef void TakeInts(int a, int b, int c, int d, int e); |
| typedef void TakeNamedInts({int a, int b, int c, int d}); |
| typedef void TakeNamedObjectsAndInts({Object a, int b, Object c, int d}); |
| typedef void TakeObjects(Object a, Object b, Object c, Object d, Object e); |
| typedef void TakeObjectsAndInts(Object a, int b, Object c, int d, int e); |
| typedef void TakeOptionalInts([int a, int b, int c, int d]); |
| typedef void TakeOptionalObjectsAndInts([Object a, int b, Object c, int d]); |
| void isTrue(bool value) {} |
| void main() {} |
| void testDirect() {} |
| void testImplemented() {} |
| void testInherited() {} |
| void testMixed() {} |
| void testOverridden() {} |