[FIR] Replace FirExpression.typeRef.coneType (and variants) with FirExpression.coneType

#KT-59855
This commit is contained in:
Kirill Rakhman
2023-07-31 17:36:01 +02:00
committed by Space Team
parent 1472b21993
commit 9ec814b7ad
108 changed files with 289 additions and 299 deletions
@@ -14,7 +14,6 @@ import org.jetbrains.kotlin.diagnostics.reportOn
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
import org.jetbrains.kotlin.fir.analysis.checkers.expression.FirFunctionCallChecker
import org.jetbrains.kotlin.fir.analysis.checkers.toRegularClassSymbol
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
import org.jetbrains.kotlin.fir.expressions.FirFunctionCall
import org.jetbrains.kotlin.fir.expressions.arguments
@@ -23,7 +22,9 @@ import org.jetbrains.kotlin.fir.references.isError
import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeAmbiguityError
import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeDiagnosticWithSingleCandidate
import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeUnresolvedNameError
import org.jetbrains.kotlin.fir.types.coneTypeOrNull
import org.jetbrains.kotlin.fir.types.isUnit
import org.jetbrains.kotlin.fir.types.toRegularClassSymbol
import org.jetbrains.kotlin.types.expressions.OperatorConventions.ASSIGN_METHOD
object FirAssignmentPluginFunctionCallChecker : FirFunctionCallChecker() {
@@ -58,7 +59,7 @@ object FirAssignmentPluginFunctionCallChecker : FirFunctionCallChecker() {
calleeReference.name == ASSIGN_METHOD && isAnnotated(session)
private fun FirFunctionCall.isAnnotated(session: FirSession): Boolean =
session.annotationMatchingService.isAnnotated(explicitReceiver?.typeRef?.toRegularClassSymbol(session))
session.annotationMatchingService.isAnnotated(explicitReceiver?.coneTypeOrNull?.toRegularClassSymbol(session))
private fun FirFunctionCall.isReturnTypeUnit() = toResolvedCallableSymbol()?.resolvedReturnType?.isUnit ?: false
}
@@ -22,7 +22,7 @@ object SignedNumberCallChecker : FirFunctionCallChecker() {
val argumentMapping = expression.resolvedArgumentMapping ?: return
for ((argument, parameter) in argumentMapping.entries) {
val expectedSign = parameter.returnTypeRef.coneType.attributes.numberSign ?: continue
val actualSign = argument.typeRef.coneType.attributes.numberSign
val actualSign = argument.coneType.attributes.numberSign
if (expectedSign != actualSign) {
reporter.reportOn(
argument.source, PluginErrors.ILLEGAL_NUMBER_SIGN, expectedSign.asString(), actualSign.asString(), context
@@ -175,8 +175,8 @@ object FirSerializationPluginClassChecker : FirClassChecker() {
this is FirConstExpression<*> && other is FirConstExpression<*> -> kind == other.kind && value == other.value
this is FirGetClassCall && other is FirGetClassCall -> AbstractTypeChecker.equalTypes(
session.typeContext,
typeRef.coneType,
other.typeRef.coneType
coneType,
other.coneType
)
this is FirPropertyAccessExpression && other is FirPropertyAccessExpression ->