From 237db3a9e8104eec3a2fbf04f6b6c8f957142070 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Fri, 22 Mar 2024 16:12:04 +0100 Subject: [PATCH] [kotlin] k2 quick doc: show explicit abstract modifier ^KTIJ-29186 fixed GitOrigin-RevId: 1475342d533dedec6574b224ee7e9c61a1d2157a --- .../quickDoc/KotlinIdeDeclarationRenderer.kt | 2 +- .../fir/documentation/FirQuickDocTestGenerated.java | 10 ++++++++++ .../editor/quickDoc/QuickDocProviderTestGenerated.java | 10 ++++++++++ .../editor/quickDoc/AbstractCallableInClass.kt | 6 ++++++ .../editor/quickDoc/AbstractCallableInInterface.kt | 5 +++++ 5 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 plugins/kotlin/idea/tests/testData/editor/quickDoc/AbstractCallableInClass.kt create mode 100644 plugins/kotlin/idea/tests/testData/editor/quickDoc/AbstractCallableInInterface.kt diff --git a/plugins/kotlin/code-insight/kotlin.code-insight.k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/quickDoc/KotlinIdeDeclarationRenderer.kt b/plugins/kotlin/code-insight/kotlin.code-insight.k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/quickDoc/KotlinIdeDeclarationRenderer.kt index 1e665667e388..6cfd37c598a9 100644 --- a/plugins/kotlin/code-insight/kotlin.code-insight.k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/quickDoc/KotlinIdeDeclarationRenderer.kt +++ b/plugins/kotlin/code-insight/kotlin.code-insight.k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/quickDoc/KotlinIdeDeclarationRenderer.kt @@ -180,7 +180,7 @@ internal class KotlinIdeDeclarationRenderer( symbol is KtClassOrObjectSymbol -> !(symbol.classKind == KtClassKind.INTERFACE && symbol.modality == Modality.ABSTRACT || symbol.classKind.isObject && symbol.modality == Modality.FINAL) symbol is KtCallableSymbol -> { - symbol.modality == Modality.OPEN || symbol.getContainingSymbol() != null && symbol.modality == Modality.FINAL + symbol.modality == Modality.OPEN || symbol.getContainingSymbol() != null && symbol.modality == Modality.FINAL || symbol.modality == Modality.ABSTRACT } else -> false diff --git a/plugins/kotlin/fir/tests/test/org/jetbrains/kotlin/idea/fir/documentation/FirQuickDocTestGenerated.java b/plugins/kotlin/fir/tests/test/org/jetbrains/kotlin/idea/fir/documentation/FirQuickDocTestGenerated.java index d78c06daec0b..c6527cf996b4 100644 --- a/plugins/kotlin/fir/tests/test/org/jetbrains/kotlin/idea/fir/documentation/FirQuickDocTestGenerated.java +++ b/plugins/kotlin/fir/tests/test/org/jetbrains/kotlin/idea/fir/documentation/FirQuickDocTestGenerated.java @@ -23,6 +23,16 @@ public class FirQuickDocTestGenerated extends AbstractFirQuickDocTest { KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); } + @TestMetadata("AbstractCallableInClass.kt") + public void testAbstractCallableInClass() throws Exception { + runTest("../../idea/tests/testData/editor/quickDoc/AbstractCallableInClass.kt"); + } + + @TestMetadata("AbstractCallableInInterface.kt") + public void testAbstractCallableInInterface() throws Exception { + runTest("../../idea/tests/testData/editor/quickDoc/AbstractCallableInInterface.kt"); + } + @TestMetadata("AnonymousObjectLocalVariable.kt") public void testAnonymousObjectLocalVariable() throws Exception { runTest("../../idea/tests/testData/editor/quickDoc/AnonymousObjectLocalVariable.kt"); diff --git a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/editor/quickDoc/QuickDocProviderTestGenerated.java b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/editor/quickDoc/QuickDocProviderTestGenerated.java index ef680b3a54f4..8ac2ed5d3666 100644 --- a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/editor/quickDoc/QuickDocProviderTestGenerated.java +++ b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/editor/quickDoc/QuickDocProviderTestGenerated.java @@ -23,6 +23,16 @@ public class QuickDocProviderTestGenerated extends AbstractQuickDocProviderTest KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); } + @TestMetadata("AbstractCallableInClass.kt") + public void testAbstractCallableInClass() throws Exception { + runTest("testData/editor/quickDoc/AbstractCallableInClass.kt"); + } + + @TestMetadata("AbstractCallableInInterface.kt") + public void testAbstractCallableInInterface() throws Exception { + runTest("testData/editor/quickDoc/AbstractCallableInInterface.kt"); + } + @TestMetadata("AnonymousObjectLocalVariable.kt") public void testAnonymousObjectLocalVariable() throws Exception { runTest("testData/editor/quickDoc/AnonymousObjectLocalVariable.kt"); diff --git a/plugins/kotlin/idea/tests/testData/editor/quickDoc/AbstractCallableInClass.kt b/plugins/kotlin/idea/tests/testData/editor/quickDoc/AbstractCallableInClass.kt new file mode 100644 index 000000000000..3b246545ffd5 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/editor/quickDoc/AbstractCallableInClass.kt @@ -0,0 +1,6 @@ +abstract class Foo { + abstract fun bar() +} + +//K2_INFO:
public abstract fun bar(): Unit
 Foo
+//INFO:
public abstract fun bar(): Unit

 Foo
diff --git a/plugins/kotlin/idea/tests/testData/editor/quickDoc/AbstractCallableInInterface.kt b/plugins/kotlin/idea/tests/testData/editor/quickDoc/AbstractCallableInInterface.kt new file mode 100644 index 000000000000..e4c97e659f80 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/editor/quickDoc/AbstractCallableInInterface.kt @@ -0,0 +1,5 @@ +interface Foo { + val bar: String +} + +//INFO:
public abstract val bar: String
 Foo