@@ -60,7 +60,7 @@ namespace ts.codefix {
60
60
}
61
61
}
62
62
63
- const prefix = textChanges . ChangeTracker . with ( context , t => tryPrefixDeclaration ( t , errorCode , sourceFile , token ) ) ;
63
+ const prefix = textChanges . ChangeTracker . with ( context , t => tryPrefixDeclaration ( t , errorCode , sourceFile , checker , token ) ) ;
64
64
if ( prefix . length ) {
65
65
result . push ( createCodeFixAction ( fixName , prefix , [ Diagnostics . Prefix_0_with_an_underscore , token . getText ( sourceFile ) ] , fixIdPrefix , Diagnostics . Prefix_all_unused_declarations_with_where_possible ) ) ;
66
66
}
@@ -76,7 +76,7 @@ namespace ts.codefix {
76
76
const token = getTokenAtPosition ( sourceFile , diag . start ) ;
77
77
switch ( context . fixId ) {
78
78
case fixIdPrefix :
79
- tryPrefixDeclaration ( changes , diag . code , sourceFile , token ) ;
79
+ tryPrefixDeclaration ( changes , diag . code , sourceFile , checker , token ) ;
80
80
break ;
81
81
case fixIdDelete : {
82
82
if ( token . kind === SyntaxKind . InferKeyword ) break ; // Can't delete
@@ -146,14 +146,19 @@ namespace ts.codefix {
146
146
return false ;
147
147
}
148
148
149
- function tryPrefixDeclaration ( changes : textChanges . ChangeTracker , errorCode : number , sourceFile : SourceFile , token : Node ) : void {
149
+ function tryPrefixDeclaration ( changes : textChanges . ChangeTracker , errorCode : number , sourceFile : SourceFile , checker : TypeChecker , token : Node ) : void {
150
150
// Don't offer to prefix a property.
151
151
if ( errorCode === Diagnostics . Property_0_is_declared_but_its_value_is_never_read . code ) return ;
152
152
if ( token . kind === SyntaxKind . InferKeyword ) {
153
153
token = cast ( token . parent , isInferTypeNode ) . typeParameter . name ;
154
154
}
155
155
if ( isIdentifier ( token ) && canPrefix ( token ) ) {
156
156
changes . replaceNode ( sourceFile , token , createIdentifier ( `_${ token . text } ` ) ) ;
157
+ FindAllReferences . Core . eachSymbolReferenceInFile ( token , checker , sourceFile , ( ref : Node ) => {
158
+ if ( isIdentifier ( ref ) ) {
159
+ changes . replaceNode ( sourceFile , ref , createIdentifier ( `_${ ref . text } ` ) ) ;
160
+ }
161
+ } ) ;
157
162
}
158
163
}
159
164
0 commit comments