[IR] Mark IrSymbol.owner with OptIn annotation

^KT-60923 Fixed
This commit is contained in:
Dmitriy Novozhilov
2023-08-03 12:33:55 +03:00
committed by Space Team
parent 20da554443
commit 697d0d5638
28 changed files with 70 additions and 7 deletions
@@ -64,6 +64,7 @@ import org.jetbrains.kotlin.ir.descriptors.IrBasedVariableDescriptor
import org.jetbrains.kotlin.ir.expressions.*
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
import org.jetbrains.kotlin.ir.symbols.IrSymbol
import org.jetbrains.kotlin.ir.symbols.IrSymbolInternals
import org.jetbrains.kotlin.ir.types.IrSimpleType
import org.jetbrains.kotlin.ir.util.classId
import org.jetbrains.kotlin.ir.util.StubGeneratorExtensions
@@ -242,6 +243,7 @@ internal class KtFirCompilerFacility(
irCodeFragmentFiles.forEach { it.acceptVoid(patchingVisitor) }
}
@OptIn(IrSymbolInternals::class)
private fun computeAdditionalCodeFragmentMapping(descriptor: IrBasedDeclarationDescriptor<*>): CodeFragmentCapturedValue? {
val owner = descriptor.owner
@@ -541,6 +543,7 @@ private class IrDeclarationPatchingVisitor(private val mapping: Map<FirDeclarati
super.visitClassReference(expression)
}
@OptIn(IrSymbolInternals::class)
private inline fun <reified T : IrSymbol> patchIfNeeded(irSymbol: T?, patcher: (T) -> Unit) {
if (irSymbol != null) {
val irDeclaration = irSymbol.owner as? IrMetadataSourceOwner ?: return
@@ -551,4 +554,4 @@ private class IrDeclarationPatchingVisitor(private val mapping: Map<FirDeclarati
}
}
}
}
}