blob: 03943113373052b325a6112f821a1890a45e8e3f [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
class _X<T extends core::Object* = dynamic> extends core::Object {
static field dynamic _redirecting# = <dynamic>[self::_X::•];
static factory •<T extends core::Object* = dynamic>() self::_X<self::_X::•::T*>*
let<BottomType> #redirecting_factory = self::_Y::• in let self::_X::•::T* #typeArg0 = null in invalid-expression;
}
class _Y<T extends core::Object* = dynamic> extends core::Object implements self::_X<self::_Y::T*> {
const constructor •() self::_Y<self::_Y::T*>*
: super core::Object::•()
;
}
class A<T extends core::Object* = dynamic> extends core::Object {
generic-covariant-impl field self::_X<self::A::T*>* x;
constructor •(self::_X<self::A::T*>* x) self::A<self::A::T*>*
: self::A::x = x, super core::Object::•()
;
}
class B<T extends core::Object* = dynamic> extends self::A<self::B::T*> {
constructor •() self::B<self::B::T*>*
: super self::A::•(#C1)
;
}
static method main() dynamic {
dynamic x = new self::B::•<dynamic>().{self::A::x};
if(!(x is self::_Y<core::Null?>*)) {
throw "Unexpected run-time type: `new B().x` is ${x.{core::Object::runtimeType}}, but `_Y<Null>` expected";
}
}
constants {
#C1 = self::_Y<core::Null?> {}
}