Implement "Find Usages" for value/type parameters
This commit is contained in:
+9
@@ -0,0 +1,9 @@
|
||||
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetParameter
|
||||
// OPTIONS: usages
|
||||
open class A<T>(<caret>foo: T) {
|
||||
{
|
||||
println(foo)
|
||||
}
|
||||
|
||||
val t: T = foo
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
Value read (5: 17) println(foo)
|
||||
Value read (8: 16) val t: T = foo
|
||||
@@ -0,0 +1,6 @@
|
||||
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetParameter
|
||||
// OPTIONS: usages
|
||||
fun foo<T>(<caret>t: T): T {
|
||||
println(t)
|
||||
return t
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
Value read (4: 13) println(t)
|
||||
Value read (5: 12) return t
|
||||
@@ -0,0 +1,26 @@
|
||||
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetParameter
|
||||
// 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)
|
||||
}
|
||||
}
|
||||
|
||||
open class D: A<String>("") {
|
||||
override var foo: String = ""
|
||||
}
|
||||
|
||||
open class E<T>(override var foo: T): A<T>(foo)
|
||||
@@ -0,0 +1,15 @@
|
||||
class C extends A<String> {
|
||||
C(String s) {
|
||||
super(s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFoo() {
|
||||
return super.getFoo();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFoo(String s) {
|
||||
super.setFoo(s);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
Unclassified usage (11: 9) set(value: String) {
|
||||
Unclassified usage (12: 17) public void setFoo(String s) {
|
||||
Unclassified usage (23: 18) override var foo: String = ""
|
||||
Unclassified usage (23: 18) override var foo: String = ""
|
||||
Unclassified usage (26: 30) open class E<T>(override var foo: T): A<T>(foo)
|
||||
Unclassified usage (26: 30) open class E<T>(override var foo: T): A<T>(foo)
|
||||
Unclassified usage (7: 19) public String getFoo() {
|
||||
Unclassified usage (7: 9) get() {
|
||||
@@ -0,0 +1,16 @@
|
||||
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetParameter
|
||||
// OPTIONS: usages, skipWrite
|
||||
package server;
|
||||
|
||||
open class A<T>(open var <caret>foo: 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());
|
||||
@@ -0,0 +1,16 @@
|
||||
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetParameter
|
||||
// OPTIONS: usages
|
||||
package server;
|
||||
|
||||
open class A<T>(open var <caret>foo: 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,4 @@
|
||||
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,16 @@
|
||||
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetParameter
|
||||
// OPTIONS: usages, skipRead
|
||||
package server;
|
||||
|
||||
open class A<T>(open var <caret>foo: 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());
|
||||
}
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
Unclassified usage (12: 11) b.setFoo("b");
|
||||
Unclassified usage (8: 11) a.setFoo("a");
|
||||
@@ -0,0 +1,12 @@
|
||||
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetParameter
|
||||
// OPTIONS: usages
|
||||
package server;
|
||||
|
||||
public open class Server(private val <caret>foo: String = "foo") {
|
||||
open fun processRequest() = foo
|
||||
}
|
||||
|
||||
public class ServerEx(): Server() {
|
||||
override fun processRequest() = "foo" + foo
|
||||
}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
import server.*;
|
||||
|
||||
class Client {
|
||||
public fun foo() {
|
||||
println(Server().foo)
|
||||
ServerEx().processRequest()
|
||||
}
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
Value read (10: 45) override fun processRequest() = "foo" + foo
|
||||
Value read (5: 26) println(Server().foo)
|
||||
Value read (6: 33) open fun processRequest() = foo
|
||||
@@ -0,0 +1,17 @@
|
||||
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetParameter
|
||||
// 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}")
|
||||
}
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
Value read (11: 29) return super<A>.foo
|
||||
Value read (11: 30) println("b.foo = ${b.foo}")
|
||||
Value read (7: 30) println("a.foo = ${a.foo}")
|
||||
@@ -0,0 +1,17 @@
|
||||
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetParameter
|
||||
// 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: 29) return super<A>.foo
|
||||
Value read (11: 30) println("b.foo = ${b.foo}")
|
||||
Value read (7: 30) println("a.foo = ${a.foo}")
|
||||
Value write (10: 11) b.foo = "b"
|
||||
Value write (15: 22) super<A>.foo = value
|
||||
Value write (6: 11) a.foo = "a"
|
||||
@@ -0,0 +1,17 @@
|
||||
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetParameter
|
||||
// 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}")
|
||||
}
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
Value write (10: 11) b.foo = "b"
|
||||
Value write (15: 22) super<A>.foo = value
|
||||
Value write (6: 11) a.foo = "a"
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetTypeParameter
|
||||
// OPTIONS: usages
|
||||
open class A<<caret>T>(foo: T, list: List<T>) {
|
||||
{
|
||||
fun T.bar() {}
|
||||
|
||||
foo.bar()
|
||||
}
|
||||
|
||||
val t: T = foo
|
||||
fun bar(t: T): T = t
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
Class/object property type (10: 12) val t: T = foo
|
||||
Extension receiver type (5: 13) fun T.bar() {}
|
||||
Function return types (11: 20) fun bar(t: T): T = t
|
||||
Parameter type (11: 16) fun bar(t: T): T = t
|
||||
Parameter type (3: 22) open class A<T>(foo: T, list: List<T>) {
|
||||
Type parameter (3: 36) open class A<T>(foo: T, list: List<T>) {
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetTypeParameter
|
||||
// OPTIONS: usages
|
||||
fun <<caret>T> T.foo(t: T, list: List<T>): T {
|
||||
return t
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
Extension receiver type (3: 9) fun <T> T.foo(t: T, list: List<T>): T {
|
||||
Function return types (3: 37) fun <T> T.foo(t: T, list: List<T>): T {
|
||||
Parameter type (3: 18) fun <T> T.foo(t: T, list: List<T>): T {
|
||||
Type parameter (3: 32) fun <T> T.foo(t: T, list: List<T>): T {
|
||||
Reference in New Issue
Block a user