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

class C extends core::Object {
  synthetic constructor •() → self::C*
    : super core::Object::•()
    ;
}
extension E on self::C* {
  method f = self::E|f;
  tearoff f = self::E|get#f;
}
static method E|f(final self::C* #this, core::String* b) → void {}
static method E|get#f(final self::C* #this) → (core::String*) →* void
  return (core::String* b) → void => self::E|f(#this, b);
static method main() → void {
  dynamic b = "456";
  self::C* c = new self::C::•();
  self::E|f(c, b as{TypeError,ForDynamic} core::String*);
}
