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
@@ -22,6 +22,7 @@ import org.jetbrains.kotlin.descriptors.annotations.AnnotationWithTarget
import org.jetbrains.kotlin.descriptors.annotations.Annotations
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.resolve.DescriptorUtils
import org.jetbrains.kotlin.resolve.descriptorUtil.annotationClass
import org.jetbrains.kotlin.storage.StorageManager
class DeserializedAnnotations(
@@ -42,8 +43,8 @@ open class DeserializedAnnotationsWithPossibleTargets(
override fun findAnnotation(fqName: FqName) = annotations().firstOrNull {
annotationWithTarget ->
if (annotationWithTarget.target != null) return@firstOrNull false
val descriptor = annotationWithTarget.annotation.type.constructor.declarationDescriptor
descriptor is ClassDescriptor && fqName.toUnsafe() == DescriptorUtils.getFqName(descriptor)
val descriptor = annotationWithTarget.annotation.annotationClass
descriptor != null && fqName.toUnsafe() == DescriptorUtils.getFqName(descriptor)
}?.annotation
override fun findExternalAnnotation(fqName: FqName) = null