JVM IR: generate 'main' wrappers as non-final

To replicate bytecode generated by the old backend, and thus simplify
ABI comparison.
This commit is contained in:
Alexander Udalov
2020-11-06 19:07:34 +01:00
parent 791be7c2dc
commit 9adc1a6e9b
4 changed files with 5 additions and 11 deletions
@@ -124,8 +124,8 @@ private class MainMethodGenerationLowering(private val context: JvmBackendContex
name = Name.identifier("main")
visibility = DescriptorVisibilities.PUBLIC
returnType = context.irBuiltIns.unitType
modality = Modality.FINAL
this.origin = JvmLoweredDeclarationOrigin.GENERATED_EXTENDED_MAIN
modality = Modality.OPEN
origin = JvmLoweredDeclarationOrigin.GENERATED_EXTENDED_MAIN
}.apply {
val args = addValueParameter {
name = Name.identifier("args")
@@ -2,7 +2,7 @@
public final class Hello/Foo {
// source: 'multifileSuspend.kt'
public final static @org.jetbrains.annotations.Nullable method main(@org.jetbrains.annotations.NotNull p0: java.lang.String[], @org.jetbrains.annotations.NotNull p1: kotlin.coroutines.Continuation): java.lang.Object
public synthetic final static method main(p0: java.lang.String[]): void
public synthetic static method main(p0: java.lang.String[]): void
}
@kotlin.Metadata
@@ -21,5 +21,5 @@ synthetic final class Hello/Foo__MultifileSuspendKt {
// source: 'multifileSuspend.kt'
inner (anonymous) class Hello/Foo__MultifileSuspendKt$main$2
public final static @org.jetbrains.annotations.Nullable method main(@org.jetbrains.annotations.NotNull p0: java.lang.String[], @org.jetbrains.annotations.NotNull p1: kotlin.coroutines.Continuation): java.lang.Object
public synthetic final static method main(p0: java.lang.String[]): void
public synthetic static method main(p0: java.lang.String[]): void
}
@@ -1,6 +0,0 @@
@kotlin.Metadata
public final class ParameterlessMainKt {
// source: 'parameterlessMain.kt'
public final static method main(): void
public synthetic final static method main(p0: java.lang.String[]): void
}
@@ -14,5 +14,5 @@ public final class SuspendMainKt {
// source: 'suspendMain.kt'
inner (anonymous) class SuspendMainKt$main$2
public final static @org.jetbrains.annotations.Nullable method main(@org.jetbrains.annotations.NotNull p0: java.lang.String[], @org.jetbrains.annotations.NotNull p1: kotlin.coroutines.Continuation): java.lang.Object
public synthetic final static method main(p0: java.lang.String[]): void
public synthetic static method main(p0: java.lang.String[]): void
}