library redirecting_factory_constructors.chain_test;
import self as self;
import "dart:core" as core;

class A extends core::Object {
  static field dynamic _redirecting# = <dynamic>[self::A::first, self::A::second];
  constructor •() → self::A*
    : super core::Object::•()
    ;
  static factory first() → self::A*
    let dynamic #redirecting_factory = self::A::• in invalid-expression;
  static factory second() → self::A*
    let dynamic #redirecting_factory = self::A::first in invalid-expression;
}
static method main() → dynamic {
  new self::A::•();
}
