blob: cac766a4aa566c20680de63ed1d83b172aa383c6 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
class A1 extends core::Object {
final field core::Object? a;
constructor •({required core::Object? a}) self::A1
: self::A1::a = a, super core::Object::•()
;
static method _#new#tearOff({required core::Object? a}) → self::A1
return new self::A1::•(a: a);
}
class B1 extends self::A1 {
constructor •({core::Object? a = #C1}) → self::B1
: super self::A1::•(a: a) {}
static method _#new#tearOff({core::Object? a = #C1}) → self::B1
return new self::B1::•(a: a);
}
class A2 extends core::Object {
final field core::Object? a;
constructor •(core::Object? a) self::A2
: self::A2::a = a, super core::Object::•()
;
static method _#new#tearOff(core::Object? a) → self::A2
return new self::A2::•(a);
}
class B2 extends self::A2 {
constructor •([core::Object? a = #C1]) → self::B2
: super self::A2::•(a)
;
static method _#new#tearOff([core::Object? a = #C1]) → self::B2
return new self::B2::•(a);
}
static method main() void {
({a: core::Object?}) self::B1 f1 = #C2;
([core::Object?]) self::B2 f2 = #C3;
}
constants {
#C1 = null
#C2 = static-tearoff self::B1::_#new#tearOff
#C3 = static-tearoff self::B2::_#new#tearOff
}