library redirecting_factory_constructors.typeparam_test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

class A<T extends core::Object? = dynamic, S extends core::Object? = dynamic> extends core::Object {
  static final field dynamic _redirecting# = <dynamic>[self::A::redir]/*isLegacy*/;
  constructor •(self::A::T% t, self::A::S% s) → self::A<self::A::T%, self::A::S%>
    ;
  static factory redir<T extends core::Object? = dynamic, S extends core::Object? = dynamic>(self::A::redir::T% t, self::A::redir::S% s) → self::A<self::A::redir::T%, self::A::redir::S%>
    return new self::A::•<self::A::redir::T%, self::A::redir::S%>(t, s);
}
static method main() → dynamic
  ;


Extra constant evaluation status:
Evaluated: ConstructorTearOff @ org-dartlang-testcase:///redirecting_factory_typeparam_test.dart:12:7 -> ConstructorTearOffConstant(A.redir)
Extra constant evaluation: evaluated: 5, effectively constant: 1
