private static void resolveTypeQualifierDefaults(AnnotationValue value, ElementType defaultFor,
LinkedList<AnnotationValue> result) {
try {
XClass c = Global.getAnalysisCache().getClassAnalysis(XClass.class, value.getAnnotationClass());
AnnotationValue defaultAnnotation = c.getAnnotation(typeQualifierDefault);
if (defaultAnnotation == null) {
return;
}
for (Object o : (Object[]) defaultAnnotation.getValue("value")) {
if (o instanceof EnumValue) {
EnumValue e = (EnumValue) o;
if (e.desc.equals(elementTypeDescriptor) && e.value.equals(defaultFor.name())) {
for (ClassDescriptor d : c.getAnnotationDescriptors()) {
if (!d.equals(typeQualifierDefault)) {