From 882a12d91681e43b10e789876aff0de9584e1888 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Wed, 10 Oct 2018 22:15:46 +0300 Subject: [PATCH] Exit if it's impossible to create file during copy/past (KT-26210) #KT-26210 Fixed --- .../idea/conversion/copy/KotlinFilePasteProvider.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/conversion/copy/KotlinFilePasteProvider.kt b/idea/src/org/jetbrains/kotlin/idea/conversion/copy/KotlinFilePasteProvider.kt index a8c0ab49202..f3470ae9383 100644 --- a/idea/src/org/jetbrains/kotlin/idea/conversion/copy/KotlinFilePasteProvider.kt +++ b/idea/src/org/jetbrains/kotlin/idea/conversion/copy/KotlinFilePasteProvider.kt @@ -16,6 +16,7 @@ import com.intellij.openapi.project.Project import com.intellij.psi.JavaDirectoryService import com.intellij.psi.PsiDocumentManager import com.intellij.psi.util.PsiTreeUtil +import com.intellij.util.IncorrectOperationException import org.jetbrains.kotlin.idea.util.application.executeWriteCommand import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtFile @@ -35,7 +36,12 @@ class KotlinFilePasteProvider : PasteProvider { val fileName = (ktFile.declarations.firstOrNull()?.name ?: return) + ".kt" val directory = ideView.getOrChooseDirectory() ?: return project.executeWriteCommand("Create Kotlin file") { - val file = directory.createFile(fileName) + val file = try { + directory.createFile(fileName) + } catch (e: IncorrectOperationException) { + return@executeWriteCommand + } + val documentManager = PsiDocumentManager.getInstance(project) val document = documentManager.getDocument(file) if (document != null) {