[FIR] Fix serialization of empty varargs in annotations in KLIBs
#KT-59249 Fixed
This commit is contained in:
committed by
Space Team
parent
487c3e80bb
commit
38a54549ff
+42
-1
@@ -1,7 +1,9 @@
|
||||
Module: common
|
||||
Module: platform
|
||||
field:@FIELD:R|test/Anno|(t = <implicitArrayOf>(String(prosper))) public final val bar: R|kotlin/Int|
|
||||
public get(): R|kotlin/Int|
|
||||
|
||||
@R|test/Anno|(t = <implicitArrayOf>()) public final fun baz(): R|kotlin/Unit|
|
||||
@R|test/Anno|(t = <implicitArrayOf>()) @R|test/Anno2|() @R|test/Anno3|() @R|test/Anno4|(t = <implicitArrayOf>()) @R|test/Anno5|(t = <implicitArrayOf>()) @R|test/Anno6|(t = <implicitArrayOf>()) public final fun baz(): R|kotlin/Unit|
|
||||
|
||||
@R|test/Anno|(t = <implicitArrayOf>(String(live), String(long))) public final fun foo(): R|kotlin/Unit|
|
||||
|
||||
@@ -13,3 +15,42 @@ public final annotation class Anno : R|kotlin/Annotation| {
|
||||
|
||||
}
|
||||
|
||||
public final annotation class Anno2 : R|kotlin/Annotation| {
|
||||
public final val t: R|kotlin/Array<out kotlin/String>| = <implicitArrayOf>()
|
||||
public get(): R|kotlin/Array<out kotlin/String>|
|
||||
|
||||
public constructor(vararg t: R|kotlin/Array<out kotlin/String>| = STUB): R|test/Anno2|
|
||||
|
||||
}
|
||||
|
||||
public final annotation class Anno3 : R|kotlin/Annotation| {
|
||||
public final val t: R|kotlin/Array<out kotlin/String>| = <implicitArrayOf>(String(a))
|
||||
public get(): R|kotlin/Array<out kotlin/String>|
|
||||
|
||||
public constructor(vararg t: R|kotlin/Array<out kotlin/String>| = STUB): R|test/Anno3|
|
||||
|
||||
}
|
||||
|
||||
public final annotation class Anno4 : R|kotlin/Annotation| {
|
||||
public final val t: R|kotlin/Array<out kotlin/String>|
|
||||
public get(): R|kotlin/Array<out kotlin/String>|
|
||||
|
||||
public constructor(vararg t: R|kotlin/Array<out kotlin/String>|): R|test/Anno4|
|
||||
|
||||
}
|
||||
|
||||
public final annotation class Anno5 : R|kotlin/Annotation| {
|
||||
public final val t: R|kotlin/Array<out kotlin/String>| = <implicitArrayOf>()
|
||||
public get(): R|kotlin/Array<out kotlin/String>|
|
||||
|
||||
public constructor(vararg t: R|kotlin/Array<out kotlin/String>| = STUB): R|test/Anno5|
|
||||
|
||||
}
|
||||
|
||||
public final annotation class Anno6 : R|kotlin/Annotation| {
|
||||
public final val t: R|kotlin/Array<out kotlin/String>| = <implicitArrayOf>(String(a))
|
||||
public get(): R|kotlin/Array<out kotlin/String>|
|
||||
|
||||
public constructor(vararg t: R|kotlin/Array<out kotlin/String>| = STUB): R|test/Anno6|
|
||||
|
||||
}
|
||||
|
||||
+40
-1
@@ -1,7 +1,7 @@
|
||||
field:@FIELD:R|test/Anno|(t = <implicitArrayOf>(String(prosper))) public final val bar: R|kotlin/Int|
|
||||
public get(): R|kotlin/Int|
|
||||
|
||||
@R|test/Anno|(t = <implicitArrayOf>()) public final fun baz(): R|kotlin/Unit|
|
||||
@R|test/Anno|(t = <implicitArrayOf>()) @R|test/Anno2|() @R|test/Anno3|() @R|test/Anno4|(t = <implicitArrayOf>()) @R|test/Anno5|() @R|test/Anno6|() public final fun baz(): R|kotlin/Unit|
|
||||
|
||||
@R|test/Anno|(t = <implicitArrayOf>(String(live), String(long))) public final fun foo(): R|kotlin/Unit|
|
||||
|
||||
@@ -13,3 +13,42 @@ public final annotation class Anno : R|kotlin/Annotation| {
|
||||
|
||||
}
|
||||
|
||||
public final annotation class Anno2 : R|kotlin/Annotation| {
|
||||
public final val t: R|kotlin/Array<out kotlin/String>| = <implicitArrayOf>()
|
||||
public get(): R|kotlin/Array<out kotlin/String>|
|
||||
|
||||
public constructor(vararg t: R|kotlin/Array<out kotlin/String>| = STUB): R|test/Anno2|
|
||||
|
||||
}
|
||||
|
||||
public final annotation class Anno3 : R|kotlin/Annotation| {
|
||||
public final val t: R|kotlin/Array<out kotlin/String>| = <implicitArrayOf>(String(a))
|
||||
public get(): R|kotlin/Array<out kotlin/String>|
|
||||
|
||||
public constructor(vararg t: R|kotlin/Array<out kotlin/String>| = STUB): R|test/Anno3|
|
||||
|
||||
}
|
||||
|
||||
public final annotation class Anno4 : R|kotlin/Annotation| {
|
||||
public final val t: R|kotlin/Array<out kotlin/String>|
|
||||
public get(): R|kotlin/Array<out kotlin/String>|
|
||||
|
||||
public constructor(vararg t: R|kotlin/Array<out kotlin/String>|): R|test/Anno4|
|
||||
|
||||
}
|
||||
|
||||
public final annotation class Anno5 : R|kotlin/Annotation| {
|
||||
public final val t: R|kotlin/Array<out kotlin/String>| = <implicitArrayOf>()
|
||||
public get(): R|kotlin/Array<out kotlin/String>|
|
||||
|
||||
public constructor(vararg t: R|kotlin/Array<out kotlin/String>| = STUB): R|test/Anno5|
|
||||
|
||||
}
|
||||
|
||||
public final annotation class Anno6 : R|kotlin/Annotation| {
|
||||
public final val t: R|kotlin/Array<out kotlin/String>| = <implicitArrayOf>(String(a))
|
||||
public get(): R|kotlin/Array<out kotlin/String>|
|
||||
|
||||
public constructor(vararg t: R|kotlin/Array<out kotlin/String>| = STUB): R|test/Anno6|
|
||||
|
||||
}
|
||||
|
||||
+41
-1
@@ -1,7 +1,7 @@
|
||||
public final val bar: R|kotlin/Int|
|
||||
public get(): R|kotlin/Int|
|
||||
|
||||
@R|test/Anno|() public final fun baz(): R|kotlin/Unit|
|
||||
@R|test/Anno|(t = <implicitArrayOf>()) @R|test/Anno2|() @R|test/Anno3|() @R|test/Anno4|(t = <implicitArrayOf>()) @R|test/Anno5|() @R|test/Anno6|() public final fun baz(): R|kotlin/Unit|
|
||||
|
||||
@R|test/Anno|(t = <implicitArrayOf>(String(live), String(long))) public final fun foo(): R|kotlin/Unit|
|
||||
|
||||
@@ -12,3 +12,43 @@ public final annotation class Anno : R|kotlin/Annotation| {
|
||||
public constructor(vararg t: R|kotlin/Array<out kotlin/String>|): R|test/Anno|
|
||||
|
||||
}
|
||||
|
||||
public final annotation class Anno2 : R|kotlin/Annotation| {
|
||||
public final val t: R|kotlin/Array<out kotlin/String>|
|
||||
public get(): R|kotlin/Array<out kotlin/String>|
|
||||
|
||||
public constructor(vararg t: R|kotlin/Array<out kotlin/String>| = STUB): R|test/Anno2|
|
||||
|
||||
}
|
||||
|
||||
public final annotation class Anno3 : R|kotlin/Annotation| {
|
||||
public final val t: R|kotlin/Array<out kotlin/String>|
|
||||
public get(): R|kotlin/Array<out kotlin/String>|
|
||||
|
||||
public constructor(vararg t: R|kotlin/Array<out kotlin/String>| = STUB): R|test/Anno3|
|
||||
|
||||
}
|
||||
|
||||
public final annotation class Anno4 : R|kotlin/Annotation| {
|
||||
public final val t: R|kotlin/Array<out kotlin/String>|
|
||||
public get(): R|kotlin/Array<out kotlin/String>|
|
||||
|
||||
public constructor(vararg t: R|kotlin/Array<out kotlin/String>|): R|test/Anno4|
|
||||
|
||||
}
|
||||
|
||||
public final annotation class Anno5 : R|kotlin/Annotation| {
|
||||
public final val t: R|kotlin/Array<out kotlin/String>|
|
||||
public get(): R|kotlin/Array<out kotlin/String>|
|
||||
|
||||
public constructor(vararg t: R|kotlin/Array<out kotlin/String>| = STUB): R|test/Anno5|
|
||||
|
||||
}
|
||||
|
||||
public final annotation class Anno6 : R|kotlin/Annotation| {
|
||||
public final val t: R|kotlin/Array<out kotlin/String>|
|
||||
public get(): R|kotlin/Array<out kotlin/String>|
|
||||
|
||||
public constructor(vararg t: R|kotlin/Array<out kotlin/String>| = STUB): R|test/Anno6|
|
||||
|
||||
}
|
||||
|
||||
Vendored
+24
-2
@@ -1,11 +1,33 @@
|
||||
// PLATFORM_DEPENDANT_METADATA
|
||||
//ALLOW_AST_ACCESS
|
||||
// ALLOW_AST_ACCESS
|
||||
// NO_CHECK_SOURCE_VS_BINARY
|
||||
// IGNORE_BACKEND_K1: JVM_IR, ANY
|
||||
// LANGUAGE: +MultiPlatformProjects
|
||||
// IGNORE K1
|
||||
// ^mute KotlinpCompilerTestDataTest
|
||||
// K1/K2 difference: KT-60820
|
||||
|
||||
// MODULE: common
|
||||
// FILE: common.kt
|
||||
package test
|
||||
|
||||
expect annotation class Anno4(vararg val t: String)
|
||||
expect annotation class Anno5(vararg val t: String = [])
|
||||
expect annotation class Anno6(vararg val t: String = ["a"])
|
||||
|
||||
// MODULE: platform()()(common)
|
||||
// FILE: test.kt
|
||||
package test
|
||||
|
||||
annotation class Anno(vararg val t: String)
|
||||
annotation class Anno2(vararg val t: String = [])
|
||||
annotation class Anno3(vararg val t: String = ["a"])
|
||||
actual annotation class Anno4(vararg val t: String)
|
||||
actual annotation class Anno5(vararg val t: String)
|
||||
actual annotation class Anno6(vararg val t: String)
|
||||
|
||||
@Anno("live", "long") fun foo() {}
|
||||
|
||||
@field:Anno("prosper") val bar = { 42 }()
|
||||
|
||||
@Anno() fun baz() {}
|
||||
@Anno() @Anno2() @Anno3() @Anno4() @Anno5() @Anno6() fun baz() {}
|
||||
|
||||
Vendored
-12
@@ -1,12 +0,0 @@
|
||||
package test
|
||||
|
||||
@field:test.Anno(t = {"prosper"}) public val bar: kotlin.Int
|
||||
public fun `<get-bar>`(): kotlin.Int
|
||||
@test.Anno(t = {}) public fun baz(): kotlin.Unit
|
||||
@test.Anno(t = {"live", "long"}) public fun foo(): kotlin.Unit
|
||||
|
||||
public final annotation class Anno : kotlin.Annotation {
|
||||
/*primary*/ public constructor Anno(/*0*/ vararg t: kotlin.String /*kotlin.Array<out kotlin.String>*/)
|
||||
public final val t: kotlin.Array<out kotlin.String>
|
||||
public final fun `<get-t>`(): kotlin.Array<out kotlin.String>
|
||||
}
|
||||
Reference in New Issue
Block a user