blob: e8f791f9e125e4b8be5f956155a2ffe0c9a05000 [file] [log] [blame]
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
typedef G<invariant X extends core::Object? = dynamic> = (X%) X%;
typedef A<X extends (self::C<X>) self::C<X> = (self::C<dynamic>) self::C<dynamic>> = self::C<X>;
typedef B<X extends (self::D<X>) self::D<X> = (self::D<dynamic>) self::D<dynamic>> = self::D<X>;
class C<X extends core::Object? = dynamic> extends core::Object {
static final field dynamic _redirecting# = <dynamic>[self::C::bar]/*isLegacy*/;
constructor foo() self::C<self::C::X%>
;
static factory •<X extends core::Object? = dynamic>() self::C<self::C::•::X%>
;
static factory bar<X extends core::Object? = dynamic>() self::C<self::C::bar::X%>
return self::C::•<self::C::bar::X%>();
}
class D<X extends core::Object? = dynamic> extends core::Object {
static final field dynamic _redirecting# = <dynamic>[self::D::bar]/*isLegacy*/;
constructor •() self::D<self::D::X%>
;
static factory foo<X extends core::Object? = dynamic>() self::D<self::D::foo::X%>
;
static factory bar<X extends core::Object? = dynamic>() self::D<self::D::bar::X%>
return new self::D::•<self::D::bar::X%>();
}
static method test() dynamic
;
static method main() dynamic
;
static method _#A#new#tearOff<X extends (self::C<self::_#A#new#tearOff::X>) → self::C<self::_#A#new#tearOff::X> = (self::C<dynamic>) → self::C<dynamic>>() → self::C<self::_#A#new#tearOff::X>
return self::C::•<self::_#A#new#tearOff::X>();
static method _#A#foo#tearOff<X extends (self::C<self::_#A#foo#tearOff::X>) → self::C<self::_#A#foo#tearOff::X> = (self::C<dynamic>) → self::C<dynamic>>() → self::C<self::_#A#foo#tearOff::X>
return new self::C::foo<self::_#A#foo#tearOff::X>();
static method _#A#bar#tearOff<X extends (self::C<self::_#A#bar#tearOff::X>) → self::C<self::_#A#bar#tearOff::X> = (self::C<dynamic>) → self::C<dynamic>>() → self::C<self::_#A#bar#tearOff::X>
return self::C::bar<self::_#A#bar#tearOff::X>();
static method _#B#new#tearOff<X extends (self::D<self::_#B#new#tearOff::X>) → self::D<self::_#B#new#tearOff::X> = (self::D<dynamic>) → self::D<dynamic>>() → self::D<self::_#B#new#tearOff::X>
return new self::D::•<self::_#B#new#tearOff::X>();
static method _#B#foo#tearOff<X extends (self::D<self::_#B#foo#tearOff::X>) → self::D<self::_#B#foo#tearOff::X> = (self::D<dynamic>) → self::D<dynamic>>() → self::D<self::_#B#foo#tearOff::X>
return self::D::foo<self::_#B#foo#tearOff::X>();
static method _#B#bar#tearOff<X extends (self::D<self::_#B#bar#tearOff::X>) → self::D<self::_#B#bar#tearOff::X> = (self::D<dynamic>) → self::D<dynamic>>() → self::D<self::_#B#bar#tearOff::X>
return self::D::bar<self::_#B#bar#tearOff::X>();
Extra constant evaluation status:
Evaluated: ConstructorTearOff @ org-dartlang-testcase:///issue45519_2.dart:5:7 -> ConstructorTearOffConstant(C.bar)
Evaluated: ConstructorTearOff @ org-dartlang-testcase:///issue45519_2.dart:10:7 -> ConstructorTearOffConstant(D.bar)
Extra constant evaluation: evaluated: 12, effectively constant: 2