inherit documentation for properties as well as functions

This commit is contained in:
Dmitry Jemerov
2015-02-05 17:20:11 +01:00
parent 478118c12a
commit cc5edc332d
3 changed files with 25 additions and 3 deletions
@@ -20,8 +20,8 @@ import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithSource
import org.jetbrains.kotlin.resolve.source.PsiSourceElement
import org.jetbrains.kotlin.psi.JetDeclaration
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
import org.jetbrains.kotlin.kdoc.psi.impl.KDocTag
import org.jetbrains.kotlin.descriptors.CallableDescriptor
fun findKDoc(declaration: DeclarationDescriptor): KDocTag? {
if (declaration is DeclarationDescriptorWithSource) {
@@ -34,7 +34,7 @@ fun findKDoc(declaration: DeclarationDescriptor): KDocTag? {
}
}
if (declaration is FunctionDescriptor) {
if (declaration is CallableDescriptor) {
for (baseDescriptor in declaration.getOverriddenDescriptors()) {
val baseKDoc = findKDoc(baseDescriptor)
if (baseKDoc != null) {
@@ -0,0 +1,17 @@
open class C() {
/**
* This property returns zero.
*/
open val foo: Int get() = 0
}
class D(): C() {
override val foo: Int get() = 1
}
fun test() {
D().f<caret>oo
}
// INFO: <b>internal</b> <b>open</b> <b>val</b> foo: Int<br/><p>This property returns zero.</p>
@@ -17,7 +17,6 @@
package org.jetbrains.kotlin.idea.editor.quickDoc;
import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.test.InnerTestClasses;
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.test.JetTestUtils;
import org.jetbrains.kotlin.test.TestMetadata;
@@ -102,6 +101,12 @@ public class JetQuickDocProviderTestGenerated extends AbstractJetQuickDocProvide
doTest(fileName);
}
@TestMetadata("OnInheritedPropertyUsage.kt")
public void testOnInheritedPropertyUsage() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/quickDoc/OnInheritedPropertyUsage.kt");
doTest(fileName);
}
@TestMetadata("OnMethodUsage.kt")
public void testOnMethodUsage() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/quickDoc/OnMethodUsage.kt");