[FIR] Remove duplicated code discovered by running inspection

This commit is contained in:
Ivan Kochurkin
2023-07-05 13:19:03 +02:00
committed by Space Team
parent 1a28067b76
commit 4d24a8b40c
2 changed files with 10 additions and 33 deletions
@@ -28,9 +28,8 @@ import org.jetbrains.kotlin.fir.originalOrSelf
import org.jetbrains.kotlin.fir.resolve.substitution.substitutorByMap
import org.jetbrains.kotlin.fir.resolve.toSymbol
import org.jetbrains.kotlin.fir.scopes.FirTypeScope
import org.jetbrains.kotlin.fir.scopes.getDirectOverriddenFunctions
import org.jetbrains.kotlin.fir.scopes.getDirectOverriddenProperties
import org.jetbrains.kotlin.fir.scopes.impl.toConeType
import org.jetbrains.kotlin.fir.scopes.retrieveDirectOverriddenOf
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
import org.jetbrains.kotlin.fir.symbols.impl.*
@@ -56,22 +55,6 @@ object FirOverrideChecker : FirClassChecker() {
}
}
private fun FirTypeScope.retrieveDirectOverriddenOf(memberSymbol: FirCallableSymbol<*>): List<FirCallableSymbol<*>> {
return when (memberSymbol) {
is FirNamedFunctionSymbol -> {
processFunctionsByName(memberSymbol.name) {}
getDirectOverriddenFunctions(memberSymbol)
}
is FirPropertySymbol -> {
processPropertiesByName(memberSymbol.name) {}
getDirectOverriddenProperties(memberSymbol)
}
else -> throw IllegalArgumentException("unexpected member kind $memberSymbol")
}
}
private fun ConeKotlinType.substituteAllTypeParameters(
overrideDeclaration: FirCallableSymbol<*>,
baseDeclaration: FirCallableSymbol<*>,
@@ -890,21 +890,7 @@ class LightTreeRawFirExpressionBuilder(
baseSource = whenCondition.toFirSourceElement(),
operationReferenceSource = conditionSource
)
return if (hasSubject) {
WhenConditionConvertedResults(result, false)
} else {
WhenConditionConvertedResults(
buildErrorExpression {
source = whenCondition.toFirSourceElement()
diagnostic = ConeSimpleDiagnostic(
"No expression in condition with expression",
DiagnosticKind.ExpressionExpected
)
nonExpressionElement = result
},
true,
)
}
return createWhenConditionConvertedResults(hasSubject, result, whenCondition)
}
private fun convertWhenConditionIsPattern(
@@ -934,6 +920,14 @@ class LightTreeRawFirExpressionBuilder(
argumentList = buildUnaryArgumentList(subjectExpression)
}
return createWhenConditionConvertedResults(hasSubject, result, whenCondition)
}
private fun createWhenConditionConvertedResults(
hasSubject: Boolean,
result: FirExpression,
whenCondition: LighterASTNode,
): WhenConditionConvertedResults {
return if (hasSubject) {
WhenConditionConvertedResults(result, false)
} else {