inherit documentation for properties as well as functions
This commit is contained in:
@@ -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>
|
||||
+6
-1
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user