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

class A<T extends core::Object* = dynamic> extends core::Object {
  synthetic constructor •() → self::A<self::A::T*>*
    : super core::Object::•()
    ;
}
class B<T extends core::num* = dynamic, S extends core::List<self::B::T*>* = dynamic> extends self::A<self::B::T*> {
  constructor •([self::B::T* x = #C1]) → self::B<self::B::T*, self::B::S*>*
    : super self::A::•() {}
}
static method main() → dynamic {
  self::B<dynamic, dynamic>* x;
  dynamic y = new self::B::•<dynamic, dynamic>(3);
  self::A<core::int*>* z = new self::B::•<dynamic, dynamic>();
}

constants  {
  #C1 = null
}
