diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirDeclarationCheckerUtils.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirDeclarationCheckerUtils.kt index 77aa89bea4a..4bf36b94790 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirDeclarationCheckerUtils.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirDeclarationCheckerUtils.kt @@ -17,7 +17,7 @@ import org.jetbrains.kotlin.fir.analysis.checkers.modality import org.jetbrains.kotlin.fir.analysis.diagnostics.DiagnosticReporter import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors import org.jetbrains.kotlin.fir.analysis.diagnostics.reportOn -import org.jetbrains.kotlin.fir.containingClassAttr +import org.jetbrains.kotlin.fir.containingClassForStaticMemberAttr import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyAccessor import org.jetbrains.kotlin.fir.declarations.utils.* @@ -207,7 +207,7 @@ internal fun FirRegularClassSymbol.isInlineOrValueClass(): Boolean { internal val FirDeclaration.isEnumEntryInitializer: Boolean get() { if (this !is FirConstructor || !this.isPrimary) return false - return (containingClassAttr as? ConeClassLookupTagWithFixedSymbol)?.symbol?.classKind == ClassKind.ENUM_ENTRY + return (containingClassForStaticMemberAttr as? ConeClassLookupTagWithFixedSymbol)?.symbol?.classKind == ClassKind.ENUM_ENTRY } // contract: returns(true) implies (this is FirMemberDeclaration<*>) diff --git a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/ClassDeserialization.kt b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/ClassDeserialization.kt index f47d13909bb..1a352b8a615 100644 --- a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/ClassDeserialization.kt +++ b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/ClassDeserialization.kt @@ -176,7 +176,7 @@ fun deserializeClassToSymbol( } resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES }.apply { - containingClassAttr = context.dispatchReceiver!!.lookupTag + containingClassForStaticMemberAttr = context.dispatchReceiver!!.lookupTag } property diff --git a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/FirMemberDeserializer.kt b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/FirMemberDeserializer.kt index 9dd45575f32..2de0ae55464 100644 --- a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/FirMemberDeserializer.kt +++ b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/FirMemberDeserializer.kt @@ -501,7 +501,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) { containerSource = c.containerSource deprecation = annotations.getDeprecationInfosFromAnnotations(c.session.languageVersionSettings.apiVersion, false) }.build().apply { - containingClassAttr = c.dispatchReceiver!!.lookupTag + containingClassForStaticMemberAttr = c.dispatchReceiver!!.lookupTag versionRequirementsTable = c.versionRequirementTable } } diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt index 5b6a73afb14..3668281fb54 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt @@ -404,7 +404,7 @@ class JavaSymbolProvider( origin = FirDeclarationOrigin.Java addAnnotationsFrom(this@JavaSymbolProvider.session, javaField, javaTypeParameterStack) }.apply { - containingClassAttr = ConeClassLikeLookupTagImpl(classId) + containingClassForStaticMemberAttr = ConeClassLikeLookupTagImpl(classId) } else -> buildJavaField { source = (javaField as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement() @@ -434,7 +434,7 @@ class JavaSymbolProvider( } }.apply { if (javaField.isStatic) { - containingClassAttr = ConeClassLikeLookupTagImpl(classId) + containingClassForStaticMemberAttr = ConeClassLikeLookupTagImpl(classId) } } } @@ -493,7 +493,7 @@ class JavaSymbolProvider( } }.apply { if (javaMethod.isStatic) { - containingClassAttr = ConeClassLikeLookupTagImpl(classId) + containingClassForStaticMemberAttr = ConeClassLikeLookupTagImpl(classId) } } } @@ -554,7 +554,7 @@ class JavaSymbolProvider( annotationBuilder = { emptyList() } } }.apply { - containingClassAttr = ownerClassBuilder.symbol.toLookupTag() + containingClassForStaticMemberAttr = ownerClassBuilder.symbol.toLookupTag() } } @@ -578,7 +578,7 @@ class JavaSymbolProvider( isPrimary = true annotationBuilder = { emptyList() } }.apply { - containingClassAttr = ownerClassBuilder.symbol.toLookupTag() + containingClassForStaticMemberAttr = ownerClassBuilder.symbol.toLookupTag() } } diff --git a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt index 727d215e6e6..bd43a5b5a2f 100644 --- a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt +++ b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt @@ -734,7 +734,7 @@ class DeclarationsConverter( } } }.also { - it.containingClassAttr = currentDispatchReceiverType()!!.lookupTag + it.containingClassForStaticMemberAttr = currentDispatchReceiverType()!!.lookupTag } } @@ -848,7 +848,7 @@ class DeclarationsConverter( delegatedConstructor = firDelegatedCall this.body = null }.apply { - containingClassAttr = currentDispatchReceiverType()!!.lookupTag + containingClassForStaticMemberAttr = currentDispatchReceiverType()!!.lookupTag }, valueParameters ) } @@ -920,7 +920,7 @@ class DeclarationsConverter( this.body = body context.firFunctionTargets.removeLast() }.also { - it.containingClassAttr = currentDispatchReceiverType()!!.lookupTag + it.containingClassForStaticMemberAttr = currentDispatchReceiverType()!!.lookupTag target.bind(it) } } diff --git a/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt b/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt index 3be2b208d36..e984920d95d 100644 --- a/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt +++ b/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt @@ -793,7 +793,7 @@ open class RawFirBuilder( this@toFirConstructor?.extractValueParametersTo(this) this.body = body }.apply { - containingClassAttr = currentDispatchReceiverType()!!.lookupTag + containingClassForStaticMemberAttr = currentDispatchReceiverType()!!.lookupTag } } @@ -895,7 +895,7 @@ open class RawFirBuilder( } } }.apply { - containingClassAttr = currentDispatchReceiverType()!!.lookupTag + containingClassForStaticMemberAttr = currentDispatchReceiverType()!!.lookupTag } } @@ -1335,7 +1335,7 @@ open class RawFirBuilder( this.body = body this@RawFirBuilder.context.firFunctionTargets.removeLast() }.also { - it.containingClassAttr = currentDispatchReceiverType()!!.lookupTag + it.containingClassForStaticMemberAttr = currentDispatchReceiverType()!!.lookupTag bindFunctionTarget(target, it) } } diff --git a/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/BaseFirBuilder.kt b/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/BaseFirBuilder.kt index 81632f9e62e..269494a039c 100644 --- a/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/BaseFirBuilder.kt +++ b/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/BaseFirBuilder.kt @@ -1178,7 +1178,7 @@ abstract class BaseFirBuilder(val baseSession: FirSession, val context: Conte protected fun FirCallableDeclaration.initContainingClassAttr() { val currentDispatchReceiverType = currentDispatchReceiverType() ?: return - containingClassAttr = currentDispatchReceiverType.lookupTag + containingClassForStaticMemberAttr = currentDispatchReceiverType.lookupTag } private fun FirVariable.toQualifiedAccess(): FirQualifiedAccessExpression = buildQualifiedAccessExpression { diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt index 1a22e22b568..296b75c501a 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt @@ -407,7 +407,7 @@ private fun initialTypeOfCandidate(candidate: Candidate, typeRef: FirResolvedTyp return candidate.substitutor.substituteOrSelf(typeRef.type) } -fun FirCallableDeclaration.getContainingClass(session: FirSession): FirRegularClass? = this.containingClassAttr?.let { lookupTag -> +fun FirCallableDeclaration.getContainingClass(session: FirSession): FirRegularClass? = this.containingClassForStaticMemberAttr?.let { lookupTag -> session.symbolProvider.getSymbolByLookupTag(lookupTag)?.fir as? FirRegularClass } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SamResolution.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SamResolution.kt index 5dd2094933c..6fac8eec52a 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SamResolution.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SamResolution.kt @@ -9,7 +9,7 @@ import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.EffectiveVisibility import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.fir.FirSession -import org.jetbrains.kotlin.fir.containingClassAttr +import org.jetbrains.kotlin.fir.containingClassForStaticMemberAttr import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.builder.FirTypeParameterBuilder import org.jetbrains.kotlin.fir.declarations.builder.buildSimpleFunction @@ -217,7 +217,7 @@ class FirSamResolverImpl( resolvePhase = FirResolvePhase.BODY_RESOLVE }.apply { - containingClassAttr = outerClassManager?.outerClass(firRegularClass.symbol)?.toLookupTag() + containingClassForStaticMemberAttr = outerClassManager?.outerClass(firRegularClass.symbol)?.toLookupTag() } } diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/ClassMembers.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/ClassMembers.kt index 749ed76122c..734f826aa04 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/ClassMembers.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/ClassMembers.kt @@ -29,14 +29,14 @@ fun FirCallableDeclaration.dispatchReceiverClassOrNull(): ConeClassLikeLookupTag fun FirCallableSymbol<*>.containingClass(): ConeClassLikeLookupTag? = fir.containingClass() fun FirCallableDeclaration.containingClass(): ConeClassLikeLookupTag? { - return (containingClassAttr ?: dispatchReceiverClassOrNull()) + return (containingClassForStaticMemberAttr ?: dispatchReceiverClassOrNull()) } fun FirRegularClass.containingClassForLocal(): ConeClassLikeLookupTag? = if (isLocal) containingClassForLocalAttr else null private object ContainingClassKey : FirDeclarationDataKey() -var FirCallableDeclaration.containingClassAttr: ConeClassLikeLookupTag? by FirDeclarationDataRegistry.data(ContainingClassKey) +var FirCallableDeclaration.containingClassForStaticMemberAttr: ConeClassLikeLookupTag? by FirDeclarationDataRegistry.data(ContainingClassKey) var FirRegularClass.containingClassForLocalAttr: ConeClassLikeLookupTag? by FirDeclarationDataRegistry.data(ContainingClassKey) val FirCallableDeclaration.isIntersectionOverride: Boolean get() = origin == FirDeclarationOrigin.IntersectionOverride diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/EnumClassUtils.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/EnumClassUtils.kt index 729d45445e1..97fd2f3e5de 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/EnumClassUtils.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/EnumClassUtils.kt @@ -60,7 +60,7 @@ fun FirRegularClassBuilder.generateValuesFunction( it.replaceTypeRef(returnTypeRef) } }.apply { - containingClassAttr = this@generateValuesFunction.symbol.toLookupTag() + containingClassForStaticMemberAttr = this@generateValuesFunction.symbol.toLookupTag() } } @@ -104,7 +104,7 @@ fun FirRegularClassBuilder.generateValueOfFunction( it.replaceTypeRef(returnTypeRef) } }.apply { - containingClassAttr = this@generateValueOfFunction.symbol.toLookupTag() + containingClassForStaticMemberAttr = this@generateValueOfFunction.symbol.toLookupTag() } }