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

class A<T extends core::Object?, S extends core::Object> extends core::Object {
  synthetic constructor •() → self::A<self::A::T%, self::A::S>
    : super core::Object::•()
    ;
  method hest<generic-covariant-impl X extends self::A::T%, Y extends core::List<self::A::hest::X%> = core::List<self::A::T%>, Z extends core::List<self::A::hest::X?> = core::List<self::A::T?>>() → dynamic
    return null;
  method fisk<generic-covariant-impl X extends self::A::S, Y extends core::List<self::A::fisk::X> = core::List<self::A::S>, Z extends core::List<self::A::fisk::X?> = core::List<self::A::S?>>() → dynamic
    return null;
  method mus<X extends core::Object?, Y extends core::List<self::A::mus::X%> = core::List<core::Object?>, Z extends core::List<self::A::mus::X?> = core::List<core::Object?>>() → dynamic
    return null;
}
static method foo<T extends core::Object?, S extends core::List<self::foo::T%> = core::List<core::Object?>>(self::foo::T% t) → dynamic
  return null;
static method bar<T extends core::Object?, S extends core::List<self::bar::T?> = core::List<core::Object?>>(self::bar::T% t) → dynamic
  return null;
static method baz(core::int? x, core::int y) → dynamic {
  self::foo<core::int?, core::List<core::int?>>(x);
  self::bar<core::int, core::List<core::int?>>(y);
}
static method main() → dynamic {}
