[FIR] Rename FirExpression.coneType to resolvedType

This commit is contained in:
Kirill Rakhman
2023-08-21 17:50:23 +02:00
committed by Space Team
parent ab6d87a1a2
commit 7fde5af7f8
91 changed files with 364 additions and 342 deletions
@@ -12,13 +12,13 @@ import org.jetbrains.kotlin.fir.analysis.native.checkers.forwardDeclarationKindO
import org.jetbrains.kotlin.fir.expressions.FirGetClassCall
import org.jetbrains.kotlin.fir.expressions.FirResolvedQualifier
import org.jetbrains.kotlin.fir.expressions.arguments
import org.jetbrains.kotlin.fir.types.coneType
import org.jetbrains.kotlin.fir.types.resolvedType
import org.jetbrains.kotlin.fir.types.toRegularClassSymbol
object FirNativeForwardDeclarationGetClassCallChecker : FirGetClassCallChecker() {
override fun check(expression: FirGetClassCall, context: CheckerContext, reporter: DiagnosticReporter) {
val declarationToCheck = expression.argument.coneType.toRegularClassSymbol(context.session) ?: return
val declarationToCheck = expression.argument.resolvedType.toRegularClassSymbol(context.session) ?: return
if (expression.arguments.firstOrNull() !is FirResolvedQualifier) {
return
@@ -28,7 +28,7 @@ object FirNativeForwardDeclarationGetClassCallChecker : FirGetClassCallChecker()
reporter.reportOn(
expression.source,
FirNativeErrors.FORWARD_DECLARATION_AS_CLASS_LITERAL,
expression.argument.coneType,
expression.argument.resolvedType,
context,
)
}
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.fir.expressions.argument
import org.jetbrains.kotlin.fir.resolve.lookupSuperTypes
import org.jetbrains.kotlin.fir.types.classId
import org.jetbrains.kotlin.fir.types.coneType
import org.jetbrains.kotlin.fir.types.resolvedType
import org.jetbrains.kotlin.fir.types.toRegularClassSymbol
object FirNativeForwardDeclarationTypeOperatorChecker : FirTypeOperatorCallChecker() {
@@ -27,7 +28,7 @@ object FirNativeForwardDeclarationTypeOperatorChecker : FirTypeOperatorCallCheck
when (expression.operation) {
FirOperation.AS, FirOperation.SAFE_AS -> {
val sourceClass = expression.argument.coneType.toRegularClassSymbol(context.session)
val sourceClass = expression.argument.resolvedType.toRegularClassSymbol(context.session)
// It can make sense to avoid warning if sourceClass is subclass of class with such property,
// but for the sake of simplicity, we don't do it now.
if (sourceClass != null && sourceClass.classKind == fwdKind.classKind && sourceClass.name == declarationToCheck.name) {
@@ -44,8 +45,8 @@ object FirNativeForwardDeclarationTypeOperatorChecker : FirTypeOperatorCallCheck
reporter.reportOn(
expression.source,
FirNativeErrors.UNCHECKED_CAST_TO_FORWARD_DECLARATION,
expression.argument.coneType,
expression.argument.coneType,
expression.argument.resolvedType,
expression.argument.resolvedType,
context,
)
}