diff --git a/plugins/kotlin/frontend-fir/src/org/jetbrains/kotlin/idea/references/FirReferenceResolveHelper.kt b/plugins/kotlin/frontend-fir/src/org/jetbrains/kotlin/idea/references/FirReferenceResolveHelper.kt index c0928b8f1d66..85621f745081 100644 --- a/plugins/kotlin/frontend-fir/src/org/jetbrains/kotlin/idea/references/FirReferenceResolveHelper.kt +++ b/plugins/kotlin/frontend-fir/src/org/jetbrains/kotlin/idea/references/FirReferenceResolveHelper.kt @@ -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(analysisSession.firResolveState) ?: return emptyList() + val firCall = ktCallExpression.getOrBuildFirSafe(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 diff --git a/plugins/kotlin/idea/tests/testData/resolve/references/JavaAnnotationParameter.kt b/plugins/kotlin/idea/tests/testData/resolve/references/JavaAnnotationParameter.kt index 53a984e54b28..23dbefa5d91c 100644 --- a/plugins/kotlin/idea/tests/testData/resolve/references/JavaAnnotationParameter.kt +++ b/plugins/kotlin/idea/tests/testData/resolve/references/JavaAnnotationParameter.kt @@ -1,4 +1,5 @@ -@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME) +@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME) annotation class Anno() -// REF: of java.lang.annotation.Retention.value() \ No newline at end of file +// REF1: (java.lang.annotation).Retention +// REF2: of java.lang.annotation.Retention.value()