Make single-file classes tolerant to having many main()'s
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
package test
|
||||
|
||||
class A {}
|
||||
|
||||
fun getMain(className: String): java.lang.reflect.Method {
|
||||
val classLoader = A().javaClass.classLoader
|
||||
return classLoader.loadClass(className).getDeclaredMethod("main", Array<String>::class.java)
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val bMain = getMain("pkg.AKt")
|
||||
val cMain = getMain("pkg.BKt")
|
||||
|
||||
val args = Array(1, { "" })
|
||||
|
||||
bMain.invoke(null, args)
|
||||
cMain.invoke(null, args)
|
||||
|
||||
return args[0]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
package pkg
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
args[0] += "O"
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package pkg
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
args[0] += "K"
|
||||
}
|
||||
Reference in New Issue
Block a user