JVM IR: do not serialize metadata for actualized optional expectations

Optional-expectation annotations which have an actual counterpart should
have never been serialized to the kotlin_module's proto. See for example
the original (correct) implementation in the old JVM backend in
`PackageCodegenImpl.addDescriptorToOptionalAnnotationsIfNeeded`.

 #KT-55611 Fixed
This commit is contained in:
Alexander Udalov
2022-12-27 22:56:18 +01:00
committed by Space Team
parent 11504fda18
commit 7a9c59aeb5
11 changed files with 84 additions and 0 deletions
@@ -0,0 +1,6 @@
package org.example
@OptIn(kotlin.ExperimentalMultiplatform::class)
@Target(AnnotationTarget.FILE)
@Retention(AnnotationRetention.SOURCE)
internal actual annotation class A
@@ -0,0 +1 @@
-Xmulti-platform
@@ -0,0 +1,7 @@
@file:A
package org.example
fun foo() {
// 1
}
@@ -0,0 +1,7 @@
@file:A
package org.example
fun foo() {
// 2
}
@@ -0,0 +1,7 @@
@file:A
package org.example
fun foo() {
// 3
}
@@ -0,0 +1,14 @@
================ Step #1 =================
Compiling files:
src/b.kt
End of files
Exit code: OK
================ Step #2 =================
Compiling files:
src/b.kt
End of files
Exit code: OK
@@ -0,0 +1,7 @@
package org.example
@OptIn(kotlin.ExperimentalMultiplatform::class)
@OptionalExpectation
@Target(AnnotationTarget.FILE)
@Retention(AnnotationRetention.SOURCE)
internal expect annotation class A