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

class A extends core::Object {
  synthetic constructor •() → self::A
    ;
  method m(core::num n, core::int i) → void
    ;
}
class B extends self::A {
  synthetic constructor •() → self::B
    ;
  forwarding-stub forwarding-semi-stub method m(covariant-by-declaration core::int i, covariant-by-declaration core::num n) → void
    return super.{self::A::m}(i, n as core::int);
}
static method main() → dynamic
  ;
static method throws(() → void f) → dynamic
  ;
