mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[FIR IDE] Fix annotation value parameter and ctor resolve
Original commit: 659d2c13b4aee40949d53975b934ec919a86dbf0 GitOrigin-RevId: 18f0641ac6c0433fed42e46112a8a915743d2431
This commit is contained in:
committed by
intellij-monorepo-bot
parent
90a15e4f0b
commit
1d2b0a231d
+3
-3
@@ -186,14 +186,14 @@ internal object FirReferenceResolveHelper {
|
||||
val ktValueArgumentName = expression.parent as? KtValueArgumentName ?: return emptyList()
|
||||
val ktValueArgument = ktValueArgumentName.parent as? KtValueArgument ?: return emptyList()
|
||||
val ktValueArgumentList = ktValueArgument.parent as? KtValueArgumentList ?: return emptyList()
|
||||
val ktCallExpression = ktValueArgumentList.parent as? KtCallExpression ?: return emptyList()
|
||||
val ktCallExpression = ktValueArgumentList.parent as? KtCallElement ?: return emptyList()
|
||||
|
||||
val firCall = ktCallExpression.getOrBuildFirSafe<FirFunctionCall>(analysisSession.firResolveState) ?: return emptyList()
|
||||
val firCall = ktCallExpression.getOrBuildFirSafe<FirCall>(analysisSession.firResolveState) ?: return emptyList()
|
||||
val parameter = firCall.findCorrespondingParameter(ktValueArgument) ?: return emptyList()
|
||||
return listOfNotNull(parameter.buildSymbol(symbolBuilder))
|
||||
}
|
||||
|
||||
private fun FirFunctionCall.findCorrespondingParameter(ktValueArgument: KtValueArgument): FirValueParameter? =
|
||||
private fun FirCall.findCorrespondingParameter(ktValueArgument: KtValueArgument): FirValueParameter? =
|
||||
argumentMapping?.entries?.firstNotNullResult { (firArgument, firParameter) ->
|
||||
if (firArgument.psi == ktValueArgument) firParameter
|
||||
else null
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
@java.lang.annotation.Retention(va<caret>lue = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
@java.lang.annotation.Re<caret>tention(va<caret>lue = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
annotation class Anno()
|
||||
|
||||
// REF: of java.lang.annotation.Retention.value()
|
||||
// REF1: (java.lang.annotation).Retention
|
||||
// REF2: of java.lang.annotation.Retention.value()
|
||||
|
||||
Reference in New Issue
Block a user