From 742830f815094d11166008d05994008f5d27f9d7 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Fri, 13 Nov 2015 20:38:39 +0100 Subject: [PATCH] resolve KDoc references in static scope of classes as well #KT-9946 Fixed --- .../src/org/jetbrains/kotlin/idea/kdoc/KDocReference.kt | 4 +++- idea/testData/kdoc/resolve/StaticMember.kt | 6 ++++++ .../kotlin/idea/kdoc/KdocResolveTestGenerated.java | 6 ++++++ 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 idea/testData/kdoc/resolve/StaticMember.kt diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/kdoc/KDocReference.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/kdoc/KDocReference.kt index 4c13b88d409..482a6f9b946 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/kdoc/KDocReference.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/kdoc/KDocReference.kt @@ -142,7 +142,9 @@ private fun getClassInnerScope(outerScope: LexicalScope, descriptor: ClassDescri } } return LexicalChainedScope(headerScope, descriptor, false, null, - "Class ${descriptor.getName()} scope", descriptor.getDefaultType().getMemberScope()) + "Class ${descriptor.name} scope", + descriptor.defaultType.getMemberScope(), + descriptor.staticScope) } public fun getResolutionScope(resolutionFacade: ResolutionFacade, descriptor: DeclarationDescriptor): LexicalScope { diff --git a/idea/testData/kdoc/resolve/StaticMember.kt b/idea/testData/kdoc/resolve/StaticMember.kt new file mode 100644 index 00000000000..b08af84c154 --- /dev/null +++ b/idea/testData/kdoc/resolve/StaticMember.kt @@ -0,0 +1,6 @@ +/** See [Integer.MAX_VALUE] */ +class T { + +} + +// REF: (in java.lang.Integer).MAX_VALUE diff --git a/idea/tests/org/jetbrains/kotlin/idea/kdoc/KdocResolveTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/kdoc/KdocResolveTestGenerated.java index c3433866e2f..af92b6814c6 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/kdoc/KdocResolveTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/kdoc/KdocResolveTestGenerated.java @@ -96,6 +96,12 @@ public class KdocResolveTestGenerated extends AbstractReferenceResolveTest { doTest(fileName); } + @TestMetadata("StaticMember.kt") + public void testStaticMember() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/kdoc/resolve/StaticMember.kt"); + doTest(fileName); + } + @TestMetadata("TypeParamReference.kt") public void testTypeParamReference() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/kdoc/resolve/TypeParamReference.kt");