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