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

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