Refactor: extract AnnotationDescriptor.annotationClass utility

This commit is contained in:
Pavel V. Talanov
2017-04-28 18:41:48 +03:00
parent 7ef18fe5ba
commit 55a0e138fc
19 changed files with 55 additions and 33 deletions
@@ -4,6 +4,7 @@ import com.intellij.psi.PsiClass
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.psi.KtAnnotationEntry
import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.descriptorUtil.annotationClass
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
import org.jetbrains.uast.*
@@ -14,7 +15,7 @@ class KotlinUAnnotation(
private val resolvedAnnotation by lz { psi.analyze()[BindingContext.ANNOTATION, psi] }
override val qualifiedName: String?
get() = resolvedAnnotation?.type?.constructor?.declarationDescriptor?.fqNameSafe?.asString()
get() = resolvedAnnotation?.annotationClass?.fqNameSafe?.asString()
override val attributeValues by lz {
val context = getUastContext()
@@ -28,7 +29,7 @@ class KotlinUAnnotation(
}
override fun resolve(): PsiClass? {
val descriptor = resolvedAnnotation?.type?.constructor?.declarationDescriptor ?: return null
val descriptor = resolvedAnnotation?.annotationClass ?: return null
return descriptor.toSource()?.getMaybeLightElement(this) as? PsiClass
}