blob: 05340b34d200934309e2b6bf02dc94f36e27d79d [file] [log] [blame]
library;
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 {
constructor •() self::A
: super core::Object::•() {}
static factory foo() self::A /* redirection-target: self::C::bar */
return self::C::bar();
method m() core::int {
return 1;
}
}
class C extends self::A {
constructor •() self::C
: super self::A::•() {}
static factory bar() self::C /* redirection-target: self::D::• */
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});
}