blob: 3e7197c9ea99247654150e18904d3df568e333dc [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 dynamic #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 •() void
: 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) void
: self::A::x = x, super core::Object::•()
;
}
class B<T extends core::Object = dynamic> extends self::A<self::B::T> {
constructor •() void
: super self::A::•(const self::_Y::•<core::Null>())
;
}
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";
}
}