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

class A extends core::Object {
  synthetic constructor •() → self::A
    : super core::Object::•()
    ;
}
extension E on self::A? {
  method foo = self::E|foo;
  tearoff foo = self::E|get#foo;
}
static method E|foo(lowered final self::A? #this) → void {}
static method E|get#foo(lowered final self::A? #this) → () → void
  return () → void => self::E|foo(#this);
static method bar(self::E e) → dynamic
  return self::E|foo(e);
static method main() → dynamic {}
