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

class Foo extends core::Object {
  static field dynamic _redirecting# = <dynamic>[self::Foo::•];
  constructor named(dynamic p) → void
    : super core::Object::•()
    ;
  @self::forFactoryItself
  static factory •(@self::forParameter @self::anotherForParameter dynamic p) → self::Foo
    let dynamic #redirecting_factory = self::Foo::named in invalid-expression;
}
static const field core::int forParameter = 1;
static const field core::int forFactoryItself = 2;
static const field core::int anotherForParameter = 3;
static method main() → dynamic {}
