From 6e2982989103321279a1414cc9f02886a59ae343 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Fri, 27 Feb 2015 20:55:34 +0100 Subject: [PATCH] add test which reproduces the problem --- .../kdoc/finder/OverriddenWithSubstitutedType.kt | 10 ++++++++++ .../org/jetbrains/kotlin/idea/kdoc/KDocFinderTest.kt | 9 +++++++++ 2 files changed, 19 insertions(+) create mode 100644 idea/testData/kdoc/finder/OverriddenWithSubstitutedType.kt diff --git a/idea/testData/kdoc/finder/OverriddenWithSubstitutedType.kt b/idea/testData/kdoc/finder/OverriddenWithSubstitutedType.kt new file mode 100644 index 00000000000..fa46745f14e --- /dev/null +++ b/idea/testData/kdoc/finder/OverriddenWithSubstitutedType.kt @@ -0,0 +1,10 @@ +open class Foo() { + /** + * Doc for method xyzzy + */ + open fun xyzzy(): Int = 0 +} + +open class Bar(): Foo() { + override fun xyzzy(): Int = 1 +} diff --git a/idea/tests/org/jetbrains/kotlin/idea/kdoc/KDocFinderTest.kt b/idea/tests/org/jetbrains/kotlin/idea/kdoc/KDocFinderTest.kt index 41348211262..8005c2e6830 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/kdoc/KDocFinderTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/kdoc/KDocFinderTest.kt @@ -46,4 +46,13 @@ public class KDocFinderTest() : LightPlatformCodeInsightFixtureTestCase() { val doc = KDocFinder.findKDoc(overriddenFunctionDescriptor) Assert.assertEquals("Doc for method xyzzy", doc!!.getContent()) } + + public fun testOverriddenWithSubstitutedType() { + myFixture.configureByFile(getTestName(false) + ".kt") + val declaration = (myFixture.getFile() as JetFile).getDeclarations().single { it.getName() == "Bar" } + val descriptor = declaration.resolveToDescriptor() as ClassDescriptor + val overriddenFunctionDescriptor = descriptor.getDefaultType().getMemberScope().getFunctions(Name.identifier("xyzzy")).single() + val doc = KDocFinder.findKDoc(overriddenFunctionDescriptor) + Assert.assertEquals("Doc for method xyzzy", doc!!.getContent()) + } }