@@ -11418,14 +11418,10 @@ export function createNameResolver({
11418
11418
}
11419
11419
break ;
11420
11420
case SyntaxKind . Parameter : {
11421
- const param = location as ParameterDeclaration ;
11422
- if ( lastLocation === param . name ) {
11423
- lastSelfReferenceLocation = param ;
11424
- }
11425
11421
if (
11426
11422
lastLocation && (
11427
- lastLocation === param . initializer ||
11428
- lastLocation === param . name && isBindingPattern ( lastLocation )
11423
+ lastLocation === ( location as ParameterDeclaration ) . initializer ||
11424
+ lastLocation === ( location as ParameterDeclaration ) . name && isBindingPattern ( lastLocation )
11429
11425
)
11430
11426
) {
11431
11427
if ( ! associatedDeclarationForContainingInitializerOrBindingName ) {
@@ -11466,7 +11462,7 @@ export function createNameResolver({
11466
11462
}
11467
11463
break ;
11468
11464
}
11469
- if ( isSelfReferenceLocation ( location ) ) {
11465
+ if ( isSelfReferenceLocation ( location , lastLocation ) ) {
11470
11466
lastSelfReferenceLocation = location ;
11471
11467
}
11472
11468
lastLocation = location ;
@@ -11608,8 +11604,10 @@ export function createNameResolver({
11608
11604
| TypeAliasDeclaration
11609
11605
| ModuleDeclaration ;
11610
11606
11611
- function isSelfReferenceLocation ( node : Node ) : node is SelfReferenceLocation {
11607
+ function isSelfReferenceLocation ( node : Node , lastLocation : Node | undefined ) : node is SelfReferenceLocation {
11612
11608
switch ( node . kind ) {
11609
+ case SyntaxKind . Parameter :
11610
+ return ! ! lastLocation && lastLocation === ( node as ParameterDeclaration ) . name ;
11613
11611
case SyntaxKind . FunctionDeclaration :
11614
11612
case SyntaxKind . ClassDeclaration :
11615
11613
case SyntaxKind . InterfaceDeclaration :
0 commit comments