| library /*isNonNullableByDefault*/; |
| import self as self; |
| import "dart:core" as core; |
| |
| class A1 extends core::Object { |
| synthetic constructor •() → self::A1 |
| ; |
| } |
| class B1<T extends core::Object? = dynamic> extends core::Object { |
| synthetic constructor •() → self::B1<self::B1::T%> |
| ; |
| } |
| extension A2 on self::A1 { |
| method method1 = self::A2|method1; |
| tearoff method1 = self::A2|get#method1; |
| method method2 = self::A2|method2; |
| tearoff method2 = self::A2|get#method2; |
| method method3 = self::A2|method3; |
| tearoff method3 = self::A2|get#method3; |
| method method4 = self::A2|method4; |
| tearoff method4 = self::A2|get#method4; |
| } |
| extension B2<T extends core::Object? = dynamic> on self::B1<T%> { |
| method method1 = self::B2|method1; |
| tearoff method1 = self::B2|get#method1; |
| method method2 = self::B2|method2; |
| tearoff method2 = self::B2|get#method2; |
| } |
| static method A2|method1(lowered final self::A1 #this) → self::A1 |
| ; |
| static method A2|get#method1(lowered final self::A1 #this) → () → self::A1 |
| return () → self::A1 => self::A2|method1(#this); |
| static method A2|method2<T extends core::Object? = dynamic>(lowered final self::A1 #this, self::A2|method2::T% o) → self::A1 |
| ; |
| static method A2|get#method2(lowered final self::A1 #this) → <T extends core::Object? = dynamic>(T%) → self::A1 |
| return <T extends core::Object? = dynamic>(T% o) → self::A1 => self::A2|method2<T%>(#this, o); |
| static method A2|method3<T extends core::Object? = dynamic>(lowered final self::A1 #this, [self::A2|method3::T? o]) → self::A1 |
| ; |
| static method A2|get#method3(lowered final self::A1 #this) → <T extends core::Object? = dynamic>([T?]) → self::A1 |
| return <T extends core::Object? = dynamic>([T? o]) → self::A1 => self::A2|method3<T%>(#this, o); |
| static method A2|method4<T extends core::Object? = dynamic>(lowered final self::A1 #this, {self::A2|method4::T? o}) → self::A1 |
| ; |
| static method A2|get#method4(lowered final self::A1 #this) → <T extends core::Object? = dynamic>({o: T?}) → self::A1 |
| return <T extends core::Object? = dynamic>({T? o}) → self::A1 => self::A2|method4<T%>(#this, o: o); |
| static method B2|method1<T extends core::Object? = dynamic>(lowered final self::B1<self::B2|method1::T%> #this) → self::B1<self::B2|method1::T%> |
| ; |
| static method B2|get#method1<T extends core::Object? = dynamic>(lowered final self::B1<self::B2|get#method1::T%> #this) → () → self::B1<self::B2|get#method1::T%> |
| return () → self::B1<self::B2|get#method1::T%> => self::B2|method1<self::B2|get#method1::T%>(#this); |
| static method B2|method2<T extends core::Object? = dynamic, S extends core::Object? = dynamic>(lowered final self::B1<self::B2|method2::T%> #this, self::B2|method2::S% o) → self::B1<self::B2|method2::T%> |
| ; |
| static method B2|get#method2<T extends core::Object? = dynamic>(lowered final self::B1<self::B2|get#method2::T%> #this) → <S extends core::Object? = dynamic>(S%) → self::B1<self::B2|get#method2::T%> |
| return <S extends core::Object? = dynamic>(S% o) → self::B1<self::B2|get#method2::T%> => self::B2|method2<self::B2|get#method2::T%, S%>(#this, o); |
| static method main() → dynamic |
| ; |