[K/JS] fix(KT-53569): skip double traversing for nested annotation classes.

This commit is contained in:
Artem Kobzar
2022-08-18 16:39:48 +00:00
committed by Space
parent 7441388f9d
commit 8e17c39cc9
6 changed files with 56 additions and 16 deletions
@@ -40,10 +40,12 @@ class JsAnnotationImplementationTransformer(val jsContext: JsIrBackendContext) :
compilationException("Should not be called", implClass)
override fun visitClassNew(declaration: IrClass): IrStatement {
if (declaration.isAnnotationClass) {
implementGeneratedFunctions(declaration, declaration)
return declaration.apply {
if (isAnnotationClass) {
implementGeneratedFunctions(this, this)
}
addConstructorBodyForCompatibility()
}
return super.visitClassNew(declaration)
}
private val arraysContentEquals: Map<IrType, IrSimpleFunctionSymbol> =