[FIR] Use fullyExpandedClassId in FirTypeAliasExpandsToArrayOfNothingsChecker

This commit is contained in:
Kirill Rakhman
2023-09-14 10:07:56 +02:00
committed by Space Team
parent 98e6c0278a
commit 5d7e6f2aab
@@ -8,12 +8,11 @@ package org.jetbrains.kotlin.fir.analysis.checkers.declaration
import org.jetbrains.kotlin.diagnostics.DiagnosticReporter
import org.jetbrains.kotlin.diagnostics.reportOn
import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
import org.jetbrains.kotlin.fir.analysis.checkers.fullyExpandedClassId
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
import org.jetbrains.kotlin.fir.declarations.FirTypeAlias
import org.jetbrains.kotlin.fir.declarations.utils.expandedConeType
import org.jetbrains.kotlin.fir.resolve.fullyExpandedType
import org.jetbrains.kotlin.fir.types.ConeKotlinType
import org.jetbrains.kotlin.fir.types.classId
import org.jetbrains.kotlin.fir.types.type
import org.jetbrains.kotlin.name.StandardClassIds
@@ -27,12 +26,11 @@ object FirTypeAliasExpandsToArrayOfNothingsChecker : FirTypeAliasChecker() {
}
private fun ConeKotlinType.isMalformed(context: CheckerContext): Boolean =
expandedClassId(context) == StandardClassIds.Array
&& typeArguments.singleOrNull()?.type?.expandedClassId(context) == StandardClassIds.Nothing
fullyExpandedClassId(context.session) == StandardClassIds.Array
&& typeArguments.singleOrNull()?.type?.fullyExpandedClassId(context.session) == StandardClassIds.Nothing
|| containsMalformedArgument(context)
private fun ConeKotlinType.containsMalformedArgument(context: CheckerContext) =
typeArguments.any { it.type?.isMalformed(context) == true }
private fun ConeKotlinType.expandedClassId(context: CheckerContext) = fullyExpandedType(context.session).classId
}