NlsInfo (@NotNull PsiAnnotationOwner owner) { for (PsiAnnotation annotation : owner.getAnnotations()) { NlsInfo info = fromAnnotation(annotation); if (info != NlsUnspecified.UNKNOWN) { return info; } UAnnotation uAnnotation = UastContextKt.toUElement(annotation, UAnnotation.class); if (uAnnotation != null) { info = fromMetaAnnotation(uAnnotation.resolve()); } else { String name = annotation.getQualifiedName(); if (name != null) { info = fromMetaAnnotation(JavaPsiFacade.getInstance(annotation.getProject()).findClass(name, annotation.getResolveScope())); } } if (info != NlsUnspecified.UNKNOWN) { return info; } } if (owner instanceof PsiModifierList) { PsiElement parent = ((PsiModifierList)owner).getParent(); if (parent instanceof PsiModifierListOwner) { // Could be externally annotated PsiAnnotation annotation = AnnotationUtil.findAnnotationInHierarchy((PsiModifierListOwner)parent, ANNOTATION_NAMES, false); if (annotation != null) { return fromAnnotation(annotation); } } } return NlsUnspecified.UNKNOWN; }