Support static method references
#KT-5123 Fixed
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
class A {
|
||||
public static void main(String[] args) {
|
||||
args[0] = "OK";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
fun box(): String {
|
||||
val args = array("Fail")
|
||||
(A::main)(args)
|
||||
return args[0]
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
enum class E {
|
||||
ENTRY
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val f = E::valueOf
|
||||
val result = f("ENTRY")
|
||||
return if (result == E.ENTRY) "OK" else "Fail $result"
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
// KT-5123
|
||||
|
||||
import java.util.Collections
|
||||
import java.util.ArrayList
|
||||
|
||||
fun box(): String {
|
||||
val numbers = ArrayList<Int>()
|
||||
numbers.add(1)
|
||||
numbers.add(2)
|
||||
numbers.add(3)
|
||||
(Collections::rotate)(numbers, 1)
|
||||
return if ("$numbers" == "[3, 1, 2]") "OK" else "Fail $numbers"
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
// FILE: test/A.java
|
||||
|
||||
package test
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
public class A {
|
||||
public static void main(String[] args) {
|
||||
System.out.println(Arrays.asList(args));
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: 1.kt
|
||||
|
||||
import kotlin.reflect.*
|
||||
import test.A
|
||||
|
||||
fun foo(args: Array<String>) {
|
||||
val main2 = A::main
|
||||
main2 : KFunction1<Array<String>, Unit>
|
||||
main2(args)
|
||||
(A::main)(args)
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package
|
||||
|
||||
internal fun foo(/*0*/ args: kotlin.Array<kotlin.String>): kotlin.Unit
|
||||
Reference in New Issue
Block a user