JVM IR: Support parameterless main methods
This commit: - introduces tests explicating what is and isn't considered a proper main method on the JVM backends. - implements support for parameterless main methods on the JVM IR backend - See KT-34338 for more tests.
This commit is contained in:
committed by
Alexander Udalov
parent
4b77db8979
commit
28b6913a25
Vendored
+11
@@ -0,0 +1,11 @@
|
||||
fun main() {
|
||||
|
||||
}
|
||||
|
||||
fun main(args: Array<in String>) {
|
||||
|
||||
}
|
||||
|
||||
// method: ArrayWithContravariantStringIsNotMainMethodKt::main
|
||||
// jvm signature: ([Ljava/lang/String;)V
|
||||
// generic signature: null
|
||||
@@ -0,0 +1,24 @@
|
||||
fun main() {
|
||||
|
||||
}
|
||||
|
||||
fun main(args: Array<Int>) {
|
||||
|
||||
}
|
||||
|
||||
fun main(args: Array<in String>) {
|
||||
|
||||
}
|
||||
|
||||
fun main(args: Array<String>): Unit? {
|
||||
|
||||
return Unit
|
||||
}
|
||||
|
||||
fun Any.main(args: Array<String>) {
|
||||
|
||||
}
|
||||
|
||||
// method: ImpostorMainsKt::main
|
||||
// jvm signature: ([Ljava/lang/String;)V
|
||||
// generic signature: null
|
||||
@@ -0,0 +1,7 @@
|
||||
fun main(args: Array<String>) {
|
||||
|
||||
}
|
||||
|
||||
// method: MainKt::main
|
||||
// jvm signature: ([Ljava/lang/String;)V
|
||||
// generic signature: null
|
||||
@@ -0,0 +1,21 @@
|
||||
// WITH_RUNTIME
|
||||
fun main() {
|
||||
|
||||
}
|
||||
|
||||
@JvmName("notMain")
|
||||
fun main(args: Array<String>) {
|
||||
|
||||
}
|
||||
|
||||
// method: NotJvmMainNameKt::main
|
||||
// jvm signature: ()V
|
||||
// generic signature: null
|
||||
|
||||
// method: NotJvmMainNameKt::main
|
||||
// jvm signature: ([Ljava/lang/String;)V
|
||||
// generic signature: null
|
||||
|
||||
// method: NotJvmMainNameKt::notMain
|
||||
// jvm signature: ([Ljava/lang/String;)V
|
||||
// generic signature: null
|
||||
@@ -0,0 +1,11 @@
|
||||
fun main() {
|
||||
|
||||
}
|
||||
|
||||
// method: SimpleKt::main
|
||||
// jvm signature: ()V
|
||||
// generic signature: null
|
||||
|
||||
// method: SimpleKt::main
|
||||
// jvm signature: ([Ljava/lang/String;)V
|
||||
// generic signature: null
|
||||
Reference in New Issue
Block a user