[JVM_IR] Follow old backend in bridge visibility and varargs marking.
The old backend makes bridges for protected and package-private methods public. Also, for bridges for vararg methods, the vararg marker is not on the bridge. These differences seem minor but are visible via reflection, so we might as well follow the old backend.
This commit is contained in:
committed by
Alexander Udalov
parent
326768e8b5
commit
0279068214
@@ -0,0 +1,8 @@
|
||||
abstract class A<T> {
|
||||
protected abstract fun doIt(vararg args: T): String
|
||||
fun test() = doIt()
|
||||
}
|
||||
|
||||
class B : A<Void>() {
|
||||
override fun doIt(vararg args: Void): String = "OK"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
@kotlin.Metadata
|
||||
public abstract class A {
|
||||
// source: 'varargsBridge.kt'
|
||||
public method <init>(): void
|
||||
protected varargs abstract @org.jetbrains.annotations.NotNull method doIt(@org.jetbrains.annotations.NotNull p0: java.lang.Object[]): java.lang.String
|
||||
public final @org.jetbrains.annotations.NotNull method test(): java.lang.String
|
||||
}
|
||||
|
||||
@kotlin.Metadata
|
||||
public final class B {
|
||||
// source: 'varargsBridge.kt'
|
||||
public method <init>(): void
|
||||
protected varargs @org.jetbrains.annotations.NotNull method doIt(@org.jetbrains.annotations.NotNull p0: java.lang.Void[]): java.lang.String
|
||||
public synthetic bridge method doIt(p0: java.lang.Object[]): java.lang.String
|
||||
}
|
||||
Reference in New Issue
Block a user