in google-http-client-findbugs/src/main/java/com/google/api/client/findbugs/BetaDetector.java [122:155]
private JavaClass checkClass() {
// TODO(peleyal): check if caching the beta state of every class could improve
// performance on large projects
try {
JavaClass javaClass = Repository.lookupClass(getClassConstantOperand());
boolean isGoogleClass = javaClass.getClassName().startsWith("com.google.api.client");
if (!isGoogleClass) {
return null;
}
// suppress errors when declaring fields inside a class (e.g. declaration of Beta
// field in Beta class)
if (javaClass.getClassName().equals(getDottedClassName())) {
return null;
}
// suppress errors if the container class or method is beta
if (isBeta(getThisClass().getAnnotationEntries())
|| (getMethod() != null && isBeta(getMethod().getAnnotationEntries()))) {
return null;
}
if (isBeta(javaClass.getAnnotationEntries())) {
bugReporter.reportBug(createBugInstance(BETA_CLASS_USAGE).addClass(javaClass));
return null;
}
return javaClass;
} catch (ClassNotFoundException e) {
bugReporter.reportMissingClass(e);
return null;
}
}