diff --git a/analysis/analysis-api-fir/build.gradle.kts b/analysis/analysis-api-fir/build.gradle.kts index 77ba463bb05..b6b4c71fac3 100644 --- a/analysis/analysis-api-fir/build.gradle.kts +++ b/analysis/analysis-api-fir/build.gradle.kts @@ -62,7 +62,7 @@ sourceSets { } } -optInToIrSymbolInternals() +optInToUnsafeDuringIrConstructionAPI() projectTest(jUnitMode = JUnitMode.JUnit5) { dependsOn(":dist") diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirCompilerFacility.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirCompilerFacility.kt index b7d1f5f6a06..809b3deb638 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirCompilerFacility.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirCompilerFacility.kt @@ -71,7 +71,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.symbols.UnsafeDuringIrConstructionAPI import org.jetbrains.kotlin.ir.types.IrSimpleType import org.jetbrains.kotlin.ir.util.DelicateSymbolTableApi import org.jetbrains.kotlin.ir.util.IdSignature @@ -305,7 +305,7 @@ internal class KtFirCompilerFacility( irCodeFragmentFiles.forEach { it.acceptVoid(patchingVisitor) } } - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) private fun computeAdditionalCodeFragmentMapping(descriptor: IrBasedDeclarationDescriptor<*>): CodeFragmentCapturedValue? { val owner = descriptor.owner @@ -635,7 +635,7 @@ private class IrDeclarationPatchingVisitor(private val mapping: Map patchIfNeeded(irSymbol: T?, patcher: (T) -> Unit) { if (irSymbol != null) { val irDeclaration = irSymbol.owner as? IrMetadataSourceOwner ?: return @@ -701,7 +701,7 @@ private class DeclarationRegistrarVisitor(private val consumer: SymbolTable) : I super.visitEnumEntry(declaration) } - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) private inline fun register( declaration: D, registrar: (IdSignature, () -> S, (S) -> D) -> Unit, @@ -726,4 +726,4 @@ private class SyntaxErrorReportingVisitor : KtTreeVisitorVoid() { super.visitErrorElement(element) } -} \ No newline at end of file +} diff --git a/compiler/fir/fir2ir/jvm-backend/build.gradle.kts b/compiler/fir/fir2ir/jvm-backend/build.gradle.kts index 4edefea7dcf..e9489c6e2ce 100644 --- a/compiler/fir/fir2ir/jvm-backend/build.gradle.kts +++ b/compiler/fir/fir2ir/jvm-backend/build.gradle.kts @@ -23,7 +23,7 @@ dependencies { compileOnly(commonDependency("org.jetbrains.intellij.deps:asm-all")) } -optInToIrSymbolInternals() +optInToUnsafeDuringIrConstructionAPI() sourceSets { "main" { projectDefault() } diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrAnnotationsFromPluginRegistrar.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrAnnotationsFromPluginRegistrar.kt index 186d8665ef0..59b939fbfe7 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrAnnotationsFromPluginRegistrar.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrAnnotationsFromPluginRegistrar.kt @@ -26,7 +26,7 @@ import org.jetbrains.kotlin.ir.declarations.nameWithPackage import org.jetbrains.kotlin.ir.expressions.IrConst import org.jetbrains.kotlin.ir.expressions.IrConstKind import org.jetbrains.kotlin.ir.expressions.IrConstructorCall -import org.jetbrains.kotlin.ir.symbols.IrSymbolInternals +import org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI import org.jetbrains.kotlin.ir.util.* import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.Name @@ -34,7 +34,7 @@ import org.jetbrains.kotlin.types.ConstantValueKind import org.jetbrains.kotlin.utils.addToStdlib.runIf // opt-in is safe, this code runs after fir2ir is over and all symbols are bound -@OptIn(IrSymbolInternals::class) +@OptIn(UnsafeDuringIrConstructionAPI::class) class Fir2IrAnnotationsFromPluginRegistrar(private val components: Fir2IrComponents) : IrAnnotationsFromPluginRegistrar() { private val generatedIrDeclarationsByFileByOffset = mutableMapOf, MutableList>>() diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrBuiltIns.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrBuiltIns.kt index de24cd4f58f..a6c7d81cc35 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrBuiltIns.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrBuiltIns.kt @@ -12,7 +12,7 @@ import org.jetbrains.kotlin.ir.declarations.IrConstructor import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.expressions.impl.IrConstructorCallImpl import org.jetbrains.kotlin.ir.symbols.IrClassSymbol -import org.jetbrains.kotlin.ir.symbols.IrSymbolInternals +import org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI import org.jetbrains.kotlin.ir.types.defaultType import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.StandardClassIds @@ -81,7 +81,7 @@ class Fir2IrBuiltIns( private fun IrClassSymbol.toConstructorCall(firSymbol: FirRegularClassSymbol? = null): IrConstructorCallImpl? { val constructorSymbol = if (firSymbol == null) { - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) owner.declarations.firstIsInstance().symbol } else { val firConstructorSymbol = firSymbol.unsubstitutedScope().getDeclaredConstructors().singleOrNull() ?: return null diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConversionScope.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConversionScope.kt index 88eb65cc9e6..ae6ca690a17 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConversionScope.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConversionScope.kt @@ -15,7 +15,7 @@ import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.symbols.IrClassSymbol import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol import org.jetbrains.kotlin.ir.symbols.IrSymbol -import org.jetbrains.kotlin.ir.symbols.IrSymbolInternals +import org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI import org.jetbrains.kotlin.ir.util.isSetter import org.jetbrains.kotlin.ir.util.parentClassOrNull import org.jetbrains.kotlin.ir.util.render @@ -86,7 +86,7 @@ class Fir2IrConversionScope(val configuration: Fir2IrConfiguration) { // It is safe to access an owner of property symbol here, because this function may be called // only from property accessor of corresponding property // We inside accessor -> accessor is built -> property is built - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) val property = propertySymbol.owner for (parent in parentStack.asReversed()) { when (parent) { @@ -101,7 +101,7 @@ class Fir2IrConversionScope(val configuration: Fir2IrConfiguration) { inline fun findDeclarationInParentsStack(symbol: IrSymbol): @kotlin.internal.NoInfer D { // This is an unsafe fast path for production if (!AbstractTypeChecker.RUN_SLOW_ASSERTIONS) { - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) return symbol.owner as D } // With slow assertions the following code guarantees that taking owner from symbol is safe @@ -115,7 +115,7 @@ class Fir2IrConversionScope(val configuration: Fir2IrConfiguration) { * for which we have Fir2IrLazyClass in symbol */ if (configuration.allowNonCachedDeclarations) { - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) return symbol.owner as D } error("Declaration with symbol $symbol is not found in parents stack") diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt index 66898af66c7..f6cc8f9a19c 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt @@ -49,7 +49,7 @@ import org.jetbrains.kotlin.ir.interpreter.IrInterpreterEnvironment import org.jetbrains.kotlin.ir.interpreter.checker.EvaluationMode import org.jetbrains.kotlin.ir.interpreter.transformer.transformConst import org.jetbrains.kotlin.ir.overrides.IrFakeOverrideBuilder -import org.jetbrains.kotlin.ir.symbols.IrSymbolInternals +import org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI import org.jetbrains.kotlin.ir.types.IrTypeSystemContext import org.jetbrains.kotlin.ir.symbols.impl.IrConstructorPublicSymbolImpl import org.jetbrains.kotlin.ir.symbols.impl.IrSimpleFunctionPublicSymbolImpl @@ -190,7 +190,7 @@ class Fir2IrConverter( * * `irFile` is definitely not a lazy class */ - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) irFile.declarations.clear() } @@ -215,7 +215,7 @@ class Fir2IrConverter( * * `irClass` is a source class and definitely is not a lazy class */ - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) irClass.declarations.clear() } @@ -229,7 +229,7 @@ class Fir2IrConverter( } // `irClass` is a source class and definitely is not a lazy class - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) irClass.declarations.addAll(classifierStorage.getFieldsWithContextReceiversForClass(irClass, klass)) val irConstructor = klass.primaryConstructorIfAny(session)?.let { @@ -354,7 +354,7 @@ class Fir2IrConverter( private fun bindFakeOverridesInFile(file: FirFile) { val irFile = declarationStorage.getIrFile(file) // `irFile` definitely is not a lazy class - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) for (irDeclaration in irFile.declarations) { if (irDeclaration is IrClass) { bindFakeOverridesInClass(irDeclaration) @@ -363,7 +363,7 @@ class Fir2IrConverter( } // `irClass` is a source class and definitely is not a lazy class - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) fun bindFakeOverridesInClass(klass: IrClass) { require(klass !is Fir2IrLazyClass) fakeOverrideGenerator.bindOverriddenSymbols(klass.declarations) @@ -376,7 +376,7 @@ class Fir2IrConverter( } // `irClass` is a source class and definitely is not a lazy class - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) private fun delegatedMembers(irClass: IrClass): List { return irClass.declarations.filter { it.origin == IrDeclarationOrigin.DELEGATED_MEMBER @@ -439,7 +439,7 @@ class Fir2IrConverter( * * `irClass` is a source class and definitely is not a lazy class */ - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) irClass.declarations.clear() } @@ -469,7 +469,7 @@ class Fir2IrConverter( * * `irClass` is a source class and definitely is not a lazy class */ - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) fun addDeclarationToParentIfNeeded(irDeclaration: IrDeclaration) { when (parent) { is IrFile -> parent.declarations += irDeclaration 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 916a522683b..c049d61e9aa 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 @@ -257,7 +257,7 @@ class Fir2IrDeclarationStorage( functionCache, signatureCalculator ) { signature -> - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) symbolTable.referenceSimpleFunctionIfAny(signature)?.owner } return cachedIrCallable @@ -362,7 +362,7 @@ class Fir2IrDeclarationStorage( ): IrConstructor? { return constructorCache[constructor] ?: signatureCalculator()?.let { signature -> symbolTable.referenceConstructorIfAny(signature)?.let { irConstructorSymbol -> - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) val irConstructor = irConstructorSymbol.owner constructorCache[constructor] = irConstructor irConstructor @@ -576,7 +576,7 @@ class Fir2IrDeclarationStorage( propertyCache, signatureCalculator ) { signature -> - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) symbolTable.referencePropertyIfAny(signature)?.owner } } diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrImplicitCastInserter.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrImplicitCastInserter.kt index 56f57ba0154..875eb8bd0c3 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrImplicitCastInserter.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrImplicitCastInserter.kt @@ -19,7 +19,7 @@ import org.jetbrains.kotlin.ir.IrBuiltIns import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.expressions.* import org.jetbrains.kotlin.ir.expressions.impl.IrTypeOperatorCallImpl -import org.jetbrains.kotlin.ir.symbols.IrSymbolInternals +import org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI import org.jetbrains.kotlin.ir.types.* import org.jetbrains.kotlin.ir.util.classId import org.jetbrains.kotlin.ir.util.parentAsClass @@ -363,7 +363,7 @@ class Fir2IrImplicitCastInserter( * bound at the time of body conversion, so it's safe to take the owner for them * If symbol is unbound then this annotation can not be neither @EnhancedNullability or @FlexibleNullability */ - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) val classId = constructorSymbol.owner.parentAsClass.classId classId == StandardClassIds.Annotations.EnhancedNullability || classId == StandardClassIds.Annotations.FlexibleNullability diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt index 93136cef65e..89fa6e73a47 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt @@ -41,12 +41,11 @@ import org.jetbrains.kotlin.ir.expressions.* import org.jetbrains.kotlin.ir.expressions.impl.* import org.jetbrains.kotlin.ir.symbols.IrClassSymbol import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol -import org.jetbrains.kotlin.ir.symbols.IrSymbolInternals +import org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI import org.jetbrains.kotlin.ir.symbols.impl.IrValueParameterSymbolImpl import org.jetbrains.kotlin.ir.types.* import org.jetbrains.kotlin.ir.types.impl.IrErrorClassImpl import org.jetbrains.kotlin.ir.types.impl.IrErrorTypeImpl -import org.jetbrains.kotlin.ir.util.coerceToUnit import org.jetbrains.kotlin.ir.util.constructors import org.jetbrains.kotlin.ir.util.defaultConstructor import org.jetbrains.kotlin.lexer.KtTokens @@ -150,7 +149,7 @@ class Fir2IrVisitor( memberGenerator.convertClassContent(correspondingClass, anonymousObject) // `correspondingClass` definitely is not a lazy class - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) val constructor = correspondingClass.constructors.first() irEnumEntry.initializerExpression = irFactory.createExpressionBody( IrEnumConstructorCallImpl( @@ -176,7 +175,7 @@ class Fir2IrVisitor( } else if (irParentEnumClass != null && initializer == null) { // a default-ish enum entry whose initializer would be a delegating constructor call // `irParentEnumClass` definitely is not a lazy class - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) val constructor = irParentEnumClass.defaultConstructor ?: error("Assuming that default constructor should exist and be converted at this point") enumEntry.convertWithOffsets { startOffset, endOffset -> @@ -332,7 +331,7 @@ class Fir2IrVisitor( override fun visitCodeFragment(codeFragment: FirCodeFragment, data: Any?): IrElement { val irClass = classifierStorage.getCachedIrCodeFragment(codeFragment)!! // class for code fragment definitely is not a lazy class - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) val irFunction = irClass.declarations.firstIsInstance() declarationStorage.enterScope(irFunction.symbol) @@ -371,7 +370,7 @@ class Fir2IrVisitor( endOffset, anonymousClassType, // a class for an anonymous object definitely is not a lazy class - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) irAnonymousObject.constructors.first().symbol, irAnonymousObject.typeParameters.size, origin = IrStatementOrigin.OBJECT_LITERAL diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/IrBuiltInsOverFir.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/IrBuiltInsOverFir.kt index edce1a1bdcd..d2e1513cdbd 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/IrBuiltInsOverFir.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/IrBuiltInsOverFir.kt @@ -158,7 +158,7 @@ class IrBuiltInsOverFir( private val intrinsicConstAnnotation: IrConstructorCall by lazy { // class for intrinsicConst is created manually and it definitely is not a lazy class - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) val constructor = intrinsicConst.constructors.single() IrConstructorCallImpl.Companion.fromSymbolOwner(intrinsicConst.defaultType, constructor) } @@ -314,7 +314,7 @@ class IrBuiltInsOverFir( isIntrinsicConst = isIntrinsicConst ).also { // `kotlinInternalIrPackageFragment` definitely is not a lazy class - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) declarations.add(it) }.symbol } @@ -379,7 +379,7 @@ class IrBuiltInsOverFir( origin = BUILTIN_OPERATOR ).also { // `kotlinInternalIrPackageFragment` definitely is not a lazy class - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) declarations.add(it) }.symbol } @@ -412,7 +412,7 @@ class IrBuiltInsOverFir( }.toMap() } - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) override val unsignedArraysElementTypes: Map by lazy { unsignedTypesToUnsignedArrays.map { (k, v) -> v to loadClass(k.classId).owner.defaultType }.toMap() } @@ -426,19 +426,19 @@ class IrBuiltInsOverFir( override val enumClass: IrClassSymbol by lazy { loadClass(StandardClassIds.Enum) } - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) override val intPlusSymbol: IrSimpleFunctionSymbol get() = intClass.functions.single { it.owner.name == OperatorNameConventions.PLUS && it.owner.valueParameters[0].type == intType } - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) override val intTimesSymbol: IrSimpleFunctionSymbol get() = intClass.functions.single { it.owner.name == OperatorNameConventions.TIMES && it.owner.valueParameters[0].type == intType } - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) override val intXorSymbol: IrSimpleFunctionSymbol get() = intClass.functions.single { it.owner.name == OperatorNameConventions.XOR && it.owner.valueParameters[0].type == intType @@ -524,22 +524,22 @@ class IrBuiltInsOverFir( private val suspendFunctionNMap = mutableMapOf() private val kSuspendFunctionNMap = mutableMapOf() - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) override fun functionN(arity: Int): IrClass = functionNMap.getOrPut(arity) { loadClass(StandardClassIds.FunctionN(arity)).owner } - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) override fun kFunctionN(arity: Int): IrClass = kFunctionNMap.getOrPut(arity) { loadClass(StandardClassIds.KFunctionN(arity)).owner } - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) override fun suspendFunctionN(arity: Int): IrClass = suspendFunctionNMap.getOrPut(arity) { loadClass(StandardClassIds.SuspendFunctionN(arity)).owner } - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) override fun kSuspendFunctionN(arity: Int): IrClass = kSuspendFunctionNMap.getOrPut(arity) { loadClass(StandardClassIds.KSuspendFunctionN(arity)).owner } @@ -563,13 +563,13 @@ class IrBuiltInsOverFir( return loadClassSafe(ClassId(packageName, identifier)) } - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) override fun findBuiltInClassMemberFunctions(builtInClass: IrClassSymbol, name: Name): Iterable { return builtInClass.functions.filter { it.owner.name == name }.asIterable() } // This function should not be called from fir2ir code - @IrSymbolInternals + @UnsafeDuringIrConstructionAPI override fun getBinaryOperator(name: Name, lhsType: IrType, rhsType: IrType): IrSimpleFunctionSymbol { val definingClass = lhsType.getMaybeBuiltinClass() ?: error("Defining class not found: $lhsType") return definingClass.functions.single { function -> @@ -578,7 +578,7 @@ class IrBuiltInsOverFir( } // This function should not be called from fir2ir code - @IrSymbolInternals + @UnsafeDuringIrConstructionAPI override fun getUnaryOperator(name: Name, receiverType: IrType): IrSimpleFunctionSymbol { val definingClass = receiverType.getMaybeBuiltinClass() ?: error("Defining class not found: $receiverType") return definingClass.functions.single { function -> @@ -601,7 +601,7 @@ class IrBuiltInsOverFir( return components.classifierStorage.getOrCreateIrClass(firClassSymbol).symbol } - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) private fun IrType.getMaybeBuiltinClass(): IrClass? { val lhsClassFqName = classFqName!! return baseIrTypes.find { it.classFqName == lhsClassFqName }?.getClass() diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt index d2a901780d9..97e067b6a0b 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/CallAndReferenceGenerator.kt @@ -164,7 +164,7 @@ class CallAndReferenceGenerator( ?: run { // In case of [IrField] without the corresponding property, we've created it directly from [FirField]. // Since it's used as a field reference, we need a bogus property as a placeholder. - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) declarationStorage.getOrCreateIrPropertyByPureField(fieldSymbol.fir, irFieldSymbol.owner.parent).symbol } return IrPropertyReferenceImpl( @@ -725,7 +725,7 @@ class CallAndReferenceGenerator( } } - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) private fun IrPropertySymbol.overriddenBackingFieldOrNull(): IrFieldSymbol? { return owner.overriddenSymbols.firstNotNullOfOrNull { val owner = it.owner diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DataClassMembersGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DataClassMembersGenerator.kt index b81b5eb1187..363187a5bca 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DataClassMembersGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DataClassMembersGenerator.kt @@ -26,7 +26,7 @@ import org.jetbrains.kotlin.ir.builders.IrGeneratorContextBase import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.expressions.IrMemberAccessExpression import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol -import org.jetbrains.kotlin.ir.symbols.IrSymbolInternals +import org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI import org.jetbrains.kotlin.ir.symbols.impl.IrValueParameterSymbolImpl import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.util.* @@ -103,7 +103,7 @@ class DataClassMembersGenerator(val components: Fir2IrComponents) : Fir2IrCompon override fun getProperty(irValueParameter: IrValueParameter?): IrProperty = irValueParameter?.let { // `irClass` is a source class and definitely is not a lazy class - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) irClass.properties.single { irProperty -> irProperty.name == irValueParameter.name && irProperty.backingField?.type == irValueParameter.type } @@ -236,7 +236,7 @@ class DataClassMembersGenerator(val components: Fir2IrComponents) : Fir2IrCompon } // `irClass` is a source class and definitely is not a lazy class - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) fun generateBodies() { val propertyParametersCount = irClass.primaryConstructor?.explicitParameters?.size ?: 0 val properties = irClass.properties.filter { it.backingField != null }.take(propertyParametersCount).toList() @@ -286,7 +286,7 @@ class DataClassMembersGenerator(val components: Fir2IrComponents) : Fir2IrCompon irFunction.origin = origin val index = DataClassResolver.getComponentIndex(irFunction.name.asString()) // `irClass` is a source class and definitely is not a lazy class - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) val valueParameter = irClass.primaryConstructor!!.valueParameters[index - 1] val irProperty = irDataClassMembersGenerator.getProperty(valueParameter) irDataClassMembersGenerator.generateComponentFunction(irFunction, irProperty) @@ -295,7 +295,7 @@ class DataClassMembersGenerator(val components: Fir2IrComponents) : Fir2IrCompon fun generateCopyBody(irFunction: IrFunction) { irFunction.origin = origin // `irClass` is a source class and definitely is not a lazy class - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) irDataClassMembersGenerator.generateCopyFunction(irFunction, irClass.primaryConstructor!!.symbol) } diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DelegatedMemberGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DelegatedMemberGenerator.kt index 29d74671f50..045929c96c9 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DelegatedMemberGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DelegatedMemberGenerator.kt @@ -26,7 +26,7 @@ import org.jetbrains.kotlin.ir.expressions.impl.IrGetValueImpl import org.jetbrains.kotlin.ir.expressions.impl.IrReturnImpl import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol -import org.jetbrains.kotlin.ir.symbols.IrSymbolInternals +import org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI import org.jetbrains.kotlin.ir.types.* import org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeImpl import org.jetbrains.kotlin.ir.util.SYNTHETIC_OFFSET @@ -182,7 +182,7 @@ class DelegatedMemberGenerator(private val components: Fir2IrComponents) : Fir2I return result?.unwrapSubstitutionOverrides() } - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) fun bindDelegatedMembersOverriddenSymbols(irClass: IrClass) { val superClasses by lazy(LazyThreadSafetyMode.NONE) { irClass.superTypes.mapNotNullTo(mutableSetOf()) { it.classifierOrNull?.owner as? IrClass } diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/FakeOverrideGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/FakeOverrideGenerator.kt index 129fb979556..04f290beb74 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/FakeOverrideGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/FakeOverrideGenerator.kt @@ -21,7 +21,7 @@ import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol import org.jetbrains.kotlin.ir.symbols.IrSymbol -import org.jetbrains.kotlin.ir.symbols.IrSymbolInternals +import org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI import org.jetbrains.kotlin.ir.types.* import org.jetbrains.kotlin.ir.util.IdSignature import org.jetbrains.kotlin.ir.util.parentAsClass @@ -418,7 +418,7 @@ class FakeOverrideGenerator( ) { declarationStorage.getIrPropertySymbol(it) as IrPropertySymbol } } - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) private fun > getOverriddenSymbolsInSupertypes( declaration: I, baseSymbols: List, @@ -432,7 +432,7 @@ class FakeOverrideGenerator( }.distinct() } - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) private fun , S : IrSymbol> getOverriddenSymbolsInSupertypes( overridden: F, superClasses: Set, @@ -497,7 +497,7 @@ class FakeOverrideGenerator( } } - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) private fun IrProperty.setOverriddenSymbolsForProperty( declarationStorage: Fir2IrDeclarationStorage, isVar: Boolean, @@ -522,7 +522,7 @@ class FakeOverrideGenerator( } context(Fir2IrComponents) -@OptIn(IrSymbolInternals::class) +@OptIn(UnsafeDuringIrConstructionAPI::class) internal fun FirProperty.generateOverriddenAccessorSymbols(containingClass: FirClass, isGetter: Boolean): List { val scope = containingClass.unsubstitutedScope() scope.processPropertiesByName(name) {} @@ -582,7 +582,7 @@ internal fun FirSimpleFunction.generateOverriddenFunctionSymbols(containingClass } context(Fir2IrComponents) -@OptIn(IrSymbolInternals::class) +@OptIn(UnsafeDuringIrConstructionAPI::class) private fun FirClass.getSuperTypesAsIrClasses(): Set { val irClass = declarationStorage.classifierStorage.getOrCreateIrClass(symbol) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/Fir2IrCallableDeclarationsGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/Fir2IrCallableDeclarationsGenerator.kt index 3b809f03d02..393bf8f98e5 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/Fir2IrCallableDeclarationsGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/Fir2IrCallableDeclarationsGenerator.kt @@ -1118,7 +1118,7 @@ internal fun IrDeclaration.setParent(irParent: IrDeclarationParent?) { * Note that IrClass will be a parent if some declaration is declared inside anonymous initializer, because IrAnonymousInitializer * is not a IrDeclarationParent */ -@OptIn(IrSymbolInternals::class) +@OptIn(UnsafeDuringIrConstructionAPI::class) internal fun addDeclarationToParent(declaration: IrDeclaration, irParent: IrDeclarationParent?) { if (irParent == null) return when (irParent) { diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/Fir2IrClassifiersGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/Fir2IrClassifiersGenerator.kt index bfa1852a09f..1f373af30cf 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/Fir2IrClassifiersGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/Fir2IrClassifiersGenerator.kt @@ -168,7 +168,7 @@ class Fir2IrClassifiersGenerator(val components: Fir2IrComponents) : Fir2IrCompo } // `irClass` is a source class and definitely is not a lazy class - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) private fun IrClass.declareTypeParameters(klass: FirClass) { classifierStorage.preCacheTypeParameters(klass, symbol) setTypeParameters(this, klass) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyClass.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyClass.kt index 53f8a2697b1..07f14bc41c0 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyClass.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyClass.kt @@ -10,7 +10,6 @@ import org.jetbrains.kotlin.fir.backend.* import org.jetbrains.kotlin.fir.containingClassLookupTag import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.utils.* -import org.jetbrains.kotlin.fir.dispatchReceiverClassLookupTagOrNull import org.jetbrains.kotlin.fir.hasEnumEntries import org.jetbrains.kotlin.fir.isNewPlaceForBodyGeneration import org.jetbrains.kotlin.fir.isSubstitutionOrIntersectionOverride @@ -24,7 +23,7 @@ import org.jetbrains.kotlin.ir.declarations.lazy.IrMaybeDeserializedClass import org.jetbrains.kotlin.ir.declarations.lazy.lazyVar import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.symbols.IrClassSymbol -import org.jetbrains.kotlin.ir.symbols.IrSymbolInternals +import org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI import org.jetbrains.kotlin.ir.types.IrSimpleType import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeImpl @@ -32,7 +31,6 @@ import org.jetbrains.kotlin.ir.util.DeserializableClass import org.jetbrains.kotlin.ir.util.isEnumClass import org.jetbrains.kotlin.ir.util.isObject import org.jetbrains.kotlin.name.Name -import org.jetbrains.kotlin.utils.addIfNotNull class Fir2IrLazyClass( components: Fir2IrComponents, @@ -155,7 +153,7 @@ class Fir2IrLazyClass( .also(converter::bindFakeOverridesOrPostpone) } - @IrSymbolInternals + @UnsafeDuringIrConstructionAPI override val declarations: MutableList by lazyVar(lock) { val result = mutableListOf() // NB: it's necessary to take all callables from scope, diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyPropertyAccessor.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyPropertyAccessor.kt index 52b5dcfcf45..80cc5547365 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyPropertyAccessor.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/Fir2IrLazyPropertyAccessor.kt @@ -6,7 +6,6 @@ package org.jetbrains.kotlin.fir.lazy import org.jetbrains.kotlin.fir.backend.* -import org.jetbrains.kotlin.fir.backend.generators.generateOverriddenAccessorSymbols import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration import org.jetbrains.kotlin.fir.declarations.FirProperty import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor @@ -21,7 +20,7 @@ import org.jetbrains.kotlin.ir.declarations.lazy.lazyVar import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol -import org.jetbrains.kotlin.ir.symbols.IrSymbolInternals +import org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.util.isFacadeClass import org.jetbrains.kotlin.name.Name @@ -115,7 +114,7 @@ class Fir2IrLazyPropertyAccessor( override var overriddenSymbols: List by lazyVar(lock) { if (firParentClass == null) return@lazyVar emptyList() // If property accessor is created then corresponding property is definitely created too - @OptIn(IrSymbolInternals::class) + @OptIn(UnsafeDuringIrConstructionAPI::class) correspondingPropertySymbol!!.owner.overriddenSymbols.mapNotNull { when (isSetter) { false -> declarationStorage.findGetterOfProperty(it) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/symbols/Fir2IrBindableSymbol.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/symbols/Fir2IrBindableSymbol.kt index f7ece2f8aac..8416675042f 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/symbols/Fir2IrBindableSymbol.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/symbols/Fir2IrBindableSymbol.kt @@ -10,7 +10,7 @@ import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.descriptors.* import org.jetbrains.kotlin.ir.symbols.IrBindableSymbol -import org.jetbrains.kotlin.ir.symbols.IrSymbolInternals +import org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI import org.jetbrains.kotlin.ir.util.IdSignature import org.jetbrains.kotlin.ir.util.render @@ -20,7 +20,7 @@ abstract class Fir2IrBindableSymbol } diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrClassImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrClassImpl.kt index 4e68a138dfc..336f20fe2a1 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrClassImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrClassImpl.kt @@ -10,7 +10,7 @@ import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.symbols.IrClassSymbol -import org.jetbrains.kotlin.ir.symbols.IrSymbolInternals +import org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI import org.jetbrains.kotlin.ir.types.IrSimpleType import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.name.Name @@ -48,7 +48,7 @@ open class IrClassImpl( override var thisReceiver: IrValueParameter? = null - @IrSymbolInternals + @UnsafeDuringIrConstructionAPI override val declarations: MutableList = ArrayList() override var typeParameters: List = emptyList() diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrExternalPackageFragmentImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrExternalPackageFragmentImpl.kt index 57a906672ea..9796fb1b420 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrExternalPackageFragmentImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrExternalPackageFragmentImpl.kt @@ -24,7 +24,7 @@ import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET import org.jetbrains.kotlin.ir.declarations.IrDeclaration import org.jetbrains.kotlin.ir.declarations.IrExternalPackageFragment import org.jetbrains.kotlin.ir.symbols.IrExternalPackageFragmentSymbol -import org.jetbrains.kotlin.ir.symbols.IrSymbolInternals +import org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI import org.jetbrains.kotlin.ir.symbols.impl.IrExternalPackageFragmentSymbolImpl import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource @@ -52,7 +52,7 @@ class IrExternalPackageFragmentImpl( override val moduleDescriptor: ModuleDescriptor get() = packageFragmentDescriptor.containingDeclaration - @IrSymbolInternals + @UnsafeDuringIrConstructionAPI override val declarations: MutableList = ArrayList() @OptIn(ObsoleteDescriptorBasedAPI::class) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFileImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFileImpl.kt index 88aa5d8032d..918ac1e03a1 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFileImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFileImpl.kt @@ -26,7 +26,7 @@ import org.jetbrains.kotlin.ir.declarations.IrModuleFragment import org.jetbrains.kotlin.ir.declarations.MetadataSource import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.symbols.IrFileSymbol -import org.jetbrains.kotlin.ir.symbols.IrSymbolInternals +import org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI import org.jetbrains.kotlin.ir.symbols.impl.IrFileSymbolImpl import org.jetbrains.kotlin.name.FqName @@ -80,7 +80,7 @@ class IrFileImpl( packageFragmentDescriptor.containingDeclaration } - @IrSymbolInternals + @UnsafeDuringIrConstructionAPI override val declarations: MutableList = ArrayList() override var annotations: List = emptyList() diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyClass.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyClass.kt index 4bd2a83e64b..b201cf1e971 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyClass.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/lazy/IrLazyClass.kt @@ -11,7 +11,7 @@ import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.symbols.IrClassSymbol -import org.jetbrains.kotlin.ir.symbols.IrSymbolInternals +import org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI import org.jetbrains.kotlin.ir.types.IrSimpleType import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.util.* @@ -56,7 +56,7 @@ class IrLazyClass( } } - @IrSymbolInternals + @UnsafeDuringIrConstructionAPI override val declarations: MutableList by lazyVar(stubGenerator.lock) { ArrayList().also { typeTranslator.buildWithScope(this) { diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrDelegatingConstructorCallImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrDelegatingConstructorCallImpl.kt index 59361778f74..d48598e3719 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrDelegatingConstructorCallImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/expressions/impl/IrDelegatingConstructorCallImpl.kt @@ -22,7 +22,7 @@ import org.jetbrains.kotlin.ir.expressions.IrExpression import org.jetbrains.kotlin.ir.expressions.IrStatementOrigin import org.jetbrains.kotlin.ir.expressions.typeParametersCount import org.jetbrains.kotlin.ir.symbols.IrConstructorSymbol -import org.jetbrains.kotlin.ir.symbols.IrSymbolInternals +import org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.util.allTypeParameters import org.jetbrains.kotlin.ir.util.initializeParameterArguments @@ -55,7 +55,7 @@ class IrDelegatingConstructorCallImpl( valueArgumentsCount: Int = symbol.descriptor.valueParameters.size + symbol.descriptor.contextReceiverParameters.size ) = IrDelegatingConstructorCallImpl(startOffset, endOffset, type, symbol, typeArgumentsCount, valueArgumentsCount) - @IrSymbolInternals + @UnsafeDuringIrConstructionAPI fun fromSymbolOwner( startOffset: Int, endOffset: Int, diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/symbols/IrSymbol.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/symbols/IrSymbol.kt index 316ed769aff..d5bb67def8f 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/symbols/IrSymbol.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/symbols/IrSymbol.kt @@ -30,11 +30,10 @@ import org.jetbrains.kotlin.types.model.TypeConstructorMarker import org.jetbrains.kotlin.types.model.TypeParameterMarker /** - * Usage of [IrSymbol.owner] can be unsafe in some context (like in fir2ir), where not all symbols can be bound), - * so it should be used with care + * Usage of marked API can be unsafe at the stage when IR for the whole module is not built yet (specifically in fir2ir) */ @RequiresOptIn(level = RequiresOptIn.Level.WARNING) -annotation class IrSymbolInternals +annotation class UnsafeDuringIrConstructionAPI /** * A special object that can be used to refer to [IrDeclaration]s and some other entities from IR nodes. @@ -66,7 +65,7 @@ interface IrSymbol : DeclarationSymbolMarker { * **A:** Because we most often need to access a symbol's owner in lowerings, which happen after linkage, at which point all symbols * should be already bound. Declaring this property nullable would make working with it more difficult most of the time. */ - @IrSymbolInternals + @UnsafeDuringIrConstructionAPI val owner: IrSymbolOwner /** @@ -126,7 +125,7 @@ val IrSymbol.isPublicApi: Boolean * Only leaf interfaces in the symbol hierarchy inherit from this interface. */ interface IrBindableSymbol : IrSymbol { - @IrSymbolInternals + @UnsafeDuringIrConstructionAPI override val owner: Owner @ObsoleteDescriptorBasedAPI @@ -230,7 +229,7 @@ sealed interface IrValueSymbol : IrSymbol { @ObsoleteDescriptorBasedAPI override val descriptor: ValueDescriptor - @IrSymbolInternals + @UnsafeDuringIrConstructionAPI override val owner: IrValueDeclaration } @@ -253,7 +252,7 @@ sealed interface IrReturnTargetSymbol : IrSymbol { @ObsoleteDescriptorBasedAPI override val descriptor: FunctionDescriptor - @IrSymbolInternals + @UnsafeDuringIrConstructionAPI override val owner: IrReturnTarget } @@ -263,7 +262,7 @@ sealed interface IrReturnTargetSymbol : IrSymbol { * @see IrFunctionReference */ sealed interface IrFunctionSymbol : IrReturnTargetSymbol, FunctionSymbolMarker { - @IrSymbolInternals + @UnsafeDuringIrConstructionAPI override val owner: IrFunction } diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/impl/IrErrorClassImpl.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/impl/IrErrorClassImpl.kt index 33942d717cc..1e8daa404a3 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/impl/IrErrorClassImpl.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/impl/IrErrorClassImpl.kt @@ -13,7 +13,7 @@ import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.declarations.impl.IrClassImpl import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.symbols.IrFileSymbol -import org.jetbrains.kotlin.ir.symbols.IrSymbolInternals +import org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI import org.jetbrains.kotlin.ir.symbols.impl.IrClassSymbolImpl import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name @@ -33,7 +33,7 @@ object IrErrorClassImpl : IrClassImpl( get() = shouldNotBeCalled() set(_) {} - @IrSymbolInternals + @UnsafeDuringIrConstructionAPI override val declarations: MutableList get() = shouldNotBeCalled() override val symbol: IrFileSymbol diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/AdditionalIrUtils.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/AdditionalIrUtils.kt index f6a363cf38e..f7466dcd13a 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/AdditionalIrUtils.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/AdditionalIrUtils.kt @@ -186,7 +186,7 @@ val IrDeclaration.fileEntry: IrFileEntry } // This declaration accesses IrDeclarationContainer.declarations, which is marked with this opt-in -@IrSymbolInternals +@UnsafeDuringIrConstructionAPI fun IrClass.companionObject(): IrClass? = this.declarations.singleOrNull { it is IrClass && it.isCompanion } as IrClass? @@ -285,7 +285,7 @@ class NaiveSourceBasedFileEntryImpl( } // This declaration accesses IrDeclarationContainer.declarations, which is marked with this opt-in -@IrSymbolInternals +@UnsafeDuringIrConstructionAPI private fun IrClass.getPropertyDeclaration(name: String): IrProperty? { val properties = declarations.filterIsInstanceAnd { it.name.asString() == name } if (properties.size > 1) { @@ -301,24 +301,24 @@ fun IrClass.getSimpleFunction(name: String): IrSimpleFunctionSymbol? = findDeclaration { it.name.asString() == name }?.symbol // This declaration accesses IrDeclarationContainer.declarations, which is marked with this opt-in -@IrSymbolInternals +@UnsafeDuringIrConstructionAPI fun IrClass.getPropertyGetter(name: String): IrSimpleFunctionSymbol? = getPropertyDeclaration(name)?.getter?.symbol ?: getSimpleFunction("").also { assert(it?.owner?.correspondingPropertySymbol?.owner?.name?.asString() == name) } // This declaration accesses IrDeclarationContainer.declarations, which is marked with this opt-in -@IrSymbolInternals +@UnsafeDuringIrConstructionAPI fun IrClass.getPropertySetter(name: String): IrSimpleFunctionSymbol? = getPropertyDeclaration(name)?.setter?.symbol ?: getSimpleFunction("").also { assert(it?.owner?.correspondingPropertySymbol?.owner?.name?.asString() == name) } -@IrSymbolInternals +@UnsafeDuringIrConstructionAPI fun IrClassSymbol.getSimpleFunction(name: String): IrSimpleFunctionSymbol? = owner.getSimpleFunction(name) -@IrSymbolInternals +@UnsafeDuringIrConstructionAPI fun IrClassSymbol.getPropertyGetter(name: String): IrSimpleFunctionSymbol? = owner.getPropertyGetter(name) -@IrSymbolInternals +@UnsafeDuringIrConstructionAPI fun IrClassSymbol.getPropertySetter(name: String): IrSimpleFunctionSymbol? = owner.getPropertySetter(name) fun filterOutAnnotations(fqName: FqName, annotations: List): List { diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt index cd32df41caf..ec541c68615 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/IrUtils.kt @@ -222,12 +222,12 @@ val IrProperty.isSimpleProperty: Boolean } // This declaration accesses IrDeclarationContainer.declarations, which is marked with this opt-in -@IrSymbolInternals +@UnsafeDuringIrConstructionAPI val IrClass.functions: Sequence get() = declarations.asSequence().filterIsInstance() // This declaration accesses IrBasedSymbol.owner, which is marked with this opt-in -@IrSymbolInternals +@UnsafeDuringIrConstructionAPI val IrClass.superClass: IrClass? get() = superTypes .firstOrNull { !it.isInterface() && !it.isAny() } @@ -235,47 +235,47 @@ val IrClass.superClass: IrClass? ?.owner // This declaration accesses IrDeclarationContainer.declarations, which is marked with this opt-in -@IrSymbolInternals +@UnsafeDuringIrConstructionAPI val IrClassSymbol.functions: Sequence get() = owner.functions.map { it.symbol } // This declaration accesses IrDeclarationContainer.declarations, which is marked with this opt-in -@IrSymbolInternals +@UnsafeDuringIrConstructionAPI val IrClass.constructors: Sequence get() = declarations.asSequence().filterIsInstance() // This declaration accesses IrDeclarationContainer.declarations, which is marked with this opt-in -@IrSymbolInternals +@UnsafeDuringIrConstructionAPI val IrClass.defaultConstructor: IrConstructor? get() = constructors.firstOrNull { ctor -> ctor.valueParameters.all { it.defaultValue != null } } // This declaration accesses IrDeclarationContainer.declarations, which is marked with this opt-in -@IrSymbolInternals +@UnsafeDuringIrConstructionAPI val IrClassSymbol.constructors: Sequence get() = owner.constructors.map { it.symbol } // This declaration accesses IrDeclarationContainer.declarations, which is marked with this opt-in -@IrSymbolInternals +@UnsafeDuringIrConstructionAPI val IrClass.fields: Sequence get() = declarations.asSequence().filterIsInstance() // This declaration accesses IrDeclarationContainer.declarations, which is marked with this opt-in -@IrSymbolInternals +@UnsafeDuringIrConstructionAPI val IrClassSymbol.fields: Sequence get() = owner.fields.map { it.symbol } // This declaration accesses IrDeclarationContainer.declarations, which is marked with this opt-in -@IrSymbolInternals +@UnsafeDuringIrConstructionAPI val IrClass.primaryConstructor: IrConstructor? get() = this.declarations.singleOrNull { it is IrConstructor && it.isPrimary } as IrConstructor? // This declaration accesses IrDeclarationContainer.declarations, which is marked with this opt-in -@IrSymbolInternals +@UnsafeDuringIrConstructionAPI val IrClass.invokeFun: IrSimpleFunction? get() = declarations.filterIsInstance().singleOrNull { it.name.asString() == "invoke" } // This declaration accesses IrDeclarationContainer.declarations, which is marked with this opt-in -@IrSymbolInternals +@UnsafeDuringIrConstructionAPI val IrDeclarationContainer.properties: Sequence get() = declarations.asSequence().filterIsInstance() @@ -466,7 +466,7 @@ fun IrFunction.isExternalOrInheritedFromExternal(): Boolean { } // This declaration accesses IrDeclarationContainer.declarations, which is marked with this opt-in -@IrSymbolInternals +@UnsafeDuringIrConstructionAPI inline fun IrDeclarationContainer.findDeclaration(predicate: (T) -> Boolean): T? = declarations.find { it is T && predicate(it) } as? T @@ -1190,7 +1190,7 @@ fun IrFunction.isMethodOfAny(): Boolean = } // This declaration accesses IrDeclarationContainer.declarations, which is marked with this opt-in -@IrSymbolInternals +@UnsafeDuringIrConstructionAPI fun IrDeclarationContainer.simpleFunctions() = declarations.flatMap { when (it) { is IrSimpleFunction -> listOf(it) diff --git a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/IrTree.kt b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/IrTree.kt index 1bd17e76fde..6f9d7d73490 100644 --- a/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/IrTree.kt +++ b/compiler/ir/ir.tree/tree-generator/src/org/jetbrains/kotlin/ir/generator/IrTree.kt @@ -351,7 +351,7 @@ object IrTree : AbstractTreeBuilder() { declaration of source classes, e.g. for java source classes) """.trimIndent() generationCallback = { - addAnnotation(ClassName("org.jetbrains.kotlin.ir.symbols", "IrSymbolInternals")) + addAnnotation(ClassName("org.jetbrains.kotlin.ir.symbols", "UnsafeDuringIrConstructionAPI")) } } } diff --git a/compiler/ir/serialization.common/build.gradle.kts b/compiler/ir/serialization.common/build.gradle.kts index ed31b4d28c0..bf087f07a32 100644 --- a/compiler/ir/serialization.common/build.gradle.kts +++ b/compiler/ir/serialization.common/build.gradle.kts @@ -16,7 +16,7 @@ dependencies { compileOnly(intellijCore()) } -optInToIrSymbolInternals() +optInToUnsafeDuringIrConstructionAPI() optInToObsoleteDescriptorBasedAPI() sourceSets { diff --git a/compiler/ir/serialization.js/build.gradle.kts b/compiler/ir/serialization.js/build.gradle.kts index de8b503090e..afef3f17ee2 100644 --- a/compiler/ir/serialization.js/build.gradle.kts +++ b/compiler/ir/serialization.js/build.gradle.kts @@ -15,7 +15,7 @@ dependencies { compileOnly(intellijCore()) } -optInToIrSymbolInternals() +optInToUnsafeDuringIrConstructionAPI() sourceSets { "main" { projectDefault() } diff --git a/compiler/ir/serialization.jvm/build.gradle.kts b/compiler/ir/serialization.jvm/build.gradle.kts index 8f8d4f77925..adfa6e4d9f0 100644 --- a/compiler/ir/serialization.jvm/build.gradle.kts +++ b/compiler/ir/serialization.jvm/build.gradle.kts @@ -12,7 +12,7 @@ dependencies { api(project(":compiler:frontend.java")) } -optInToIrSymbolInternals() +optInToUnsafeDuringIrConstructionAPI() sourceSets { "main" { diff --git a/compiler/tests-common-new/build.gradle.kts b/compiler/tests-common-new/build.gradle.kts index 5d5c65f3b61..6bee3d2686f 100644 --- a/compiler/tests-common-new/build.gradle.kts +++ b/compiler/tests-common-new/build.gradle.kts @@ -43,7 +43,7 @@ dependencies { } optInToExperimentalCompilerApi() -optInToIrSymbolInternals() +optInToUnsafeDuringIrConstructionAPI() sourceSets { "main" { none() } diff --git a/compiler/tests-common/build.gradle.kts b/compiler/tests-common/build.gradle.kts index 7e4479806dd..f64cf02c806 100644 --- a/compiler/tests-common/build.gradle.kts +++ b/compiler/tests-common/build.gradle.kts @@ -88,7 +88,7 @@ dependencies { } optInToExperimentalCompilerApi() -optInToIrSymbolInternals() +optInToUnsafeDuringIrConstructionAPI() sourceSets { "main" { } diff --git a/compiler/tests-compiler-utils/build.gradle.kts b/compiler/tests-compiler-utils/build.gradle.kts index bff0332ee54..d85f9507d3d 100644 --- a/compiler/tests-compiler-utils/build.gradle.kts +++ b/compiler/tests-compiler-utils/build.gradle.kts @@ -37,7 +37,7 @@ dependencies { testApi(commonDependency("org.jetbrains.intellij.deps:jdom")) } -optInToIrSymbolInternals() +optInToUnsafeDuringIrConstructionAPI() sourceSets { "main" { none() } diff --git a/kotlin-native/backend.native/build.gradle b/kotlin-native/backend.native/build.gradle index 67058e8657b..d9134a33041 100644 --- a/kotlin-native/backend.native/build.gradle +++ b/kotlin-native/backend.native/build.gradle @@ -41,7 +41,7 @@ compileCompilerKotlin { '-Xskip-prerelease-check'] } -TasksKt.optInToIrSymbolInternals(project) +TasksKt.optInToUnsafeDuringIrConstructionAPI(project) compileCli_bcKotlin { kotlinOptions.freeCompilerArgs += ['-Xskip-prerelease-check'] diff --git a/plugins/android-extensions/android-extensions-compiler/build.gradle.kts b/plugins/android-extensions/android-extensions-compiler/build.gradle.kts index 159ecce9a8e..f474285b0bc 100644 --- a/plugins/android-extensions/android-extensions-compiler/build.gradle.kts +++ b/plugins/android-extensions/android-extensions-compiler/build.gradle.kts @@ -53,7 +53,7 @@ dependencies { } optInToExperimentalCompilerApi() -optInToIrSymbolInternals() +optInToUnsafeDuringIrConstructionAPI() sourceSets { "main" { projectDefault() } diff --git a/plugins/atomicfu/atomicfu-compiler/build.gradle.kts b/plugins/atomicfu/atomicfu-compiler/build.gradle.kts index a85ba007498..23922cef305 100644 --- a/plugins/atomicfu/atomicfu-compiler/build.gradle.kts +++ b/plugins/atomicfu/atomicfu-compiler/build.gradle.kts @@ -153,7 +153,7 @@ dependencies { } optInToExperimentalCompilerApi() -optInToIrSymbolInternals() +optInToUnsafeDuringIrConstructionAPI() sourceSets { "main" { projectDefault() } diff --git a/plugins/fir-plugin-prototype/build.gradle.kts b/plugins/fir-plugin-prototype/build.gradle.kts index 6bfbcf26138..5414c197628 100644 --- a/plugins/fir-plugin-prototype/build.gradle.kts +++ b/plugins/fir-plugin-prototype/build.gradle.kts @@ -49,7 +49,7 @@ dependencies { } optInToExperimentalCompilerApi() -optInToIrSymbolInternals() +optInToUnsafeDuringIrConstructionAPI() val generationRoot = projectDir.resolve("tests-gen") diff --git a/plugins/fir-plugin-prototype/src/org/jetbrains/kotlin/ir/plugin/SourceElementChecker.kt b/plugins/fir-plugin-prototype/src/org/jetbrains/kotlin/ir/plugin/SourceElementChecker.kt index 8c436c269a2..db67bb0d8f6 100644 --- a/plugins/fir-plugin-prototype/src/org/jetbrains/kotlin/ir/plugin/SourceElementChecker.kt +++ b/plugins/fir-plugin-prototype/src/org/jetbrains/kotlin/ir/plugin/SourceElementChecker.kt @@ -15,7 +15,7 @@ import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET import org.jetbrains.kotlin.ir.declarations.IrClass import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin import org.jetbrains.kotlin.ir.declarations.IrFunction -import org.jetbrains.kotlin.ir.symbols.IrSymbolInternals +import org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI import org.jetbrains.kotlin.ir.types.IrSimpleType import org.jetbrains.kotlin.ir.util.fqNameForIrSerialization import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid @@ -25,7 +25,7 @@ import org.jetbrains.kotlin.load.kotlin.KotlinJvmBinarySourceElement import org.jetbrains.kotlin.load.kotlin.VirtualFileKotlinClass import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource -@OptIn(IrSymbolInternals::class) +@OptIn(UnsafeDuringIrConstructionAPI::class) class SourceElementChecker(val context: IrPluginContext) : IrElementVisitorVoid { override fun visitElement(element: IrElement) { element.acceptChildrenVoid(this) diff --git a/plugins/kotlinx-serialization/kotlinx-serialization.backend/build.gradle.kts b/plugins/kotlinx-serialization/kotlinx-serialization.backend/build.gradle.kts index e1a8fe6efd1..99fecdac26a 100644 --- a/plugins/kotlinx-serialization/kotlinx-serialization.backend/build.gradle.kts +++ b/plugins/kotlinx-serialization/kotlinx-serialization.backend/build.gradle.kts @@ -25,7 +25,7 @@ dependencies { compileOnly(intellijCore()) } -optInToIrSymbolInternals() +optInToUnsafeDuringIrConstructionAPI() sourceSets { "main" { projectDefault() } diff --git a/plugins/noarg/noarg.backend/build.gradle.kts b/plugins/noarg/noarg.backend/build.gradle.kts index 8123b4783de..9151a092acd 100644 --- a/plugins/noarg/noarg.backend/build.gradle.kts +++ b/plugins/noarg/noarg.backend/build.gradle.kts @@ -13,7 +13,7 @@ dependencies { implementation(kotlinStdlib()) } -optInToIrSymbolInternals() +optInToUnsafeDuringIrConstructionAPI() sourceSets { "main" { projectDefault() } diff --git a/plugins/parcelize/parcelize-compiler/build.gradle.kts b/plugins/parcelize/parcelize-compiler/build.gradle.kts index 0a1ec1b4e06..4bd3d24a7ee 100644 --- a/plugins/parcelize/parcelize-compiler/build.gradle.kts +++ b/plugins/parcelize/parcelize-compiler/build.gradle.kts @@ -72,7 +72,7 @@ dependencies { } optInToExperimentalCompilerApi() -optInToIrSymbolInternals() +optInToUnsafeDuringIrConstructionAPI() sourceSets { "main" { none() } diff --git a/plugins/parcelize/parcelize-compiler/parcelize.backend/build.gradle.kts b/plugins/parcelize/parcelize-compiler/parcelize.backend/build.gradle.kts index a7cfdc9fdd1..d84fa8cb4cd 100644 --- a/plugins/parcelize/parcelize-compiler/parcelize.backend/build.gradle.kts +++ b/plugins/parcelize/parcelize-compiler/parcelize.backend/build.gradle.kts @@ -18,7 +18,7 @@ dependencies { compileOnly(commonDependency("org.jetbrains.intellij.deps:asm-all")) } -optInToIrSymbolInternals() +optInToUnsafeDuringIrConstructionAPI() sourceSets { "main" { projectDefault() } diff --git a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/tasks.kt b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/tasks.kt index 127f41b95a9..0154968ef2c 100644 --- a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/tasks.kt +++ b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/tasks.kt @@ -411,8 +411,8 @@ fun Project.optInToExperimentalCompilerApi() { optInTo("org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi") } -fun Project.optInToIrSymbolInternals() { - optInTo("org.jetbrains.kotlin.ir.symbols.IrSymbolInternals") +fun Project.optInToUnsafeDuringIrConstructionAPI() { + optInTo("org.jetbrains.kotlin.ir.symbols.UnsafeDuringIrConstructionAPI") } fun Project.optInToObsoleteDescriptorBasedAPI() {