blob: eb1dcbf9f231c386d13b26634f370d8c30926c3e [file]
library;
import self as self;
import "dart:core" as core;
@#C3
abstract class A extends core::Object {
@#C3
field core::Object? ifield1 = null;
field core::Object? _ifield2 = null;
@#C3
static field core::Object? sfield3 = null;
static field core::Object? _sfield4 = null;
@#C3
constructor •() → self::A
: super core::Object::•()
;
constructor _() → self::A
: super core::Object::•()
;
@#C3
static factory factory1() → self::A /* redirection-target: self::B::• */
return new self::B::•();
@#C3
static factory factory2() → self::A
return new self::B::•();
static factory _factory3() → self::A
return new self::B::•();
@#C3
method imethod1() → void {}
@#C3
abstract method imethod2() → void;
method _imethod3() → void {}
@#C3
static method smethod4() → void {}
}
@#C3
class B extends self::A {
@#C3
field core::Object? ifield5 = null;
field core::Object? _ifield6 = null;
@#C3
constructor •() → self::B
: super self::A::•()
;
@#C3
method imethod2() → void {}
@#C3
method imethod5() → void {}
method _imethod6() → void {}
@#C3
static method smethod7() → void {}
}
class _C extends core::Object {
field core::Object? ifield7 = null;
static field core::Object? _sfield8 = null;
synthetic constructor •() → self::_C
: super core::Object::•()
;
method imethod8() → void {}
static method smethod9() → void {}
}
class D extends core::Object {
synthetic constructor •() → self::D
: super core::Object::•()
;
method build() → void {}
}
@#C5
abstract class F extends core::Object {
constructor •() → self::F
: super core::Object::•()
;
constructor _() → self::F
: super core::Object::•()
;
static factory factory1() → self::F /* redirection-target: self::G::• */
return new self::G::•();
abstract method imethod1() → void;
static method smethod1() → void {}
}
@#C5
class G extends self::F {
constructor •() → self::G
: super self::F::•()
;
method imethod1() → void {}
static method smethod2() → void {}
}
@#C5
extension type H(self::F v) {
abstract extension-type-member representation-field get v() → self::F;
method imethod2 = self::H|imethod2;
method tearoff imethod2 = self::H|get#imethod2;
constructor • = self::H|constructor#;
constructor tearoff • = self::H|constructor#_#new#tearOff;
}
static field core::Object? sfield9;
static field core::Object? _sfield10;
static method smethod10() → void {}
static method _smethod11() → void {}
static extension-type-member method H|constructor#(initializing-formal self::F v) → self::H% /* erasure=self::F, declared=! */ {
lowered final self::H% /* erasure=self::F, declared=! */ #this = v;
return #this;
}
static extension-type-member synthetic method H|constructor#_#new#tearOff(self::F v) → self::H% /* erasure=self::F, declared=! */
return self::H|constructor#(v);
static extension-type-member method H|imethod2(lowered final self::H% /* erasure=self::F, declared=! */ #this) → void
return (#this as{Unchecked} self::F).{self::F::imethod1}(){() → void};
static extension-type-member method H|get#imethod2(lowered final self::H% /* erasure=self::F, declared=! */ #this) → () → void
return () → void => self::H|imethod2(#this);
constants {
#C1 = "dyn-module:callable"
#C2 = null
#C3 = core::pragma {name:#C1, options:#C2}
#C4 = "dyn-module:can-be-used-as-type"
#C5 = core::pragma {name:#C4, options:#C2}
}