Skip to content

Commit 96132a6

Browse files
committed
Type Hierarchy: Support Kotlin class constructors
#KT-22925 Fixed #KT-22926 Fixed
1 parent 66f3126 commit 96132a6

File tree

10 files changed

+62
-0
lines changed

10 files changed

+62
-0
lines changed

idea/src/org/jetbrains/kotlin/idea/hierarchy/KotlinTypeHierarchyProvider.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
3737
import org.jetbrains.kotlin.idea.util.module
3838
import org.jetbrains.kotlin.platform.JavaToKotlinClassMap
3939
import org.jetbrains.kotlin.psi.KtClassOrObject
40+
import org.jetbrains.kotlin.psi.KtConstructor
4041
import org.jetbrains.kotlin.psi.KtNamedFunction
4142
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
4243
import org.jetbrains.kotlin.renderer.DescriptorRenderer
@@ -66,6 +67,7 @@ class KotlinTypeHierarchyProvider : JavaTypeHierarchyProvider() {
6667

6768
return when (target) {
6869
is PsiClass -> target
70+
is KtConstructor<*> -> getOriginalPsiClassOrCreateLightClass(target.getContainingClassOrObject(), module)
6971
is KtClassOrObject -> getOriginalPsiClassOrCreateLightClass(target, module)
7072
is KtNamedFunction -> { // Factory methods
7173
val functionName = target.name
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<node text="A ()" base="true">
2+
<node text="B ()" />
3+
<node text="C ()" />
4+
</node>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
open class A constructor(a: Int)
2+
3+
class B: A<caret>(1)
4+
class C: A(1)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<node text="A ()" base="true">
2+
<node text="B ()" />
3+
<node text="C ()" />
4+
</node>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
open class A constructor(a: Int)
2+
3+
class B: <caret>A(1)
4+
class C: A(1)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<node text="A ()" base="true">
2+
<node text="B ()" />
3+
<node text="C ()" />
4+
</node>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
open class A {
2+
constructor(a: Int)
3+
}
4+
5+
class B: A<caret>(1)
6+
class C: A(1)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<node text="A ()" base="true">
2+
<node text="B ()" />
3+
<node text="C ()" />
4+
</node>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
open class A {
2+
constructor(a: Int)
3+
}
4+
5+
class B: <caret>A(1)
6+
class C: A(1)

idea/tests/org/jetbrains/kotlin/idea/hierarchy/HierarchyTestGenerated.java

Lines changed: 24 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)