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