diff --git a/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/K2MoveDirectoryWithClassesHelper.kt b/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/K2MoveDirectoryWithClassesHelper.kt index 8d4ca9dfffee..4ec33eee5cde 100644 --- a/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/K2MoveDirectoryWithClassesHelper.kt +++ b/plugins/kotlin/refactorings/kotlin.refactorings.move.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/move/processor/K2MoveDirectoryWithClassesHelper.kt @@ -62,7 +62,7 @@ class K2MoveDirectoryWithClassesHelper : MoveDirectoryWithClassesHelper() { project: Project, files: Set, infos: Ref>, - targetDirectory: PsiDirectory, + targetDirectory: PsiDirectory?, conflicts: MultiMap ) { val movedFiles = files.filterIsInstance() @@ -71,7 +71,9 @@ class K2MoveDirectoryWithClassesHelper : MoveDirectoryWithClassesHelper() { // processing kotlin usages from Java declarations will result in non-deterministic retargeting of the references // to fix this, all usages are sorted by start offset infos.set(K2MoveRenameUsageInfo.filterUpdatable(movedFiles, infos.get()).sortedBy { it.element?.startOffset ?: -1 }.toTypedArray()) - moveFileHandler.detectConflicts(conflicts, files.filterIsInstance().toTypedArray(), infos.get(), targetDirectory) + if (targetDirectory != null) { // TODO probably this should never be null but it happens when there are multiple source roots + moveFileHandler.detectConflicts(conflicts, files.filterIsInstance().toTypedArray(), infos.get(), targetDirectory) + } } override fun beforeMove(psiFile: PsiFile?) {