Implement "Find usages with options" for kotlin functions

This commit is contained in:
Alexey Sedunov
2013-08-05 16:18:28 +04:00
parent 64a7e93900
commit ced288452c
18 changed files with 525 additions and 23 deletions
@@ -0,0 +1,6 @@
class C extends A<String> {
@Override
public void foo(String s) {
super.foo(s);
}
}
@@ -0,0 +1,39 @@
// OPTIONS: overrides
open class A<T> {
open fun <caret>foo(t: T) {
println(t)
}
open fun foo(t: T, tt: T) {
println(t)
}
}
fun <T> A<T>.foo(t: T, x: String) {
foo(t)
println(x)
}
fun A<String>.foo(s: String, n: Number) {
fun <T> A<T>.foo(t: T, x: String) {
foo(t)
println(x)
}
foo(s)
println(n)
}
open class B: A<String>() {
override fun foo(t: String) {
super<A>.foo(t)
}
open fun baz(a: A<String>) {
a.foo("", 0)
}
open fun baz(a: A<Number>) {
a.foo(0, "")
}
}
@@ -0,0 +1,2 @@
Unclassified usage (28: 18) override fun foo(t: String) {
Unclassified usage (3: 17) public void foo(String s) {
@@ -1,3 +1,4 @@
// OPTIONS: usages
package testing;
public class Server() {
@@ -1,3 +1,4 @@
// OPTIONS: usages
package server;
fun <caret>processRequest() = "foo"
@@ -0,0 +1,13 @@
open class B: A<String>() {
override fun foo(t: String) {
super<A>.foo(t)
}
open fun baz(a: A<String>) {
a.foo("", 0)
}
open fun baz(a: A<Number>) {
a.foo(0, "")
}
}
@@ -0,0 +1,25 @@
// OPTIONS: overloadUsages
open class A<T> {
open fun <caret>foo(t: T) {
println(t)
}
open fun foo(t: T, tt: T) {
println(t)
}
}
fun <T> A<T>.foo(t: T, x: String) {
foo(t)
println(x)
}
fun A<String>.foo(s: String, n: Number) {
fun <T> A<T>.foo(t: T, x: String) {
foo(t)
println(x)
}
foo(s)
println(n)
}
@@ -0,0 +1,4 @@
Function call (13: 5) foo(t)
Function call (19: 9) foo(t)
Function call (23: 5) foo(s)
Function call (3: 18) super<A>.foo(t)