diff --git a/compiler/fir/analysis-tests/legacy-fir-tests/tests/org/jetbrains/kotlin/fir/java/JavaClassRendering.kt b/compiler/fir/analysis-tests/legacy-fir-tests/tests/org/jetbrains/kotlin/fir/java/JavaClassRendering.kt index 4fdd62473df..9ac4e864382 100644 --- a/compiler/fir/analysis-tests/legacy-fir-tests/tests/org/jetbrains/kotlin/fir/java/JavaClassRendering.kt +++ b/compiler/fir/analysis-tests/legacy-fir-tests/tests/org/jetbrains/kotlin/fir/java/JavaClassRendering.kt @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.java import org.jetbrains.kotlin.fir.FirRenderer import org.jetbrains.kotlin.fir.FirSession -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration +import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.declarations.FirEnumEntry import org.jetbrains.kotlin.fir.java.declarations.FirJavaClass @@ -42,7 +42,7 @@ fun renderJavaClass(renderer: FirRenderer, javaClass: FirJavaClass, session: Fir if (declaration in renderedDeclarations) continue val scopeToUse = - if (declaration is FirCallableMemberDeclaration && declaration.status.isStatic) + if (declaration is FirCallableDeclaration && declaration.status.isStatic) staticScope else memberScope diff --git a/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/FirJvmOverridesBackwardCompatibilityHelper.kt b/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/FirJvmOverridesBackwardCompatibilityHelper.kt index 1a5f4f36591..c63ae96434b 100644 --- a/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/FirJvmOverridesBackwardCompatibilityHelper.kt +++ b/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/FirJvmOverridesBackwardCompatibilityHelper.kt @@ -11,7 +11,6 @@ import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext import org.jetbrains.kotlin.fir.analysis.checkers.toRegularClass import org.jetbrains.kotlin.fir.analysis.checkers.unsubstitutedScope import org.jetbrains.kotlin.fir.containingClass -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirProperty import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction @@ -56,7 +55,7 @@ object FirJvmOverridesBackwardCompatibilityHelper : FirOverridesBackwardCompatib visitedSymbols: MutableSet>, context: CheckerContext ): Boolean { - val fir = symbol.fir as? FirCallableMemberDeclaration ?: return false + val fir = symbol.fir if (fir.isFinal) return false if (symbol in visitedSymbols) return true diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt index 44a1cbfbc9d..2ad529ed66b 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt @@ -135,7 +135,7 @@ inline fun FirQualifiedAccessExpression.getDeclaration(): T? { * or null if no proper declaration has been found. */ fun FirDeclaration.getContainingClass(context: CheckerContext): FirClassLikeDeclaration? = - this.safeAs()?.containingClass()?.toSymbol(context.session)?.fir + this.safeAs()?.containingClass()?.toSymbol(context.session)?.fir fun FirClassLikeSymbol<*>.outerClass(context: CheckerContext): FirClassLikeSymbol<*>? { if (this !is FirClassSymbol<*>) return null @@ -417,7 +417,7 @@ private fun isSubtypeOfForFunctionalTypeReturningUnit( return false } -fun FirCallableMemberDeclaration.isVisibleInClass(parentClass: FirClass): Boolean { +fun FirCallableDeclaration.isVisibleInClass(parentClass: FirClass): Boolean { val classPackage = parentClass.symbol.classId.packageFqName if (visibility == Visibilities.Private || !visibility.visibleFromPackage(classPackage, symbol.callableId.packageName) @@ -434,7 +434,7 @@ fun FirCallableMemberDeclaration.isVisibleInClass(parentClass: FirClass): Boolea * * @param parentClass the contextual class for this query. */ -fun FirCallableMemberDeclaration.getImplementationStatus(sessionHolder: SessionHolder, parentClass: FirClass): ImplementationStatus { +fun FirCallableDeclaration.getImplementationStatus(sessionHolder: SessionHolder, parentClass: FirClass): ImplementationStatus { val containingClass = getContainingClass(sessionHolder) val symbol = this.symbol @@ -449,13 +449,13 @@ fun FirCallableMemberDeclaration.getImplementationStatus(sessionHolder: SessionH // In Java 8, non-abstract intersection overrides having abstract symbol from base class // still should be implemented in current class (even when they have default interface implementation) if (symbol.intersections.any { - val fir = (it.fir as FirCallableMemberDeclaration).unwrapFakeOverrides() + val fir = it.fir.unwrapFakeOverrides() fir.isAbstract && (fir.getContainingClass(sessionHolder) as? FirRegularClass)?.classKind == ClassKind.CLASS } ) { // Exception from the rule above: interface implementation via delegation if (symbol.intersections.none { - val fir = (it.fir as FirCallableMemberDeclaration) + val fir = it.fir fir.origin == FirDeclarationOrigin.Delegated && !fir.isAbstract } ) { @@ -487,7 +487,7 @@ private fun FirIntersectionCallableSymbol.subjectToManyNotImplemented(sessionHol var nonAbstractCountInInterface = 0 var abstractCountInInterface = 0 for (intersectionSymbol in intersections) { - val intersection = intersectionSymbol.fir as FirCallableMemberDeclaration + val intersection = intersectionSymbol.fir val containingClass = intersection.getContainingClass(sessionHolder) as? FirRegularClass val hasInterfaceContainer = containingClass?.classKind == ClassKind.INTERFACE if (intersection.modality != Modality.ABSTRACT) { @@ -515,7 +515,7 @@ private val FirSimpleFunction.matchesDataClassSyntheticMemberSignatures: Boolean (this.name == OperatorNameConventions.TO_STRING && matchesToStringSignature) private fun FirDeclaration.getContainingClass(sessionHolder: SessionHolder): FirClassLikeDeclaration? = - this.safeAs()?.containingClass()?.toSymbol(sessionHolder.session)?.fir + this.safeAs()?.containingClass()?.toSymbol(sessionHolder.session)?.fir // NB: we intentionally do not check return types private val FirSimpleFunction.matchesEqualsSignature: Boolean 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 bdfac883321..c0c11affca1 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 @@ -207,7 +207,7 @@ internal val FirDeclaration.isLocalMember: Boolean else -> false } -internal val FirCallableMemberDeclaration.isExtensionMember: Boolean +internal val FirCallableDeclaration.isExtensionMember: Boolean get() { return receiverTypeRef != null && dispatchReceiverType != null } diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirExposedVisibilityDeclarationChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirExposedVisibilityDeclarationChecker.kt index 2f8ae0c78e8..b510f334570 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirExposedVisibilityDeclarationChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirExposedVisibilityDeclarationChecker.kt @@ -141,7 +141,7 @@ object FirExposedVisibilityDeclarationChecker : FirBasicDeclarationChecker() { } } } - checkMemberReceiver(declaration.receiverTypeRef, declaration as? FirCallableMemberDeclaration, reporter, context) + checkMemberReceiver(declaration.receiverTypeRef, declaration as? FirCallableDeclaration, reporter, context) } private fun checkProperty(declaration: FirProperty, reporter: DiagnosticReporter, context: CheckerContext) { @@ -172,7 +172,7 @@ object FirExposedVisibilityDeclarationChecker : FirBasicDeclarationChecker() { private fun checkMemberReceiver( typeRef: FirTypeRef?, - memberDeclaration: FirCallableMemberDeclaration?, + memberDeclaration: FirCallableDeclaration?, reporter: DiagnosticReporter, context: CheckerContext ) { diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirInlineDeclarationChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirInlineDeclarationChecker.kt index c89929a20b8..006113ab11b 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirInlineDeclarationChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirInlineDeclarationChecker.kt @@ -175,7 +175,7 @@ object FirInlineDeclarationChecker : FirFunctionChecker() { ) { val source = qualifiedAccess.source ?: return if (targetSymbol == null) return - val targetFir = targetSymbol.fir as? FirCallableMemberDeclaration + val targetFir = targetSymbol.fir as? FirCallableDeclaration if (targetSymbol.fir in inlinableParameters) { if (!qualifiedAccess.partOfCall(context)) { @@ -199,7 +199,7 @@ object FirInlineDeclarationChecker : FirFunctionChecker() { private fun checkVisibilityAndAccess( accessExpression: FirQualifiedAccess, - calledDeclaration: FirCallableMemberDeclaration?, + calledDeclaration: FirCallableDeclaration?, source: FirSourceElement, context: CheckerContext ) { @@ -248,7 +248,7 @@ object FirInlineDeclarationChecker : FirFunctionChecker() { } private fun checkPrivateClassMemberAccess( - calledDeclaration: FirCallableMemberDeclaration, + calledDeclaration: FirCallableDeclaration, source: FirSourceElement, context: CheckerContext ) { @@ -266,7 +266,7 @@ object FirInlineDeclarationChecker : FirFunctionChecker() { } private fun checkSuperCalls( - calledDeclaration: FirCallableMemberDeclaration, + calledDeclaration: FirCallableDeclaration, callExpression: FirQualifiedAccess, context: CheckerContext ) { @@ -305,7 +305,7 @@ object FirInlineDeclarationChecker : FirFunctionChecker() { } } - private fun FirCallableMemberDeclaration.isInsidePrivateClass(): Boolean { + private fun FirCallableDeclaration.isInsidePrivateClass(): Boolean { val containingClass = this.containingClass()?.toSymbol(session)?.fir ?: return false val containingClassVisibility = when (containingClass) { diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirKClassWithIncorrectTypeArgumentChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirKClassWithIncorrectTypeArgumentChecker.kt index f9a42911ed5..640f093eb04 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirKClassWithIncorrectTypeArgumentChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirKClassWithIncorrectTypeArgumentChecker.kt @@ -10,7 +10,7 @@ import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext 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.declarations.FirCallableMemberDeclaration +import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration import org.jetbrains.kotlin.fir.declarations.FirFile import org.jetbrains.kotlin.fir.declarations.FirTypeParameter import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeTypeParameterInQualifiedAccess @@ -23,7 +23,7 @@ import org.jetbrains.kotlin.fir.types.* object FirKClassWithIncorrectTypeArgumentChecker : FirFileChecker() { override fun check(declaration: FirFile, context: CheckerContext, reporter: DiagnosticReporter) { for (topLevelDeclaration in declaration.declarations) { - if (topLevelDeclaration is FirCallableMemberDeclaration) { + if (topLevelDeclaration is FirCallableDeclaration) { checkTopLevelDeclaration(topLevelDeclaration, context, reporter) } } @@ -33,7 +33,7 @@ object FirKClassWithIncorrectTypeArgumentChecker : FirFileChecker() { // bad: fun test1() = T::class // okay: fun test2() = T::class private fun checkTopLevelDeclaration( - declaration: FirCallableMemberDeclaration, + declaration: FirCallableDeclaration, context: CheckerContext, reporter: DiagnosticReporter ) { diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirNotImplementedOverrideChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirNotImplementedOverrideChecker.kt index 6e4e7138c0b..7590772b36a 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirNotImplementedOverrideChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirNotImplementedOverrideChecker.kt @@ -23,7 +23,6 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.OVERRIDING_FINAL_ import org.jetbrains.kotlin.fir.analysis.diagnostics.reportOn import org.jetbrains.kotlin.fir.containingClass import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration import org.jetbrains.kotlin.fir.declarations.FirClass import org.jetbrains.kotlin.fir.declarations.FirRegularClass import org.jetbrains.kotlin.fir.declarations.utils.* @@ -59,7 +58,7 @@ object FirNotImplementedOverrideChecker : FirClassChecker() { val invisibleSymbols = mutableListOf>() fun collectSymbol(symbol: FirCallableSymbol<*>) { - val fir = symbol.fir as? FirCallableMemberDeclaration ?: return + val fir = symbol.fir val delegatedWrapperData = fir.delegatedWrapperData if (delegatedWrapperData != null) { diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirOpenMemberChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirOpenMemberChecker.kt index 2f6ddfcb048..eff76e92e95 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirOpenMemberChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirOpenMemberChecker.kt @@ -14,7 +14,7 @@ import org.jetbrains.kotlin.fir.analysis.checkers.hasModifier 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.declarations.FirCallableMemberDeclaration +import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration import org.jetbrains.kotlin.fir.declarations.FirClass import org.jetbrains.kotlin.fir.declarations.FirConstructor import org.jetbrains.kotlin.fir.declarations.utils.isOpen @@ -24,7 +24,7 @@ object FirOpenMemberChecker : FirClassChecker() { override fun check(declaration: FirClass, context: CheckerContext, reporter: DiagnosticReporter) { if (declaration.canHaveOpenMembers) return for (memberDeclaration in declaration.declarations) { - if (memberDeclaration !is FirCallableMemberDeclaration || + if (memberDeclaration !is FirCallableDeclaration || // Marking a constructor `open` is an error covered by diagnostic code WRONG_MODIFIER_TARGET memberDeclaration is FirConstructor ) continue diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirOverrideChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirOverrideChecker.kt index 8a816aa78da..394bb2385df 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirOverrideChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirOverrideChecker.kt @@ -16,7 +16,6 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors import org.jetbrains.kotlin.fir.analysis.diagnostics.reportOn import org.jetbrains.kotlin.fir.analysis.overridesBackwardCompatibilityHelper import org.jetbrains.kotlin.fir.declarations.* -import org.jetbrains.kotlin.fir.declarations.utils.isFinal import org.jetbrains.kotlin.fir.declarations.utils.isOverride import org.jetbrains.kotlin.fir.declarations.utils.visibility import org.jetbrains.kotlin.fir.resolve.substitution.substitutorByMap @@ -46,12 +45,12 @@ object FirOverrideChecker : FirClassChecker() { for (it in declaration.declarations) { if (it is FirSimpleFunction || it is FirProperty) { - checkMember(it as FirCallableMemberDeclaration, declaration, reporter, typeCheckerContext, firTypeScope, context) + checkMember(it as FirCallableDeclaration, declaration, reporter, typeCheckerContext, firTypeScope, context) } } } - private fun FirTypeScope.retrieveDirectOverriddenOf(member: FirCallableMemberDeclaration): List> { + private fun FirTypeScope.retrieveDirectOverriddenOf(member: FirCallableDeclaration): List> { return when (member) { is FirSimpleFunction -> { processFunctionsByName(member.name) {} @@ -66,7 +65,7 @@ object FirOverrideChecker : FirClassChecker() { } private fun ConeKotlinType.substituteAllTypeParameters( - overrideDeclaration: FirCallableMemberDeclaration, + overrideDeclaration: FirCallableDeclaration, baseDeclaration: FirCallableDeclaration, context: CheckerContext ): ConeKotlinType { @@ -94,7 +93,6 @@ object FirOverrideChecker : FirClassChecker() { overriddenSymbols: List>, ): FirCallableDeclaration? { for (overridden in overriddenSymbols) { - if (overridden.fir !is FirMemberDeclaration) continue val modality = (overridden.fir as FirMemberDeclaration).status.modality val isEffectivelyFinal = modality == null || modality == Modality.FINAL if (isEffectivelyFinal) { @@ -111,14 +109,13 @@ object FirOverrideChecker : FirClassChecker() { return overriddenSymbols.find { (it.fir as? FirProperty)?.isVar == true }?.fir as? FirMemberDeclaration? } - private fun FirCallableMemberDeclaration.checkVisibility( + private fun FirCallableDeclaration.checkVisibility( containingClass: FirClass, reporter: DiagnosticReporter, overriddenSymbols: List>, context: CheckerContext ) { - val visibilities = overriddenSymbols.mapNotNull { - if (it.fir !is FirMemberDeclaration) return@mapNotNull null + val visibilities = overriddenSymbols.map { it to (it.fir as FirMemberDeclaration).visibility }.sortedBy { pair -> // Regard `null` compare as Int.MIN so that we can report CANNOT_CHANGE_... first deterministically @@ -140,7 +137,7 @@ object FirOverrideChecker : FirClassChecker() { val containingDeclarations = context.containingDeclarations + containingClass val visibilityChecker = context.session.visibilityChecker val hasVisibleBase = overriddenSymbols.any { - val fir = it.fir as? FirCallableMemberDeclaration ?: return@any true + val fir = it.fir as? FirCallableDeclaration ?: return@any true visibilityChecker.isVisible(fir, context.session, file, containingDeclarations, null) } if (!hasVisibleBase) { @@ -152,7 +149,7 @@ object FirOverrideChecker : FirClassChecker() { } // See [OverrideResolver#isReturnTypeOkForOverride] - private fun FirCallableMemberDeclaration.checkReturnType( + private fun FirCallableDeclaration.checkReturnType( overriddenSymbols: List>, typeCheckerContext: AbstractTypeCheckerContext, context: CheckerContext, @@ -186,12 +183,12 @@ object FirOverrideChecker : FirClassChecker() { } private fun checkMember( - member: FirCallableMemberDeclaration, + member: FirCallableDeclaration, containingClass: FirClass, reporter: DiagnosticReporter, typeCheckerContext: AbstractTypeCheckerContext, firTypeScope: FirTypeScope, - context: CheckerContext + context: CheckerContext, ) { val overriddenMemberSymbols = firTypeScope.retrieveDirectOverriddenOf(member) @@ -203,29 +200,15 @@ object FirOverrideChecker : FirClassChecker() { } val kind = member.source?.kind // Only report if the current member has real source or it's a member property declared inside the primary constructor. - - if (kind is FirFakeSourceElementKind.DataClassGeneratedMembers) { - overriddenMemberSymbols.find { (it.fir as? FirCallableMemberDeclaration)?.isFinal == true }?.let { base -> - reporter.reportOn( - containingClass.source, - FirErrors.DATA_CLASS_OVERRIDE_CONFLICT, - member, - base.fir, - context - ) - } - return - } - if (kind !is FirRealSourceElementKind && kind !is FirFakeSourceElementKind.PropertyFromParameter) return val overridden = overriddenMemberSymbols.first().originalOrSelf() - val overriddenClass = overridden.containingClass()?.toFirRegularClass(context.session) ?: return + val originalContainigClass = overridden.containingClass()?.toFirRegularClass(context.session) ?: return reporter.reportOn( member.source, FirErrors.VIRTUAL_MEMBER_HIDDEN, member, - overriddenClass, + originalContainigClass, context ) return @@ -265,8 +248,10 @@ object FirOverrideChecker : FirClassChecker() { } } + @Suppress("UNUSED_PARAMETER") // TODO: delete me after implementing body private fun DiagnosticReporter.reportNothingToOverride(declaration: FirMemberDeclaration, context: CheckerContext) { - reportOn(declaration.source, FirErrors.NOTHING_TO_OVERRIDE, declaration, context) + // TODO: not ready yet, e.g., Collections + // reportOn(declaration.source, FirErrors.NOTHING_TO_OVERRIDE, declaration, context) } private fun DiagnosticReporter.reportOverridingFinalMember( diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirAbstractSuperCallChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirAbstractSuperCallChecker.kt index b665759ab91..cd98e079bcb 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirAbstractSuperCallChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirAbstractSuperCallChecker.kt @@ -14,7 +14,7 @@ import org.jetbrains.kotlin.fir.analysis.checkers.getDeclaration 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.declarations.FirCallableMemberDeclaration +import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration import org.jetbrains.kotlin.fir.declarations.FirRegularClass import org.jetbrains.kotlin.fir.declarations.utils.modality import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessExpression @@ -33,7 +33,7 @@ object FirAbstractSuperCallChecker : FirQualifiedAccessExpressionChecker() { if (closestClass.classKind == ClassKind.CLASS) { // handles all the FirSimpleFunction/FirProperty/etc. - val item = expression.getDeclaration() + val item = expression.getDeclaration() ?: return val declaration = item.getContainingClass(context).safeAs() diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirCallableReferenceChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirCallableReferenceChecker.kt index d9b97770334..5c15d0383e3 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirCallableReferenceChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirCallableReferenceChecker.kt @@ -13,7 +13,7 @@ import org.jetbrains.kotlin.fir.analysis.checkers.declaration.isLocalMember 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.declarations.FirCallableMemberDeclaration +import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration import org.jetbrains.kotlin.fir.declarations.FirConstructor import org.jetbrains.kotlin.fir.declarations.FirProperty import org.jetbrains.kotlin.fir.declarations.FirValueParameter @@ -49,7 +49,7 @@ object FirCallableReferenceChecker : FirQualifiedAccessExpressionChecker() { if (referredDeclaration is FirConstructor && referredDeclaration.getContainingClass(context.session)?.classKind == ClassKind.ANNOTATION_CLASS) { reporter.reportOn(source, FirErrors.CALLABLE_REFERENCE_TO_ANNOTATION_CONSTRUCTOR, context) } - if ((referredDeclaration as? FirCallableMemberDeclaration)?.isExtensionMember == true && + if ((referredDeclaration as? FirCallableDeclaration)?.isExtensionMember == true && !referredDeclaration.isLocalMember ) { reporter.reportOn(source, FirErrors.EXTENSION_IN_CLASS_REFERENCE_NOT_ALLOWED, referredDeclaration, context) diff --git a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirElementSerializer.kt b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirElementSerializer.kt index 97ed5bc6240..f623cb117e6 100644 --- a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirElementSerializer.kt +++ b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirElementSerializer.kt @@ -13,7 +13,7 @@ import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget import org.jetbrains.kotlin.fir.* import org.jetbrains.kotlin.fir.declarations.* -import org.jetbrains.kotlin.fir.declarations.comparators.FirCallableMemberDeclarationComparator +import org.jetbrains.kotlin.fir.declarations.comparators.FirCallableDeclarationComparator import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyAccessor import org.jetbrains.kotlin.fir.declarations.utils.* import org.jetbrains.kotlin.fir.deserialization.CONTINUATION_INTERFACE_CLASS_ID @@ -143,7 +143,7 @@ class FirElementSerializer private constructor( val callableMembers = extension.customClassMembersProducer?.getCallableMembers(klass) ?: klass.declarations() - .sortedWith(FirCallableMemberDeclarationComparator) + .sortedWith(FirCallableDeclarationComparator) for (declaration in callableMembers) { if (declaration !is FirEnumEntry && declaration.isStatic) continue // ??? Miss values() & valueOf() @@ -216,13 +216,13 @@ class FirElementSerializer private constructor( } @OptIn(ExperimentalStdlibApi::class) - private fun FirClass.declarations(): List = buildList { + private fun FirClass.declarations(): List = buildList { val memberScope = defaultType().scope(session, scopeSession, FakeOverrideTypeCalculator.DoNothing) ?: error("Null scope for $this") fun addDeclarationIfNeeded(symbol: FirCallableSymbol<*>) { - val declaration = symbol.fir as? FirCallableMemberDeclaration ?: return + val declaration = symbol.fir if (declaration.isSubstitutionOrIntersectionOverride) return // non-intersection or substitution fake override @@ -235,7 +235,7 @@ class FirElementSerializer private constructor( memberScope.processAllProperties(::addDeclarationIfNeeded) for (declaration in declarations) { - if (declaration is FirCallableMemberDeclaration && declaration.isStatic) { + if (declaration is FirCallableDeclaration && declaration.isStatic) { add(declaration) } } @@ -817,7 +817,7 @@ class FirElementSerializer private constructor( private fun FirCallableDeclaration.isSuspendOrHasSuspendTypesInSignature(): Boolean { // TODO (types in signature) - return this is FirCallableMemberDeclaration && this.isSuspend + return this.isSuspend } private fun writeVersionRequirementForInlineClasses( diff --git a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirSerializerExtension.kt b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirSerializerExtension.kt index e6c39407401..d6ff9914ed8 100644 --- a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirSerializerExtension.kt +++ b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirSerializerExtension.kt @@ -91,7 +91,7 @@ abstract class FirSerializerExtension { get() = null interface ClassMembersProducer { - fun getCallableMembers(klass: FirClass): Collection + fun getCallableMembers(klass: FirClass): Collection } } diff --git a/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirJvmMangleComputer.kt b/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirJvmMangleComputer.kt index d0026338fa1..69e5e64fa13 100644 --- a/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirJvmMangleComputer.kt +++ b/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirJvmMangleComputer.kt @@ -83,7 +83,7 @@ open class FirJvmMangleComputer( private fun FirDeclaration.visitParent() { val (parentPackageFqName, parentClassId) = when (this) { - is FirCallableMemberDeclaration -> this.containingClass()?.classId?.let { it.packageFqName to it } ?: return + is FirCallableDeclaration -> this.containingClass()?.classId?.let { it.packageFqName to it } ?: return is FirClassLikeDeclaration -> this.symbol.classId.let { it.packageFqName to it.outerClassId } else -> return } diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt index e6c2b992254..6cb2fc1438f 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/ConversionUtils.kt @@ -32,8 +32,6 @@ import org.jetbrains.kotlin.fir.resolve.calls.originalConstructorIfTypeAlias import org.jetbrains.kotlin.fir.resolve.providers.FirProvider import org.jetbrains.kotlin.fir.scopes.FirTypeScope import org.jetbrains.kotlin.fir.scopes.ProcessorAction -import org.jetbrains.kotlin.fir.scopes.impl.delegatedWrapperData -import org.jetbrains.kotlin.fir.scopes.unsubstitutedScope import org.jetbrains.kotlin.fir.scopes.unsubstitutedScope import org.jetbrains.kotlin.fir.symbols.AccessorSymbol import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol @@ -281,7 +279,7 @@ internal tailrec fun FirCallableSymbol<*>.unwrapCallRepresentative(root: FirCall // interface B { fun foo() } // interface C : A, B // for C.foo we've got an IR fake override // for {A & B} we don't have such an IR declaration, so we're unwrapping it - if (fir is FirCallableMemberDeclaration && fir.dispatchReceiverType is ConeIntersectionType) { + if (fir.dispatchReceiverType is ConeIntersectionType) { return fir.baseForIntersectionOverride!!.symbol.unwrapCallRepresentative(this) } diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrClassifierStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrClassifierStorage.kt index 25393cd1054..0396168b8bd 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrClassifierStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrClassifierStorage.kt @@ -156,7 +156,7 @@ class Fir2IrClassifierStorage( private fun FirRegularClass.enumClassModality(): Modality { return when { - declarations.any { it is FirCallableMemberDeclaration && it.modality == Modality.ABSTRACT } -> { + declarations.any { it is FirCallableDeclaration && it.modality == Modality.ABSTRACT } -> { Modality.ABSTRACT } declarations.any { it is FirEnumEntry && it.initializer != null } -> { 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 6cb6b1e5dda..239aea03dc0 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 @@ -1271,7 +1271,7 @@ class Fir2IrDeclarationStorage( private fun IrMutableAnnotationContainer.convertAnnotationsFromLibrary(firAnnotationContainer: FirAnnotationContainer) { if ((firAnnotationContainer as? FirDeclaration)?.isFromLibrary == true || - (firAnnotationContainer is FirCallableMemberDeclaration && firAnnotationContainer.isSubstitutionOrIntersectionOverride) + (firAnnotationContainer is FirCallableDeclaration && firAnnotationContainer.isSubstitutionOrIntersectionOverride) ) { annotationGenerator.generate(this, firAnnotationContainer) } 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 8fd8ff57eec..3ae33d830ec 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 @@ -6,7 +6,6 @@ package org.jetbrains.kotlin.fir.backend import org.jetbrains.kotlin.fir.FirElement -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration import org.jetbrains.kotlin.fir.declarations.FirTypeAlias import org.jetbrains.kotlin.fir.expressions.* import org.jetbrains.kotlin.fir.expressions.impl.FirStubStatement @@ -292,7 +291,7 @@ class Fir2IrImplicitCastInserter( ): IrExpression { val referencedDeclaration = ((calleeReference as? FirResolvedNamedReference)?.resolvedSymbol as? FirCallableSymbol<*>)?.unwrapCallRepresentative() - ?.fir as? FirCallableMemberDeclaration + ?.fir val dispatchReceiverType = referencedDeclaration?.dispatchReceiverType as? ConeClassLikeType 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 40ea4f9a09d..22028b6957d 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 @@ -822,7 +822,7 @@ class CallAndReferenceGenerator( if (ownerFunction?.extensionReceiverParameter != null) { extensionReceiver = qualifiedAccess.findIrExtensionReceiver(explicitReceiverExpression)?.let { ((qualifiedAccess.calleeReference as FirResolvedNamedReference) - .resolvedSymbol.fir as? FirCallableMemberDeclaration)?.receiverTypeRef?.let { receiverType -> + .resolvedSymbol.fir as? FirCallableDeclaration)?.receiverTypeRef?.let { receiverType -> with(visitor.implicitCastInserter) { it.cast( qualifiedAccess.extensionReceiver, 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 7f43aab11fd..81043d34d45 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 @@ -201,7 +201,7 @@ internal class DelegatedMemberGenerator( } -private fun , D : FirCallableMemberDeclaration> S.unwrapDelegateTarget( +private fun , D : FirCallableDeclaration> S.unwrapDelegateTarget( subClassLookupTag: ConeClassLikeLookupTag, firField: FirField, ): D? { 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 7482c3c2625..a81ec7ff146 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 @@ -54,7 +54,7 @@ class FakeOverrideGenerator( return conversionScope.withProperty(this, firProperty = null, f) } - private fun FirCallableMemberDeclaration.allowsToHaveFakeOverrideIn(klass: FirClass): Boolean { + private fun FirCallableDeclaration.allowsToHaveFakeOverrideIn(klass: FirClass): Boolean { if (!allowsToHaveFakeOverride) return false if (this.visibility != JavaDescriptorVisibilities.PACKAGE_VISIBILITY) return true return this.symbol.callableId.packageName == klass.symbol.classId.packageFqName @@ -179,7 +179,7 @@ class FakeOverrideGenerator( private fun FirCallableSymbol<*>.shouldHaveComputedBaseSymbolsForClass(classLookupTag: ConeClassLikeLookupTag): Boolean = fir.origin.fromSupertypes && dispatchReceiverClassOrNull() == classLookupTag - private inline fun , reified I : IrDeclaration> createFakeOverriddenIfNeeded( + private inline fun , reified I : IrDeclaration> createFakeOverriddenIfNeeded( klass: FirClass, irClass: IrClass, isLocal: Boolean, diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/AbstractFir2IrLazyFunction.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/AbstractFir2IrLazyFunction.kt index f6508fa9c61..d332f8c78dc 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/AbstractFir2IrLazyFunction.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/lazy/AbstractFir2IrLazyFunction.kt @@ -10,7 +10,7 @@ import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.fir.backend.Fir2IrComponents import org.jetbrains.kotlin.fir.backend.declareThisReceiverParameter -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration +import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration import org.jetbrains.kotlin.fir.declarations.hasAnnotation import org.jetbrains.kotlin.fir.declarations.utils.* import org.jetbrains.kotlin.fir.symbols.Fir2IrSimpleFunctionSymbol @@ -29,7 +29,7 @@ import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.resolve.annotations.JVM_STATIC_ANNOTATION_FQ_NAME import kotlin.properties.ReadWriteProperty -abstract class AbstractFir2IrLazyFunction( +abstract class AbstractFir2IrLazyFunction( components: Fir2IrComponents, override val startOffset: Int, override val endOffset: Int, @@ -87,7 +87,7 @@ abstract class AbstractFir2IrLazyFunction( protected fun shouldHaveDispatchReceiver( containingClass: IrClass, - staticOwner: FirCallableMemberDeclaration + staticOwner: FirCallableDeclaration ): Boolean { return !staticOwner.isStatic && (!containingClass.isObject || containingClass.isCompanion || !staticOwner.hasAnnotation(JVM_STATIC_CLASS_ID)) 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 d8309b58e25..99c401984eb 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 @@ -9,7 +9,7 @@ import org.jetbrains.kotlin.fir.backend.ConversionTypeContext import org.jetbrains.kotlin.fir.backend.Fir2IrComponents import org.jetbrains.kotlin.fir.backend.generateOverriddenAccessorSymbols import org.jetbrains.kotlin.fir.backend.toIrType -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration +import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration import org.jetbrains.kotlin.fir.declarations.FirProperty import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor import org.jetbrains.kotlin.fir.declarations.FirRegularClass @@ -38,12 +38,12 @@ class Fir2IrLazyPropertyAccessor( firParentClass: FirRegularClass, symbol: Fir2IrSimpleFunctionSymbol, isFakeOverride: Boolean -) : AbstractFir2IrLazyFunction(components, startOffset, endOffset, origin, symbol, isFakeOverride) { +) : AbstractFir2IrLazyFunction(components, startOffset, endOffset, origin, symbol, isFakeOverride) { init { symbol.bind(this) } - override val fir: FirCallableMemberDeclaration + override val fir: FirCallableDeclaration get() = firAccessor ?: firParentProperty // TODO: investigate why some deserialized properties are inline diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/signaturer/FirBasedSignatureComposer.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/signaturer/FirBasedSignatureComposer.kt index 9cf26a799f1..2f0e26afb5a 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/signaturer/FirBasedSignatureComposer.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/signaturer/FirBasedSignatureComposer.kt @@ -62,7 +62,7 @@ class FirBasedSignatureComposer(private val mangler: FirMangler) : Fir2IrSignatu override fun composeSignature(declaration: FirDeclaration, containingClass: ConeClassLikeLookupTag?): IdSignature? { if (declaration is FirAnonymousObject || declaration is FirAnonymousFunction) return null if (declaration is FirRegularClass && declaration.classId.isLocal) return null - if (declaration is FirCallableMemberDeclaration) { + if (declaration is FirCallableDeclaration) { if (declaration.visibility == Visibilities.Local) return null if (declaration.dispatchReceiverClassOrNull()?.classId?.isLocal == true || containingClass?.classId?.isLocal == true) return null } @@ -87,7 +87,7 @@ class FirBasedSignatureComposer(private val mangler: FirMangler) : Fir2IrSignatu classId.packageFqName.asString(), classId.relativeClassName.asString(), builder.hashId, builder.mask ) } - is FirCallableMemberDeclaration -> { + is FirCallableDeclaration -> { if (declaration.visibility == Visibilities.Private) return null val containingClassId = containingClass?.classId diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt index 98cc5255cd5..33f47570b66 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt @@ -40,7 +40,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.safeAs class FirSignatureEnhancement( private val owner: FirRegularClass, private val session: FirSession, - private val overridden: FirSimpleFunction.() -> List + private val overridden: FirSimpleFunction.() -> List ) { /* * FirSignatureEnhancement may be created with library session which doesn't have single module data, @@ -306,7 +306,7 @@ class FirSignatureEnhancement( private fun enhanceReceiverType( ownerFunction: FirJavaMethod, - overriddenMembers: List, + overriddenMembers: List, memberContext: FirJavaEnhancementContext ): FirResolvedTypeRef { val signatureParts = ownerFunction.partsForValueParameter( @@ -322,7 +322,7 @@ class FirSignatureEnhancement( private fun enhanceValueParameterType( ownerFunction: FirFunction, - overriddenMembers: List, + overriddenMembers: List, hasReceiver: Boolean, memberContext: FirJavaEnhancementContext, predefinedEnhancementInfo: PredefinedFunctionEnhancementInfo?, @@ -348,8 +348,8 @@ class FirSignatureEnhancement( } private fun enhanceReturnType( - owner: FirCallableMemberDeclaration, - overriddenMembers: List, + owner: FirCallableDeclaration, + overriddenMembers: List, memberContext: FirJavaEnhancementContext, predefinedEnhancementInfo: PredefinedFunctionEnhancementInfo? ): FirResolvedTypeRef { @@ -370,21 +370,21 @@ class FirSignatureEnhancement( } private sealed class TypeInSignature { - abstract fun getTypeRef(member: FirCallableMemberDeclaration): FirTypeRef + abstract fun getTypeRef(member: FirCallableDeclaration): FirTypeRef object Return : TypeInSignature() { - override fun getTypeRef(member: FirCallableMemberDeclaration): FirTypeRef = member.returnTypeRef + override fun getTypeRef(member: FirCallableDeclaration): FirTypeRef = member.returnTypeRef } object Receiver : TypeInSignature() { - override fun getTypeRef(member: FirCallableMemberDeclaration): FirTypeRef { + override fun getTypeRef(member: FirCallableDeclaration): FirTypeRef { if (member is FirJavaMethod) return member.valueParameters[0].returnTypeRef return member.receiverTypeRef!! } } class ValueParameter(val hasReceiver: Boolean, val index: Int) : TypeInSignature() { - override fun getTypeRef(member: FirCallableMemberDeclaration): FirTypeRef { + override fun getTypeRef(member: FirCallableDeclaration): FirTypeRef { if (hasReceiver && member is FirJavaMethod) { return member.valueParameters[index + 1].returnTypeRef } @@ -395,12 +395,12 @@ class FirSignatureEnhancement( private fun FirFunction.partsForValueParameter( typeQualifierResolver: FirAnnotationTypeQualifierResolver, - overriddenMembers: List, + overriddenMembers: List, // TODO: investigate if it's really can be a null (check properties' with extension overrides in Java) parameterContainer: FirAnnotationContainer?, methodContext: FirJavaEnhancementContext, typeInSignature: TypeInSignature - ): EnhancementSignatureParts = (this as FirCallableMemberDeclaration).parts( + ): EnhancementSignatureParts = (this as FirCallableDeclaration).parts( typeQualifierResolver, overriddenMembers, parameterContainer, false, @@ -411,9 +411,9 @@ class FirSignatureEnhancement( typeInSignature ) - private fun FirCallableMemberDeclaration.parts( + private fun FirCallableDeclaration.parts( typeQualifierResolver: FirAnnotationTypeQualifierResolver, - overriddenMembers: List, + overriddenMembers: List, typeContainer: FirAnnotationContainer?, isCovariant: Boolean, containerContext: FirJavaEnhancementContext, diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassMembersEnhancementScope.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassMembersEnhancementScope.kt index aa6be1946a3..ff7e7d66c7e 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassMembersEnhancementScope.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassMembersEnhancementScope.kt @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.java.scopes import org.jetbrains.kotlin.fir.FirSession -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration +import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration import org.jetbrains.kotlin.fir.declarations.FirProperty import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction import org.jetbrains.kotlin.fir.java.enhancement.FirSignatureEnhancement @@ -64,14 +64,14 @@ class JavaClassMembersEnhancementScope( return super.processFunctionsByName(name, processor) } - private fun FirCallableMemberDeclaration.overriddenMembers(name: Name): List { + private fun FirCallableDeclaration.overriddenMembers(name: Name): List { val backMap = overrideBindCache.getOrPut(name) { useSiteMemberScope .overrideByBase .toList() .groupBy({ (_, key) -> key }, { (value) -> value }) } - return backMap[this.symbol]?.map { it.fir as FirCallableMemberDeclaration } ?: emptyList() + return backMap[this.symbol]?.map { it.fir } ?: emptyList() } override fun processClassifiersByNameWithSubstitution(name: Name, processor: (FirClassifierSymbol<*>, ConeSubstitutor) -> Unit) { diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaOverrideChecker.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaOverrideChecker.kt index 219ecf66a85..8f54f11216a 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaOverrideChecker.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaOverrideChecker.kt @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.java.scopes import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.fir.FirSession -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration +import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration import org.jetbrains.kotlin.fir.declarations.FirProperty import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef @@ -101,7 +101,7 @@ class JavaOverrideChecker internal constructor( argument is ConeKotlinTypeProjection && argument.type.isTypeParameterDependent() } - private fun FirCallableMemberDeclaration.isTypeParameterDependent(): Boolean = + private fun FirCallableDeclaration.isTypeParameterDependent(): Boolean = typeParameters.isNotEmpty() || returnTypeRef.isTypeParameterDependent() || receiverTypeRef.isTypeParameterDependent() || this is FirSimpleFunction && valueParameters.any { it.returnTypeRef.isTypeParameterDependent() } @@ -127,7 +127,7 @@ class JavaOverrideChecker internal constructor( } } - private fun FirCallableMemberDeclaration.extractTypeParametersTo(result: MutableCollection) { + private fun FirCallableDeclaration.extractTypeParametersTo(result: MutableCollection) { result += typeParameters returnTypeRef.extractTypeParametersTo(result) receiverTypeRef?.extractTypeParametersTo(result) @@ -137,8 +137,8 @@ class JavaOverrideChecker internal constructor( } override fun buildTypeParametersSubstitutorIfCompatible( - overrideCandidate: FirCallableMemberDeclaration, - baseDeclaration: FirCallableMemberDeclaration + overrideCandidate: FirCallableDeclaration, + baseDeclaration: FirCallableDeclaration ): ConeSubstitutor { if (!overrideCandidate.isTypeParameterDependent() && !baseDeclaration.isTypeParameterDependent()) { return ConeSubstitutor.Empty @@ -162,7 +162,7 @@ class JavaOverrideChecker internal constructor( } } - override fun isOverriddenProperty(overrideCandidate: FirCallableMemberDeclaration, baseDeclaration: FirProperty): Boolean { + override fun isOverriddenProperty(overrideCandidate: FirCallableDeclaration, baseDeclaration: FirProperty): Boolean { if (baseDeclaration.modality == Modality.FINAL) return false val receiverTypeRef = baseDeclaration.receiverTypeRef return when (overrideCandidate) { diff --git a/compiler/fir/jvm/src/org/jetbrains/kotlin/fir/resolve/calls/jvm/ConeEquivalentCallConflictResolver.kt b/compiler/fir/jvm/src/org/jetbrains/kotlin/fir/resolve/calls/jvm/ConeEquivalentCallConflictResolver.kt index c116bceaff7..61392fac9ac 100644 --- a/compiler/fir/jvm/src/org/jetbrains/kotlin/fir/resolve/calls/jvm/ConeEquivalentCallConflictResolver.kt +++ b/compiler/fir/jvm/src/org/jetbrains/kotlin/fir/resolve/calls/jvm/ConeEquivalentCallConflictResolver.kt @@ -6,10 +6,7 @@ package org.jetbrains.kotlin.fir.resolve.calls.jvm import org.jetbrains.kotlin.fir.containingClass -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration -import org.jetbrains.kotlin.fir.declarations.FirConstructor -import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction -import org.jetbrains.kotlin.fir.declarations.FirVariable +import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.utils.isExpect import org.jetbrains.kotlin.fir.resolve.calls.AbstractConeCallConflictResolver import org.jetbrains.kotlin.fir.resolve.calls.Candidate @@ -36,10 +33,10 @@ class ConeEquivalentCallConflictResolver( val result = mutableSetOf() outerLoop@ for (myCandidate in candidates) { val me = myCandidate.symbol.fir - if (me is FirCallableMemberDeclaration && me.symbol.containingClass() == null) { + if (me is FirCallableDeclaration && me.symbol.containingClass() == null) { for (otherCandidate in result) { val other = otherCandidate.symbol.fir - if (other is FirCallableMemberDeclaration && other.symbol.containingClass() == null) { + if (other is FirCallableDeclaration && other.symbol.containingClass() == null) { if (areEquivalentTopLevelCallables(me, myCandidate, other, otherCandidate)) { continue@outerLoop } @@ -52,9 +49,9 @@ class ConeEquivalentCallConflictResolver( } private fun areEquivalentTopLevelCallables( - first: FirCallableMemberDeclaration, + first: FirCallableDeclaration, firstCandidate: Candidate, - second: FirCallableMemberDeclaration, + second: FirCallableDeclaration, secondCandidate: Candidate ): Boolean { if (first.symbol.callableId != second.symbol.callableId) return false @@ -68,7 +65,7 @@ class ConeEquivalentCallConflictResolver( compareCallsByUsedArguments(secondSignature, firstSignature, false) } - private fun createFlatSignature(call: Candidate, declaration: FirCallableMemberDeclaration): FlatSignature { + private fun createFlatSignature(call: Candidate, declaration: FirCallableDeclaration): FlatSignature { return when (declaration) { is FirSimpleFunction -> createFlatSignature(call, declaration) is FirConstructor -> createFlatSignature(call, declaration) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/CallableReferenceResolution.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/CallableReferenceResolution.kt index 15df122f169..1f65cf4cfa1 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/CallableReferenceResolution.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/CallableReferenceResolution.kt @@ -63,7 +63,7 @@ internal object CheckCallableReferenceExpectedType : CheckerStage() { } val declarationReceiverType: ConeKotlinType? = - (fir as? FirCallableMemberDeclaration)?.receiverTypeRef?.coneType + fir.receiverTypeRef?.coneType ?.let(candidate.substitutor::substituteOrSelf) if (resultingReceiverType != null && declarationReceiverType != null) { diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/SuperCalls.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/SuperCalls.kt index ca75d58353e..da1a5184714 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/SuperCalls.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/SuperCalls.kt @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.resolve.calls import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.Modality -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration +import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration import org.jetbrains.kotlin.fir.declarations.FirProperty import org.jetbrains.kotlin.fir.declarations.utils.modality import org.jetbrains.kotlin.fir.dispatchReceiverClassOrNull @@ -89,7 +89,7 @@ private fun BodyResolveComponents.resolveSupertypesByPropertyName(supertypes: Co private inline fun BodyResolveComponents.resolveSupertypesByMembers( supertypes: Collection, allowNonConcreteMembers: Boolean, - getMembers: (ConeKotlinType) -> Collection + getMembers: (ConeKotlinType) -> Collection ): Collection { val typesWithConcreteMembers = SmartList() val typesWithNonConcreteMembers = SmartList() @@ -121,7 +121,7 @@ private inline fun BodyResolveComponents.resolveSupertypesByMembers( } @OptIn(ExperimentalStdlibApi::class) -private fun BodyResolveComponents.getFunctionMembers(type: ConeKotlinType, name: Name): Collection = +private fun BodyResolveComponents.getFunctionMembers(type: ConeKotlinType, name: Name): Collection = buildList { type.scope(session, scopeSession, FakeOverrideTypeCalculator.DoNothing)?.processFunctionsByName(name) { add(it.fir) @@ -129,7 +129,7 @@ private fun BodyResolveComponents.getFunctionMembers(type: ConeKotlinType, name: } @OptIn(ExperimentalStdlibApi::class) -private fun BodyResolveComponents.getPropertyMembers(type: ConeKotlinType, name: Name): Collection = +private fun BodyResolveComponents.getPropertyMembers(type: ConeKotlinType, name: Name): Collection = buildList { type.scope(session, scopeSession, FakeOverrideTypeCalculator.DoNothing)?.processPropertiesByName(name) { addIfNotNull(it.fir as? FirProperty) @@ -137,7 +137,7 @@ private fun BodyResolveComponents.getPropertyMembers(type: ConeKotlinType, name: } -private fun BodyResolveComponents.isConcreteMember(supertype: ConeKotlinType, member: FirCallableMemberDeclaration): Boolean { +private fun BodyResolveComponents.isConcreteMember(supertype: ConeKotlinType, member: FirCallableDeclaration): Boolean { // "Concrete member" is a function or a property that is not abstract, // and is not an implicit fake override for a method of Any on an interface. diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirDelegatedPropertyInferenceSession.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirDelegatedPropertyInferenceSession.kt index 989aadc7f8a..ee0f1159253 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirDelegatedPropertyInferenceSession.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirDelegatedPropertyInferenceSession.kt @@ -138,7 +138,7 @@ class FirDelegatedPropertyInferenceSession( ?: when (val container = components.container) { is FirRegularClass -> container.defaultType() is FirAnonymousObject -> container.defaultType() - is FirCallableMemberDeclaration -> container.dispatchReceiverType + is FirCallableDeclaration -> container.dispatchReceiverType else -> null } ?: components.session.builtinTypes.nullableNothingType.type val valueParameterForThis = (symbol as? FirFunctionSymbol<*>)?.fir?.valueParameters?.firstOrNull() ?: return diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirProviderImpl.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirProviderImpl.kt index df7e10d4dea..90b92751d61 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirProviderImpl.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirProviderImpl.kt @@ -139,7 +139,7 @@ class FirProviderImpl(val session: FirSession, val kotlinScopeProvider: FirKotli data.state.callableContainerMap[symbol] = data.file } - private inline fun > registerCallable( + private inline fun > registerCallable( symbol: S, data: FirRecorderData, map: MutableMap> diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirCallCompletionResultsWriterTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirCallCompletionResultsWriterTransformer.kt index 6c1ed0a5984..122ad1801f6 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirCallCompletionResultsWriterTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirCallCompletionResultsWriterTransformer.kt @@ -498,7 +498,7 @@ class FirCallCompletionResultsWriterTransformer( private fun computeTypeArgumentTypes( candidate: Candidate, ): List { - val declaration = candidate.symbol.fir as? FirCallableMemberDeclaration ?: return emptyList() + val declaration = candidate.symbol.fir as? FirCallableDeclaration ?: return emptyList() return declaration.typeParameters.map { ConeTypeParameterTypeImpl(it.symbol.toLookupTag(), false) } .map { candidate.substitutor.substituteOrSelf(it) } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt index 32475d39e0d..0167dea7de3 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolveTransformer.kt @@ -56,10 +56,10 @@ fun F.runStatusResolveForLocalClass( } abstract class ResolvedStatusCalculator { - abstract fun tryCalculateResolvedStatus(declaration: FirCallableMemberDeclaration): FirResolvedDeclarationStatus + abstract fun tryCalculateResolvedStatus(declaration: FirCallableDeclaration): FirResolvedDeclarationStatus object Default : ResolvedStatusCalculator() { - override fun tryCalculateResolvedStatus(declaration: FirCallableMemberDeclaration): FirResolvedDeclarationStatus { + override fun tryCalculateResolvedStatus(declaration: FirCallableDeclaration): FirResolvedDeclarationStatus { val status = declaration.status require(status is FirResolvedDeclarationStatus) { "Status of ${declaration.render()} is unresolved" diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolver.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolver.kt index 07c87fbaa70..ed3e81c948c 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolver.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirStatusResolver.kt @@ -82,7 +82,7 @@ class FirStatusResolver( return resolveStatus(function, function.status, containingClass, null, isLocal) l@{ if (containingClass == null) return@l emptyList() @Suppress("RemoveExplicitTypeArguments") // Workaround for KT-42175 - buildList { + buildList { val scope = containingClass.unsubstitutedScope(session, scopeSession, withForcedTypeCalculator = false) val symbol = function.symbol scope.processFunctionsByName(function.name) {} @@ -237,7 +237,7 @@ class FirStatusResolver( ): Modality { return when (declaration) { is FirRegularClass -> if (declaration.classKind == ClassKind.INTERFACE) Modality.ABSTRACT else Modality.FINAL - is FirCallableMemberDeclaration -> { + is FirCallableDeclaration -> { when { containingClass == null -> Modality.FINAL containingClass.classKind == ClassKind.INTERFACE -> { diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt index 7f69eac9c67..2e02a44d02a 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt @@ -82,7 +82,7 @@ open class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransfor return ((data as? ResolutionMode.WithStatus)?.status ?: declarationStatus) } - private fun prepareSignatureForBodyResolve(callableMember: FirCallableMemberDeclaration) { + private fun prepareSignatureForBodyResolve(callableMember: FirCallableDeclaration) { callableMember.transformReturnTypeRef(transformer, ResolutionMode.ContextIndependent) callableMember.transformReceiverTypeRef(transformer, ResolutionMode.ContextIndependent) if (callableMember is FirFunction) { diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirImplicitBodyResolve.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirImplicitBodyResolve.kt index 834b6985977..32e45e13fe6 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirImplicitBodyResolve.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirImplicitBodyResolve.kt @@ -155,7 +155,7 @@ open class FirImplicitAwareBodyResolveTransformer( } } - private fun computeCachedTransformationResult( + private fun computeCachedTransformationResult( member: D, transform: () -> D ): D { @@ -188,7 +188,7 @@ private class ReturnTypeCalculatorWithJump( private val session: FirSession, private val scopeSession: ScopeSession, val implicitBodyResolveComputationSession: ImplicitBodyResolveComputationSession, - val designationMapForLocalClasses: Map> = mapOf(), + val designationMapForLocalClasses: Map> = mapOf(), val createTransformer: ( designation: Iterator, session: FirSession, @@ -215,7 +215,7 @@ private class ReturnTypeCalculatorWithJump( val returnTypeRef = declaration.returnTypeRef if (returnTypeRef is FirResolvedTypeRef) return returnTypeRef - require(declaration is FirCallableMemberDeclaration) { "${declaration::class}: ${declaration.render()}" } + require(declaration is FirCallableDeclaration) { "${declaration::class}: ${declaration.render()}" } if (declaration is FirSyntheticProperty) { return tryCalculateReturnType(declaration.getter.delegate) @@ -246,7 +246,7 @@ private class ReturnTypeCalculatorWithJump( } } - private fun computeReturnTypeRef(declaration: FirCallableMemberDeclaration): FirResolvedTypeRef { + private fun computeReturnTypeRef(declaration: FirCallableDeclaration): FirResolvedTypeRef { val symbol = declaration.symbol val provider = session.firProvider @@ -281,7 +281,7 @@ private class ReturnTypeCalculatorWithJump( designation.first().transform(transformer, ResolutionMode.ContextDependent) - val transformedDeclaration = transformer.lastResult as? FirCallableMemberDeclaration + val transformedDeclaration = transformer.lastResult as? FirCallableDeclaration ?: error("Unexpected lastResult: ${transformer.lastResult?.render()}") val newReturnTypeRef = transformedDeclaration.returnTypeRef @@ -344,7 +344,7 @@ class ImplicitBodyResolveComputationSession { fun storeResult( symbol: FirCallableSymbol<*>, - transformedDeclaration: FirCallableMemberDeclaration + transformedDeclaration: FirCallableDeclaration ) { require(implicitBodyResolveStatusMap[symbol] == ImplicitBodyResolveComputationStatus.Computing) { "Unexpected static in storeResult for $symbol: ${implicitBodyResolveStatusMap[symbol]}" @@ -365,6 +365,6 @@ internal sealed class ImplicitBodyResolveComputationStatus { class Computed( val resolvedTypeRef: FirResolvedTypeRef, - val transformedDeclaration: FirCallableMemberDeclaration + val transformedDeclaration: FirCallableDeclaration ) : ImplicitBodyResolveComputationStatus() } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/LocalClassesNavigation.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/LocalClassesNavigation.kt index 4a723f95953..c868892b8d3 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/LocalClassesNavigation.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/LocalClassesNavigation.kt @@ -13,16 +13,16 @@ import org.jetbrains.kotlin.utils.keysToMap class LocalClassesNavigationInfo( val parentForClass: Map, - private val parentClassForFunction: Map, + private val parentClassForFunction: Map, val allMembers: List ) { - val designationMap: Map> by lazy { + val designationMap: Map> by lazy { parentClassForFunction.keys.keysToMap { pathForCallable(it) } } - private fun pathForCallable(callableMemberDeclaration: FirCallableMemberDeclaration): List { + private fun pathForCallable(callableMemberDeclaration: FirCallableDeclaration): List { val result = mutableListOf() var current = parentClassForFunction[callableMemberDeclaration] @@ -43,7 +43,7 @@ fun FirClassLikeDeclaration.collectLocalClassesNavigationInfo(): LocalClassesNav } private class NavigationInfoVisitor : FirDefaultVisitor() { - val resultingMap: MutableMap = mutableMapOf() + val resultingMap: MutableMap = mutableMapOf() val parentForClass: MutableMap = mutableMapOf() val allMembers: MutableList = mutableListOf() private val currentPath: MutableList = mutableListOf() @@ -68,24 +68,21 @@ private class NavigationInfoVisitor : FirDefaultVisitor() { } override fun visitSimpleFunction(simpleFunction: FirSimpleFunction, data: Any?) { - visitCallableMemberDeclaration(simpleFunction, null) + visitCallableDeclaration(simpleFunction, null) } override fun visitProperty(property: FirProperty, data: Any?) { - visitCallableMemberDeclaration(property, null) + visitCallableDeclaration(property, null) } override fun visitConstructor(constructor: FirConstructor, data: Any?) { - visitCallableMemberDeclaration(constructor, null) + visitCallableDeclaration(constructor, null) } - override fun visitCallableMemberDeclaration( - callableMemberDeclaration: FirCallableMemberDeclaration, - data: Any? - ) { - allMembers += callableMemberDeclaration - if (callableMemberDeclaration.returnTypeRef !is FirImplicitTypeRef) return - resultingMap[callableMemberDeclaration] = currentPath.last() + override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: Any?) { + allMembers += callableDeclaration + if (callableDeclaration.returnTypeRef !is FirImplicitTypeRef) return + resultingMap[callableDeclaration] = currentPath.last() } override fun visitAnonymousInitializer(anonymousInitializer: FirAnonymousInitializer, data: Any?) { diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/FirOverrideChecker.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/FirOverrideChecker.kt index 8a7aa6b8fb3..d4157324848 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/FirOverrideChecker.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/FirOverrideChecker.kt @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.scopes -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration +import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration import org.jetbrains.kotlin.fir.declarations.FirProperty import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction @@ -16,7 +16,7 @@ interface FirOverrideChecker { ): Boolean fun isOverriddenProperty( - overrideCandidate: FirCallableMemberDeclaration, // NB: in Java it can be a function which overrides accessor + overrideCandidate: FirCallableDeclaration, // NB: in Java it can be a function which overrides accessor baseDeclaration: FirProperty ): Boolean } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/AbstractFirOverrideScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/AbstractFirOverrideScope.kt index abefcecf7ef..ddf00f9e78f 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/AbstractFirOverrideScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/AbstractFirOverrideScope.kt @@ -25,13 +25,13 @@ abstract class AbstractFirOverrideScope( return overrideChecker.isOverriddenFunction(overrideCandidate, baseDeclaration) } - private fun isOverriddenProperty(overrideCandidate: FirCallableMemberDeclaration, baseDeclaration: FirProperty): Boolean { + private fun isOverriddenProperty(overrideCandidate: FirCallableDeclaration, baseDeclaration: FirProperty): Boolean { return overrideChecker.isOverriddenProperty(overrideCandidate, baseDeclaration) } protected fun similarFunctionsOrBothProperties( - overrideCandidate: FirCallableMemberDeclaration, - baseDeclaration: FirCallableMemberDeclaration + overrideCandidate: FirCallableDeclaration, + baseDeclaration: FirCallableDeclaration ): Boolean { return when (overrideCandidate) { is FirSimpleFunction -> when (baseDeclaration) { @@ -50,9 +50,9 @@ abstract class AbstractFirOverrideScope( protected open fun FirCallableSymbol<*>.getOverridden(overrideCandidates: Set>): FirCallableSymbol<*>? { if (overrideByBase.containsKey(this)) return overrideByBase[this] - val baseDeclaration = (this as FirBasedSymbol<*>).fir as FirCallableMemberDeclaration + val baseDeclaration = (this as FirBasedSymbol<*>).fir as FirCallableDeclaration val override = overrideCandidates.firstOrNull { - val overrideCandidate = (it as FirBasedSymbol<*>).fir as FirCallableMemberDeclaration + val overrideCandidate = (it as FirBasedSymbol<*>).fir as FirCallableDeclaration baseDeclaration.modality != Modality.FINAL && similarFunctionsOrBothProperties(overrideCandidate, baseDeclaration) } // TODO: two or more overrides for one fun? overrideByBase[this] = override diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirAbstractOverrideChecker.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirAbstractOverrideChecker.kt index 332f8ebb22c..5f829a8748c 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirAbstractOverrideChecker.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirAbstractOverrideChecker.kt @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.scopes.impl import org.jetbrains.kotlin.fir.FirSession -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration +import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor import org.jetbrains.kotlin.fir.resolve.substitution.substitutorByMap import org.jetbrains.kotlin.fir.scopes.FirOverrideChecker @@ -15,14 +15,14 @@ import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl abstract class FirAbstractOverrideChecker : FirOverrideChecker { protected abstract fun buildTypeParametersSubstitutorIfCompatible( - overrideCandidate: FirCallableMemberDeclaration, - baseDeclaration: FirCallableMemberDeclaration + overrideCandidate: FirCallableDeclaration, + baseDeclaration: FirCallableDeclaration ): ConeSubstitutor? } fun buildSubstitutorForOverridesCheck( - overrideCandidate: FirCallableMemberDeclaration, - baseDeclaration: FirCallableMemberDeclaration, + overrideCandidate: FirCallableDeclaration, + baseDeclaration: FirCallableDeclaration, useSiteSession: FirSession ): ConeSubstitutor? { if (overrideCandidate.typeParameters.size != baseDeclaration.typeParameters.size) return null diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassDeclaredMemberScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassDeclaredMemberScope.kt index 2f722279f91..8ba606bd870 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassDeclaredMemberScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassDeclaredMemberScope.kt @@ -34,7 +34,7 @@ class FirClassDeclaredMemberScope( val result = mutableMapOf>>() loop@ for (declaration in klass.declarations) { when (declaration) { - is FirCallableMemberDeclaration -> { + is FirCallableDeclaration -> { val name = when (declaration) { is FirConstructor -> CONSTRUCTOR_NAME is FirVariable -> if (declaration.isSynthetic) continue@loop else declaration.name diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassSubstitutionScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassSubstitutionScope.kt index 5847204a1bb..bea9003f36c 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassSubstitutionScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassSubstitutionScope.kt @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.scopes.impl import org.jetbrains.kotlin.descriptors.Visibilities import org.jetbrains.kotlin.fir.FirSession -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration +import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration import org.jetbrains.kotlin.fir.declarations.FirTypeParameter import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner @@ -211,7 +211,7 @@ class FirClassSubstitutionScope( val fakeOverrideSubstitution: FakeOverrideSubstitution? ) - private fun createSubstitutedData(member: FirCallableMemberDeclaration): SubstitutedData { + private fun createSubstitutedData(member: FirCallableDeclaration): SubstitutedData { val (newTypeParameters, substitutor) = FirFakeOverrideGenerator.createNewTypeParametersAndSubstitutor( session, member as FirTypeParameterRefsOwner, diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirFakeOverrideGenerator.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirFakeOverrideGenerator.kt index 0c7223c69bc..e29c7210b5d 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirFakeOverrideGenerator.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirFakeOverrideGenerator.kt @@ -186,7 +186,7 @@ object FirFakeOverrideGenerator { } val symbol = baseFunction.symbol val (copiedReceiverType, possibleReturnType) = substituteReceiverAndReturnType( - baseFunction as FirCallableMemberDeclaration, newReceiverType, newReturnType, substitutor + baseFunction as FirCallableDeclaration, newReceiverType, newReturnType, substitutor ) val (copiedReturnType, newFakeOverrideSubstitution) = when (possibleReturnType) { is Maybe.Value -> possibleReturnType.value to null @@ -348,7 +348,7 @@ object FirFakeOverrideGenerator { } private fun substituteReceiverAndReturnType( - baseCallable: FirCallableMemberDeclaration, + baseCallable: FirCallableDeclaration, newReceiverType: ConeKotlinType?, newReturnType: ConeKotlinType?, substitutor: ConeSubstitutor diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirScopeWithFakeOverrideTypeCalculator.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirScopeWithFakeOverrideTypeCalculator.kt index 18ed5665305..b24de633015 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirScopeWithFakeOverrideTypeCalculator.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirScopeWithFakeOverrideTypeCalculator.kt @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.scopes.impl -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration +import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration import org.jetbrains.kotlin.fir.isIntersectionOverride import org.jetbrains.kotlin.fir.isSubstitutionOverride @@ -75,7 +75,7 @@ class FirScopeWithFakeOverrideTypeCalculator( } private fun updateReturnType(declaration: FirTypedDeclaration) { - if (declaration !is FirCallableMemberDeclaration) return + if (declaration !is FirCallableDeclaration) return if (declaration.isSubstitutionOverride || declaration.isIntersectionOverride) { fakeOverrideTypeCalculator.computeReturnType(declaration) } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirStandardOverrideChecker.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirStandardOverrideChecker.kt index 3c9e4b065e5..dd2b6ddff9b 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirStandardOverrideChecker.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirStandardOverrideChecker.kt @@ -105,8 +105,8 @@ class FirStandardOverrideChecker(private val session: FirSession) : FirAbstractO } override fun buildTypeParametersSubstitutorIfCompatible( - overrideCandidate: FirCallableMemberDeclaration, - baseDeclaration: FirCallableMemberDeclaration + overrideCandidate: FirCallableDeclaration, + baseDeclaration: FirCallableDeclaration ): ConeSubstitutor? { val substitutor = buildSubstitutorForOverridesCheck(overrideCandidate, baseDeclaration, session) ?: return null if ( @@ -143,7 +143,7 @@ class FirStandardOverrideChecker(private val session: FirSession) : FirAbstractO } override fun isOverriddenProperty( - overrideCandidate: FirCallableMemberDeclaration, + overrideCandidate: FirCallableDeclaration, baseDeclaration: FirProperty ): Boolean { if (Visibilities.isPrivate(baseDeclaration.visibility)) return false diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirStaticScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirStaticScope.kt index 931f761f93f..111a4f8d4eb 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirStaticScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirStaticScope.kt @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.scopes.impl -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration +import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction import org.jetbrains.kotlin.fir.declarations.utils.isStatic import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor @@ -33,7 +33,7 @@ class FirStaticScope(private val delegateScope: FirScope) : FirScope(), FirConta override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) { delegateScope.processPropertiesByName(name) { - if ((it.fir as? FirCallableMemberDeclaration)?.isStatic == true) { + if ((it.fir as? FirCallableDeclaration)?.isStatic == true) { processor(it) } } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirTypeIntersectionScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirTypeIntersectionScope.kt index 298a6874202..c80567d2fdd 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirTypeIntersectionScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirTypeIntersectionScope.kt @@ -402,7 +402,6 @@ class FirTypeIntersectionScope private constructor( ): Boolean { val aFir = a.fir val bFir = b.fir - if (aFir !is FirCallableMemberDeclaration || bFir !is FirCallableMemberDeclaration) return false val substitutor = buildSubstitutorForOverridesCheck(aFir, bFir, session) ?: return false // NB: these lines throw CCE in modularized tests when changed to just .coneType (FirImplicitTypeRef) @@ -439,8 +438,8 @@ class FirTypeIntersectionScope private constructor( } val result = Visibilities.compare( - (member.member.fir as FirCallableMemberDeclaration).status.visibility, - (candidate.member.fir as FirCallableMemberDeclaration).status.visibility + member.member.fir.status.visibility, + candidate.member.fir.status.visibility ) if (result != null && result < 0) { member = candidate @@ -457,7 +456,7 @@ class FirTypeIntersectionScope private constructor( val iterator = members.iterator() - val overrideCandidate = overrider.member.fir as FirCallableMemberDeclaration + val overrideCandidate = overrider.member.fir while (iterator.hasNext()) { val next = iterator.next() if (next == overrider) { @@ -465,7 +464,7 @@ class FirTypeIntersectionScope private constructor( continue } - if (similarFunctionsOrBothProperties(overrideCandidate, next.member.fir as FirCallableMemberDeclaration)) { + if (similarFunctionsOrBothProperties(overrideCandidate, next.member.fir)) { result.add(next) iterator.remove() } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnonymousFunction.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnonymousFunction.kt index 1ab2ab4c6f5..60b95b38820 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnonymousFunction.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnonymousFunction.kt @@ -32,9 +32,9 @@ abstract class FirAnonymousFunction : FirFunction(), FirTypeParametersOwner { abstract override val attributes: FirDeclarationAttributes abstract override val annotations: List abstract override val returnTypeRef: FirTypeRef + abstract override val status: FirDeclarationStatus abstract override val receiverTypeRef: FirTypeRef? abstract override val deprecation: DeprecationsPerUseSite? - abstract override val status: FirDeclarationStatus abstract override val containerSource: DeserializedContainerSource? abstract override val dispatchReceiverType: ConeKotlinType? abstract override val controlFlowGraphReference: FirControlFlowGraphReference? @@ -78,10 +78,10 @@ abstract class FirAnonymousFunction : FirFunction(), FirTypeParametersOwner { abstract override fun transformReturnTypeRef(transformer: FirTransformer, data: D): FirAnonymousFunction - abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirAnonymousFunction - abstract override fun transformStatus(transformer: FirTransformer, data: D): FirAnonymousFunction + abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirAnonymousFunction + abstract override fun transformValueParameters(transformer: FirTransformer, data: D): FirAnonymousFunction abstract override fun transformBody(transformer: FirTransformer, data: D): FirAnonymousFunction diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableDeclaration.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableDeclaration.kt index 56189bb353f..1bdf458bbee 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableDeclaration.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableDeclaration.kt @@ -10,7 +10,9 @@ import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol +import org.jetbrains.kotlin.fir.types.ConeKotlinType import org.jetbrains.kotlin.fir.types.FirTypeRef +import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource import org.jetbrains.kotlin.fir.visitors.* /* @@ -18,7 +20,7 @@ import org.jetbrains.kotlin.fir.visitors.* * DO NOT MODIFY IT MANUALLY */ -sealed class FirCallableDeclaration : FirTypedDeclaration() { +sealed class FirCallableDeclaration : FirTypedDeclaration(), FirMemberDeclaration { abstract override val source: FirSourceElement? abstract override val moduleData: FirModuleData abstract override val resolvePhase: FirResolvePhase @@ -26,9 +28,13 @@ sealed class FirCallableDeclaration : FirTypedDeclaration() { abstract override val attributes: FirDeclarationAttributes abstract override val annotations: List abstract override val returnTypeRef: FirTypeRef + abstract override val typeParameters: List + abstract override val status: FirDeclarationStatus abstract val receiverTypeRef: FirTypeRef? abstract val deprecation: DeprecationsPerUseSite? abstract override val symbol: FirCallableSymbol + abstract val containerSource: DeserializedContainerSource? + abstract val dispatchReceiverType: ConeKotlinType? override fun accept(visitor: FirVisitor, data: D): R = visitor.visitCallableDeclaration(this, data) @@ -48,5 +54,9 @@ sealed class FirCallableDeclaration : FirTypedDeclaration() { abstract override fun transformReturnTypeRef(transformer: FirTransformer, data: D): FirCallableDeclaration + abstract override fun transformTypeParameters(transformer: FirTransformer, data: D): FirCallableDeclaration + + abstract override fun transformStatus(transformer: FirTransformer, data: D): FirCallableDeclaration + abstract fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirCallableDeclaration } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableMemberDeclaration.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableMemberDeclaration.kt deleted file mode 100644 index 691e2baf31f..00000000000 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableMemberDeclaration.kt +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.fir.declarations - -import org.jetbrains.kotlin.fir.FirElement -import org.jetbrains.kotlin.fir.FirModuleData -import org.jetbrains.kotlin.fir.FirSourceElement -import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall -import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol -import org.jetbrains.kotlin.fir.types.ConeKotlinType -import org.jetbrains.kotlin.fir.types.FirTypeRef -import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource -import org.jetbrains.kotlin.fir.visitors.* - -/* - * This file was generated automatically - * DO NOT MODIFY IT MANUALLY - */ - -sealed class FirCallableMemberDeclaration : FirCallableDeclaration(), FirMemberDeclaration { - abstract override val source: FirSourceElement? - abstract override val moduleData: FirModuleData - abstract override val resolvePhase: FirResolvePhase - abstract override val origin: FirDeclarationOrigin - abstract override val attributes: FirDeclarationAttributes - abstract override val annotations: List - abstract override val returnTypeRef: FirTypeRef - abstract override val receiverTypeRef: FirTypeRef? - abstract override val deprecation: DeprecationsPerUseSite? - abstract override val symbol: FirCallableSymbol - abstract override val typeParameters: List - abstract override val status: FirDeclarationStatus - abstract val containerSource: DeserializedContainerSource? - abstract val dispatchReceiverType: ConeKotlinType? - - override fun accept(visitor: FirVisitor, data: D): R = visitor.visitCallableMemberDeclaration(this, data) - - @Suppress("UNCHECKED_CAST") - override fun transform(transformer: FirTransformer, data: D): E = - transformer.transformCallableMemberDeclaration(this, data) as E - - abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase) - - abstract override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) - - abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) - - abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?) - - abstract override fun transformAnnotations(transformer: FirTransformer, data: D): FirCallableMemberDeclaration - - abstract override fun transformReturnTypeRef(transformer: FirTransformer, data: D): FirCallableMemberDeclaration - - abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirCallableMemberDeclaration - - abstract override fun transformTypeParameters(transformer: FirTransformer, data: D): FirCallableMemberDeclaration - - abstract override fun transformStatus(transformer: FirTransformer, data: D): FirCallableMemberDeclaration -} diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirConstructor.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirConstructor.kt index a5561a15aa0..cd68110e0fd 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirConstructor.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirConstructor.kt @@ -30,10 +30,10 @@ abstract class FirConstructor : FirFunction(), FirTypeParameterRefsOwner { abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes abstract override val returnTypeRef: FirTypeRef - abstract override val receiverTypeRef: FirTypeRef? - abstract override val deprecation: DeprecationsPerUseSite? abstract override val typeParameters: List abstract override val status: FirDeclarationStatus + abstract override val receiverTypeRef: FirTypeRef? + abstract override val deprecation: DeprecationsPerUseSite? abstract override val containerSource: DeserializedContainerSource? abstract override val dispatchReceiverType: ConeKotlinType? abstract override val controlFlowGraphReference: FirControlFlowGraphReference? @@ -66,12 +66,12 @@ abstract class FirConstructor : FirFunction(), FirTypeParameterRefsOwner { abstract override fun transformReturnTypeRef(transformer: FirTransformer, data: D): FirConstructor - abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirConstructor - abstract override fun transformTypeParameters(transformer: FirTransformer, data: D): FirConstructor abstract override fun transformStatus(transformer: FirTransformer, data: D): FirConstructor + abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirConstructor + abstract override fun transformValueParameters(transformer: FirTransformer, data: D): FirConstructor abstract override fun transformAnnotations(transformer: FirTransformer, data: D): FirConstructor diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirEnumEntry.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirEnumEntry.kt index 1e4c3d5eef8..80018a92669 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirEnumEntry.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirEnumEntry.kt @@ -29,10 +29,10 @@ abstract class FirEnumEntry : FirVariable() { abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes abstract override val returnTypeRef: FirTypeRef - abstract override val receiverTypeRef: FirTypeRef? - abstract override val deprecation: DeprecationsPerUseSite? abstract override val typeParameters: List abstract override val status: FirDeclarationStatus + abstract override val receiverTypeRef: FirTypeRef? + abstract override val deprecation: DeprecationsPerUseSite? abstract override val containerSource: DeserializedContainerSource? abstract override val dispatchReceiverType: ConeKotlinType? abstract override val name: Name @@ -63,12 +63,12 @@ abstract class FirEnumEntry : FirVariable() { abstract override fun transformReturnTypeRef(transformer: FirTransformer, data: D): FirEnumEntry - abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirEnumEntry - abstract override fun transformTypeParameters(transformer: FirTransformer, data: D): FirEnumEntry abstract override fun transformStatus(transformer: FirTransformer, data: D): FirEnumEntry + abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirEnumEntry + abstract override fun transformInitializer(transformer: FirTransformer, data: D): FirEnumEntry abstract override fun transformDelegate(transformer: FirTransformer, data: D): FirEnumEntry diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirErrorFunction.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirErrorFunction.kt index 1269ac8fb61..d0e93d6e8f0 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirErrorFunction.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirErrorFunction.kt @@ -32,9 +32,9 @@ abstract class FirErrorFunction : FirFunction(), FirDiagnosticHolder { abstract override val attributes: FirDeclarationAttributes abstract override val annotations: List abstract override val returnTypeRef: FirTypeRef + abstract override val status: FirDeclarationStatus abstract override val receiverTypeRef: FirTypeRef? abstract override val deprecation: DeprecationsPerUseSite? - abstract override val status: FirDeclarationStatus abstract override val containerSource: DeserializedContainerSource? abstract override val dispatchReceiverType: ConeKotlinType? abstract override val controlFlowGraphReference: FirControlFlowGraphReference? @@ -68,10 +68,10 @@ abstract class FirErrorFunction : FirFunction(), FirDiagnosticHolder { abstract override fun transformReturnTypeRef(transformer: FirTransformer, data: D): FirErrorFunction - abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirErrorFunction - abstract override fun transformStatus(transformer: FirTransformer, data: D): FirErrorFunction + abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirErrorFunction + abstract override fun transformValueParameters(transformer: FirTransformer, data: D): FirErrorFunction abstract override fun transformBody(transformer: FirTransformer, data: D): FirErrorFunction diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirErrorProperty.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirErrorProperty.kt index ab6a8c372d8..601ceb4de87 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirErrorProperty.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirErrorProperty.kt @@ -31,10 +31,10 @@ abstract class FirErrorProperty : FirVariable(), FirDiagnosticHolder { abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes abstract override val returnTypeRef: FirTypeRef - abstract override val receiverTypeRef: FirTypeRef? - abstract override val deprecation: DeprecationsPerUseSite? abstract override val typeParameters: List abstract override val status: FirDeclarationStatus + abstract override val receiverTypeRef: FirTypeRef? + abstract override val deprecation: DeprecationsPerUseSite? abstract override val containerSource: DeserializedContainerSource? abstract override val dispatchReceiverType: ConeKotlinType? abstract override val name: Name @@ -66,12 +66,12 @@ abstract class FirErrorProperty : FirVariable(), FirDiagnosticHolder { abstract override fun transformReturnTypeRef(transformer: FirTransformer, data: D): FirErrorProperty - abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirErrorProperty - abstract override fun transformTypeParameters(transformer: FirTransformer, data: D): FirErrorProperty abstract override fun transformStatus(transformer: FirTransformer, data: D): FirErrorProperty + abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirErrorProperty + abstract override fun transformInitializer(transformer: FirTransformer, data: D): FirErrorProperty abstract override fun transformDelegate(transformer: FirTransformer, data: D): FirErrorProperty diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirField.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirField.kt index c62b13c2cb2..fa4cc05dcb7 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirField.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirField.kt @@ -29,10 +29,10 @@ abstract class FirField : FirVariable() { abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes abstract override val returnTypeRef: FirTypeRef - abstract override val receiverTypeRef: FirTypeRef? - abstract override val deprecation: DeprecationsPerUseSite? abstract override val typeParameters: List abstract override val status: FirDeclarationStatus + abstract override val receiverTypeRef: FirTypeRef? + abstract override val deprecation: DeprecationsPerUseSite? abstract override val containerSource: DeserializedContainerSource? abstract override val dispatchReceiverType: ConeKotlinType? abstract override val name: Name @@ -63,12 +63,12 @@ abstract class FirField : FirVariable() { abstract override fun transformReturnTypeRef(transformer: FirTransformer, data: D): FirField - abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirField - abstract override fun transformTypeParameters(transformer: FirTransformer, data: D): FirField abstract override fun transformStatus(transformer: FirTransformer, data: D): FirField + abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirField + abstract override fun transformInitializer(transformer: FirTransformer, data: D): FirField abstract override fun transformDelegate(transformer: FirTransformer, data: D): FirField diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirFunction.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirFunction.kt index 50846dbfac1..b6b2e0d8366 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirFunction.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirFunction.kt @@ -24,7 +24,7 @@ import org.jetbrains.kotlin.fir.visitors.* * DO NOT MODIFY IT MANUALLY */ -sealed class FirFunction : FirCallableMemberDeclaration(), FirTargetElement, FirControlFlowGraphOwner, FirStatement { +sealed class FirFunction : FirCallableDeclaration(), FirTargetElement, FirControlFlowGraphOwner, FirStatement { abstract override val source: FirSourceElement? abstract override val moduleData: FirModuleData abstract override val resolvePhase: FirResolvePhase @@ -32,10 +32,10 @@ sealed class FirFunction : FirCallableMemberDeclaration(), FirTargetElement, Fir abstract override val attributes: FirDeclarationAttributes abstract override val annotations: List abstract override val returnTypeRef: FirTypeRef - abstract override val receiverTypeRef: FirTypeRef? - abstract override val deprecation: DeprecationsPerUseSite? abstract override val typeParameters: List abstract override val status: FirDeclarationStatus + abstract override val receiverTypeRef: FirTypeRef? + abstract override val deprecation: DeprecationsPerUseSite? abstract override val containerSource: DeserializedContainerSource? abstract override val dispatchReceiverType: ConeKotlinType? abstract override val controlFlowGraphReference: FirControlFlowGraphReference? @@ -67,12 +67,12 @@ sealed class FirFunction : FirCallableMemberDeclaration(), FirTargetElement, Fir abstract override fun transformReturnTypeRef(transformer: FirTransformer, data: D): FirFunction - abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirFunction - abstract override fun transformTypeParameters(transformer: FirTransformer, data: D): FirFunction abstract override fun transformStatus(transformer: FirTransformer, data: D): FirFunction + abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirFunction + abstract fun transformValueParameters(transformer: FirTransformer, data: D): FirFunction abstract fun transformBody(transformer: FirTransformer, data: D): FirFunction diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirProperty.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirProperty.kt index a2a64623a98..5b6e298bb08 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirProperty.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirProperty.kt @@ -32,9 +32,9 @@ abstract class FirProperty : FirVariable(), FirTypeParametersOwner, FirControlFl abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes abstract override val returnTypeRef: FirTypeRef + abstract override val status: FirDeclarationStatus abstract override val receiverTypeRef: FirTypeRef? abstract override val deprecation: DeprecationsPerUseSite? - abstract override val status: FirDeclarationStatus abstract override val containerSource: DeserializedContainerSource? abstract override val dispatchReceiverType: ConeKotlinType? abstract override val name: Name @@ -75,10 +75,10 @@ abstract class FirProperty : FirVariable(), FirTypeParametersOwner, FirControlFl abstract override fun transformReturnTypeRef(transformer: FirTransformer, data: D): FirProperty - abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirProperty - abstract override fun transformStatus(transformer: FirTransformer, data: D): FirProperty + abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirProperty + abstract override fun transformInitializer(transformer: FirTransformer, data: D): FirProperty abstract override fun transformDelegate(transformer: FirTransformer, data: D): FirProperty diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirPropertyAccessor.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirPropertyAccessor.kt index fba9ad07050..a9de4405540 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirPropertyAccessor.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirPropertyAccessor.kt @@ -30,9 +30,9 @@ abstract class FirPropertyAccessor : FirFunction(), FirContractDescriptionOwner, abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes abstract override val returnTypeRef: FirTypeRef + abstract override val status: FirDeclarationStatus abstract override val receiverTypeRef: FirTypeRef? abstract override val deprecation: DeprecationsPerUseSite? - abstract override val status: FirDeclarationStatus abstract override val containerSource: DeserializedContainerSource? abstract override val dispatchReceiverType: ConeKotlinType? abstract override val controlFlowGraphReference: FirControlFlowGraphReference? @@ -69,10 +69,10 @@ abstract class FirPropertyAccessor : FirFunction(), FirContractDescriptionOwner, abstract override fun transformReturnTypeRef(transformer: FirTransformer, data: D): FirPropertyAccessor - abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirPropertyAccessor - abstract override fun transformStatus(transformer: FirTransformer, data: D): FirPropertyAccessor + abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirPropertyAccessor + abstract override fun transformValueParameters(transformer: FirTransformer, data: D): FirPropertyAccessor abstract override fun transformBody(transformer: FirTransformer, data: D): FirPropertyAccessor diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirSimpleFunction.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirSimpleFunction.kt index 915c1377d4c..0a236a99b81 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirSimpleFunction.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirSimpleFunction.kt @@ -31,9 +31,9 @@ abstract class FirSimpleFunction : FirFunction(), FirContractDescriptionOwner, F abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes abstract override val returnTypeRef: FirTypeRef + abstract override val status: FirDeclarationStatus abstract override val receiverTypeRef: FirTypeRef? abstract override val deprecation: DeprecationsPerUseSite? - abstract override val status: FirDeclarationStatus abstract override val containerSource: DeserializedContainerSource? abstract override val dispatchReceiverType: ConeKotlinType? abstract override val controlFlowGraphReference: FirControlFlowGraphReference? @@ -69,10 +69,10 @@ abstract class FirSimpleFunction : FirFunction(), FirContractDescriptionOwner, F abstract override fun transformReturnTypeRef(transformer: FirTransformer, data: D): FirSimpleFunction - abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirSimpleFunction - abstract override fun transformStatus(transformer: FirTransformer, data: D): FirSimpleFunction + abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirSimpleFunction + abstract override fun transformValueParameters(transformer: FirTransformer, data: D): FirSimpleFunction abstract override fun transformBody(transformer: FirTransformer, data: D): FirSimpleFunction diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirValueParameter.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirValueParameter.kt index 8542b6a9fb8..15cc0902aa6 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirValueParameter.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirValueParameter.kt @@ -30,10 +30,10 @@ abstract class FirValueParameter : FirVariable(), FirControlFlowGraphOwner { abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes abstract override val returnTypeRef: FirTypeRef - abstract override val receiverTypeRef: FirTypeRef? - abstract override val deprecation: DeprecationsPerUseSite? abstract override val typeParameters: List abstract override val status: FirDeclarationStatus + abstract override val receiverTypeRef: FirTypeRef? + abstract override val deprecation: DeprecationsPerUseSite? abstract override val containerSource: DeserializedContainerSource? abstract override val dispatchReceiverType: ConeKotlinType? abstract override val name: Name @@ -71,12 +71,12 @@ abstract class FirValueParameter : FirVariable(), FirControlFlowGraphOwner { abstract override fun transformReturnTypeRef(transformer: FirTransformer, data: D): FirValueParameter - abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirValueParameter - abstract override fun transformTypeParameters(transformer: FirTransformer, data: D): FirValueParameter abstract override fun transformStatus(transformer: FirTransformer, data: D): FirValueParameter + abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirValueParameter + abstract override fun transformInitializer(transformer: FirTransformer, data: D): FirValueParameter abstract override fun transformDelegate(transformer: FirTransformer, data: D): FirValueParameter diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirVariable.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirVariable.kt index 5c20253e290..df2f8039781 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirVariable.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirVariable.kt @@ -23,17 +23,17 @@ import org.jetbrains.kotlin.fir.visitors.* * DO NOT MODIFY IT MANUALLY */ -sealed class FirVariable : FirCallableMemberDeclaration(), FirStatement { +sealed class FirVariable : FirCallableDeclaration(), FirStatement { abstract override val source: FirSourceElement? abstract override val moduleData: FirModuleData abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes abstract override val returnTypeRef: FirTypeRef - abstract override val receiverTypeRef: FirTypeRef? - abstract override val deprecation: DeprecationsPerUseSite? abstract override val typeParameters: List abstract override val status: FirDeclarationStatus + abstract override val receiverTypeRef: FirTypeRef? + abstract override val deprecation: DeprecationsPerUseSite? abstract override val containerSource: DeserializedContainerSource? abstract override val dispatchReceiverType: ConeKotlinType? abstract val name: Name @@ -64,12 +64,12 @@ sealed class FirVariable : FirCallableMemberDeclaration(), FirStatement { abstract override fun transformReturnTypeRef(transformer: FirTransformer, data: D): FirVariable - abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirVariable - abstract override fun transformTypeParameters(transformer: FirTransformer, data: D): FirVariable abstract override fun transformStatus(transformer: FirTransformer, data: D): FirVariable + abstract override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirVariable + abstract fun transformInitializer(transformer: FirTransformer, data: D): FirVariable abstract fun transformDelegate(transformer: FirTransformer, data: D): FirVariable diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAbstractConstructorBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAbstractConstructorBuilder.kt index 63ace5936a6..dde0c020e08 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAbstractConstructorBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAbstractConstructorBuilder.kt @@ -41,14 +41,14 @@ interface FirAbstractConstructorBuilder : FirFunctionBuilder { abstract override var attributes: FirDeclarationAttributes abstract override val annotations: MutableList abstract override var returnTypeRef: FirTypeRef - abstract override var deprecation: DeprecationsPerUseSite? abstract override var status: FirDeclarationStatus + abstract override var deprecation: DeprecationsPerUseSite? abstract override var containerSource: DeserializedContainerSource? abstract override var dispatchReceiverType: ConeKotlinType? abstract override val valueParameters: MutableList abstract override var body: FirBlock? - abstract var receiverTypeRef: FirTypeRef? abstract val typeParameters: MutableList + abstract var receiverTypeRef: FirTypeRef? abstract var controlFlowGraphReference: FirControlFlowGraphReference? abstract var symbol: FirConstructorSymbol abstract var delegatedConstructor: FirDelegatedConstructorCall? diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirConstructorBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirConstructorBuilder.kt index 836dbe452c4..a025949e039 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirConstructorBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirConstructorBuilder.kt @@ -43,10 +43,10 @@ open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationC override lateinit var origin: FirDeclarationOrigin override var attributes: FirDeclarationAttributes = FirDeclarationAttributes() override lateinit var returnTypeRef: FirTypeRef - override var receiverTypeRef: FirTypeRef? = null - override var deprecation: DeprecationsPerUseSite? = null override val typeParameters: MutableList = mutableListOf() override lateinit var status: FirDeclarationStatus + override var receiverTypeRef: FirTypeRef? = null + override var deprecation: DeprecationsPerUseSite? = null override var containerSource: DeserializedContainerSource? = null override var dispatchReceiverType: ConeKotlinType? = null override val valueParameters: MutableList = mutableListOf() @@ -63,10 +63,10 @@ open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationC origin, attributes, returnTypeRef, - receiverTypeRef, - deprecation, typeParameters, status, + receiverTypeRef, + deprecation, containerSource, dispatchReceiverType, valueParameters, @@ -106,10 +106,10 @@ inline fun buildConstructorCopy(original: FirConstructor, init: FirConstructorBu copyBuilder.origin = original.origin copyBuilder.attributes = original.attributes.copy() copyBuilder.returnTypeRef = original.returnTypeRef - copyBuilder.receiverTypeRef = original.receiverTypeRef - copyBuilder.deprecation = original.deprecation copyBuilder.typeParameters.addAll(original.typeParameters) copyBuilder.status = original.status + copyBuilder.receiverTypeRef = original.receiverTypeRef + copyBuilder.deprecation = original.deprecation copyBuilder.containerSource = original.containerSource copyBuilder.dispatchReceiverType = original.dispatchReceiverType copyBuilder.valueParameters.addAll(original.valueParameters) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirEnumEntryBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirEnumEntryBuilder.kt index a318b9c8bf1..d1a80c7187b 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirEnumEntryBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirEnumEntryBuilder.kt @@ -41,9 +41,9 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder { lateinit var origin: FirDeclarationOrigin var attributes: FirDeclarationAttributes = FirDeclarationAttributes() lateinit var returnTypeRef: FirTypeRef - var deprecation: DeprecationsPerUseSite? = null val typeParameters: MutableList = mutableListOf() lateinit var status: FirDeclarationStatus + var deprecation: DeprecationsPerUseSite? = null var containerSource: DeserializedContainerSource? = null var dispatchReceiverType: ConeKotlinType? = null lateinit var name: Name @@ -59,9 +59,9 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder { origin, attributes, returnTypeRef, - deprecation, typeParameters, status, + deprecation, containerSource, dispatchReceiverType, name, diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirFieldBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirFieldBuilder.kt index 97e1f081bd3..dcb7ea60c46 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirFieldBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirFieldBuilder.kt @@ -43,9 +43,9 @@ open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilde override lateinit var origin: FirDeclarationOrigin override var attributes: FirDeclarationAttributes = FirDeclarationAttributes() open lateinit var returnTypeRef: FirTypeRef - open var deprecation: DeprecationsPerUseSite? = null open val typeParameters: MutableList = mutableListOf() open lateinit var status: FirDeclarationStatus + open var deprecation: DeprecationsPerUseSite? = null open var containerSource: DeserializedContainerSource? = null open var dispatchReceiverType: ConeKotlinType? = null open lateinit var name: Name @@ -63,9 +63,9 @@ open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilde origin, attributes, returnTypeRef, - deprecation, typeParameters, status, + deprecation, containerSource, dispatchReceiverType, name, diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirFunctionBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirFunctionBuilder.kt index db0266fda97..0adb50f28dd 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirFunctionBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirFunctionBuilder.kt @@ -38,8 +38,8 @@ interface FirFunctionBuilder : FirDeclarationBuilder, FirAnnotationContainerBuil abstract override var attributes: FirDeclarationAttributes abstract override val annotations: MutableList abstract var returnTypeRef: FirTypeRef - abstract var deprecation: DeprecationsPerUseSite? abstract var status: FirDeclarationStatus + abstract var deprecation: DeprecationsPerUseSite? abstract var containerSource: DeserializedContainerSource? abstract var dispatchReceiverType: ConeKotlinType? abstract val valueParameters: MutableList diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPrimaryConstructorBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPrimaryConstructorBuilder.kt index dc00faa1eee..05d5bb0c751 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPrimaryConstructorBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPrimaryConstructorBuilder.kt @@ -43,10 +43,10 @@ class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotatio override lateinit var origin: FirDeclarationOrigin override var attributes: FirDeclarationAttributes = FirDeclarationAttributes() override lateinit var returnTypeRef: FirTypeRef - override var receiverTypeRef: FirTypeRef? = null - override var deprecation: DeprecationsPerUseSite? = null override val typeParameters: MutableList = mutableListOf() override lateinit var status: FirDeclarationStatus + override var receiverTypeRef: FirTypeRef? = null + override var deprecation: DeprecationsPerUseSite? = null override var containerSource: DeserializedContainerSource? = null override var dispatchReceiverType: ConeKotlinType? = null override val valueParameters: MutableList = mutableListOf() @@ -63,10 +63,10 @@ class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotatio origin, attributes, returnTypeRef, - receiverTypeRef, - deprecation, typeParameters, status, + receiverTypeRef, + deprecation, containerSource, dispatchReceiverType, valueParameters, diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPropertyAccessorBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPropertyAccessorBuilder.kt index 1e9588260dc..1196d51bf5c 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPropertyAccessorBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPropertyAccessorBuilder.kt @@ -46,8 +46,8 @@ class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBui override lateinit var origin: FirDeclarationOrigin override var attributes: FirDeclarationAttributes = FirDeclarationAttributes() override lateinit var returnTypeRef: FirTypeRef - override var deprecation: DeprecationsPerUseSite? = null override lateinit var status: FirDeclarationStatus + override var deprecation: DeprecationsPerUseSite? = null override var containerSource: DeserializedContainerSource? = null override var dispatchReceiverType: ConeKotlinType? = null override val valueParameters: MutableList = mutableListOf() @@ -67,8 +67,8 @@ class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBui origin, attributes, returnTypeRef, - deprecation, status, + deprecation, containerSource, dispatchReceiverType, valueParameters, @@ -103,8 +103,8 @@ inline fun buildPropertyAccessorCopy(original: FirPropertyAccessor, init: FirPro copyBuilder.origin = original.origin copyBuilder.attributes = original.attributes.copy() copyBuilder.returnTypeRef = original.returnTypeRef - copyBuilder.deprecation = original.deprecation copyBuilder.status = original.status + copyBuilder.deprecation = original.deprecation copyBuilder.containerSource = original.containerSource copyBuilder.dispatchReceiverType = original.dispatchReceiverType copyBuilder.valueParameters.addAll(original.valueParameters) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPropertyBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPropertyBuilder.kt index 6e9f68d9b06..dc81b8f690d 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPropertyBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPropertyBuilder.kt @@ -46,9 +46,9 @@ class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder, override lateinit var origin: FirDeclarationOrigin override var attributes: FirDeclarationAttributes = FirDeclarationAttributes() lateinit var returnTypeRef: FirTypeRef + lateinit var status: FirDeclarationStatus var receiverTypeRef: FirTypeRef? = null var deprecation: DeprecationsPerUseSite? = null - lateinit var status: FirDeclarationStatus var containerSource: DeserializedContainerSource? = null var dispatchReceiverType: ConeKotlinType? = null lateinit var name: Name @@ -72,9 +72,9 @@ class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder, origin, attributes, returnTypeRef, + status, receiverTypeRef, deprecation, - status, containerSource, dispatchReceiverType, name, @@ -114,9 +114,9 @@ inline fun buildPropertyCopy(original: FirProperty, init: FirPropertyBuilder.() copyBuilder.origin = original.origin copyBuilder.attributes = original.attributes.copy() copyBuilder.returnTypeRef = original.returnTypeRef + copyBuilder.status = original.status copyBuilder.receiverTypeRef = original.receiverTypeRef copyBuilder.deprecation = original.deprecation - copyBuilder.status = original.status copyBuilder.containerSource = original.containerSource copyBuilder.dispatchReceiverType = original.dispatchReceiverType copyBuilder.name = original.name diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirSimpleFunctionBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirSimpleFunctionBuilder.kt index d11adb55096..010478406a3 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirSimpleFunctionBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirSimpleFunctionBuilder.kt @@ -46,9 +46,9 @@ open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwner override lateinit var origin: FirDeclarationOrigin override var attributes: FirDeclarationAttributes = FirDeclarationAttributes() override lateinit var returnTypeRef: FirTypeRef + override lateinit var status: FirDeclarationStatus open var receiverTypeRef: FirTypeRef? = null override var deprecation: DeprecationsPerUseSite? = null - override lateinit var status: FirDeclarationStatus override var containerSource: DeserializedContainerSource? = null override var dispatchReceiverType: ConeKotlinType? = null override val valueParameters: MutableList = mutableListOf() @@ -67,9 +67,9 @@ open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwner origin, attributes, returnTypeRef, + status, receiverTypeRef, deprecation, - status, containerSource, dispatchReceiverType, valueParameters, @@ -104,9 +104,9 @@ inline fun buildSimpleFunctionCopy(original: FirSimpleFunction, init: FirSimpleF copyBuilder.origin = original.origin copyBuilder.attributes = original.attributes.copy() copyBuilder.returnTypeRef = original.returnTypeRef + copyBuilder.status = original.status copyBuilder.receiverTypeRef = original.receiverTypeRef copyBuilder.deprecation = original.deprecation - copyBuilder.status = original.status copyBuilder.containerSource = original.containerSource copyBuilder.dispatchReceiverType = original.dispatchReceiverType copyBuilder.valueParameters.addAll(original.valueParameters) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousFunctionImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousFunctionImpl.kt index 4010f5af006..1fe38ff8b8c 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousFunctionImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousFunctionImpl.kt @@ -65,8 +65,8 @@ internal class FirAnonymousFunctionImpl( override fun acceptChildren(visitor: FirVisitor, data: D) { annotations.forEach { it.accept(visitor, data) } returnTypeRef.accept(visitor, data) - receiverTypeRef?.accept(visitor, data) status.accept(visitor, data) + receiverTypeRef?.accept(visitor, data) controlFlowGraphReference?.accept(visitor, data) valueParameters.forEach { it.accept(visitor, data) } body?.accept(visitor, data) @@ -78,8 +78,8 @@ internal class FirAnonymousFunctionImpl( override fun transformChildren(transformer: FirTransformer, data: D): FirAnonymousFunctionImpl { transformAnnotations(transformer, data) transformReturnTypeRef(transformer, data) - transformReceiverTypeRef(transformer, data) transformStatus(transformer, data) + transformReceiverTypeRef(transformer, data) controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data) transformValueParameters(transformer, data) transformBody(transformer, data) @@ -99,13 +99,13 @@ internal class FirAnonymousFunctionImpl( return this } - override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirAnonymousFunctionImpl { - receiverTypeRef = receiverTypeRef?.transform(transformer, data) + override fun transformStatus(transformer: FirTransformer, data: D): FirAnonymousFunctionImpl { + status = status.transform(transformer, data) return this } - override fun transformStatus(transformer: FirTransformer, data: D): FirAnonymousFunctionImpl { - status = status.transform(transformer, data) + override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirAnonymousFunctionImpl { + receiverTypeRef = receiverTypeRef?.transform(transformer, data) return this } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirConstructorImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirConstructorImpl.kt index 999ae83a734..cf04fcffa0d 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirConstructorImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirConstructorImpl.kt @@ -37,10 +37,10 @@ internal class FirConstructorImpl( override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, override var returnTypeRef: FirTypeRef, - override var receiverTypeRef: FirTypeRef?, - override var deprecation: DeprecationsPerUseSite?, override val typeParameters: MutableList, override var status: FirDeclarationStatus, + override var receiverTypeRef: FirTypeRef?, + override var deprecation: DeprecationsPerUseSite?, override val containerSource: DeserializedContainerSource?, override val dispatchReceiverType: ConeKotlinType?, override val valueParameters: MutableList, @@ -58,9 +58,9 @@ internal class FirConstructorImpl( override fun acceptChildren(visitor: FirVisitor, data: D) { returnTypeRef.accept(visitor, data) - receiverTypeRef?.accept(visitor, data) typeParameters.forEach { it.accept(visitor, data) } status.accept(visitor, data) + receiverTypeRef?.accept(visitor, data) controlFlowGraphReference?.accept(visitor, data) valueParameters.forEach { it.accept(visitor, data) } annotations.forEach { it.accept(visitor, data) } @@ -70,9 +70,9 @@ internal class FirConstructorImpl( override fun transformChildren(transformer: FirTransformer, data: D): FirConstructorImpl { transformReturnTypeRef(transformer, data) - transformReceiverTypeRef(transformer, data) transformTypeParameters(transformer, data) transformStatus(transformer, data) + transformReceiverTypeRef(transformer, data) controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data) transformValueParameters(transformer, data) transformAnnotations(transformer, data) @@ -86,11 +86,6 @@ internal class FirConstructorImpl( return this } - override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirConstructorImpl { - receiverTypeRef = receiverTypeRef?.transform(transformer, data) - return this - } - override fun transformTypeParameters(transformer: FirTransformer, data: D): FirConstructorImpl { typeParameters.transformInplace(transformer, data) return this @@ -101,6 +96,11 @@ internal class FirConstructorImpl( return this } + override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirConstructorImpl { + receiverTypeRef = receiverTypeRef?.transform(transformer, data) + return this + } + override fun transformValueParameters(transformer: FirTransformer, data: D): FirConstructorImpl { valueParameters.transformInplace(transformer, data) return this diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultSetterValueParameter.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultSetterValueParameter.kt index e5f4070418c..4c9d3e2000d 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultSetterValueParameter.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultSetterValueParameter.kt @@ -66,8 +66,8 @@ internal class FirDefaultSetterValueParameter( override fun acceptChildren(visitor: FirVisitor, data: D) { returnTypeRef.accept(visitor, data) - receiverTypeRef?.accept(visitor, data) status.accept(visitor, data) + receiverTypeRef?.accept(visitor, data) initializer?.accept(visitor, data) delegate?.accept(visitor, data) getter?.accept(visitor, data) @@ -79,8 +79,8 @@ internal class FirDefaultSetterValueParameter( override fun transformChildren(transformer: FirTransformer, data: D): FirDefaultSetterValueParameter { transformReturnTypeRef(transformer, data) - transformReceiverTypeRef(transformer, data) transformStatus(transformer, data) + transformReceiverTypeRef(transformer, data) transformInitializer(transformer, data) transformDelegate(transformer, data) transformGetter(transformer, data) @@ -94,11 +94,6 @@ internal class FirDefaultSetterValueParameter( return this } - override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirDefaultSetterValueParameter { - receiverTypeRef = receiverTypeRef?.transform(transformer, data) - return this - } - override fun transformTypeParameters(transformer: FirTransformer, data: D): FirDefaultSetterValueParameter { return this } @@ -108,6 +103,11 @@ internal class FirDefaultSetterValueParameter( return this } + override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirDefaultSetterValueParameter { + receiverTypeRef = receiverTypeRef?.transform(transformer, data) + return this + } + override fun transformInitializer(transformer: FirTransformer, data: D): FirDefaultSetterValueParameter { initializer = initializer?.transform(transformer, data) return this diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirEnumEntryImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirEnumEntryImpl.kt index 51a359f5f11..eaf8abb2ea6 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirEnumEntryImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirEnumEntryImpl.kt @@ -36,9 +36,9 @@ internal class FirEnumEntryImpl( override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, override var returnTypeRef: FirTypeRef, - override var deprecation: DeprecationsPerUseSite?, override val typeParameters: MutableList, override var status: FirDeclarationStatus, + override var deprecation: DeprecationsPerUseSite?, override val containerSource: DeserializedContainerSource?, override val dispatchReceiverType: ConeKotlinType?, override val name: Name, @@ -79,10 +79,6 @@ internal class FirEnumEntryImpl( return this } - override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirEnumEntryImpl { - return this - } - override fun transformTypeParameters(transformer: FirTransformer, data: D): FirEnumEntryImpl { typeParameters.transformInplace(transformer, data) return this @@ -93,6 +89,10 @@ internal class FirEnumEntryImpl( return this } + override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirEnumEntryImpl { + return this + } + override fun transformInitializer(transformer: FirTransformer, data: D): FirEnumEntryImpl { initializer = initializer?.transform(transformer, data) return this diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirErrorFunctionImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirErrorFunctionImpl.kt index 29ddc24e0f2..812e15254d1 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirErrorFunctionImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirErrorFunctionImpl.kt @@ -47,8 +47,8 @@ internal class FirErrorFunctionImpl( override val symbol: FirErrorFunctionSymbol, ) : FirErrorFunction() { override var returnTypeRef: FirTypeRef = FirErrorTypeRefImpl(null, null, diagnostic) - override val receiverTypeRef: FirTypeRef? get() = null override var status: FirDeclarationStatus = FirResolvedDeclarationStatusImpl.DEFAULT_STATUS_FOR_STATUSLESS_DECLARATIONS + override val receiverTypeRef: FirTypeRef? get() = null override var controlFlowGraphReference: FirControlFlowGraphReference? = null override val body: FirBlock? get() = null override val typeParameters: List get() = emptyList() @@ -84,12 +84,12 @@ internal class FirErrorFunctionImpl( return this } - override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirErrorFunctionImpl { + override fun transformStatus(transformer: FirTransformer, data: D): FirErrorFunctionImpl { + status = status.transform(transformer, data) return this } - override fun transformStatus(transformer: FirTransformer, data: D): FirErrorFunctionImpl { - status = status.transform(transformer, data) + override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirErrorFunctionImpl { return this } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirErrorPropertyImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirErrorPropertyImpl.kt index fa565b528a9..1a447ba0e9a 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirErrorPropertyImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirErrorPropertyImpl.kt @@ -47,9 +47,9 @@ internal class FirErrorPropertyImpl( override val symbol: FirErrorPropertySymbol, ) : FirErrorProperty() { override var returnTypeRef: FirTypeRef = FirErrorTypeRefImpl(null, null, diagnostic) - override val receiverTypeRef: FirTypeRef? get() = null override val typeParameters: List get() = emptyList() override var status: FirDeclarationStatus = FirResolvedDeclarationStatusImpl.DEFAULT_STATUS_FOR_STATUSLESS_DECLARATIONS + override val receiverTypeRef: FirTypeRef? get() = null override val initializer: FirExpression? get() = null override val delegate: FirExpression? get() = null override val isVar: Boolean get() = false @@ -79,10 +79,6 @@ internal class FirErrorPropertyImpl( return this } - override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirErrorPropertyImpl { - return this - } - override fun transformTypeParameters(transformer: FirTransformer, data: D): FirErrorPropertyImpl { return this } @@ -92,6 +88,10 @@ internal class FirErrorPropertyImpl( return this } + override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirErrorPropertyImpl { + return this + } + override fun transformInitializer(transformer: FirTransformer, data: D): FirErrorPropertyImpl { return this } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirFieldImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirFieldImpl.kt index d69fa7ed5d8..8062cf00554 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirFieldImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirFieldImpl.kt @@ -37,9 +37,9 @@ class FirFieldImpl @FirImplementationDetail constructor( override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, override var returnTypeRef: FirTypeRef, - override var deprecation: DeprecationsPerUseSite?, override val typeParameters: MutableList, override var status: FirDeclarationStatus, + override var deprecation: DeprecationsPerUseSite?, override val containerSource: DeserializedContainerSource?, override val dispatchReceiverType: ConeKotlinType?, override val name: Name, @@ -80,10 +80,6 @@ class FirFieldImpl @FirImplementationDetail constructor( return this } - override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirFieldImpl { - return this - } - override fun transformTypeParameters(transformer: FirTransformer, data: D): FirFieldImpl { typeParameters.transformInplace(transformer, data) return this @@ -94,6 +90,10 @@ class FirFieldImpl @FirImplementationDetail constructor( return this } + override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirFieldImpl { + return this + } + override fun transformInitializer(transformer: FirTransformer, data: D): FirFieldImpl { initializer = initializer?.transform(transformer, data) return this diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPrimaryConstructor.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPrimaryConstructor.kt index 5ba9668b460..7b1db6e2390 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPrimaryConstructor.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPrimaryConstructor.kt @@ -37,10 +37,10 @@ internal class FirPrimaryConstructor( override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, override var returnTypeRef: FirTypeRef, - override var receiverTypeRef: FirTypeRef?, - override var deprecation: DeprecationsPerUseSite?, override val typeParameters: MutableList, override var status: FirDeclarationStatus, + override var receiverTypeRef: FirTypeRef?, + override var deprecation: DeprecationsPerUseSite?, override val containerSource: DeserializedContainerSource?, override val dispatchReceiverType: ConeKotlinType?, override val valueParameters: MutableList, @@ -58,9 +58,9 @@ internal class FirPrimaryConstructor( override fun acceptChildren(visitor: FirVisitor, data: D) { returnTypeRef.accept(visitor, data) - receiverTypeRef?.accept(visitor, data) typeParameters.forEach { it.accept(visitor, data) } status.accept(visitor, data) + receiverTypeRef?.accept(visitor, data) controlFlowGraphReference?.accept(visitor, data) valueParameters.forEach { it.accept(visitor, data) } annotations.forEach { it.accept(visitor, data) } @@ -70,9 +70,9 @@ internal class FirPrimaryConstructor( override fun transformChildren(transformer: FirTransformer, data: D): FirPrimaryConstructor { transformReturnTypeRef(transformer, data) - transformReceiverTypeRef(transformer, data) transformTypeParameters(transformer, data) transformStatus(transformer, data) + transformReceiverTypeRef(transformer, data) controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data) transformValueParameters(transformer, data) transformAnnotations(transformer, data) @@ -86,11 +86,6 @@ internal class FirPrimaryConstructor( return this } - override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirPrimaryConstructor { - receiverTypeRef = receiverTypeRef?.transform(transformer, data) - return this - } - override fun transformTypeParameters(transformer: FirTransformer, data: D): FirPrimaryConstructor { typeParameters.transformInplace(transformer, data) return this @@ -101,6 +96,11 @@ internal class FirPrimaryConstructor( return this } + override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirPrimaryConstructor { + receiverTypeRef = receiverTypeRef?.transform(transformer, data) + return this + } + override fun transformValueParameters(transformer: FirTransformer, data: D): FirPrimaryConstructor { valueParameters.transformInplace(transformer, data) return this diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyAccessorImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyAccessorImpl.kt index 8650bcc55de..cfd63d65356 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyAccessorImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyAccessorImpl.kt @@ -39,8 +39,8 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor( override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, override var returnTypeRef: FirTypeRef, - override var deprecation: DeprecationsPerUseSite?, override var status: FirDeclarationStatus, + override var deprecation: DeprecationsPerUseSite?, override val containerSource: DeserializedContainerSource?, override val dispatchReceiverType: ConeKotlinType?, override val valueParameters: MutableList, @@ -87,12 +87,12 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor( return this } - override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirPropertyAccessorImpl { + override fun transformStatus(transformer: FirTransformer, data: D): FirPropertyAccessorImpl { + status = status.transform(transformer, data) return this } - override fun transformStatus(transformer: FirTransformer, data: D): FirPropertyAccessorImpl { - status = status.transform(transformer, data) + override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirPropertyAccessorImpl { return this } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyImpl.kt index 9ac82d4d549..a04864c6b59 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyImpl.kt @@ -39,9 +39,9 @@ internal class FirPropertyImpl( override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, override var returnTypeRef: FirTypeRef, + override var status: FirDeclarationStatus, override var receiverTypeRef: FirTypeRef?, override var deprecation: DeprecationsPerUseSite?, - override var status: FirDeclarationStatus, override val containerSource: DeserializedContainerSource?, override val dispatchReceiverType: ConeKotlinType?, override val name: Name, @@ -69,8 +69,8 @@ internal class FirPropertyImpl( override fun acceptChildren(visitor: FirVisitor, data: D) { returnTypeRef.accept(visitor, data) - receiverTypeRef?.accept(visitor, data) status.accept(visitor, data) + receiverTypeRef?.accept(visitor, data) initializer?.accept(visitor, data) delegate?.accept(visitor, data) getter?.accept(visitor, data) @@ -82,8 +82,8 @@ internal class FirPropertyImpl( override fun transformChildren(transformer: FirTransformer, data: D): FirPropertyImpl { transformReturnTypeRef(transformer, data) - transformReceiverTypeRef(transformer, data) transformStatus(transformer, data) + transformReceiverTypeRef(transformer, data) transformInitializer(transformer, data) transformDelegate(transformer, data) transformGetter(transformer, data) @@ -98,13 +98,13 @@ internal class FirPropertyImpl( return this } - override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirPropertyImpl { - receiverTypeRef = receiverTypeRef?.transform(transformer, data) + override fun transformStatus(transformer: FirTransformer, data: D): FirPropertyImpl { + status = status.transform(transformer, data) return this } - override fun transformStatus(transformer: FirTransformer, data: D): FirPropertyImpl { - status = status.transform(transformer, data) + override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirPropertyImpl { + receiverTypeRef = receiverTypeRef?.transform(transformer, data) return this } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSimpleFunctionImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSimpleFunctionImpl.kt index 28d93cea5cb..94e138b2d5b 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSimpleFunctionImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSimpleFunctionImpl.kt @@ -38,9 +38,9 @@ internal class FirSimpleFunctionImpl( override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, override var returnTypeRef: FirTypeRef, + override var status: FirDeclarationStatus, override var receiverTypeRef: FirTypeRef?, override var deprecation: DeprecationsPerUseSite?, - override var status: FirDeclarationStatus, override val containerSource: DeserializedContainerSource?, override val dispatchReceiverType: ConeKotlinType?, override val valueParameters: MutableList, @@ -59,8 +59,8 @@ internal class FirSimpleFunctionImpl( override fun acceptChildren(visitor: FirVisitor, data: D) { returnTypeRef.accept(visitor, data) - receiverTypeRef?.accept(visitor, data) status.accept(visitor, data) + receiverTypeRef?.accept(visitor, data) controlFlowGraphReference?.accept(visitor, data) valueParameters.forEach { it.accept(visitor, data) } body?.accept(visitor, data) @@ -71,8 +71,8 @@ internal class FirSimpleFunctionImpl( override fun transformChildren(transformer: FirTransformer, data: D): FirSimpleFunctionImpl { transformReturnTypeRef(transformer, data) - transformReceiverTypeRef(transformer, data) transformStatus(transformer, data) + transformReceiverTypeRef(transformer, data) controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data) transformValueParameters(transformer, data) transformBody(transformer, data) @@ -87,13 +87,13 @@ internal class FirSimpleFunctionImpl( return this } - override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirSimpleFunctionImpl { - receiverTypeRef = receiverTypeRef?.transform(transformer, data) + override fun transformStatus(transformer: FirTransformer, data: D): FirSimpleFunctionImpl { + status = status.transform(transformer, data) return this } - override fun transformStatus(transformer: FirTransformer, data: D): FirSimpleFunctionImpl { - status = status.transform(transformer, data) + override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirSimpleFunctionImpl { + receiverTypeRef = receiverTypeRef?.transform(transformer, data) return this } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirValueParameterImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirValueParameterImpl.kt index b4e7267035a..e925bbc2855 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirValueParameterImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirValueParameterImpl.kt @@ -49,9 +49,9 @@ internal class FirValueParameterImpl( override val isNoinline: Boolean, override val isVararg: Boolean, ) : FirValueParameter() { - override val receiverTypeRef: FirTypeRef? get() = null override val typeParameters: List get() = emptyList() override var status: FirDeclarationStatus = FirResolvedDeclarationStatusImpl.DEFAULT_STATUS_FOR_STATUSLESS_DECLARATIONS + override val receiverTypeRef: FirTypeRef? get() = null override val initializer: FirExpression? get() = null override val delegate: FirExpression? get() = null override val isVar: Boolean get() = false @@ -84,10 +84,6 @@ internal class FirValueParameterImpl( return this } - override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirValueParameterImpl { - return this - } - override fun transformTypeParameters(transformer: FirTransformer, data: D): FirValueParameterImpl { return this } @@ -97,6 +93,10 @@ internal class FirValueParameterImpl( return this } + override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirValueParameterImpl { + return this + } + override fun transformInitializer(transformer: FirTransformer, data: D): FirValueParameterImpl { return this } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirTransformer.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirTransformer.kt index efbc4dbc5cb..f76199b696e 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirTransformer.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirTransformer.kt @@ -21,13 +21,12 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.declarations.FirAnnotatedDeclaration import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration -import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration -import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef -import org.jetbrains.kotlin.fir.declarations.FirTypeParameter import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration +import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration +import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef +import org.jetbrains.kotlin.fir.declarations.FirTypeParameter import org.jetbrains.kotlin.fir.declarations.FirVariable import org.jetbrains.kotlin.fir.declarations.FirValueParameter import org.jetbrains.kotlin.fir.declarations.FirProperty @@ -204,18 +203,6 @@ abstract class FirTransformer : FirVisitor() { return transformElement(typedDeclaration, data) } - open fun transformCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): FirCallableDeclaration { - return transformElement(callableDeclaration, data) - } - - open fun transformTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: D): FirTypeParameterRef { - return transformElement(typeParameterRef, data) - } - - open fun transformTypeParameter(typeParameter: FirTypeParameter, data: D): FirTypeParameterRef { - return transformElement(typeParameter, data) - } - open fun transformTypeParameterRefsOwner(typeParameterRefsOwner: FirTypeParameterRefsOwner, data: D): FirTypeParameterRefsOwner { return transformElement(typeParameterRefsOwner, data) } @@ -228,8 +215,16 @@ abstract class FirTransformer : FirVisitor() { return transformElement(memberDeclaration, data) } - open fun transformCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration, data: D): FirCallableMemberDeclaration { - return transformElement(callableMemberDeclaration, data) + open fun transformCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): FirCallableDeclaration { + return transformElement(callableDeclaration, data) + } + + open fun transformTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: D): FirTypeParameterRef { + return transformElement(typeParameterRef, data) + } + + open fun transformTypeParameter(typeParameter: FirTypeParameter, data: D): FirTypeParameterRef { + return transformElement(typeParameter, data) } open fun transformVariable(variable: FirVariable, data: D): FirStatement { @@ -720,18 +715,6 @@ abstract class FirTransformer : FirVisitor() { return transformTypedDeclaration(typedDeclaration, data) } - final override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): FirCallableDeclaration { - return transformCallableDeclaration(callableDeclaration, data) - } - - final override fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: D): FirTypeParameterRef { - return transformTypeParameterRef(typeParameterRef, data) - } - - final override fun visitTypeParameter(typeParameter: FirTypeParameter, data: D): FirTypeParameterRef { - return transformTypeParameter(typeParameter, data) - } - final override fun visitTypeParameterRefsOwner(typeParameterRefsOwner: FirTypeParameterRefsOwner, data: D): FirTypeParameterRefsOwner { return transformTypeParameterRefsOwner(typeParameterRefsOwner, data) } @@ -744,8 +727,16 @@ abstract class FirTransformer : FirVisitor() { return transformMemberDeclaration(memberDeclaration, data) } - final override fun visitCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration, data: D): FirCallableMemberDeclaration { - return transformCallableMemberDeclaration(callableMemberDeclaration, data) + final override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): FirCallableDeclaration { + return transformCallableDeclaration(callableDeclaration, data) + } + + final override fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: D): FirTypeParameterRef { + return transformTypeParameterRef(typeParameterRef, data) + } + + final override fun visitTypeParameter(typeParameter: FirTypeParameter, data: D): FirTypeParameterRef { + return transformTypeParameter(typeParameter, data) } final override fun visitVariable(variable: FirVariable, data: D): FirStatement { diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitor.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitor.kt index d34d07af83b..90a4a623f5b 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitor.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitor.kt @@ -21,13 +21,12 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.declarations.FirAnnotatedDeclaration import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration -import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration -import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef -import org.jetbrains.kotlin.fir.declarations.FirTypeParameter import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration +import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration +import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef +import org.jetbrains.kotlin.fir.declarations.FirTypeParameter import org.jetbrains.kotlin.fir.declarations.FirVariable import org.jetbrains.kotlin.fir.declarations.FirValueParameter import org.jetbrains.kotlin.fir.declarations.FirProperty @@ -173,19 +172,17 @@ abstract class FirVisitor { open fun visitTypedDeclaration(typedDeclaration: FirTypedDeclaration, data: D): R = visitElement(typedDeclaration, data) - open fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): R = visitElement(callableDeclaration, data) - - open fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: D): R = visitElement(typeParameterRef, data) - - open fun visitTypeParameter(typeParameter: FirTypeParameter, data: D): R = visitElement(typeParameter, data) - open fun visitTypeParameterRefsOwner(typeParameterRefsOwner: FirTypeParameterRefsOwner, data: D): R = visitElement(typeParameterRefsOwner, data) open fun visitTypeParametersOwner(typeParametersOwner: FirTypeParametersOwner, data: D): R = visitElement(typeParametersOwner, data) open fun visitMemberDeclaration(memberDeclaration: FirMemberDeclaration, data: D): R = visitElement(memberDeclaration, data) - open fun visitCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration, data: D): R = visitElement(callableMemberDeclaration, data) + open fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): R = visitElement(callableDeclaration, data) + + open fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: D): R = visitElement(typeParameterRef, data) + + open fun visitTypeParameter(typeParameter: FirTypeParameter, data: D): R = visitElement(typeParameter, data) open fun visitVariable(variable: FirVariable, data: D): R = visitElement(variable, data) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitorVoid.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitorVoid.kt index ea5961d87b7..3a7a0b80a1d 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitorVoid.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitorVoid.kt @@ -21,13 +21,12 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.declarations.FirAnnotatedDeclaration import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration -import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration -import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef -import org.jetbrains.kotlin.fir.declarations.FirTypeParameter import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration +import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration +import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef +import org.jetbrains.kotlin.fir.declarations.FirTypeParameter import org.jetbrains.kotlin.fir.declarations.FirVariable import org.jetbrains.kotlin.fir.declarations.FirValueParameter import org.jetbrains.kotlin.fir.declarations.FirProperty @@ -203,18 +202,6 @@ abstract class FirVisitorVoid : FirVisitor() { visitElement(typedDeclaration) } - open fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration) { - visitElement(callableDeclaration) - } - - open fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef) { - visitElement(typeParameterRef) - } - - open fun visitTypeParameter(typeParameter: FirTypeParameter) { - visitElement(typeParameter) - } - open fun visitTypeParameterRefsOwner(typeParameterRefsOwner: FirTypeParameterRefsOwner) { visitElement(typeParameterRefsOwner) } @@ -227,8 +214,16 @@ abstract class FirVisitorVoid : FirVisitor() { visitElement(memberDeclaration) } - open fun visitCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration) { - visitElement(callableMemberDeclaration) + open fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration) { + visitElement(callableDeclaration) + } + + open fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef) { + visitElement(typeParameterRef) + } + + open fun visitTypeParameter(typeParameter: FirTypeParameter) { + visitElement(typeParameter) } open fun visitVariable(variable: FirVariable) { @@ -719,18 +714,6 @@ abstract class FirVisitorVoid : FirVisitor() { visitTypedDeclaration(typedDeclaration) } - final override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: Nothing?) { - visitCallableDeclaration(callableDeclaration) - } - - final override fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: Nothing?) { - visitTypeParameterRef(typeParameterRef) - } - - final override fun visitTypeParameter(typeParameter: FirTypeParameter, data: Nothing?) { - visitTypeParameter(typeParameter) - } - final override fun visitTypeParameterRefsOwner(typeParameterRefsOwner: FirTypeParameterRefsOwner, data: Nothing?) { visitTypeParameterRefsOwner(typeParameterRefsOwner) } @@ -743,8 +726,16 @@ abstract class FirVisitorVoid : FirVisitor() { visitMemberDeclaration(memberDeclaration) } - final override fun visitCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration, data: Nothing?) { - visitCallableMemberDeclaration(callableMemberDeclaration) + final override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: Nothing?) { + visitCallableDeclaration(callableDeclaration) + } + + final override fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: Nothing?) { + visitTypeParameterRef(typeParameterRef) + } + + final override fun visitTypeParameter(typeParameter: FirTypeParameter, data: Nothing?) { + visitTypeParameter(typeParameter) } final override fun visitVariable(variable: FirVariable, data: Nothing?) { 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 07b17cbdd2f..24e3e0dfb5c 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/ClassMembers.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/ClassMembers.kt @@ -16,15 +16,12 @@ import org.jetbrains.kotlin.fir.types.ConeIntersectionType import org.jetbrains.kotlin.fir.types.ConeKotlinType fun FirCallableSymbol<*>.dispatchReceiverTypeOrNull(): ConeKotlinType? = - (fir as? FirCallableMemberDeclaration)?.dispatchReceiverType + fir.dispatchReceiverType fun FirCallableSymbol<*>.dispatchReceiverClassOrNull(): ConeClassLikeLookupTag? = - (fir as? FirCallableMemberDeclaration)?.dispatchReceiverClassOrNull() + fir.dispatchReceiverClassOrNull() -fun FirCallableDeclaration.dispatchReceiverClassOrNull(): ConeClassLikeLookupTag? = - (this as? FirCallableMemberDeclaration)?.dispatchReceiverClassOrNull() - -fun FirCallableMemberDeclaration.dispatchReceiverClassOrNull(): ConeClassLikeLookupTag? { +fun FirCallableDeclaration.dispatchReceiverClassOrNull(): ConeClassLikeLookupTag? { if (dispatchReceiverType is ConeIntersectionType && isIntersectionOverride) return symbol.baseForIntersectionOverride!!.fir.dispatchReceiverClassOrNull() return (dispatchReceiverType as? ConeClassLikeType)?.lookupTag @@ -35,9 +32,6 @@ fun FirCallableDeclaration.containingClass(): ConeClassLikeLookupTag? { return (containingClassAttr ?: dispatchReceiverClassOrNull()) } -fun FirCallableMemberDeclaration.containingClass(): ConeClassLikeLookupTag? { - return (containingClassAttr ?: dispatchReceiverClassOrNull()) -} fun FirRegularClass.containingClassForLocal(): ConeClassLikeLookupTag? = if (isLocal) containingClassForLocalAttr else null diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt index 71d3b040ead..9fafed53b61 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt @@ -217,11 +217,7 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration) { callableDeclaration.annotations.renderAnnotations() - if (callableDeclaration is FirMemberDeclaration) { - visitMemberDeclaration(callableDeclaration) - } else { - visitTypedDeclaration(callableDeclaration) - } + visitMemberDeclaration(callableDeclaration) val receiverType = callableDeclaration.receiverTypeRef print(" ") if (receiverType != null) { @@ -275,7 +271,7 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM private fun FirMemberDeclaration.modalityAsString(): String { return modality?.name?.toLowerCaseAsciiOnly() ?: run { - if (this is FirCallableMemberDeclaration && this.isOverride) { + if (this is FirCallableDeclaration && this.isOverride) { "open?" } else { "final?" @@ -1088,7 +1084,7 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM override fun visitResolvedNamedReference(resolvedNamedReference: FirResolvedNamedReference) { print("R|") val symbol = resolvedNamedReference.resolvedSymbol - val isSubstitutionOverride = (symbol.fir as? FirCallableMemberDeclaration)?.isSubstitutionOverride == true + val isSubstitutionOverride = (symbol.fir as? FirCallableDeclaration)?.isSubstitutionOverride == true if (isSubstitutionOverride) { print("SubstitutionOverride<") diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/comparators/FirCallableMemberDeclarationComparator.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/comparators/FirCallableDeclarationComparator.kt similarity index 91% rename from compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/comparators/FirCallableMemberDeclarationComparator.kt rename to compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/comparators/FirCallableDeclarationComparator.kt index 5756f07fc2c..9af85cb7a21 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/comparators/FirCallableMemberDeclarationComparator.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/comparators/FirCallableDeclarationComparator.kt @@ -5,13 +5,13 @@ package org.jetbrains.kotlin.fir.declarations.comparators -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration +import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration import org.jetbrains.kotlin.fir.declarations.FirFunction import org.jetbrains.kotlin.fir.render import org.jetbrains.kotlin.fir.types.FirTypeRefComparator -object FirCallableMemberDeclarationComparator : Comparator { - override fun compare(a: FirCallableMemberDeclaration, b: FirCallableMemberDeclaration): Int { +object FirCallableDeclarationComparator : Comparator { + override fun compare(a: FirCallableDeclaration, b: FirCallableDeclaration): Int { val typeAndNameDiff = FirMemberDeclarationComparator.TypeAndNameComparator.compare(a, b) if (typeAndNameDiff != 0) { return typeAndNameDiff diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/comparators/FirMemberDeclarationComparator.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/comparators/FirMemberDeclarationComparator.kt index 8b3a0abb231..c4e87374176 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/comparators/FirMemberDeclarationComparator.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/comparators/FirMemberDeclarationComparator.kt @@ -29,7 +29,7 @@ object FirMemberDeclarationComparator : Comparator { private val FirMemberDeclaration.name: Name get() = when (this) { - is FirCallableMemberDeclaration -> + is FirCallableDeclaration -> this.symbol.callableId.callableName is FirClass -> this.classId.shortClassName @@ -55,8 +55,8 @@ object FirMemberDeclarationComparator : Comparator { } override fun compare(a: FirMemberDeclaration, b: FirMemberDeclaration): Int { - if (a is FirCallableMemberDeclaration && b is FirCallableMemberDeclaration) { - return FirCallableMemberDeclarationComparator.compare(a, b) + if (a is FirCallableDeclaration && b is FirCallableDeclaration) { + return FirCallableDeclarationComparator.compare(a, b) } val typeAndNameDiff = TypeAndNameComparator.compare(a, b) diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultPropertyAccessor.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultPropertyAccessor.kt index 08451519140..7cc1212b635 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultPropertyAccessor.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultPropertyAccessor.kt @@ -39,11 +39,11 @@ abstract class FirDefaultPropertyAccessor( origin, FirDeclarationAttributes(), propertyTypeRef, - deprecation = null, status = if (effectiveVisibility == null) FirDeclarationStatusImpl(visibility, Modality.FINAL) else FirResolvedDeclarationStatusImpl(visibility, Modality.FINAL, effectiveVisibility), + deprecation = null, containerSource = null, dispatchReceiverType = null, valueParameters, diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/utils/declarationAttributes.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/utils/declarationAttributes.kt index 49f6cbefbb4..f96f12219d8 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/utils/declarationAttributes.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/utils/declarationAttributes.kt @@ -37,7 +37,7 @@ var T.danglingTypeConstraints: List? val FirMemberDeclaration.containerSource: SourceElement? get() = when (this) { - is FirCallableMemberDeclaration -> containerSource + is FirCallableDeclaration -> containerSource is FirRegularClass -> sourceElement is FirTypeAlias -> sourceElement } diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/scopes/FirTypeScope.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/scopes/FirTypeScope.kt index 1931c353996..1d3f6501bea 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/scopes/FirTypeScope.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/scopes/FirTypeScope.kt @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.scopes -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration +import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration import org.jetbrains.kotlin.fir.isIntersectionOverride import org.jetbrains.kotlin.fir.originalForSubstitutionOverride import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol @@ -146,7 +146,7 @@ inline fun FirTypeScope.processDirectlyOverriddenProperties( fun FirTypeScope.getDirectOverriddenMembers( member: FirCallableSymbol<*>, unwrapIntersectionAndSubstitutionOverride: Boolean = false, -): List> = +): List> = when (member) { is FirNamedFunctionSymbol -> getDirectOverriddenFunctions(member, unwrapIntersectionAndSubstitutionOverride) is FirPropertySymbol -> getDirectOverriddenProperties(member, unwrapIntersectionAndSubstitutionOverride) diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/FirTreeBuilder.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/FirTreeBuilder.kt index 119201441e7..1144e9743fa 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/FirTreeBuilder.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/FirTreeBuilder.kt @@ -30,15 +30,14 @@ object FirTreeBuilder : AbstractFirTreeBuilder() { val annotatedDeclaration = sealedElement("AnnotatedDeclaration", Declaration, declaration, annotationContainer) val anonymousInitializer = element("AnonymousInitializer", Declaration, declaration, controlFlowGraphOwner) val typedDeclaration = sealedElement("TypedDeclaration", Declaration, annotatedDeclaration) - val callableDeclaration = sealedElement("CallableDeclaration", Declaration, typedDeclaration) - val typeParameterRef = element("TypeParameterRef", Declaration) - val typeParameter = element("TypeParameter", Declaration, typeParameterRef, annotatedDeclaration) val typeParameterRefsOwner = sealedElement("TypeParameterRefsOwner", Declaration) val typeParametersOwner = sealedElement("TypeParametersOwner", Declaration, typeParameterRefsOwner) val memberDeclaration = sealedElement("MemberDeclaration", Declaration, typeParameterRefsOwner) - val callableMemberDeclaration = sealedElement("CallableMemberDeclaration", Declaration, callableDeclaration, memberDeclaration) + val callableDeclaration = sealedElement("CallableDeclaration", Declaration, typedDeclaration, memberDeclaration) + val typeParameterRef = element("TypeParameterRef", Declaration) + val typeParameter = element("TypeParameter", Declaration, typeParameterRef, annotatedDeclaration) - val variable = sealedElement("Variable", Declaration, callableMemberDeclaration, statement) + val variable = sealedElement("Variable", Declaration, callableDeclaration, statement) val valueParameter = element("ValueParameter", Declaration, variable, controlFlowGraphOwner) val property = element("Property", Declaration, variable, typeParametersOwner, controlFlowGraphOwner) val field = element("Field", Declaration, variable) @@ -49,7 +48,7 @@ object FirTreeBuilder : AbstractFirTreeBuilder() { val regularClass = element("RegularClass", Declaration, klass, memberDeclaration, controlFlowGraphOwner) val typeAlias = element("TypeAlias", Declaration, classLikeDeclaration, memberDeclaration, typeParametersOwner) - val function = sealedElement("Function", Declaration, callableMemberDeclaration, targetElement, controlFlowGraphOwner, statement) + val function = sealedElement("Function", Declaration, callableDeclaration, targetElement, controlFlowGraphOwner, statement) val contractDescriptionOwner = sealedElement("ContractDescriptionOwner", Declaration) val simpleFunction = element("SimpleFunction", Declaration, function, contractDescriptionOwner, typeParametersOwner) diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt index 3f96b69cc19..8ecfb9f486b 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt @@ -87,9 +87,7 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild +field("receiverTypeRef", typeRef, nullable = true, withReplace = true).withTransform() +field("deprecation", deprecationsPerUseSiteType, nullable = true).withReplace().apply { isMutable = true } +symbol("FirCallableSymbol", "out FirCallableDeclaration") - } - callableMemberDeclaration.configure { +field("containerSource", type(DeserializedContainerSource::class), nullable = true) +field("dispatchReceiverType", coneKotlinTypeType, nullable = true) } diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/handlers/FirScopeDumpHandler.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/handlers/FirScopeDumpHandler.kt index 5a2da2dc2b8..eaf31d6c604 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/handlers/FirScopeDumpHandler.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/handlers/FirScopeDumpHandler.kt @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.test.frontend.fir.handlers import org.jetbrains.kotlin.fir.FirRenderer import org.jetbrains.kotlin.fir.FirSession -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration +import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration import org.jetbrains.kotlin.fir.declarations.FirRegularClass import org.jetbrains.kotlin.fir.render import org.jetbrains.kotlin.fir.resolve.ScopeSession @@ -111,7 +111,7 @@ class FirScopeDumpHandler(testServices: TestServices) : FirAnalysisHandler(testS } } - private fun SmartPrinter.printInfo(declaration: FirCallableMemberDeclaration, counter: SymbolCounter) { + private fun SmartPrinter.printInfo(declaration: FirCallableDeclaration, counter: SymbolCounter) { print("[${declaration.origin}]: ") print(declaration.render(FirRenderer.RenderMode.NoBodies).trim()) print(" from ${declaration.dispatchReceiverType?.render()}") diff --git a/compiler/visualizer/render-fir/src/org/jetbrains/kotlin/compiler/visualizer/FirVisualizer.kt b/compiler/visualizer/render-fir/src/org/jetbrains/kotlin/compiler/visualizer/FirVisualizer.kt index 67f1ec6fccd..dd6c122bb7c 100644 --- a/compiler/visualizer/render-fir/src/org/jetbrains/kotlin/compiler/visualizer/FirVisualizer.kt +++ b/compiler/visualizer/render-fir/src/org/jetbrains/kotlin/compiler/visualizer/FirVisualizer.kt @@ -469,7 +469,7 @@ class FirVisualizer(private val firFile: FirFile) : BaseRenderer() { } private fun renderImplicitReceiver(symbol: FirBasedSymbol<*>, psi: PsiElement?) { - val receiverType = (symbol.fir as? FirCallableMemberDeclaration)?.dispatchReceiverType ?: return + val receiverType = (symbol.fir as? FirCallableDeclaration)?.dispatchReceiverType ?: return val implicitReceiverIndex = implicitReceivers.indexOf(receiverType) if (implicitReceiverIndex != -1) addAnnotation("this@$implicitReceiverIndex", psi) } diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/FirDeclarationDesignation.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/FirDeclarationDesignation.kt index 9e7db0bc764..c884817d701 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/FirDeclarationDesignation.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/FirDeclarationDesignation.kt @@ -58,7 +58,7 @@ private fun collectDesignationPath(declaration: FirDeclaration): List { if (declaration.symbol.callableId.isLocal) return null - if ((declaration as? FirCallableMemberDeclaration)?.status?.visibility == Visibilities.Local) return null + if ((declaration as? FirCallableDeclaration)?.status?.visibility == Visibilities.Local) return null when (declaration) { is FirSimpleFunction, is FirProperty, is FirField, is FirConstructor -> { val klass = declaration.containingClass() ?: return emptyList() diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/renderer/FirIdeRenderer.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/renderer/FirIdeRenderer.kt index e44844f2f9d..84be8300b40 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/renderer/FirIdeRenderer.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/renderer/FirIdeRenderer.kt @@ -115,7 +115,7 @@ internal class FirIdeRenderer private constructor( return if (classKind == ClassKind.INTERFACE) Modality.ABSTRACT else Modality.FINAL } val containingFirClass = containingDeclaration as? FirRegularClass ?: return Modality.FINAL - if (this !is FirCallableMemberDeclaration) return Modality.FINAL + if (this !is FirCallableDeclaration) return Modality.FINAL if (isOverride) { if (containingFirClass.modality != Modality.FINAL) return Modality.OPEN } @@ -126,7 +126,7 @@ internal class FirIdeRenderer private constructor( } private fun StringBuilder.renderModalityForCallable( - callable: FirCallableMemberDeclaration, + callable: FirCallableDeclaration, containingDeclaration: FirDeclaration? ) { val modality = callable.modality ?: return @@ -137,7 +137,7 @@ internal class FirIdeRenderer private constructor( } } - private fun StringBuilder.renderOverride(callableMember: FirCallableMemberDeclaration) { + private fun StringBuilder.renderOverride(callableMember: FirCallableDeclaration) { if (RendererModifier.OVERRIDE !in options.modifiers) return renderModifier(callableMember.isOverride || options.forceRenderingOverrideModifier, "override") } diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirOverrideInfoProvider.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirOverrideInfoProvider.kt index 52e9060bbf6..d63d406a099 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirOverrideInfoProvider.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirOverrideInfoProvider.kt @@ -8,7 +8,7 @@ package org.jetbrains.kotlin.idea.frontend.api.fir.symbols import org.jetbrains.kotlin.fir.analysis.checkers.getImplementationStatus import org.jetbrains.kotlin.fir.analysis.checkers.isVisibleInClass import org.jetbrains.kotlin.fir.containingClass -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration +import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration import org.jetbrains.kotlin.fir.declarations.FirClass import org.jetbrains.kotlin.fir.originalForIntersectionOverrideAttr import org.jetbrains.kotlin.fir.originalForSubstitutionOverride @@ -35,7 +35,7 @@ class KtFirOverrideInfoProvider( require(memberSymbol is KtFirSymbol<*>) require(classSymbol is KtFirSymbol<*>) return memberSymbol.firRef.withFir { memberFir -> - if (memberFir !is FirCallableMemberDeclaration) return@withFir false + if (memberFir !is FirCallableDeclaration) return@withFir false classSymbol.firRef.withFir inner@{ parentClassFir -> if (parentClassFir !is FirClass) return@inner false memberFir.isVisibleInClass(parentClassFir) @@ -47,7 +47,7 @@ class KtFirOverrideInfoProvider( require(memberSymbol is KtFirSymbol<*>) require(parentClassSymbol is KtFirSymbol<*>) return memberSymbol.firRef.withFir { memberFir -> - if (memberFir !is FirCallableMemberDeclaration) return@withFir null + if (memberFir !is FirCallableDeclaration) return@withFir null parentClassSymbol.firRef.withFir inner@{ parentClassFir -> if (parentClassFir !is FirClass) return@inner null memberFir.getImplementationStatus(SessionHolderImpl(firAnalysisSession.rootModuleSession, ScopeSession()), parentClassFir) @@ -58,7 +58,7 @@ class KtFirOverrideInfoProvider( override fun getOriginalContainingClassForOverride(symbol: KtCallableSymbol): KtClassOrObjectSymbol? { require(symbol is KtFirSymbol<*>) return symbol.firRef.withFir { firDeclaration -> - if (firDeclaration !is FirCallableMemberDeclaration) return@withFir null + if (firDeclaration !is FirCallableDeclaration) return@withFir null with(analysisSession) { getOriginalOverriddenSymbol(firDeclaration)?.containingClass()?.classId?.getCorrespondingToplevelClassOrObjectSymbol() } @@ -68,7 +68,7 @@ class KtFirOverrideInfoProvider( override fun getOriginalOverriddenSymbol(symbol: KtCallableSymbol): KtCallableSymbol? { require(symbol is KtFirSymbol<*>) return symbol.firRef.withFir { firDeclaration -> - if (firDeclaration !is FirCallableMemberDeclaration) return@withFir null + if (firDeclaration !is FirCallableDeclaration) return@withFir null with(analysisSession) { getOriginalOverriddenSymbol(firDeclaration) ?.buildSymbol((analysisSession as KtFirAnalysisSession).firSymbolBuilder) as KtCallableSymbol? @@ -76,7 +76,7 @@ class KtFirOverrideInfoProvider( } } - private fun getOriginalOverriddenSymbol(member: FirCallableMemberDeclaration): FirCallableMemberDeclaration? { + private fun getOriginalOverriddenSymbol(member: FirCallableDeclaration): FirCallableDeclaration? { val originalForSubstitutionOverride = member.originalForSubstitutionOverride if (originalForSubstitutionOverride != null) return getOriginalOverriddenSymbol(originalForSubstitutionOverride) diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirTypeAndAnnotations.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirTypeAndAnnotations.kt index 059620726d0..763d20944da 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirTypeAndAnnotations.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirTypeAndAnnotations.kt @@ -97,7 +97,7 @@ internal fun FirRefWithValidityCheck.receiverTypeAndAnno } } -internal fun FirRefWithValidityCheck.dispatchReceiverTypeAndAnnotations(builder: KtSymbolByFirBuilder) = +internal fun FirRefWithValidityCheck.dispatchReceiverTypeAndAnnotations(builder: KtSymbolByFirBuilder) = withFir { fir -> fir.dispatchReceiverType?.let { builder.typeBuilder.buildKtType(it) diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/FirReferenceResolveHelper.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/FirReferenceResolveHelper.kt index c1e835d60ce..72163cf4850 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/FirReferenceResolveHelper.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/FirReferenceResolveHelper.kt @@ -73,7 +73,7 @@ internal object FirReferenceResolveHelper { val classLikeDeclaration = ConeClassLikeLookupTagImpl(this).toSymbol(session)?.fir if (classLikeDeclaration is FirRegularClass) { if (calleeReference is FirResolvedNamedReference) { - val callee = calleeReference.resolvedSymbol.fir as? FirCallableMemberDeclaration + val callee = calleeReference.resolvedSymbol.fir as? FirCallableDeclaration // TODO: check callee owner directly? if (callee !is FirConstructor && callee?.isStatic != true) { classLikeDeclaration.companionObject?.let { return it.buildSymbol(symbolBuilder) } @@ -98,9 +98,9 @@ internal object FirReferenceResolveHelper { syntheticProperty.setter!!.delegate } } - else -> symbol.fir as? FirDeclaration + else -> symbol.fir } - listOfNotNull(fir?.buildSymbol(symbolBuilder)) + listOfNotNull(fir.buildSymbol(symbolBuilder)) } is FirResolvedCallableReference -> { listOfNotNull(resolvedSymbol.fir.buildSymbol(symbolBuilder)) @@ -112,7 +112,7 @@ internal object FirReferenceResolveHelper { listOfNotNull((superTypeRef as? FirResolvedTypeRef)?.toTargetSymbol(session, symbolBuilder)) } is FirErrorNamedReference -> { - getCandidateSymbols().mapNotNull { it.fir.buildSymbol(symbolBuilder) } + getCandidateSymbols().map { it.fir.buildSymbol(symbolBuilder) } } else -> emptyList() } @@ -300,7 +300,7 @@ internal object FirReferenceResolveHelper { fir: FirErrorNamedReference, symbolBuilder: KtSymbolByFirBuilder ): List = - getFirSymbolsByErrorNamedReference(fir).mapNotNull { it.fir.buildSymbol(symbolBuilder) } + getFirSymbolsByErrorNamedReference(fir).map { it.fir.buildSymbol(symbolBuilder) } fun getFirSymbolsByErrorNamedReference(