library test;
import self as self;
import "dart:core" as core;

class Class extends core::Object {
  synthetic constructor •() → self::Class*
    : super core::Object::•()
    ;
  method method<T extends core::Object* = dynamic>() → self::Class::method::T*
    return null;
}
static method main() → dynamic {
  self::Class* c;
  () →* core::num* f = let final self::Class* #t1 = c in #t1.{core::Object::==}(null) ?{() →* core::num*} null : #t1.{self::Class::method}<core::num*>;
}
