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()) + } }