Drop Annotations.Companion.find/getUseSiteTargetedAnnotation(s)
This commit is contained in:
@@ -13,7 +13,6 @@ import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.kotlin.builtins.functions.BuiltInFictitiousFunctionClassFactory;
|
||||
import org.jetbrains.kotlin.builtins.functions.FunctionClassDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.*;
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget;
|
||||
import org.jetbrains.kotlin.descriptors.annotations.Annotations;
|
||||
import org.jetbrains.kotlin.descriptors.deserialization.AdditionalClassPartsProvider;
|
||||
import org.jetbrains.kotlin.descriptors.deserialization.ClassDescriptorFactory;
|
||||
@@ -1154,7 +1153,7 @@ public abstract class KotlinBuiltIns {
|
||||
}
|
||||
|
||||
public static boolean isDeprecated(@NotNull DeclarationDescriptor declarationDescriptor) {
|
||||
if (containsAnnotation(declarationDescriptor, FQ_NAMES.deprecated)) return true;
|
||||
if (declarationDescriptor.getOriginal().getAnnotations().hasAnnotation(FQ_NAMES.deprecated)) return true;
|
||||
|
||||
if (declarationDescriptor instanceof PropertyDescriptor) {
|
||||
boolean isVar = ((PropertyDescriptor) declarationDescriptor).isVar();
|
||||
@@ -1173,20 +1172,4 @@ public abstract class KotlinBuiltIns {
|
||||
public static FqName getPrimitiveFqName(@NotNull PrimitiveType primitiveType) {
|
||||
return BUILT_INS_PACKAGE_FQ_NAME.child(primitiveType.getTypeName());
|
||||
}
|
||||
|
||||
private static boolean containsAnnotation(DeclarationDescriptor descriptor, FqName annotationClassFqName) {
|
||||
DeclarationDescriptor original = descriptor.getOriginal();
|
||||
Annotations annotations = original.getAnnotations();
|
||||
|
||||
if (annotations.findAnnotation(annotationClassFqName) != null) return true;
|
||||
|
||||
AnnotationUseSiteTarget associatedUseSiteTarget = AnnotationUseSiteTarget.Companion.getAssociatedUseSiteTarget(descriptor);
|
||||
if (associatedUseSiteTarget != null) {
|
||||
if (Annotations.Companion.findUseSiteTargetedAnnotation(annotations, associatedUseSiteTarget, annotationClassFqName) != null) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-13
@@ -16,8 +16,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.descriptors.annotations
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
|
||||
enum class AnnotationUseSiteTarget(renderName: String? = null) {
|
||||
FIELD(),
|
||||
FILE(),
|
||||
@@ -30,14 +28,4 @@ enum class AnnotationUseSiteTarget(renderName: String? = null) {
|
||||
PROPERTY_DELEGATE_FIELD("delegate");
|
||||
|
||||
val renderName: String = renderName ?: name.toLowerCase()
|
||||
|
||||
companion object {
|
||||
fun getAssociatedUseSiteTarget(descriptor: DeclarationDescriptor): AnnotationUseSiteTarget? = when (descriptor) {
|
||||
is PropertyDescriptor -> PROPERTY
|
||||
is ValueParameterDescriptor -> CONSTRUCTOR_PARAMETER
|
||||
is PropertyGetterDescriptor -> PROPERTY_GETTER
|
||||
is PropertySetterDescriptor -> PROPERTY_SETTER
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,16 +57,6 @@ interface Annotations : Iterable<AnnotationDescriptor> {
|
||||
|
||||
override fun toString() = "EMPTY"
|
||||
}
|
||||
|
||||
fun findUseSiteTargetedAnnotation(annotations: Annotations, target: AnnotationUseSiteTarget, fqName: FqName): AnnotationDescriptor? {
|
||||
return getUseSiteTargetedAnnotations(annotations, target).firstOrNull { it.fqName == fqName }
|
||||
}
|
||||
|
||||
private fun getUseSiteTargetedAnnotations(annotations: Annotations, target: AnnotationUseSiteTarget): List<AnnotationDescriptor> {
|
||||
return annotations.getUseSiteTargetedAnnotations().mapNotNull { (annotation, annotationTarget) ->
|
||||
annotation.takeIf { target == annotationTarget }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user