Esempio n. 1
0
  private static Set<Language> getApplicableLanguages(
      PMDConfiguration configuration, RuleSets ruleSets) {
    Set<Language> languages = new HashSet<Language>();
    LanguageVersionDiscoverer discoverer = configuration.getLanguageVersionDiscoverer();

    for (Rule rule : ruleSets.getAllRules()) {
      Language language = rule.getLanguage();
      if (languages.contains(language)) continue;
      LanguageVersion version = discoverer.getDefaultLanguageVersion(language);
      if (RuleSet.applies(rule, version)) {
        languages.add(language);
      }
    }
    return languages;
  }