library test;
import self as self;
import "dart:core" as core;

class B<T extends core::Object = dynamic> extends core::Object {
  synthetic constructor •() → void
    ;
  method f(self::B::T x) → void
    ;
  method g({self::B::T x}) → void
    ;
  method h<U extends self::B::T = dynamic>() → void
    ;
}
class C extends self::B<core::int> {
  synthetic constructor •() → void
    ;
}
static method g1(self::B<core::num> b) → void
  ;
static method g2(self::C c) → void
  ;
static method test() → void
  ;
static method main() → void
  ;
