Uast: KotlinUNestedAnnotation with light annotation (IDEA-185890)
This commit is contained in:
committed by
xiexed
parent
cb05baa02b
commit
91a4bbed2e
@@ -122,11 +122,12 @@ class KotlinUNestedAnnotation(
|
|||||||
givenParent: UElement?,
|
givenParent: UElement?,
|
||||||
private val classDescriptor: ClassDescriptor?
|
private val classDescriptor: ClassDescriptor?
|
||||||
) : KotlinUAnnotationBase(original, givenParent) {
|
) : KotlinUAnnotationBase(original, givenParent) {
|
||||||
override val javaPsi: PsiAnnotation? = null
|
override val javaPsi: PsiAnnotation? by lazy { original.toLightAnnotation() }
|
||||||
override val annotationClassDescriptor: ClassDescriptor?
|
override val annotationClassDescriptor: ClassDescriptor?
|
||||||
get() = classDescriptor
|
get() = classDescriptor
|
||||||
|
|
||||||
override fun annotationUseSiteTarget(): AnnotationUseSiteTarget? = null
|
override fun annotationUseSiteTarget(): AnnotationUseSiteTarget? = null
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package org.jetbrains.uast.test.kotlin
|
package org.jetbrains.uast.test.kotlin
|
||||||
|
|
||||||
|
import com.intellij.psi.PsiAnnotation
|
||||||
import com.intellij.psi.PsiModifier
|
import com.intellij.psi.PsiModifier
|
||||||
import com.intellij.testFramework.UsefulTestCase
|
import com.intellij.testFramework.UsefulTestCase
|
||||||
import org.jetbrains.kotlin.asJava.toLightAnnotation
|
import org.jetbrains.kotlin.asJava.toLightAnnotation
|
||||||
@@ -288,6 +289,9 @@ class KotlinUastApiTest : AbstractKotlinUastTest() {
|
|||||||
?: throw AssertionError("haven't got annotation from $referenceExpression(${referenceExpression?.javaClass})")
|
?: throw AssertionError("haven't got annotation from $referenceExpression(${referenceExpression?.javaClass})")
|
||||||
|
|
||||||
assertEquals("Annotation", convertedUAnnotation.qualifiedName)
|
assertEquals("Annotation", convertedUAnnotation.qualifiedName)
|
||||||
|
val lightAnnotation = convertedUAnnotation.getAsJavaPsiElement(PsiAnnotation::class.java)
|
||||||
|
?: throw AssertionError("can't get lightAnnotation from $convertedUAnnotation")
|
||||||
|
assertEquals("Annotation", lightAnnotation.qualifiedName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user