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

class A extends core::Object {
  synthetic constructor •() → self::A
    ;
  get foo() → core::int
    ;
}
extension E on self::A {
  get bar = self::E|get#bar;
}
static method E|get#bar(lowered final self::A #this) → core::double
  ;
static method test(self::A a, self::E e) → dynamic
  ;
static method main() → dynamic
  ;
