blob: 63427ae4bbbea22220bd571ee9538efa0b405c00 [file] [log] [blame]
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
typedef ListList<T extends core::Object? = dynamic> = core::List<core::List<T%>>;
class C extends core::Object {
synthetic constructor •() self::C
: super core::Object::•()
;
static method stat<T extends core::Object? = dynamic>(self::C::stat::T% value) self::C::stat::T%
return value;
method inst<T extends core::Object? = dynamic>(self::C::inst::T% value) self::C::inst::T%
return value;
method method() void {
(core::int) core::int f1 = #C2;
core::String f1TypeName = #C2.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String};
(core::int) core::int f2 = this.{self::C::inst}{<T extends core::Object? = dynamic>(T%) T%}<core::int>;
core::String f2TypeName = (this.{self::C::inst}{<T extends core::Object? = dynamic>(T%) T%}<core::int>).{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() core::String};
(core::int) core::int f3 = this.{self::C::inst}{<T extends core::Object? = dynamic>(T%) T%}<core::int>;
core::String f3TypeName = (this.{self::C::inst}{<T extends core::Object? = dynamic>(T%) T%}<core::int>).{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() core::String};
}
}
abstract class M extends self::C /*isMixinDeclaration*/ {
static method mstat<T extends core::Object? = dynamic>(self::M::mstat::T% value) self::M::mstat::T%
return value;
method minst<T extends core::Object? = dynamic>(self::M::minst::T% value) self::M::minst::T%
return value;
method mmethod() void {
(core::int) core::int f1 = #C4;
core::String f1TypeName = #C4.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String};
(core::int) core::int f2 = this.{self::M::minst}{<T extends core::Object? = dynamic>(T%) T%}<core::int>;
core::String f2TypeName = (this.{self::M::minst}{<T extends core::Object? = dynamic>(T%) T%}<core::int>).{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() core::String};
(core::int) core::int f3 = this.{self::M::minst}{<T extends core::Object? = dynamic>(T%) T%}<core::int>;
core::String f3TypeName = (this.{self::M::minst}{<T extends core::Object? = dynamic>(T%) T%}<core::int>).{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() core::String};
}
}
abstract class _D&C&M = self::C with self::M /*isAnonymousMixin*/ {
synthetic constructor •() self::_D&C&M
: super self::C::•()
;
mixin-super-stub method minst<T extends core::Object? = dynamic>(self::_D&C&M::minst::T% value) self::_D&C&M::minst::T%
return super.{self::M::minst}<self::_D&C&M::minst::T%>(value);
mixin-super-stub method mmethod() void
return super.{self::M::mmethod}();
}
class D extends self::_D&C&M {
synthetic constructor •() self::D
: super self::_D&C&M::•()
;
method method() void {
(core::int) core::int f4 = super.{self::C::inst}<core::int>;
core::String f4TypeName = (super.{self::C::inst}<core::int>).{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() core::String};
}
}
extension Ext on self::C {
static method estat = self::Ext|estat;
method einst = self::Ext|einst;
tearoff einst = self::Ext|get#einst;
method emethod = self::Ext|emethod;
tearoff emethod = self::Ext|get#emethod;
}
static method top<T extends core::Object? = dynamic>(self::top::T% value) self::top::T%
return value;
static method Ext|estat<T extends core::Object? = dynamic>(self::Ext|estat::T% value) self::Ext|estat::T%
return value;
static method Ext|einst<T extends core::Object? = dynamic>(lowered final self::C #this, self::Ext|einst::T% value) → self::Ext|einst::T%
return value;
static method Ext|get#einst(lowered final self::C #this) → <T extends core::Object? = dynamic>(T%) → T%
return <T extends core::Object? = dynamic>(T% value) T% => self::Ext|einst<T%>(#this, value);
static method Ext|emethod(lowered final self::C #this) → void {
(core::int) core::int f1 = #C6;
core::String f1TypeName = #C6.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String};
(core::int) core::int f2 = self::Ext|get#einst(#this)<core::int>;
core::String f2TypeName = (self::Ext|get#einst(#this)<core::int>).{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String};
(core::int) core::int f3 = self::Ext|get#einst(#this)<core::int>;
core::String f3TypeName = (self::Ext|get#einst(#this)<core::int>).{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String};
}
static method Ext|get#emethod(lowered final self::C #this) → () → void
return () void => self::Ext|emethod(#this);
static method main() void {
core::Type t1 = #C7;
core::Type t2 = #C8;
function local<T extends core::Object? = dynamic>(T% value) T%
return value;
(core::int) core::int f3 = local<core::int>;
self::D d = new self::D::•();
(core::int) core::int f4 = d.{self::C::inst}{<T extends core::Object? = dynamic>(T%) T%}<core::int>;
(core::int) core::int f5 = d.{self::_D&C&M::minst}{<T extends core::Object? = dynamic>(T%) T%}<core::int>;
(core::int) core::int f6 = self::Ext|get#einst(d)<core::int>;
core::String typeName = #C7.{core::Type::toString}(){() → core::String};
core::String functionTypeName = (local<core::int>).{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() core::String};
}
constants {
#C1 = static-tearoff self::C::stat
#C2 = instantiation #C1 <core::int*>
#C3 = static-tearoff self::M::mstat
#C4 = instantiation #C3 <core::int*>
#C5 = static-tearoff self::Ext|estat
#C6 = instantiation #C5 <core::int*>
#C7 = TypeLiteralConstant(core::List<core::int*>*)
#C8 = TypeLiteralConstant(core::List<core::List<core::int*>*>*)
}