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

import "dart:async";

class C<T extends core::Object? = dynamic> extends core::Object {
  field FutureOr<dynamic>? _#C#field1;
  field core::bool _#C#field1#isSet;
  field FutureOr<dynamic>? _#C#field2;
  field core::bool _#C#field2#isSet;
  generic-covariant-impl field FutureOr<self::C::T%>? _#C#field3;
  field core::bool _#C#field3#isSet;
  generic-covariant-impl field FutureOr<self::C::T?>? _#C#field4;
  field core::bool _#C#field4#isSet;
  generic-covariant-impl field FutureOr<self::C::T?>? _#C#field5;
  field core::bool _#C#field5#isSet;
  synthetic constructor •() → self::C<self::C::T%>
    ;
  get field1() → FutureOr<dynamic>;
  set field1(FutureOr<dynamic>#t1) → void;
  get field2() → FutureOr<dynamic>?;
  set field2(FutureOr<dynamic>? #t2) → void;
  get field3() → FutureOr<self::C::T%>;
  set field3(generic-covariant-impl FutureOr<self::C::T%>#t3) → void;
  get field4() → FutureOr<self::C::T?>;
  set field4(generic-covariant-impl FutureOr<self::C::T?>#t4) → void;
  get field5() → FutureOr<self::C::T?>?;
  set field5(generic-covariant-impl FutureOr<self::C::T?>? #t5) → void;
  method method() → dynamic
    ;
}
static field FutureOr<dynamic>? _#field1;
static field core::bool _#field1#isSet;
static field FutureOr<dynamic>? _#field2;
static field core::bool _#field2#isSet;
static field FutureOr<dynamic>? _#field3;
static field core::bool _#field3#isSet;
static field FutureOr<core::int>? _#field4;
static field core::bool _#field4#isSet;
static field FutureOr<core::int?>? _#field5;
static field core::bool _#field5#isSet;
static field FutureOr<core::int?>? _#field6;
static field core::bool _#field6#isSet;
static method method1() → FutureOr<dynamic>
  ;
static method method2() → FutureOr<dynamic>?
  ;
static method method3() → FutureOr<dynamic>
  ;
static method method4() → FutureOr<core::int>
  ;
static method method5() → FutureOr<core::int?>
  ;
static method method6() → FutureOr<core::int?>?
  ;
static get field1() → FutureOr<dynamic>;
static set field1(FutureOr<dynamic>#t6) → void;
static get field2() → FutureOr<dynamic>?;
static set field2(FutureOr<dynamic>? #t7) → void;
static get field3() → FutureOr<dynamic>;
static set field3(FutureOr<dynamic>#t8) → void;
static get field4() → FutureOr<core::int>;
static set field4(FutureOr<core::int>#t9) → void;
static get field5() → FutureOr<core::int?>;
static set field5(FutureOr<core::int?>#t10) → void;
static get field6() → FutureOr<core::int?>?;
static set field6(FutureOr<core::int?>? #t11) → void;
static method main() → dynamic
  ;
