library /*isNonNullableByDefault*/;
import self as self;

extension Extension on Never {
  method extensionMethod = self::Extension|extensionMethod;
  tearoff extensionMethod = self::Extension|get#extensionMethod;
}
static method Extension|extensionMethod(final Never #this) → dynamic
  ;
static method Extension|get#extensionMethod(final Never #this) → () → dynamic
  return () → dynamic => self::Extension|extensionMethod(#this);
static method implicitAccess(Never never) → dynamic
  ;
static method explicitAccess(Never never) → dynamic
  ;
static method main() → dynamic
  ;
