K2: Get rid of redundant enum at FirOptInUsageBaseChecker

This commit is contained in:
Denis.Zharkov
2023-06-26 15:09:46 +03:00
committed by Space Team
parent 987fa87c90
commit 379ec2fae8
@@ -23,7 +23,10 @@ import org.jetbrains.kotlin.fir.resolve.toFirRegularClassSymbol
import org.jetbrains.kotlin.fir.resolve.toSymbol
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
import org.jetbrains.kotlin.fir.symbols.impl.*
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
import org.jetbrains.kotlin.fir.types.*
import org.jetbrains.kotlin.name.ClassId
@@ -255,9 +258,9 @@ object FirOptInUsageBaseChecker {
val levelArgument = experimental.findArgumentByName(LEVEL) as? FirQualifiedAccessExpression
val levelName = levelArgument?.calleeReference?.resolved?.name?.asString()
val level = OptInLevel.values().firstOrNull { it.name == levelName } ?: OptInLevel.DEFAULT
val severity = Experimentality.Severity.values().firstOrNull { it.name == levelName } ?: Experimentality.DEFAULT_SEVERITY
val message = (experimental.findArgumentByName(MESSAGE) as? FirConstExpression<*>)?.value as? String
return Experimentality(symbol.classId, level.severity, message, annotatedOwnerClassName)
return Experimentality(symbol.classId, severity, message, annotatedOwnerClassName)
}
fun reportNotAcceptedExperimentalities(
@@ -381,10 +384,4 @@ object FirOptInUsageBaseChecker {
private val LEVEL = Name.identifier("level")
private val MESSAGE = Name.identifier("message")
private enum class OptInLevel(val severity: Experimentality.Severity) {
WARNING(Experimentality.Severity.WARNING),
ERROR(Experimentality.Severity.ERROR),
DEFAULT(Experimentality.DEFAULT_SEVERITY)
}
}