blob: 2b04ded0b1aa3f2767e5a237825de591d5bcc9f6 [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*> /*hasConstConstructor*/ {
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?> {}
}