[LL API] Minor, clean up 'handleExceptionFromResolve()'

This commit is contained in:
Yan Zhulanow
2023-05-16 17:41:18 +09:00
committed by Space Team
parent 89797815a4
commit c7c49fd267
@@ -198,29 +198,33 @@ private fun handleExceptionFromResolve(
exception: Exception, exception: Exception,
firDeclarationToResolve: FirElementWithResolveState, firDeclarationToResolve: FirElementWithResolveState,
fromPhase: FirResolvePhase, fromPhase: FirResolvePhase,
toPhase: FirResolvePhase? toPhase: FirResolvePhase
): Nothing { ): Nothing {
if (exception is InvalidSessionException) { if (exception is InvalidSessionException) {
throw exception throw exception
} }
firDeclarationToResolve.llFirSession.invalidate() val session = firDeclarationToResolve.llFirSession
session.invalidate()
val moduleData = firDeclarationToResolve.llFirModuleData
val module = moduleData.ktModule
rethrowExceptionWithDetails( rethrowExceptionWithDetails(
buildString { buildString {
val moduleData = firDeclarationToResolve.llFirModuleData
appendLine("Error while resolving ${firDeclarationToResolve::class.java.name} ") appendLine("Error while resolving ${firDeclarationToResolve::class.java.name} ")
appendLine("from $fromPhase to $toPhase") appendLine("from $fromPhase to $toPhase")
appendLine("current declaration phase ${firDeclarationToResolve.resolvePhase}") appendLine("current declaration phase ${firDeclarationToResolve.resolvePhase}")
appendLine("origin: ${(firDeclarationToResolve as? FirDeclaration)?.origin}") appendLine("origin: ${(firDeclarationToResolve as? FirDeclaration)?.origin}")
appendLine("session: ${firDeclarationToResolve.llFirSession::class}") appendLine("session: ${session::class}")
appendLine("module data: ${moduleData::class}") appendLine("module data: ${moduleData::class}")
appendLine("KtModule: ${moduleData.ktModule::class}") appendLine("KtModule: ${module::class}")
appendLine("platform: ${moduleData.ktModule.platform}") appendLine("platform: ${module.platform}")
}, },
exception = exception, exception = exception,
) { ) {
withEntry("KtModule", firDeclarationToResolve.llFirModuleData.ktModule) { it.moduleDescription } withEntry("KtModule", module) { it.moduleDescription }
withEntry("session", firDeclarationToResolve.llFirSession) { it.toString() } withEntry("session", session) { it.toString() }
withEntry("moduleData", firDeclarationToResolve.moduleData) { it.toString() } withEntry("moduleData", firDeclarationToResolve.moduleData) { it.toString() }
withFirEntry("firDeclarationToResolve", firDeclarationToResolve) withFirEntry("firDeclarationToResolve", firDeclarationToResolve)
} }
@@ -229,27 +233,30 @@ private fun handleExceptionFromResolve(
private fun handleExceptionFromResolve( private fun handleExceptionFromResolve(
exception: Exception, exception: Exception,
designation: LLFirResolveTarget, designation: LLFirResolveTarget,
toPhase: FirResolvePhase? toPhase: FirResolvePhase
): Nothing { ): Nothing {
if (exception is InvalidSessionException) { if (exception is InvalidSessionException) {
throw exception throw exception
} }
val llFirSession = designation.firFile.llFirSession val session = designation.firFile.llFirSession
llFirSession.invalidate() session.invalidate()
val moduleData = llFirSession.llFirModuleData
val moduleData = session.llFirModuleData
val module = moduleData.ktModule
rethrowExceptionWithDetails( rethrowExceptionWithDetails(
buildString { buildString {
appendLine("Error while resolving ${designation::class.java.name} ") appendLine("Error while resolving ${designation::class.java.name} ")
appendLine("to $toPhase") appendLine("to $toPhase")
appendLine("module data: ${moduleData::class}") appendLine("module data: ${moduleData::class}")
appendLine("KtModule: ${moduleData.ktModule::class}") appendLine("KtModule: ${module::class}")
appendLine("platform: ${moduleData.ktModule.platform}") appendLine("platform: ${module.platform}")
}, },
exception = exception, exception = exception,
) { ) {
withEntry("KtModule", moduleData.ktModule) { it.moduleDescription } withEntry("KtModule", module) { it.moduleDescription }
withEntry("session", designation.firFile.llFirSession) { it.toString() } withEntry("session", session) { it.toString() }
withEntry("moduleData", moduleData) { it.toString() } withEntry("moduleData", moduleData) { it.toString() }
withEntry("firDesignationToResolve", designation) { it.toString() } withEntry("firDesignationToResolve", designation) { it.toString() }
} }