library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/super_set_abstract.dart:15:24: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
//     super.setter = '$o';
//                        ^
//
import self as self;
import "dart:core" as core;

class SuperClass extends core::Object {
  synthetic constructor •() → self::SuperClass
    : super core::Object::•()
    ;
  set setter(core::int o) → void {}
}
abstract class Class extends self::SuperClass {
  synthetic constructor •() → self::Class
    : super self::SuperClass::•()
    ;
  abstract set setter(core::Object o) → void;
}
class SubClass extends self::Class {
  synthetic constructor •() → self::SubClass
    : super self::Class::•()
    ;
  set setter(core::Object o) → void {
    super.{self::SuperClass::setter} = invalid-expression "pkg/front_end/testcases/general/super_set_abstract.dart:15:24: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
    super.setter = '\$o';
                       ^" in "${o}" as{TypeError,ForNonNullableByDefault} core::int;
  }
}
static method test() → dynamic {
  new self::SubClass::•().{self::SubClass::setter} = "0";
}
static method main() → dynamic {}
