blob: 0c73e755c0592300b6ed4688afdaac63dcbd266b [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 {
static field dynamic _redirecting# = <dynamic>[self::A::foo];
constructor •() self::A*
: super core::Object::•() {}
static factory foo() self::A*
let () →* self::C* #redirecting_factory = self::C::bar in invalid-expression;
method m() core::int* {}
}
class C extends self::A {
static field dynamic _redirecting# = <dynamic>[self::C::bar];
constructor •() self::C*
: super self::A::•() {}
static factory bar() self::C*
let<BottomType> #redirecting_factory = self::D::• in invalid-expression;
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}());
}