blob: 1c1d9b9c568709488fdebef707e292f8ac2b0c3d [file] [log] [blame]
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Class<T extends self::Class<self::Class::T> = self::Class<dynamic>> extends core::Object {
synthetic constructor •() self::Class<self::Class::T>
: super core::Object::•()
;
}
class Subclass extends self::Class<self::Subclass> {
synthetic constructor •() self::Subclass
: super self::Class::•()
;
}
extension _extension#0<R extends core::Object? = dynamic, T extends core::Object? = dynamic> on (T%) → R% {
get returnType = self::_extension#0|get#returnType;
get parameterType = self::_extension#0|get#parameterType;
}
extension _extension#1<T extends self::Class<T> = self::Class<dynamic>> on <S extends T = dynamic>(T, S) → dynamic {
get parameterType = self::_extension#1|get#parameterType;
}
static method _extension#0|get#returnType<R extends core::Object? = dynamic, T extends core::Object? = dynamic>(lowered final (self::_extension#0|get#returnType::T%) → self::_extension#0|get#returnType::R% #this) → core::Type
return self::_extension#0|get#returnType::R%;
static method _extension#0|get#parameterType<R extends core::Object? = dynamic, T extends core::Object? = dynamic>(lowered final (self::_extension#0|get#parameterType::T%) → self::_extension#0|get#parameterType::R% #this) → core::Type
return self::_extension#0|get#parameterType::T%;
static method _extension#1|get#parameterType<T extends self::Class<self::_extension#1|get#parameterType::T> = self::Class<dynamic>>(lowered final <S extends self::_extension#1|get#parameterType::T = dynamic>(self::_extension#1|get#parameterType::T, S) → dynamic #this) → core::Type
return self::_extension#1|get#parameterType::T;
static method main() dynamic {
function local1(core::int i) core::int
return i;
core::print(self::_extension#0|get#returnType<core::int, core::int>(local1));
core::print(self::_extension#0|get#parameterType<core::int, core::int>(local1));
function local2<S extends self::Subclass>(self::Subclass a, S b) self::Subclass
return a;
core::print(self::_extension#1|get#parameterType<self::Subclass>(local2));
}