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

typedef Callback<contravariant T extends core::Object? = dynamic> = (T%) → void;
class Foo<T extends core::Object? = dynamic> extends core::Object {
  final field self::Foo::T% finalField;
  final field (self::Foo::T%) → void callbackField;
  late covariant-by-class field self::Foo::T% mutableField;
  late field (self::Foo::T%) → void mutableCallbackField;
  constructor •(self::Foo::T% finalField, (self::Foo::T%) → void callbackField) → self::Foo<self::Foo::T%>
    ;
  method method(covariant-by-class self::Foo::T% x) → void
    ;
  set setter(covariant-by-class self::Foo::T% x) → void
    ;
  method withCallback((self::Foo::T%) → void callback) → void
    ;
}
static method main() → dynamic
  ;
