blob: 2283430000032d592b82b4f9cc1a6b66ec056160 [file] [log] [blame]
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "package:expect/expect.dart" as exp;
import "package:expect/expect.dart";
class A extends core::Object {
static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
constructor •() self::A
: super core::Object::•() {}
static factory foo() self::A
return self::C::bar();
method m() core::int {
return 1;
}
}
class C extends self::A {
static final field dynamic _redirecting# = <dynamic>[#C2]/*isLegacy*/;
constructor •() self::C
: super self::A::•() {}
static factory bar() self::C
return new self::D::•();
method m() core::int {
return 1;
}
}
class D extends self::C {
synthetic constructor •() self::D
: super self::C::•()
;
method m() core::int {
return 2;
}
}
static method main() dynamic {
self::A a = new self::D::•();
exp::Expect::equals(2, a.{self::A::m}(){() core::int});
}
constants {
#C1 = constructor-tearoff self::A::foo
#C2 = constructor-tearoff self::C::bar
}