Search for JvmName also among use-site targeted annotations

#KT-9699 Fixed
This commit is contained in:
Alexander Udalov
2015-10-23 16:20:13 +03:00
parent ae4c7b5a61
commit 1517a099d0
3 changed files with 36 additions and 4 deletions
@@ -23,6 +23,7 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.descriptors.annotations.Annotated;
import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor;
import org.jetbrains.kotlin.descriptors.annotations.AnnotationWithTarget;
import org.jetbrains.kotlin.descriptors.annotations.Annotations;
import org.jetbrains.kotlin.descriptors.impl.AnonymousFunctionDescriptor;
import org.jetbrains.kotlin.descriptors.impl.FunctionExpressionDescriptor;
@@ -595,11 +596,11 @@ public class DescriptorUtils {
@Nullable
public static AnnotationDescriptor getJvmNameAnnotation(@NotNull Annotations annotations) {
AnnotationDescriptor jvmNameAnnotation = annotations.findAnnotation(JVM_NAME);
if (jvmNameAnnotation == null) {
jvmNameAnnotation = annotations.findAnnotation(PLATFORM_NAME);
AnnotationWithTarget jvmName = Annotations.Companion.findAnyAnnotation(annotations, JVM_NAME);
if (jvmName == null) {
jvmName = Annotations.Companion.findAnyAnnotation(annotations, PLATFORM_NAME);
}
return jvmNameAnnotation;
return jvmName == null ? null : jvmName.getAnnotation();
}
@Nullable