Support parameter names for Java 8 classes in reflection

Also support specifying additional options to javac in codegen tests, which was
needed to compile Java sources with the "-parameters" option
This commit is contained in:
Alexander Udalov
2015-08-25 13:34:20 +03:00
parent 30967baca8
commit 89f3cfc704
9 changed files with 125 additions and 10 deletions

View File

@@ -0,0 +1,5 @@
public class J {
public J(String constructorParam) {}
public static void foo(int methodParam) {}
}

View File

@@ -0,0 +1,15 @@
// JAVAC_OPTIONS: -parameters
import kotlin.test.assertEquals
fun box(): String {
val methodParam = J::foo.parameters.single()
if (methodParam.name == null) return "Fail: method parameter has no name"
assertEquals("methodParam", methodParam.name)
val constructorParam = J::class.constructors.single().parameters.single()
if (constructorParam.name == null) return "Fail: constructor parameter has no name"
assertEquals("constructorParam", constructorParam.name)
return "OK"
}