* stack of annotations being processed; used to detect cycles in
* type qualifier nicknames
*/
private static void resolveTypeQualifierNicknames(AnnotationValue value, LinkedList<AnnotationValue> result,
LinkedList<ClassDescriptor> onStack) {
ClassDescriptor annotationClass = value.getAnnotationClass();
if (onStack.contains(annotationClass)) {
AnalysisContext.logError("Cycle found in type nicknames: " + onStack);
return;
}
try {
onStack.add(annotationClass);
try {
if (annotationClass.equals(googleNullable)
|| annotationClass.equals(eclipseNullable)
|| annotationClass.equals(intellijNullable)) {
resolveTypeQualifierNicknames(new AnnotationValue(JSR305NullnessAnnotations.CHECK_FOR_NULL), result, onStack);
return;
}
if (annotationClass.equals(eclipseNonNull) || annotationClass.equals(eclipseNonNullByDefault)) {
resolveTypeQualifierNicknames(new AnnotationValue(JSR305NullnessAnnotations.NONNULL), result, onStack);
return;
}
XClass c = Global.getAnalysisCache().getClassAnalysis(XClass.class, annotationClass);