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}
}