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

extension E<T extends core::Object? = dynamic> on T% {
  get f = self::E|get#f;
}
static method E|get#f<T extends core::Object? = dynamic>(final self::E|get#f::T% #this) → (self::E|get#f::T%) → self::E|get#f::T%
  return (self::E|get#f::T% t) → self::E|get#f::T% => t;
static method method1<S extends core::Object? = dynamic>(self::method1::S% s) → dynamic {
  (self::method1::S%) → self::method1::S% f = self::E|get#f<self::method1::S%>(s);
}
static method method2<S extends dynamic = dynamic>(self::method2::S% s) → dynamic {
  self::throws(() → void => s.f);
}
static method main() → dynamic {}
static method throws(() → void f) → dynamic {
  try {
    f.call();
  }
  on core::Object catch(final core::Object e) {
    return;
  }
  throw "Expected exception";
}
