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>(lowered final self::E|get#f::T% #this) → (self::E|get#f::T%) → self::E|get#f::T%
  ;
static method method1<S extends core::Object? = dynamic>(self::method1::S% s) → dynamic
  ;
static method method2<S extends dynamic = dynamic>(self::method2::S% s) → dynamic
  ;
static method main() → dynamic
  ;
static method throws(() → void f) → dynamic
  ;
