/**
  * Convert import-style string for supported annotations into a regex matching that string. If the
  * string is a valid import-style string, return a regex that won't match anything.
  */
 private static Pattern importStringToPattern(String s, Processor p, Log log) {
   if (isValidImportString(s)) {
     return validImportStringToPattern(s);
   } else {
     log.warning("proc.malformed.supported.string", s, p.getClass().getName());
     return noMatches; // won't match any valid identifier
   }
 }
    /**
     * Checks whether or not a processor's source version is compatible with the compilation source
     * version. The processor's source version needs to be greater than or equal to the source
     * version of the compile.
     */
    private void checkSourceVersionCompatibility(Source source, Log log) {
      SourceVersion procSourceVersion = processor.getSupportedSourceVersion();

      if (procSourceVersion.compareTo(Source.toSourceVersion(source)) < 0) {
        log.warning(
            "proc.processor.incompatible.source.version",
            procSourceVersion,
            processor.getClass().getName(),
            source.name);
      }
    }
 private boolean checkOptionName(String optionName, Log log) {
   boolean valid = isValidOptionName(optionName);
   if (!valid)
     log.error("proc.processor.bad.option.name", optionName, processor.getClass().getName());
   return valid;
 }