[AA] register KtDefaultAnnotationArgumentReference

This commit is contained in:
Anna Kozlova
2022-12-21 23:39:30 +01:00
committed by teamcity
parent 71afbb36f5
commit 47f32b715f
@@ -6,7 +6,10 @@
package org.jetbrains.kotlin.idea.references
import org.jetbrains.kotlin.analysis.api.fir.references.KtFirKDocReference
import org.jetbrains.kotlin.psi.KtAnnotationEntry
import org.jetbrains.kotlin.psi.KtSimpleNameExpression
import org.jetbrains.kotlin.psi.KtValueArgument
import org.jetbrains.kotlin.psi.psiUtil.getParentOfTypeAndBranch
import org.jetbrains.kotlin.resolve.references.ReferenceAccess
class KotlinFirReferenceContributor : KotlinReferenceProviderContributor {
@@ -31,6 +34,14 @@ class KotlinFirReferenceContributor : KotlinReferenceProviderContributor {
)
}
}
registerProvider provider@{ element: KtValueArgument ->
if (element.isNamed()) return@provider null
val annotationEntry = element.getParentOfTypeAndBranch<KtAnnotationEntry> { valueArgumentList } ?: return@provider null
if (annotationEntry.valueArguments.size != 1) return@provider null
KtDefaultAnnotationArgumentReference(element)
}
}
}
}