diff --git a/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/expression/FirSuperCallWithDefaultsChecker.kt b/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/expression/FirSuperCallWithDefaultsChecker.kt index 175baefc3e1..78f23171bf9 100644 --- a/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/expression/FirSuperCallWithDefaultsChecker.kt +++ b/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/expression/FirSuperCallWithDefaultsChecker.kt @@ -13,14 +13,14 @@ import org.jetbrains.kotlin.fir.analysis.checkers.expression.FirFunctionCallChec import org.jetbrains.kotlin.fir.analysis.diagnostics.jvm.FirJvmErrors import org.jetbrains.kotlin.fir.expressions.FirFunctionCall import org.jetbrains.kotlin.fir.expressions.impl.FirResolvedArgumentList -import org.jetbrains.kotlin.fir.references.toResolvedFunctionSymbol +import org.jetbrains.kotlin.fir.references.toResolvedNamedFunctionSymbol object FirSuperCallWithDefaultsChecker : FirFunctionCallChecker() { override fun check(expression: FirFunctionCall, context: CheckerContext, reporter: DiagnosticReporter) { if (expression.explicitReceiverIsNotSuperReference()) return - val functionSymbol = expression.calleeReference.toResolvedFunctionSymbol() ?: return + val functionSymbol = expression.calleeReference.toResolvedNamedFunctionSymbol() ?: return if (!functionSymbol.valueParameterSymbols.any { it.hasDefaultValue }) return val arguments = expression.argumentList as? FirResolvedArgumentList ?: return if (arguments.arguments.size < functionSymbol.valueParameterSymbols.size) { diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirAssignmentOperatorCallChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirAssignmentOperatorCallChecker.kt index 5c1338de8a2..961a374f236 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirAssignmentOperatorCallChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirAssignmentOperatorCallChecker.kt @@ -12,13 +12,13 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors import org.jetbrains.kotlin.fir.expressions.FirFunctionCall import org.jetbrains.kotlin.fir.expressions.FirFunctionCallOrigin import org.jetbrains.kotlin.fir.expressions.FirOperationNameConventions -import org.jetbrains.kotlin.fir.references.toResolvedFunctionSymbol +import org.jetbrains.kotlin.fir.references.toResolvedNamedFunctionSymbol import org.jetbrains.kotlin.fir.types.coneType import org.jetbrains.kotlin.fir.types.isUnit object FirAssignmentOperatorCallChecker : FirFunctionCallChecker() { override fun check(expression: FirFunctionCall, context: CheckerContext, reporter: DiagnosticReporter) { - val resolvedCalleeSymbol = expression.calleeReference.toResolvedFunctionSymbol() ?: return + val resolvedCalleeSymbol = expression.calleeReference.toResolvedNamedFunctionSymbol() ?: return val resolvedCalleeName = resolvedCalleeSymbol.name if (expression.origin != FirFunctionCallOrigin.Operator || resolvedCalleeName !in FirOperationNameConventions.ASSIGNMENT_NAMES diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirDivisionByZeroChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirDivisionByZeroChecker.kt index 33a80b7c56f..4075fdd1d4b 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirDivisionByZeroChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirDivisionByZeroChecker.kt @@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors import org.jetbrains.kotlin.fir.expressions.FirConstExpression import org.jetbrains.kotlin.fir.expressions.FirFunctionCall import org.jetbrains.kotlin.fir.expressions.arguments -import org.jetbrains.kotlin.fir.references.toResolvedFunctionSymbol +import org.jetbrains.kotlin.fir.references.toResolvedNamedFunctionSymbol import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name @@ -23,7 +23,7 @@ object FirDivisionByZeroChecker : FirFunctionCallChecker() { override fun check(expression: FirFunctionCall, context: CheckerContext, reporter: DiagnosticReporter) { val firstValue = (expression.arguments.singleOrNull() as? FirConstExpression<*>)?.value if (firstValue != null && (firstValue == 0L || firstValue == 0.0f || firstValue == 0.0)) { - val callableId = (expression.calleeReference.toResolvedFunctionSymbol())?.callableId + val callableId = (expression.calleeReference.toResolvedNamedFunctionSymbol())?.callableId if (callableId != null && callableId.packageName == defaultPackageName && callableId.callableName == defaultDivName) { reporter.reportOn(expression.source, FirErrors.DIVISION_BY_ZERO, context) } diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirReturnSyntaxAndLabelChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirReturnSyntaxAndLabelChecker.kt index 35758e100d7..c1c5515ed52 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirReturnSyntaxAndLabelChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirReturnSyntaxAndLabelChecker.kt @@ -16,7 +16,7 @@ import org.jetbrains.kotlin.fir.diagnostics.ConeSimpleDiagnostic import org.jetbrains.kotlin.fir.diagnostics.DiagnosticKind import org.jetbrains.kotlin.fir.expressions.* import org.jetbrains.kotlin.fir.expressions.impl.FirSingleExpressionBlock -import org.jetbrains.kotlin.fir.references.toResolvedFunctionSymbol +import org.jetbrains.kotlin.fir.references.toResolvedNamedFunctionSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousFunctionSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol @@ -38,7 +38,7 @@ object FirReturnSyntaxAndLabelChecker : FirReturnExpressionChecker() { if (label?.source?.kind !is KtRealSourceElementKind) { val functionCall = context.callsOrAssignments.asReversed().find { it is FirFunctionCall && - (it.calleeReference.toResolvedFunctionSymbol())?.callableId == + (it.calleeReference.toResolvedNamedFunctionSymbol())?.callableId == FirSuspendCallChecker.KOTLIN_SUSPEND_BUILT_IN_FUNCTION_CALLABLE_ID } if (functionCall is FirFunctionCall && diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirUninitializedEnumChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirUninitializedEnumChecker.kt index 350e10f3909..2a2b4152528 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirUninitializedEnumChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirUninitializedEnumChecker.kt @@ -19,7 +19,7 @@ import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.utils.isEnumClass import org.jetbrains.kotlin.fir.expressions.* import org.jetbrains.kotlin.fir.references.toResolvedBaseSymbol -import org.jetbrains.kotlin.fir.references.toResolvedFunctionSymbol +import org.jetbrains.kotlin.fir.references.toResolvedNamedFunctionSymbol import org.jetbrains.kotlin.fir.symbols.SymbolInternals import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase @@ -228,7 +228,7 @@ object FirUninitializedEnumChecker : FirQualifiedAccessExpressionChecker() { val property = this.fir if (property.delegate == null || property.delegate !is FirFunctionCall) return null val delegateCall = property.delegate as FirFunctionCall - val calleeSymbol = delegateCall.calleeReference.toResolvedFunctionSymbol() ?: return null + val calleeSymbol = delegateCall.calleeReference.toResolvedNamedFunctionSymbol() ?: return null if (calleeSymbol.callableId.asSingleFqName().asString() != "kotlin.lazy") return null val lazyCallArgument = delegateCall.argumentList.arguments.singleOrNull() as? FirLambdaArgumentExpression ?: return null return (lazyCallArgument.expression as? FirAnonymousFunctionExpression)?.anonymousFunction diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/extended/UselessCallOnNotNullChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/extended/UselessCallOnNotNullChecker.kt index bf320345634..a78aafb10dc 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/extended/UselessCallOnNotNullChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/extended/UselessCallOnNotNullChecker.kt @@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.analysis.checkers.expression.FirQualifiedAccessE import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessExpression -import org.jetbrains.kotlin.fir.references.toResolvedFunctionSymbol +import org.jetbrains.kotlin.fir.references.toResolvedNamedFunctionSymbol import org.jetbrains.kotlin.fir.types.ConeNullability import org.jetbrains.kotlin.fir.types.classId import org.jetbrains.kotlin.fir.types.coneType @@ -33,7 +33,7 @@ object UselessCallOnNotNullChecker : FirQualifiedAccessExpressionChecker() { } private fun FirQualifiedAccessExpression.getCallableId(): CallableId? { - return calleeReference.toResolvedFunctionSymbol()?.callableId + return calleeReference.toResolvedNamedFunctionSymbol()?.callableId } private fun FirExpression.getPackage(): String { diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt index 19c4ce6b77d..3defeb9a5df 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt @@ -432,7 +432,7 @@ class Fir2IrVisitor( } val initializer = variable.initializer val isNextVariable = initializer is FirFunctionCall && - initializer.calleeReference.toResolvedFunctionSymbol()?.callableId?.isIteratorNext() == true && + initializer.calleeReference.toResolvedNamedFunctionSymbol()?.callableId?.isIteratorNext() == true && variable.source?.isChildOfForLoop == true val irVariable = declarationStorage.createIrVariable( variable, conversionScope.parentFromStack(), diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt index 856ad608468..c52eb4b5477 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt @@ -23,7 +23,6 @@ import org.jetbrains.kotlin.fir.references.builder.buildErrorNamedReference import org.jetbrains.kotlin.fir.references.builder.buildResolvedErrorReference import org.jetbrains.kotlin.fir.resolve.calls.* import org.jetbrains.kotlin.fir.resolve.dfa.PropertyStability -import org.jetbrains.kotlin.fir.resolve.dfa.cfg.FirAnonymousFunctionReturnExpressionInfo import org.jetbrains.kotlin.fir.resolve.diagnostics.* import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.resultType @@ -511,7 +510,7 @@ fun FirSafeCallExpression.propagateTypeFromQualifiedAccessAfterNullCheck( private val FirExpression.isCallToStatementLikeFunction: Boolean get() { - val symbol = (this as? FirFunctionCall)?.calleeReference?.toResolvedFunctionSymbol() ?: return false + val symbol = (this as? FirFunctionCall)?.calleeReference?.toResolvedNamedFunctionSymbol() ?: return false return origin == FirFunctionCallOrigin.Operator && symbol.name in OperatorNameConventions.STATEMENT_LIKE_OPERATORS } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirExpressionsResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirExpressionsResolveTransformer.kt index f7d3ea29e7b..d0ea2fbb342 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirExpressionsResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirExpressionsResolveTransformer.kt @@ -470,7 +470,7 @@ open class FirExpressionsResolveTransformer(transformer: FirAbstractBodyResolveT private fun FirFunctionCall.transformToIntegerOperatorCallOrApproximateItIfNeeded(resolutionMode: ResolutionMode): FirFunctionCall { if (!explicitReceiver.isIntegerLiteralOrOperatorCall()) return this - val resolvedSymbol = calleeReference.toResolvedFunctionSymbol() ?: return this + val resolvedSymbol = calleeReference.toResolvedNamedFunctionSymbol() ?: return this if (!resolvedSymbol.isWrappedIntegerOperator()) return this val arguments = this.argumentList.arguments diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/FirExpressionUtil.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/FirExpressionUtil.kt index 56bbbb5e369..f927e279422 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/FirExpressionUtil.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/FirExpressionUtil.kt @@ -54,7 +54,7 @@ inline val FirCall.dynamicVarargArguments: List? get() = dynamicVararg?.arguments inline val FirFunctionCall.isCalleeDynamic: Boolean - get() = calleeReference.toResolvedFunctionSymbol()?.origin == FirDeclarationOrigin.DynamicScope + get() = calleeReference.toResolvedNamedFunctionSymbol()?.origin == FirDeclarationOrigin.DynamicScope inline val FirCall.resolvedArgumentMapping: LinkedHashMap? get() = when (val argumentList = argumentList) { @@ -178,7 +178,7 @@ val FirQualifiedAccessExpression.allReceiverExpressions: List } inline fun FirFunctionCall.forAllReifiedTypeParameters(block: (ConeKotlinType, FirTypeProjectionWithVariance) -> Unit) { - val functionSymbol = calleeReference.toResolvedFunctionSymbol() ?: return + val functionSymbol = calleeReference.toResolvedNamedFunctionSymbol() ?: return for ((typeParameterSymbol, typeArgument) in functionSymbol.typeParameterSymbols.zip(typeArguments)) { if (typeParameterSymbol.isReified && typeArgument is FirTypeProjectionWithVariance) { diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/references/FirReferenceUtils.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/references/FirReferenceUtils.kt index 1808591a538..fd135b5baf5 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/references/FirReferenceUtils.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/references/FirReferenceUtils.kt @@ -48,7 +48,7 @@ fun FirReference.toResolvedValueParameterSymbol(discardErrorReference: Boolean = return this.toResolvedSymbol(discardErrorReference) } -fun FirReference.toResolvedFunctionSymbol(discardErrorReference: Boolean = false): FirNamedFunctionSymbol? { +fun FirReference.toResolvedNamedFunctionSymbol(discardErrorReference: Boolean = false): FirNamedFunctionSymbol? { return this.toResolvedSymbol(discardErrorReference) }