Implement search of class members usages

This commit is contained in:
Alexey Sedunov
2013-08-14 15:41:06 +04:00
parent b2d1f8d323
commit a7e46a4ba7
27 changed files with 497 additions and 1 deletions
@@ -0,0 +1,37 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: functionUsages
trait <caret>X {
val a: String
get() {
return ""
}
var b: Int
get () {
return 0
}
set (value: Int) {
}
fun foo(s: String) {
println(s)
}
}
open class A: X {
override val a: String
get() {
return "?"
}
override var b: Int
get () {
return 1
}
set (value: Int) {
println(value)
}
override fun foo(s: String) {
println("!$s!")
}
}
@@ -0,0 +1,13 @@
class Usages {
void foo(A a) {
a.foo("");
System.out.println(a.getA() + " " + a.getB());
a.setB(12);
}
void foo(X x) {
x.foo("");
System.out.println(x.getA() + " " + x.getB());
x.setB(12);
}
}
@@ -0,0 +1 @@
Unclassified usage (9: 11) x.foo("");
@@ -0,0 +1,37 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: functionUsages
trait X {
val a: String
get() {
return ""
}
var b: Int
get () {
return 0
}
set (value: Int) {
}
fun foo(s: String) {
println(s)
}
}
open class <caret>A: X {
override val a: String
get() {
return "?"
}
override var b: Int
get () {
return 1
}
set (value: Int) {
println(value)
}
override fun foo(s: String) {
println("!$s!")
}
}
@@ -0,0 +1,13 @@
class Usages {
void foo(A a) {
a.foo("");
System.out.println(a.getA() + " " + a.getB());
a.setB(12);
}
void foo(X x) {
x.foo("");
System.out.println(x.getA() + " " + x.getB());
x.setB(12);
}
}
@@ -0,0 +1 @@
Unclassified usage (3: 11) a.foo("");
@@ -0,0 +1,37 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: propertyUsages
trait <caret>X {
val a: String
get() {
return ""
}
var b: Int
get () {
return 0
}
set (value: Int) {
}
fun foo(s: String) {
println(s)
}
}
open class A: X {
override val a: String
get() {
return "?"
}
override var b: Int
get () {
return 1
}
set (value: Int) {
println(value)
}
override fun foo(s: String) {
println("!$s!")
}
}
@@ -0,0 +1,13 @@
class Usages {
void foo(A a) {
a.foo("");
System.out.println(a.getA() + " " + a.getB());
a.setB(12);
}
void foo(X x) {
x.foo("");
System.out.println(x.getA() + " " + x.getB());
x.setB(12);
}
}
@@ -0,0 +1,3 @@
Unclassified usage (10: 30) System.out.println(x.getA() + " " + x.getB());
Unclassified usage (10: 47) System.out.println(x.getA() + " " + x.getB());
Unclassified usage (11: 11) x.setB(12);
@@ -0,0 +1,37 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: propertyUsages
trait X {
val a: String
get() {
return ""
}
var b: Int
get () {
return 0
}
set (value: Int) {
}
fun foo(s: String) {
println(s)
}
}
open class <caret>A: X {
override val a: String
get() {
return "?"
}
override var b: Int
get () {
return 1
}
set (value: Int) {
println(value)
}
override fun foo(s: String) {
println("!$s!")
}
}
@@ -0,0 +1,13 @@
class Usages {
void foo(A a) {
a.foo("");
System.out.println(a.getA() + " " + a.getB());
a.setB(12);
}
void foo(X x) {
x.foo("");
System.out.println(x.getA() + " " + x.getB());
x.setB(12);
}
}
@@ -0,0 +1,3 @@
Unclassified usage (4: 30) System.out.println(a.getA() + " " + a.getB());
Unclassified usage (4: 47) System.out.println(a.getA() + " " + a.getB());
Unclassified usage (5: 11) a.setB(12);
@@ -0,0 +1,37 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: functionUsages
trait <caret>X {
val a: String
get() {
return ""
}
var b: Int
get () {
return 0
}
set (value: Int) {
}
fun foo(s: String) {
println(s)
}
}
open class A: X {
override val a: String
get() {
return "?"
}
override var b: Int
get () {
return 1
}
set (value: Int) {
println(value)
}
override fun foo(s: String) {
println("!$s!")
}
}
@@ -0,0 +1,13 @@
class Usages {
fun foo(a: A) {
a.foo("")
println("${a.a} ${a.b}")
a.b = 12
}
fun foo(x: X) {
x.foo("")
println("${x.a} ${x.b}")
x.b = 12
}
}
@@ -0,0 +1 @@
Function call (9: 11) x.foo("")
@@ -0,0 +1,37 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: functionUsages
trait X {
val a: String
get() {
return ""
}
var b: Int
get () {
return 0
}
set (value: Int) {
}
fun foo(s: String) {
println(s)
}
}
open class <caret>A: X {
override val a: String
get() {
return "?"
}
override var b: Int
get () {
return 1
}
set (value: Int) {
println(value)
}
override fun foo(s: String) {
println("!$s!")
}
}
@@ -0,0 +1,13 @@
class Usages {
fun foo(a: A) {
a.foo("")
println("${a.a} ${a.b}")
a.b = 12
}
fun foo(x: X) {
x.foo("")
println("${x.a} ${x.b}")
x.b = 12
}
}
@@ -0,0 +1 @@
Function call (3: 11) a.foo("")
@@ -0,0 +1,37 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: propertyUsages
trait <caret>X {
val a: String
get() {
return ""
}
var b: Int
get () {
return 0
}
set (value: Int) {
}
fun foo(s: String) {
println(s)
}
}
open class A: X {
override val a: String
get() {
return "?"
}
override var b: Int
get () {
return 1
}
set (value: Int) {
println(value)
}
override fun foo(s: String) {
println("!$s!")
}
}
@@ -0,0 +1,13 @@
class Usages {
fun foo(a: A) {
a.foo("")
println("${a.a} ${a.b}")
a.b = 12
}
fun foo(x: X) {
x.foo("")
println("${x.a} ${x.b}")
x.b = 12
}
}
@@ -0,0 +1,3 @@
Selector (10: 22) println("${x.a} ${x.b}")
Selector (10: 29) println("${x.a} ${x.b}")
Selector (11: 11) x.b = 12
@@ -0,0 +1,37 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: propertyUsages
trait X {
val a: String
get() {
return ""
}
var b: Int
get () {
return 0
}
set (value: Int) {
}
fun foo(s: String) {
println(s)
}
}
open class <caret>A: X {
override val a: String
get() {
return "?"
}
override var b: Int
get () {
return 1
}
set (value: Int) {
println(value)
}
override fun foo(s: String) {
println("!$s!")
}
}
@@ -0,0 +1,13 @@
class Usages {
fun foo(a: A) {
a.foo("")
println("${a.a} ${a.b}")
a.b = 12
}
fun foo(x: X) {
x.foo("")
println("${x.a} ${x.b}")
x.b = 12
}
}
@@ -0,0 +1,3 @@
Selector (4: 22) println("${a.a} ${a.b}")
Selector (4: 29) println("${a.a} ${a.b}")
Selector (5: 11) a.b = 12