Allow to find usages of Java class via references to its constructor #KT-4521 Fixed

This commit is contained in:
Alexey Sedunov
2014-02-07 12:25:13 +04:00
parent 8b6bd8a184
commit d549257bfc
18 changed files with 138 additions and 17 deletions
@@ -4,6 +4,10 @@ public class <caret>A {
public String bar = "bar";
public static String BAR = "BAR";
public A() {
}
public void foo() {
}
@@ -1,5 +1,7 @@
// PSI_ELEMENT: com.intellij.psi.PsiClass
// OPTIONS: derivedClasses
public class <caret>A {
public A() {
}
}
@@ -1,5 +1,7 @@
// PSI_ELEMENT: com.intellij.psi.PsiClass
// OPTIONS: derivedClasses
public class <caret>A {
public A() {
}
}
@@ -1,5 +1,7 @@
// PSI_ELEMENT: com.intellij.psi.PsiClass
// OPTIONS: derivedClasses
public class <caret>A {
public A() {
}
}
@@ -1,5 +1,7 @@
// PSI_ELEMENT: com.intellij.psi.PsiClass
// OPTIONS: derivedClasses
public class <caret>A {
public A() {
}
}
@@ -1,5 +1,7 @@
// PSI_ELEMENT: com.intellij.psi.PsiClass
// OPTIONS: derivedClasses
public class <caret>A {
public A() {
}
}
@@ -1,5 +1,7 @@
// PSI_ELEMENT: com.intellij.psi.PsiClass
// OPTIONS: derivedClasses
public class <caret>A {
public A() {
}
}
@@ -1,5 +1,7 @@
// PSI_ELEMENT: com.intellij.psi.PsiClass
// OPTIONS: derivedClasses
public class <caret>A {
public A() {
}
}
@@ -4,6 +4,10 @@ public class <caret>A {
public String bar = "bar";
public static String BAR = "BAR";
public A() {
}
public void foo() {
}
@@ -4,6 +4,10 @@ public class <caret>A {
public String bar = "bar";
public static String BAR = "BAR";
public A() {
}
public void foo() {
}
@@ -1,2 +1,7 @@
Function call (20: 18) super<A>.foo()
Function call (7: 11) A.foos()
New instance creation (2: 20) var next: A? = A()
New instance creation (32: 18) fun X.bar(a: A = A()) {
Supertype (1: 39) public class X(bar: String? = A.BAR): A() {
Supertype (23: 19) class object: A() {
Supertype (28: 11) object O: A() {
@@ -0,0 +1,14 @@
// PSI_ELEMENT: com.intellij.psi.PsiClass
// OPTIONS: usages
public class <caret>A {
public String bar = "bar";
public static String BAR = "BAR";
public void foo() {
}
public static void foos() {
}
}
@@ -0,0 +1,38 @@
public class X(bar: String? = A.BAR): A() {
var next: A? = A()
val myBar: String? = A.BAR
{
A.BAR = ""
A.foos()
}
fun foo(a: A) {
val aa: A = a
aa.bar = ""
}
fun getNext(): A? {
return next
}
public override fun foo() {
super<A>.foo()
}
class object: A() {
}
}
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,18 @@
Class/object property type (2: 15) var next: A? = A()
Function return types (15: 20) fun getNext(): A? {
Function return types (36: 16) fun Any.toA(): A? {
Local variable declaration (11: 17) val aa: A = a
Nested class/object (1: 31) public class X(bar: String? = A.BAR): A() {
Nested class/object (3: 26) val myBar: String? = A.BAR
Nested class/object (6: 9) A.BAR = ""
Nested class/object (7: 9) A.foos()
New instance creation (2: 20) var next: A? = A()
New instance creation (32: 18) fun X.bar(a: A = A()) {
Parameter type (10: 16) fun foo(a: A) {
Parameter type (32: 14) fun X.bar(a: A = A()) {
Super type qualifier (20: 15) super<A>.foo()
Supertype (1: 39) public class X(bar: String? = A.BAR): A() {
Supertype (23: 19) class object: A() {
Supertype (28: 11) object O: A() {
Target type of 'is' operation (37: 24) return if (this is A) this as A else null
Usage in cast target type (37: 35) return if (this is A) this as A else null
@@ -4,6 +4,10 @@ public class Outer {
public class <caret>A {
public String bar = "bar";
public A() {
}
public void foo() {
}
@@ -5,6 +5,10 @@ public class Outer {
public String bar = "bar";
public static String BAR = "BAR";
public A() {
}
public void foo() {
}