From 8bf339a7cfb124521b8a609f3edca0317a042998 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Mon, 15 Mar 2021 17:48:13 +0100 Subject: [PATCH] FIR IDE: refactor, extract throwing unexpected element error into function --- .../frontend/api/fir/KtSymbolByFirBuilder.kt | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/KtSymbolByFirBuilder.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/KtSymbolByFirBuilder.kt index 1a1d3fa7b8f..a8e98ed2aa3 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/KtSymbolByFirBuilder.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/KtSymbolByFirBuilder.kt @@ -92,7 +92,7 @@ internal class KtSymbolByFirBuilder private constructor( is FirClassLikeDeclaration<*> -> classifierBuilder.buildClassLikeSymbol(fir) is FirTypeParameter -> classifierBuilder.buildTypeParameterSymbol(fir) is FirCallableDeclaration<*> -> callableBuilder.buildCallableSymbol(fir) - else -> error("Unexpected ${fir::class.simpleName}") + else -> throwUnexpectedElementError(fir) } } @@ -116,7 +116,7 @@ internal class KtSymbolByFirBuilder private constructor( return when (val fir = firSymbol.fir) { is FirClassLikeDeclaration -> classifierBuilder.buildClassLikeSymbol(fir) is FirTypeParameter -> buildTypeParameterSymbol(fir) - else -> error("Unexpected ${fir::class.simpleName}") + else -> throwUnexpectedElementError(fir) } } @@ -125,7 +125,7 @@ internal class KtSymbolByFirBuilder private constructor( return when (fir) { is FirClass<*> -> buildClassOrObjectSymbol(fir) is FirTypeAlias -> buildTypeAliasSymbol(fir) - else -> error("Unexpected ${fir::class.simpleName}") + else -> throwUnexpectedElementError(fir) } } @@ -133,7 +133,7 @@ internal class KtSymbolByFirBuilder private constructor( return when (fir) { is FirAnonymousObject -> buildAnonymousObjectSymbol(fir) is FirRegularClass -> buildNamedClassOrObjectSymbol(fir) - else -> error("Unexpected ${fir::class.simpleName}") + else -> throwUnexpectedElementError(fir) } } @@ -175,7 +175,7 @@ internal class KtSymbolByFirBuilder private constructor( is FirSimpleFunction -> buildFunctionSymbol(fir) is FirConstructor -> buildConstructorSymbol(fir) is FirAnonymousFunction -> buildAnonymousFunctionSymbol(fir) - else -> error("Unexpected ${fir::class.simpleName}") + else -> throwUnexpectedElementError(fir) } } @@ -202,7 +202,7 @@ internal class KtSymbolByFirBuilder private constructor( is FirValueParameter -> buildParameterSymbol(fir) is FirField -> buildFieldSymbol(fir) is FirEnumEntry -> buildEnumEntrySymbol(fir) // TODO enum entry should not be callable - else -> error("Unexpected ${fir::class.simpleName}") + else -> throwUnexpectedElementError(fir) } } @@ -248,7 +248,7 @@ internal class KtSymbolByFirBuilder private constructor( is FirPropertyAccessor -> buildPropertyAccessorSymbol(fir) is FirFunction<*> -> functionLikeBuilder.buildFunctionLikeSymbol(fir) is FirVariable<*> -> variableLikeBuilder.buildVariableLikeSymbol(fir) - else -> error("Unexpected ${fir::class.simpleName}") + else -> throwUnexpectedElementError(fir) } } @@ -284,7 +284,7 @@ internal class KtSymbolByFirBuilder private constructor( is ConeFlexibleType -> KtFirFlexibleType(coneType, token, this@KtSymbolByFirBuilder) is ConeIntersectionType -> KtFirIntersectionType(coneType, token, this@KtSymbolByFirBuilder) is ConeDefinitelyNotNullType -> buildKtType(coneType.original) - else -> error("Unexpected ${coneType::class.simpleName}") + else -> throwUnexpectedElementError(coneType) } } } @@ -309,6 +309,12 @@ internal class KtSymbolByFirBuilder private constructor( } } + + companion object { + private fun throwUnexpectedElementError(element: Any): Nothing { + error("Unexpected ${element::class.simpleName}") + } + } }