library redirecting_factory_constructors.typeparam_test;
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 field dynamic _redirecting# = <dynamic>[self::A::redir];
  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*>*
    let dynamic #redirecting_factory = self::A::• in let self::A::redir::T* #typeArg0 = null in let self::A::redir::S* #typeArg1 = null in invalid-expression;
}
static method main() → dynamic
  ;
