From 6fc6ec21705aecf83ec0250eabecb9117a7b6b71 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Wed, 3 Jul 2024 17:08:28 +0200 Subject: [PATCH] [kotlin] kdoc: delegate rendering of fake top level classes to java ^KTIJ-26262 fixed GitOrigin-RevId: 530d578ef005c0e86d8a37e9350b30130d973e9a --- .../quickDoc/KotlinPsiDocumentationTargetProvider.kt | 10 +++++++++- .../quickDoc/KotlinPackageClassUsedFromJava.java | 1 - 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/plugins/kotlin/code-insight/kotlin.code-insight.k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/quickDoc/KotlinPsiDocumentationTargetProvider.kt b/plugins/kotlin/code-insight/kotlin.code-insight.k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/quickDoc/KotlinPsiDocumentationTargetProvider.kt index 3e2054d8dd9f..7bcb893affa1 100644 --- a/plugins/kotlin/code-insight/kotlin.code-insight.k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/quickDoc/KotlinPsiDocumentationTargetProvider.kt +++ b/plugins/kotlin/code-insight/kotlin.code-insight.k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/quickDoc/KotlinPsiDocumentationTargetProvider.kt @@ -11,6 +11,7 @@ import com.intellij.platform.backend.documentation.PsiDocumentationTargetProvide import com.intellij.psi.PsiDocCommentBase import com.intellij.psi.PsiElement import com.intellij.psi.PsiFile +import com.intellij.psi.PsiJavaFile import com.intellij.psi.util.PsiTreeUtil import org.jetbrains.kotlin.idea.KotlinLanguage import org.jetbrains.kotlin.idea.kdoc.KDocRenderer.renderKDoc @@ -21,7 +22,14 @@ import org.jetbrains.kotlin.psi.KtFile class KotlinPsiDocumentationTargetProvider : PsiDocumentationTargetProvider { override fun documentationTarget(element: PsiElement, originalElement: PsiElement?): DocumentationTarget? { val elementWithDocumentation = element.navigationElement ?: element - return if (elementWithDocumentation.language.`is`(KotlinLanguage.INSTANCE)) KotlinDocumentationTarget(elementWithDocumentation, originalElement) else null + return if (elementWithDocumentation.language.`is`(KotlinLanguage.INSTANCE)) { + KotlinDocumentationTarget(elementWithDocumentation, originalElement).takeUnless { + // show documentation based on java presentation + elementWithDocumentation is KtFile && originalElement?.containingFile is PsiJavaFile + } + } else { + null + } } } diff --git a/plugins/kotlin/idea/tests/testData/editor/quickDoc/KotlinPackageClassUsedFromJava.java b/plugins/kotlin/idea/tests/testData/editor/quickDoc/KotlinPackageClassUsedFromJava.java index 371fed2699c7..57f448161ae9 100644 --- a/plugins/kotlin/idea/tests/testData/editor/quickDoc/KotlinPackageClassUsedFromJava.java +++ b/plugins/kotlin/idea/tests/testData/editor/quickDoc/KotlinPackageClassUsedFromJava.java @@ -7,4 +7,3 @@ class KotlinPackageClassUsedFromJava { } //INFO:
 testing
public final class KotlinPackageClassUsedFromJava_DataKt
-// IGNORE_K2