@@ -148,20 +148,9 @@ namespace ts.codefix {
148148 return false ;
149149 }
150150
151- function tryDeleteDeclaration ( changes : textChanges . ChangeTracker , sourceFile : SourceFile , token : Node , deletedAncestors : NodeSet | undefined , checker : TypeChecker , isFixAll : boolean ) : void {
152- switch ( token . kind ) {
153- case SyntaxKind . Identifier :
154- tryDeleteIdentifier ( changes , sourceFile , < Identifier > token , deletedAncestors , checker , isFixAll ) ;
155- deleteAssignments ( changes , sourceFile , token as Identifier , checker ) ;
156- break ;
157- case SyntaxKind . PropertyDeclaration :
158- case SyntaxKind . NamespaceImport :
159- if ( deletedAncestors ) deletedAncestors . add ( token . parent ) ;
160- changes . deleteNode ( sourceFile , token . parent ) ;
161- break ;
162- default :
163- tryDeleteDefault ( changes , sourceFile , token , deletedAncestors ) ;
164- }
151+ function tryDeleteDeclaration ( changes : textChanges . ChangeTracker , sourceFile : SourceFile , token : Node , deletedAncestors : NodeSet | undefined , checker : TypeChecker , isFixAll : boolean ) {
152+ tryDeleteDeclarationWorker ( changes , sourceFile , token , deletedAncestors , checker , isFixAll ) ;
153+ if ( isIdentifier ( token ) ) deleteAssignments ( changes , sourceFile , token , checker ) ;
165154 }
166155
167156 function deleteAssignments ( changes : textChanges . ChangeTracker , sourceFile : SourceFile , token : Identifier , checker : TypeChecker ) {
@@ -173,19 +162,8 @@ namespace ts.codefix {
173162 } ) ;
174163 }
175164
176- function tryDeleteDefault ( changes : textChanges . ChangeTracker , sourceFile : SourceFile , token : Node , deletedAncestors : NodeSet | undefined ) : void {
177- if ( isDeclarationName ( token ) ) {
178- if ( deletedAncestors ) deletedAncestors . add ( token . parent ) ;
179- changes . deleteNode ( sourceFile , token . parent ) ;
180- }
181- else if ( isLiteralComputedPropertyDeclarationName ( token ) ) {
182- if ( deletedAncestors ) deletedAncestors . add ( token . parent . parent ) ;
183- changes . deleteNode ( sourceFile , token . parent . parent ) ;
184- }
185- }
186-
187- function tryDeleteIdentifier ( changes : textChanges . ChangeTracker , sourceFile : SourceFile , identifier : Identifier , deletedAncestors : NodeSet | undefined , checker : TypeChecker , isFixAll : boolean ) : void {
188- const parent = identifier . parent ;
165+ function tryDeleteDeclarationWorker ( changes : textChanges . ChangeTracker , sourceFile : SourceFile , token : Node , deletedAncestors : NodeSet | undefined , checker : TypeChecker , isFixAll : boolean ) : void {
166+ const parent = token . parent ;
189167 switch ( parent . kind ) {
190168 case SyntaxKind . VariableDeclaration :
191169 tryDeleteVariableDeclaration ( changes , sourceFile , < VariableDeclaration > parent , deletedAncestors ) ;
@@ -250,7 +228,7 @@ namespace ts.codefix {
250228
251229 // handle case where 'import a = A;'
252230 case SyntaxKind . ImportEqualsDeclaration :
253- const importEquals = getAncestor ( identifier , SyntaxKind . ImportEqualsDeclaration ) ! ;
231+ const importEquals = getAncestor ( token , SyntaxKind . ImportEqualsDeclaration ) ! ;
254232 changes . deleteNode ( sourceFile , importEquals ) ;
255233 break ;
256234
@@ -290,7 +268,14 @@ namespace ts.codefix {
290268 break ;
291269
292270 default :
293- tryDeleteDefault ( changes , sourceFile , identifier , deletedAncestors ) ;
271+ if ( isDeclarationName ( token ) ) {
272+ if ( deletedAncestors ) deletedAncestors . add ( token . parent ) ;
273+ changes . deleteNode ( sourceFile , token . parent ) ;
274+ }
275+ else if ( isLiteralComputedPropertyDeclarationName ( token ) ) {
276+ if ( deletedAncestors ) deletedAncestors . add ( token . parent . parent ) ;
277+ changes . deleteNode ( sourceFile , token . parent . parent ) ;
278+ }
294279 break ;
295280 }
296281 }
0 commit comments