@@ -23,6 +23,9 @@ namespace ts.refactor {
23
23
if ( ! info ) return emptyArray ;
24
24
25
25
if ( ! isRefactorErrorInfo ( info ) ) {
26
+ if ( ! ( isIdentifier ( info . exportName ) && context . program . getTypeChecker ( ) . getSymbolAtLocation ( info . exportName ) ) ) {
27
+ return emptyArray ;
28
+ }
26
29
const action = info . wasDefault ? defaultToNamedAction : namedToDefaultAction ;
27
30
return [ { name : refactorName , description : action . description , actions : [ action ] } ] ;
28
31
}
@@ -107,8 +110,9 @@ namespace ts.refactor {
107
110
}
108
111
109
112
function doChange ( exportingSourceFile : SourceFile , program : Program , info : ExportInfo , changes : textChanges . ChangeTracker , cancellationToken : CancellationToken | undefined ) : void {
110
- changeExport ( exportingSourceFile , info , changes , program . getTypeChecker ( ) ) ;
111
- changeImports ( program , info , changes , cancellationToken ) ;
113
+ const checker = program . getTypeChecker ( ) ;
114
+ changeExport ( exportingSourceFile , info , changes , checker ) ;
115
+ changeImports ( program , info , changes , checker , cancellationToken ) ;
112
116
}
113
117
114
118
function changeExport ( exportingSourceFile : SourceFile , { wasDefault, exportNode, exportName } : ExportInfo , changes : textChanges . ChangeTracker , checker : TypeChecker ) : void {
@@ -152,8 +156,7 @@ namespace ts.refactor {
152
156
}
153
157
}
154
158
155
- function changeImports ( program : Program , { wasDefault, exportName, exportingModuleSymbol } : ExportInfo , changes : textChanges . ChangeTracker , cancellationToken : CancellationToken | undefined ) : void {
156
- const checker = program . getTypeChecker ( ) ;
159
+ function changeImports ( program : Program , { wasDefault, exportName, exportingModuleSymbol } : ExportInfo , changes : textChanges . ChangeTracker , checker : TypeChecker , cancellationToken : CancellationToken | undefined ) : void {
157
160
const exportSymbol = Debug . checkDefined ( checker . getSymbolAtLocation ( exportName ) , "Export name should resolve to a symbol" ) ;
158
161
FindAllReferences . Core . eachExportReference ( program . getSourceFiles ( ) , checker , cancellationToken , exportSymbol , exportingModuleSymbol , exportName . text , wasDefault , ref => {
159
162
const importingSourceFile = ref . getSourceFile ( ) ;
0 commit comments