From 3f6492ab2a48177e5826262b6964447747409d13 Mon Sep 17 00:00:00 2001 From: Mads Ager Date: Thu, 23 May 2019 17:35:03 +0200 Subject: [PATCH] JVM_IR: Restore lost top-level declaration check in annotation gen. When moving away from descriptors, this top-level declaration check was lost. That leads to many useless annotation elements in inner classes attributes for annotations that are not inner classes. --- .../org/jetbrains/kotlin/backend/jvm/codegen/ClassCodegen.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ClassCodegen.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ClassCodegen.kt index f64f5dc22eb..e0e89bbcc2d 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ClassCodegen.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ClassCodegen.kt @@ -296,7 +296,7 @@ open class ClassCodegen protected constructor( // See FileBasedKotlinClass.convertAnnotationVisitor override fun addInnerClassInfoFromAnnotation(innerClass: IrClass) { var current: IrDeclaration? = innerClass - while (current != null) { + while (current != null && !current.isTopLevelDeclaration) { if (current is IrClass) { innerClasses.add(current) }