class A {
  A.foo1() {}
  A.foo2(int x) {}
  A() {}
  factory A.bar1() => new A();
}

A Function() test1() => A.foo1;
A Function() test2() => A.foo2;
A Function() test3() => A.new;
A Function(int) test4() => A.new;
A Function() test5() => A.bar1;
A Function(int) test6() => A.bar1;
main() {}
