diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/configuration/listener/ScriptChangeListener.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/configuration/listener/ScriptChangeListener.kt index afce27552fd..bb5fa4d1781 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/configuration/listener/ScriptChangeListener.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/configuration/listener/ScriptChangeListener.kt @@ -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 { diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveUtils.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveUtils.kt index 10ea58fbc6a..7e162cd4239 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveUtils.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveUtils.kt @@ -399,8 +399,9 @@ fun guessNewFileName(declarationsToMove: Collection): String if (declarationsToMove.isEmpty()) return null val representative = declarationsToMove.singleOrNull() ?: declarationsToMove.filterIsInstance().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() }