Implement "Find usages" using UsagesSearch (classes, functions, properties)

This commit is contained in:
Alexey Sedunov
2013-10-25 17:11:56 +04:00
parent e1fa8628ec
commit f1a7d707a0
61 changed files with 792 additions and 491 deletions
@@ -0,0 +1,22 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetProperty
// OPTIONS: overrides
open class A<T> {
open var <caret>foo: T
}
open class B: A<String>() {
override var foo: String
get() {
println("get")
return super<A>.foo
}
set(value: String) {
println("set:" + value)
super<A>.foo = value
}
fun baz(a: A<String>) {
a.foo = ""
println(a.foo)
}
}
@@ -0,0 +1,11 @@
class C extends A<String> {
@Override
public String getFoo() {
return super.getFoo();
}
@Override
public void setFoo(String s) {
super.setFoo(s);
}
}
@@ -0,0 +1,4 @@
Unclassified usage (13: 9) set(value: String) {
Unclassified usage (3: 19) public String getFoo() {
Unclassified usage (8: 17) public void setFoo(String s) {
Unclassified usage (9: 9) get() {
@@ -0,0 +1,18 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetProperty
// OPTIONS: usages, skipWrite
package server;
open class A<T>(t: T) {
open var <caret>foo: T = t
}
open class B: A<String>("") {
override var foo: String
get() {
println("get")
return ""
}
set(value: String) {
println("set:" + value)
}
}
@@ -0,0 +1,15 @@
package client;
import server.*
class Client {
fun fooBar() {
A<String> a = new A<String>("");
a.setFoo("a");
println("a.foo = " + a.getFoo());
B b = new B();
b.setFoo("b");
println("b.foo = " + b.getFoo());
}
}
@@ -0,0 +1,2 @@
Unclassified usage (13: 32) println("b.foo = " + b.getFoo());
Unclassified usage (9: 32) println("a.foo = " + a.getFoo());
@@ -1,7 +1,18 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetProperty
// OPTIONS: usages
package server;
object O {
var <caret>foo: String = "foo"
open class A<T>(t: T) {
open var <caret>foo: T = t
}
open class B: A<String>("") {
override var foo: String
get() {
println("get")
return ""
}
set(value: String) {
println("set:" + value)
}
}
@@ -1,9 +1,15 @@
package client;
import server.O
import server.*
class Client {
fun fooBar() {
println("foo = " + O.instance$.getFoo())
A<String> a = new A<String>("");
a.setFoo("a");
println("a.foo = " + a.getFoo());
B b = new B();
b.setFoo("b");
println("b.foo = " + b.getFoo());
}
}
@@ -1 +1,4 @@
Unclassified usage (7: 40) println("foo = " + O.instance$.getFoo())
Unclassified usage (12: 11) b.setFoo("b");
Unclassified usage (13: 32) println("b.foo = " + b.getFoo());
Unclassified usage (8: 11) a.setFoo("a");
Unclassified usage (9: 32) println("a.foo = " + a.getFoo());
@@ -0,0 +1,18 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetProperty
// OPTIONS: usages, skipRead
package server;
open class A<T>(t: T) {
open var <caret>foo: T = t
}
open class B: A<String>("") {
override var foo: String
get() {
println("get")
return ""
}
set(value: String) {
println("set:" + value)
}
}
@@ -0,0 +1,15 @@
package client;
import server.*
class Client {
fun fooBar() {
A<String> a = new A<String>("");
a.setFoo("a");
println("a.foo = " + a.getFoo());
B b = new B();
b.setFoo("b");
println("b.foo = " + b.getFoo());
}
}
@@ -0,0 +1,2 @@
Unclassified usage (12: 11) b.setFoo("b");
Unclassified usage (8: 11) a.setFoo("a");
@@ -0,0 +1,19 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetProperty
// OPTIONS: usages, skipWrite
package server;
open class A<T> {
open var <caret>foo: T
}
open class B: A<String>() {
open var foo: String
get() {
println("get")
return super<A>.foo
}
set(value: String) {
println("set:" + value)
super<A>.foo = value
}
}
@@ -0,0 +1,13 @@
import server.*;
class Client {
public fun foo() {
val a = A<String>()
a.foo = "a"
println("a.foo = ${a.foo}")
val b = B()
b.foo = "b"
println("b.foo = ${b.foo}")
}
}
@@ -0,0 +1,3 @@
Value read (11: 30) println("b.foo = ${b.foo}")
Value read (13: 29) return super<A>.foo
Value read (7: 30) println("a.foo = ${a.foo}")
@@ -0,0 +1,19 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetProperty
// OPTIONS: usages
package server;
open class A<T> {
open var <caret>foo: T
}
open class B: A<String>() {
open var foo: String
get() {
println("get")
return super<A>.foo
}
set(value: String) {
println("set:" + value)
super<A>.foo = value
}
}
@@ -0,0 +1,13 @@
import server.*;
class Client {
public fun foo() {
val a = A<String>()
a.foo = "a"
println("a.foo = ${a.foo}")
val b = B()
b.foo = "b"
println("b.foo = ${b.foo}")
}
}
@@ -0,0 +1,6 @@
Value read (11: 30) println("b.foo = ${b.foo}")
Value read (13: 29) return super<A>.foo
Value read (7: 30) println("a.foo = ${a.foo}")
Value write (10: 11) b.foo = "b"
Value write (17: 22) super<A>.foo = value
Value write (6: 11) a.foo = "a"
@@ -0,0 +1,19 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetProperty
// OPTIONS: usages, skipRead
package server;
open class A<T> {
open var <caret>foo: T
}
open class B: A<String>() {
open var foo: String
get() {
println("get")
return super<A>.foo
}
set(value: String) {
println("set:" + value)
super<A>.foo = value
}
}
@@ -0,0 +1,13 @@
import server.*;
class Client {
public fun foo() {
val a = A<String>()
a.foo = "a"
println("a.foo = ${a.foo}")
val b = B()
b.foo = "b"
println("b.foo = ${b.foo}")
}
}
@@ -0,0 +1,3 @@
Value write (10: 11) b.foo = "b"
Value write (17: 22) super<A>.foo = value
Value write (6: 11) a.foo = "a"
@@ -1,4 +1,5 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetProperty
// OPTIONS: usages
package server;
var <caret>foo: String = "foo"