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

abstract class A<T extends core::Object? = dynamic> extends core::Object {
  covariant-by-class field core::List<self::A::T%>? z;
  synthetic constructor •() → self::A<self::A::T%>
    ;
  abstract get x() → core::List<self::A::T%>?;
  abstract set y(covariant-by-class core::List<self::A::T%>? value) → void;
}
class B extends self::A<core::int> {
  field core::List<core::int>? x;
  covariant-by-class field core::List<core::int>? y;
  covariant-by-class field core::List<core::int>? z;
  synthetic constructor •() → self::B
    ;
}
static method main() → dynamic
  ;
