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

class S<T extends core::Object? = dynamic> extends core::Object {
  field core::num n;
  covariant-by-class field self::S::T% t;
  constructor •(core::num n, self::S::T% t) → self::S<self::S::T%>
    ;
  constructor named(self::S::T% t, core::num n) → self::S<self::S::T%>
    ;
}
class C<T extends core::Object? = dynamic> extends self::S<self::C::T%> {
  constructor constr1(core::num n, core::String s, self::C::T% t) → self::C<self::C::T%>
    ;
  constructor constr2(core::int i, core::num n, core::String s, self::C::T% t) → self::C<self::C::T%>
    ;
  constructor constr3(core::int i, self::C::T% t, core::String s, core::num n) → self::C<self::C::T%>
    ;
}
static method main() → dynamic
  ;
