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

class C extends core::Object {
  static field dynamic _#s;
  static field core::bool _#s#isSet;
  field dynamic _#C#v;
  field core::bool _#C#v#isSet;
  synthetic constructor •() → self::C
    ;
  static get s() → dynamic;
  static set s(dynamic s#param) → void;
  get v() → dynamic;
  set v(dynamic v#param) → void;
}
static field dynamic _#g;
static field core::bool _#g#isSet;
static get g() → dynamic;
static set g(dynamic g#param) → void;
static method main() → dynamic
  ;
static method expect(dynamic expected, dynamic actual) → dynamic
  ;
