library; import self as self; import "dart:core" as core; class A1 extends core::Object { synthetic constructor •() → self::A1* : super core::Object::•() ; abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::== abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode abstract member-signature method toString() → core::String*; -> core::Object::toString abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType } class B1 extends core::Object { synthetic constructor •() → self::B1* : super core::Object::•() ; abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::== abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode abstract member-signature method toString() → core::String*; -> core::Object::toString abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType } 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; } extension B2 on self::B1* { 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* { return #this; } static method A2|get#method1(lowered final self::A1* #this) → () →* self::A1* return () → self::A1* => self::A2|method1(#this); static method A2|method2(lowered final self::A1* #this, self::A2|method2::T* o) → self::A1* { core::print(o); return #this; } static method A2|get#method2(lowered final self::A1* #this) → (T*) →* self::A1* return (T* o) → self::A1* => self::A2|method2(#this, o); static method B2|method1(lowered final self::B1* #this) → self::B1* { return #this; } static method B2|get#method1(lowered final self::B1* #this) → () →* self::B1* return () → self::B1* => self::B2|method1(#this); static method B2|method2(lowered final self::B1* #this, self::B2|method2::S* o) → self::B1* { core::print(o); return #this; } static method B2|get#method2(lowered final self::B1* #this) → (S*) →* self::B1* return (S* o) → self::B1* => self::B2|method2(#this, o); static method main() → dynamic {}