blob: 4783efb3bf105b25fb53fbbb72491ea9eda0a70f [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
abstract class A extends core::Object {
constructor •() → void
: super core::Object::•()
;
}
abstract class B extends core::Object {
constructor •() → void
: super core::Object::•()
;
}
class AB1 extends self::A implements self::B {
constructor •() → void
: super self::A::•()
;
}
class AB2 extends self::A implements self::B {
constructor •() → void
: super self::A::•()
;
}
class BA1 extends self::B implements self::A {
constructor •() → void
: super self::B::•()
;
}
class BA2 extends self::B implements self::A {
constructor •() → void
: super self::B::•()
;
}
static method takeSubclassOfA(dynamic obj) → dynamic {}
static method takeSubclassOfB(dynamic obj) → dynamic {}
static method main() → dynamic {
self::takeSubclassOfA(new self::AB1::•());
self::takeSubclassOfA(new self::AB2::•());
self::takeSubclassOfB(new self::BA1::•());
self::takeSubclassOfB(new self::BA2::•());
}