Move refactoring on kts fixes
Set file target filenames to kts if moved declarations are from kts Fixed exceptions throwing on script declaration move that could lead to not valid file state (Fixed #KT-36129)
This commit is contained in:
+1
@@ -29,6 +29,7 @@ abstract class ScriptChangeListener(protected val project: Project) {
|
||||
|
||||
protected fun getAnalyzableKtFileForScript(vFile: VirtualFile): KtFile? {
|
||||
if (project.isDisposed) return null
|
||||
if (!vFile.isValid) return null
|
||||
|
||||
return runReadAction {
|
||||
(PsiManager.getInstance(project).findFile(vFile) as? KtFile)?.takeIf {
|
||||
|
||||
@@ -399,8 +399,9 @@ fun guessNewFileName(declarationsToMove: Collection<KtNamedDeclaration>): String
|
||||
if (declarationsToMove.isEmpty()) return null
|
||||
val representative = declarationsToMove.singleOrNull()
|
||||
?: declarationsToMove.filterIsInstance<KtClassOrObject>().singleOrNull()
|
||||
val newFileName = representative?.run { "$name.${KotlinFileType.EXTENSION}" }
|
||||
?: declarationsToMove.first().containingFile.name
|
||||
val newFileName = representative?.run {
|
||||
if (containingKtFile.isScript()) "$name.kts" else "$name.${KotlinFileType.EXTENSION}"
|
||||
} ?: declarationsToMove.first().containingFile.name
|
||||
return newFileName.capitalize()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user