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

class SuperClass extends core::Object {
  synthetic constructor •() → self::SuperClass
    : super core::Object::•()
    ;
  set setter(core::Object o) → void {}
}
abstract class Class extends self::SuperClass {
  synthetic constructor •() → self::Class
    : super self::SuperClass::•()
    ;
  forwarding-stub forwarding-semi-stub set /* signature-type: (core::int) → void */ setter(covariant-by-declaration core::Object o) → void
    return super.{self::SuperClass::setter} = o;
}
class SubClass extends self::Class {
  synthetic constructor •() → self::SubClass
    : super self::Class::•()
    ;
  set setter(covariant-by-declaration core::int o) → void {
    super.{self::Class::setter} = "${o}";
  }
}
static method test() → dynamic {
  new self::SubClass::•().{self::SubClass::setter} = 0;
}
static method main() → dynamic {}
