diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt index 7f6c60f0f02..f8730952a38 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt @@ -1481,7 +1481,9 @@ class Fir2IrDeclarationStorage( private fun IrMutableAnnotationContainer.convertAnnotationsForNonDeclaredMembers( firAnnotationContainer: FirAnnotationContainer, origin: IrDeclarationOrigin, ) { - if ((firAnnotationContainer as? FirDeclaration)?.isFromLibrary == true || origin == IrDeclarationOrigin.FAKE_OVERRIDE) { + if ((firAnnotationContainer as? FirDeclaration)?.let { it.isFromLibrary || it.isPrecompiled } == true + || origin == IrDeclarationOrigin.FAKE_OVERRIDE + ) { annotationGenerator.generate(this, firAnnotationContainer) } } diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/utils/FirDeclarationUtil.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/utils/FirDeclarationUtil.kt index ad4503da99b..dc1b2aaef72 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/utils/FirDeclarationUtil.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/utils/FirDeclarationUtil.kt @@ -50,6 +50,8 @@ inline val FirDeclaration.isJava: Boolean get() = origin == FirDeclarationOrigin.Java inline val FirDeclaration.isFromLibrary: Boolean get() = origin == FirDeclarationOrigin.Library +inline val FirDeclaration.isPrecompiled: Boolean + get() = origin == FirDeclarationOrigin.Precompiled inline val FirDeclaration.isSynthetic: Boolean get() = origin == FirDeclarationOrigin.Synthetic