| library redirecting_factory_constructors.typeparambounds_test /*isNonNullableByDefault*/; |
| import self as self; |
| import "dart:core" as core; |
| |
| class X extends core::Object { |
| synthetic constructor •() → self::X |
| : super core::Object::•() |
| ; |
| } |
| class Y extends self::X { |
| synthetic constructor •() → self::Y |
| : super self::X::•() |
| ; |
| } |
| class A<T extends core::Object? = dynamic, S extends self::A::T% = dynamic> extends core::Object { |
| static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/; |
| constructor •(self::A::T% t, self::A::S% s) → self::A<self::A::T%, self::A::S%> |
| : super core::Object::•() |
| ; |
| static factory redir<T extends core::Object? = dynamic, S extends self::A::redir::T% = dynamic>(self::A::redir::T% t, self::A::redir::S% s) → self::A<self::A::redir::T%, self::A::redir::S%> |
| return new self::A::•<self::A::redir::T%, self::A::redir::S%>(t, s); |
| } |
| static method main() → dynamic { |
| new self::A::•<self::X, self::Y>(new self::X::•(), new self::Y::•()); |
| } |
| |
| constants { |
| #C1 = constructor-tearoff self::A::redir |
| } |