anchor.diff:      _assertArgumentList(invocation.argumentList, ['0']);
     }
   
  +  test_targetNull_typeAlias_interfaceType() async {
  +    await assertNoErrorsInCode(r'''
  +class A<T, U> {
  +  A(int _);
  +}
  +
  +typedef X<T, U> = A<T, U>;
  +
  +void f() {
  +  X<int, String>(0);
  +}
  +''');
  +
  +    var creation = findNode.instanceCreation('X<int, String>(0);');
  +    assertInstanceCreation(
  +      creation,
  +      findElement.class_('A'),
  +      'A<int, String>',
  +      expectedConstructorMember: true,
  +      expectedSubstitution: {'T': 'int', 'U': 'String'},
  +      expectedTypeNameElement: findElement.typeAlias('X'),
  +    );
  +    _assertArgumentList(creation.argumentList, ['0']);
  +  }
  +
  +  test_targetNull_typeAlias_Never() async {
  +    await assertErrorsInCode(r'''
  +typedef X = Never;
  +
  +void f() {
  +  X(0);
  +}
  +''', [
  +      error(CompileTimeErrorCode.INVOCATION_OF_NON_FUNCTION, 33, 1),
  +    ]);
  +
  +    // Not rewritten.
  +    findNode.methodInvocation('X(0)');
  +  }
  +
     test_targetPrefixedIdentifier_prefix_class_constructor() async {
       newFile('$testPackageLibPath/a.dart', content: r'''
   class A<T> {
  
positive.code:     assertElement(invocation, importFind.class_('A').getMethod('bar'));
      assertInvokeType(invocation, 'void Function(int)');
      _assertArgumentList(invocation.argumentList, ['0']);
    }
  
    test_targetSimpleIdentifier_class_constructor() async {
  
negative.code:     expect(argumentStrings, expectedArguments);
    }
  }
  