FIR IDE: add helper to resolve call for any KtElement

This commit is contained in:
Tianyu Geng
2021-10-28 15:24:38 -07:00
committed by Ilya Kirillov
parent 523cb4b3e8
commit 1a22124c02
2 changed files with 11 additions and 6 deletions
@@ -44,11 +44,6 @@ abstract class AbstractResolveCallTest(configurator: FrontendApiTestConfigurator
}
private fun KtAnalysisSession.resolveCall(element: PsiElement): KtCall? = when (element) {
is KtCallElement -> element.resolveCall()
is KtBinaryExpression -> element.resolveCall()
is KtUnaryExpression -> element.resolveCall()
is KtArrayAccessExpression -> element.resolveCall()
is KtSimpleNameExpression -> element.resolveAccessorCall()
is KtValueArgument -> resolveCall(element.getArgumentExpression()!!)
is KtDeclarationModifierList -> {
val annotationEntry = element.annotationEntries.singleOrNull()
@@ -60,6 +55,8 @@ abstract class AbstractResolveCallTest(configurator: FrontendApiTestConfigurator
?: error("Only single annotation entry is supported for now")
annotationEntry.resolveCall()
}
is KtSimpleNameExpression -> element.resolveAccessorCall()
is KtElement -> element.resolveCallIfPossible()
else -> error("Selected element type (${element::class.simpleName}) is not supported for resolveCall()")
}