library;
import self as self;
import "dart:core" as core;

class A extends core::Object {
  field core::bool* v1;
  field core::num* v2;
  constructor •(core::bool* v1, core::num* v2) → self::A*
    ;
}
class M1 extends core::Object {
  field core::num* v2;
  synthetic constructor •() → self::M1*
    ;
}
class C = self::A with self::M1 {
  synthetic constructor •(core::bool* v1, core::num* v2) → self::C*
    : super self::A::•(v1, v2)
    ;
}
static method main() → dynamic
  ;
