Exit if it's impossible to create file during copy/past (KT-26210)

#KT-26210 Fixed
This commit is contained in:
Nikolay Krasko
2018-10-10 22:15:46 +03:00
parent 749fd5dd80
commit 882a12d916
@@ -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) {