allow returning multiple PsiMethod wrappers for a JetFunction or JetPropertyAccessor; use that for handling Java usages through old-style and new-style facades

#KT-9102 Fixed
This commit is contained in:
Dmitry Jemerov
2015-09-11 19:50:49 +02:00
parent 4d09280aa8
commit ab58dc3586
24 changed files with 223 additions and 47 deletions
@@ -0,0 +1,11 @@
package client;
import server.KotlinTopLevelMethodUsages_0Kt;
class JClient {
String s = KotlinTopLevelMethodUsages_0Kt.processRequest();
String sendRequest() {
return KotlinTopLevelMethodUsages_0Kt.processRequest();
}
}
@@ -2,4 +2,6 @@
[kotlinTopLevelMethodUsages.1.kt] Function call (10: 9) processRequest()
[kotlinTopLevelMethodUsages.1.kt] Usage in import (3: 15) import server.processRequest
[kotlinTopLevelMethodUsages.2.java] Unclassified usage (6: 30) String s = ServerPackage.processRequest();
[kotlinTopLevelMethodUsages.2.java] Unclassified usage (9: 30) return ServerPackage.processRequest();
[kotlinTopLevelMethodUsages.2.java] Unclassified usage (9: 30) return ServerPackage.processRequest();
[kotlinTopLevelMethodUsages.3.java] Unclassified usage (6: 47) String s = KotlinTopLevelMethodUsages_0Kt.processRequest();
[kotlinTopLevelMethodUsages.3.java] Unclassified usage (9: 47) return KotlinTopLevelMethodUsages_0Kt.processRequest();
@@ -0,0 +1,7 @@
// PSI_ELEMENT: org.jetbrains.kotlin.psi.JetNamedFunction
// OPTIONS: usages
@file:JvmName("RequestProcessor")
package server
fun <caret>processRequest() = "foo"
@@ -0,0 +1,11 @@
package client;
import server.RequestProcessor;
class JClient {
String s = RequestProcessor.processRequest();
String sendRequest() {
return RequestProcessor.processRequest();
}
}
@@ -0,0 +1,2 @@
Unclassified usage (6: 33) String s = RequestProcessor.processRequest();
Unclassified usage (9: 33) return RequestProcessor.processRequest();
@@ -0,0 +1,11 @@
package client;
import server.KotlinTopLevelPropertyUsages_0Kt;
class JClient {
void fooBar() {
System.out.println("foo = " + KotlinTopLevelPropertyUsages_0Kt.getFoo());
System.out.println("length: " + KotlinTopLevelPropertyUsages_0Kt.getFoo().length());
KotlinTopLevelPropertyUsages_0Kt.setFoo("");
}
}
@@ -3,4 +3,7 @@
[kotlinTopLevelPropertyUsages.1.kt] Value read (7: 33) println("foo = ${server.foo}")
[kotlinTopLevelPropertyUsages.2.java] Unclassified usage (7: 53) System.out.println("foo = " + ServerPackage.getFoo());
[kotlinTopLevelPropertyUsages.2.java] Unclassified usage (8: 55) System.out.println("length: " + ServerPackage.getFoo().length());
[kotlinTopLevelPropertyUsages.2.java] Unclassified usage (9: 23) ServerPackage.setFoo("");
[kotlinTopLevelPropertyUsages.2.java] Unclassified usage (9: 23) ServerPackage.setFoo("");
[kotlinTopLevelPropertyUsages.3.java] Unclassified usage (7: 72) System.out.println("foo = " + KotlinTopLevelPropertyUsages_0Kt.getFoo());
[kotlinTopLevelPropertyUsages.3.java] Unclassified usage (8: 74) System.out.println("length: " + KotlinTopLevelPropertyUsages_0Kt.getFoo().length());
[kotlinTopLevelPropertyUsages.3.java] Unclassified usage (9: 42) KotlinTopLevelPropertyUsages_0Kt.setFoo("");