private JavaClass checkClass()

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;
    }
  }