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

class Foo extends core::Object {
  const constructor •(core::List<core::String> l) → self::Foo
    : super core::Object::•()
    ;
}
static method test() → void {
  function f<@self::Foo::•(const <core::String>[]) T extends core::Object = dynamic>() → void {}
  <@self::Foo::•(const <core::String>[]) T extends core::Object = dynamic>() → core::Null x = <@self::Foo::•(const <core::String>[]) T extends core::Object = dynamic>() → core::Null {};
}
static method main() → dynamic {}
