Implement extension of method usages search to cover usages of overriding functions in Kotlin

This commit is contained in:
Alexey Sedunov
2013-09-19 14:05:36 +04:00
parent fc1c3a2e23
commit ecab2a2039
14 changed files with 96 additions and 18 deletions
@@ -2,6 +2,10 @@
// OPTIONS: usages
package testing;
public class Server() {
public fun <caret>processRequest() = "foo"
public open class Server() {
public open fun <caret>processRequest() = "foo"
}
public class ServerEx(): Server() {
public override fun processRequest() = "foofoo"
}
@@ -2,7 +2,7 @@ import testing.*;
class Client {
public void foo() {
Server server = new Server();
server.processRequest();
new Server().processRequest();
new ServerEx().processRequest();
}
}
@@ -1 +1,2 @@
Unclassified usage (6: 16) server.processRequest();
Unclassified usage (5: 22) new Server().processRequest();
Unclassified usage (6: 24) new ServerEx().processRequest();
@@ -2,5 +2,11 @@
// OPTIONS: usages
package server;
fun <caret>processRequest() = "foo"
public open class Server() {
open fun <caret>processRequest() = "foo"
}
public class ServerEx(): Server() {
override fun processRequest() = "foofoo"
}
@@ -1,12 +1,8 @@
package client
import server.processRequest
import server.*;
class Client {
val methodRef = ::processRequest()
fun doProcessRequest() {
println("Process...")
processRequest()
public fun foo() {
Server().processRequest()
ServerEx().processRequest()
}
}
}
@@ -1,3 +1,2 @@
Callable reference (6: 23) val methodRef = ::processRequest()
Function call (10: 9) processRequest()
Import directive (3: 15) import server.processRequest
Function call (5: 18) Server().processRequest()
Function call (6: 20) ServerEx().processRequest()
@@ -3,4 +3,5 @@ Function call (11: 7) x.foo(1, 2)
Function call (25: 5) foo(t)
Function call (30: 7) a.foo(1, "")
Function call (35: 9) foo(t)
Function call (39: 5) foo(s)
Function call (3: 18) super<A>.foo(t)
@@ -0,0 +1,6 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetNamedFunction
// OPTIONS: usages
package server;
fun <caret>processRequest() = "foo"
@@ -0,0 +1,12 @@
package client
import server.processRequest
class Client {
val methodRef = ::processRequest()
fun doProcessRequest() {
println("Process...")
processRequest()
}
}
@@ -0,0 +1,3 @@
Callable reference (6: 23) val methodRef = ::processRequest()
Function call (10: 9) processRequest()
Import directive (3: 15) import server.processRequest