blob: 6eb52f4c094cb7ccd352fe2048d7240c71c60e11 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
import "package:expect/expect.dart" as exp;
abstract class A<T extends core::Object = dynamic> extends core::Object {
static field dynamic _redirecting# = <dynamic>[self::A::•];
constructor empty() self::A<self::A::T>
: super core::Object::•()
;
static factory •<T extends core::Object = dynamic>() self::A<self::A::•::T>
let dynamic #redirecting_factory = self::B::• in let self::A::•::T #typeArg0 = null in let core::List<self::A::•::T> #typeArg1 = null in invalid-expression;
}
abstract class B<U extends core::Object = dynamic, W extends core::Object = dynamic> extends self::A<self::B::U> {
static field dynamic _redirecting# = <dynamic>[self::B::•];
constructor empty() self::B<self::B::U, self::B::W>
: super self::A::empty()
;
static factory •<U extends core::Object = dynamic, W extends core::Object = dynamic>() self::B<self::B::•::U, self::B::•::W>
let dynamic #redirecting_factory = self::C::• in let self::B::•::U #typeArg0 = null in let self::B::•::W #typeArg1 = null in let core::Map<self::B::•::U, self::B::•::W> #typeArg2 = null in invalid-expression;
}
class C<V extends core::Object = dynamic, S extends core::Object = dynamic, R extends core::Object = dynamic> extends self::B<self::C::V, self::C::S> {
constructor •() self::C<self::C::V, self::C::S, self::C::R>
: super self::B::empty()
;
method toString() dynamic
return "${self::C::V},${self::C::S},${self::C::R}";
}
static method main() dynamic {
exp::Expect::equals("${new self::C::•<core::int, core::List<core::int>, core::Map<core::int, core::List<core::int>>>()}", "int,List<int>,Map<int, List<int>>");
}