diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUAnnotation.kt b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUAnnotation.kt index 05d8c2af3d8..486c8ecaa91 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUAnnotation.kt +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUAnnotation.kt @@ -122,11 +122,12 @@ class KotlinUNestedAnnotation( givenParent: UElement?, private val classDescriptor: ClassDescriptor? ) : KotlinUAnnotationBase(original, givenParent) { - override val javaPsi: PsiAnnotation? = null + override val javaPsi: PsiAnnotation? by lazy { original.toLightAnnotation() } override val annotationClassDescriptor: ClassDescriptor? get() = classDescriptor override fun annotationUseSiteTarget(): AnnotationUseSiteTarget? = null + } diff --git a/plugins/uast-kotlin/tests/KotlinUastApiTest.kt b/plugins/uast-kotlin/tests/KotlinUastApiTest.kt index 5e8fbf581c2..a4cefcc05e1 100644 --- a/plugins/uast-kotlin/tests/KotlinUastApiTest.kt +++ b/plugins/uast-kotlin/tests/KotlinUastApiTest.kt @@ -1,5 +1,6 @@ package org.jetbrains.uast.test.kotlin +import com.intellij.psi.PsiAnnotation import com.intellij.psi.PsiModifier import com.intellij.testFramework.UsefulTestCase import org.jetbrains.kotlin.asJava.toLightAnnotation @@ -288,6 +289,9 @@ class KotlinUastApiTest : AbstractKotlinUastTest() { ?: throw AssertionError("haven't got annotation from $referenceExpression(${referenceExpression?.javaClass})") assertEquals("Annotation", convertedUAnnotation.qualifiedName) + val lightAnnotation = convertedUAnnotation.getAsJavaPsiElement(PsiAnnotation::class.java) + ?: throw AssertionError("can't get lightAnnotation from $convertedUAnnotation") + assertEquals("Annotation", lightAnnotation.qualifiedName) } }