library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

class Class1 extends core::Object {
  field core::int field;
  static final field dynamic _redirecting# = <dynamic>[self::Class1::•]/*isLegacy*/;
  constructor _() → self::Class1
    ;
  static factory •() → self::Class1
    return new self::Class1::_();
  get getter() → core::int
    ;
}
class Class2 extends self::Class1 {
  final field self::Class2 _c2;
  constructor •(self::Class2 _c2) → self::Class2
    ;
  method method({dynamic a}) → dynamic
    ;
  get call() → core::int
    ;
}
static method main() → dynamic
  ;
