| library; |
| import self as self; |
| import "dart:core" as core; |
| |
| class A extends core::Object { |
| synthetic constructor •() → self::A |
| : super core::Object::•() |
| ; |
| } |
| class B1<T extends core::Object? = dynamic> extends core::Object implements self::A { |
| synthetic constructor •() → self::B1<self::B1::T%> |
| : super core::Object::•() |
| ; |
| } |
| class B2<T extends core::Object? = dynamic> extends core::Object implements self::A { |
| synthetic constructor •() → self::B2<self::B2::T%> |
| : super core::Object::•() |
| ; |
| } |
| class C1<T extends core::Object? = dynamic> extends core::Object implements self::B1<self::C1::T%>, self::B2<self::C1::T%> { |
| synthetic constructor •() → self::C1<self::C1::T%> |
| : super core::Object::•() |
| ; |
| } |
| class C2<T extends core::Object? = dynamic> extends core::Object implements self::B1<self::C2::T%>, self::B2<self::C2::T%> { |
| synthetic constructor •() → self::C2<self::C2::T%> |
| : super core::Object::•() |
| ; |
| } |
| static method contextIterable<T extends core::Object? = dynamic>(core::Iterable<self::contextIterable::T%> x) → core::Iterable<self::contextIterable::T%> |
| return x; |
| static method contextB1<T extends core::Object? = dynamic>(self::B1<self::contextB1::T%> x) → self::B1<self::contextB1::T%> |
| return x; |
| static method test(core::bool b) → dynamic { |
| self::C1<core::int> c1Int = new self::C1::•<core::int>(); |
| self::C2<core::double> c2Double = new self::C2::•<core::double>(); |
| self::contextB1<dynamic>(b ?{self::B1<dynamic>} c1Int : c2Double); |
| core::Iterable<core::int> iterableInt = <core::int>[] as core::Iterable<core::int>; |
| core::List<core::num> listNum = <core::num>[]; |
| self::contextIterable<core::num>(b ?{core::Iterable<core::num>} iterableInt : listNum); |
| } |
| static method main() → dynamic { |
| self::test(true); |
| } |