From fb5e11dfc68f8f04a395afea8461987199249db2 Mon Sep 17 00:00:00 2001 From: Alexander Podkhalyuzin Date: Mon, 9 Jul 2018 15:23:52 +0300 Subject: [PATCH] simple public interface is Java, not Kotlin #KT-22823 Fixed --- .../kotlin/idea/conversion/copy/KotlinFilePasteProvider.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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 586c924caee..a8c0ab49202 100644 --- a/idea/src/org/jetbrains/kotlin/idea/conversion/copy/KotlinFilePasteProvider.kt +++ b/idea/src/org/jetbrains/kotlin/idea/conversion/copy/KotlinFilePasteProvider.kt @@ -55,11 +55,14 @@ class KotlinFilePasteProvider : PasteProvider { val ideView = ideView(dataContext) if (project == null || ideView == null || ideView.directories.isEmpty()) return false val text = CopyPasteManager.getInstance().getContents(DataFlavor.stringFlavor) ?: return false - if (text.contains(";\n")) return false //Optimisation for Java. Kotlin doesn't need that... + //todo: KT-25329, to remove these heuristics + if (text.contains(";\n") || + ((text.contains("public interface") || text.contains("public class")) && + !text.contains("fun "))) return false //Optimisation for Java. Kotlin doesn't need that... val file = KtPsiFactory(project).createFile(text) return !PsiTreeUtil.hasErrorElements(file) } private fun project(dataContext: DataContext): Project? = CommonDataKeys.PROJECT.getData(dataContext) private fun ideView(dataContext: DataContext): IdeView? = LangDataKeys.IDE_VIEW.getData(dataContext) -} \ No newline at end of file +}