| 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 extends self::C implements self::M /*isAnonymousMixin,isEliminatedMixin*/ { |
| synthetic constructor •() → self::_D&C&M |
| : super self::C::•() |
| ; |
| method minst<T extends core::Object? = dynamic>(self::_D&C&M::minst::T% value) → self::_D&C&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}; |
| } |
| static method mstat<T extends core::Object? = dynamic>(self::_D&C&M::mstat::T% value) → self::_D&C&M::mstat::T% |
| return value; |
| } |
| 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*>*>*) |
| } |