JVM IR: fix class kind of created java.lang.Deprecated symbol

If it isn't ANNOTATION_CLASS, the newly added code in
`FunctionCodegen.isDeprecatedHidden` (0e91d3fcb0) ends up transforming
IR annotation constructor calls to annotation descriptors, and an
assertion fails in `IrBasedDeclarationDescriptor.toAnnotationDescriptor`
which checks that the class has kind ANNOTATION_CLASS.

Specifically, this failed in the JVM IR bootstrap on
`CallResolutionInterceptorExtension.interceptCandidates` from module
'frontend'.
This commit is contained in:
Alexander Udalov
2020-11-10 21:28:56 +01:00
parent c1b73f5fee
commit 116606ecd2
7 changed files with 64 additions and 1 deletions
@@ -0,0 +1,11 @@
// !JVM_DEFAULT_MODE: all-compatibility
// TARGET_BACKEND: JVM
// JVM_TARGET: 1.8
// WITH_RUNTIME
interface I {
@Deprecated("message")
fun result() = "OK"
}
fun box(): String = object : I {}.result()