CharOperation.toString(((ReferenceBinding) a.resolvedType).compoundName))) {
continue;
}
// Sometimes it's a SingleMemberAnnotation, other times it's not
Expression value = null;
if (a instanceof SingleMemberAnnotation) {
value = ((SingleMemberAnnotation) a).memberValue;
} else {
for (MemberValuePair pair : a.memberValuePairs()) {
if ("value".equals(String.valueOf(pair.name))) {
value = pair.value;
break;
}
}
}
assert value != null;
if (value instanceof ArrayInitializer) {
for (Expression e : ((ArrayInitializer) value).expressions) {
processArtificialRescue((Annotation) e);
}
} else if (value instanceof Annotation) {
processArtificialRescue((Annotation) value);
} else {
throw new InternalCompilerException(
"Unable to process annotation with value of type "
+ value.getClass().getName());
}
return;
}
}