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

class A extends core::Object {
  synthetic constructor •() → self::A
    ;
  operator *(dynamic other) → dynamic
    ;
  operator [](core::int index) → dynamic
    ;
  operator []=(core::int index, dynamic value) → void
    ;
  operator unary-() → dynamic
    ;
}
extension E on self::A {
  operator + = self::E|+;
}
extension type ET on self::A {
  operator ~/ = self::ET|~/;
}
static method E|+(lowered final self::A #this, dynamic other) → dynamic
  ;
static method ET|~/(lowered final self::A #this, dynamic other) → dynamic
  ;
static method test(self::A a, self::E e, self::ET et) → dynamic
  ;
static method main() → dynamic
  ;
