Find Usages and Go to declaration of element used via import alias

#KT-18619 Fixed
This commit is contained in:
Vladimir Dolzhenko
2020-03-20 14:59:24 +00:00
parent ced8a92629
commit e951f1a43a
42 changed files with 677 additions and 32 deletions
@@ -0,0 +1,18 @@
// PSI_ELEMENT: com.intellij.psi.PsiClass
// OPTIONS: usages
public class <caret>AAA {
public String bar = "bar";
public static String BAR = "BAR";
public AAA() {
}
public void foo() {
}
public static void foos() {
}
}
@@ -0,0 +1,39 @@
import AAA as A
public class X(bar: String? = A.BAR): A() {
var next: A? = A()
val myBar: String? = A.BAR
init {
A.BAR = ""
AAA.foos()
}
fun foo(a: A) {
val aa: AAA = a
aa.bar = ""
}
fun getNext(): A? {
return next
}
public override fun foo() {
super<A>.foo()
}
companion object: AAA() {
}
}
object O: A() {
}
fun X.bar(a: A = A()) {
}
fun Any.toA(): A? {
return if (this is A) this as A else null
}
@@ -0,0 +1,17 @@
Class/object property type 3 var next: A? = A()
Function return types 16 fun getNext(): A? {
Function return types 37 fun Any.toA(): A? {
Nested class/object 2 public class X(bar: String? = A.BAR): A() {
Nested class/object 4 val myBar: String? = A.BAR
Nested class/object 7 A.BAR = ""
Nested class/object 8 AAA.foos()
New instance creation 3 var next: A? = A()
New instance creation 33 fun X.bar(a: A = A()) {
Parameter type 11 fun foo(a: A) {
Parameter type 33 fun X.bar(a: A = A()) {
Super type qualifier 21 super<A>.foo()
Supertype 2 public class X(bar: String? = A.BAR): A() {
Supertype 29 object O: A() {
Target type of 'is' operation 38 return if (this is A) this as A else null
Usage in cast target type 38 return if (this is A) this as A else null
Usage in import 1 import AAA as A