Class SuppressionAnalyzer

java.lang.Object
org.codenarc.analyzer.SuppressionAnalyzer

public class SuppressionAnalyzer extends Object
This class encapsulates all of the logic for determining if an rule is suppressed or not.
  • Field Details

    • SUPPRESS_WARNINGS

      private static final org.codehaus.groovy.ast.ClassNode SUPPRESS_WARNINGS
    • source

      private final SourceCode source
    • initialized

      private boolean initialized
    • initializationLock

      private final Object initializationLock
    • suppressedRuleNames

      private final Set<String> suppressedRuleNames
    • suppressionsByLineNumber

      private final Map<String,BitSet> suppressionsByLineNumber
  • Constructor Details

    • SuppressionAnalyzer

      public SuppressionAnalyzer(SourceCode source)
  • Method Details

    • isRuleSuppressed

      public boolean isRuleSuppressed(Rule rule)
    • filterSuppressedViolations

      public List<Violation> filterSuppressedViolations(Iterable<Violation> violations)
    • isViolationSuppressed

      public boolean isViolationSuppressed(Violation violation)
    • init

      private void init()
    • getSuppressionsByLineNumber

      private Map<String,BitSet> getSuppressionsByLineNumber(org.codehaus.groovy.ast.ModuleNode ast)
    • getImportNodes

      private List<org.codehaus.groovy.ast.ImportNode> getImportNodes(org.codehaus.groovy.ast.ModuleNode ast)
    • from

      private static <T extends Collection> T from(T from)
    • populateLineNumbers

      private static void populateLineNumbers(org.codehaus.groovy.ast.AnnotatedNode node, Map<String,BitSet> result, int numLines, String ruleName)
    • getLineCount

      private static int getLineCount(org.codehaus.groovy.ast.ModuleNode ast)
    • getSuppressedRuleNames

      private static Collection<String> getSuppressedRuleNames(Collection<? extends org.codehaus.groovy.ast.AnnotatedNode> imports)
    • getSuppressedRuleNames

      private static Collection<String> getSuppressedRuleNames(org.codehaus.groovy.ast.AnnotatedNode node)
    • getSuppressWarningsAnnotations

      private static Set<org.codehaus.groovy.ast.AnnotationNode> getSuppressWarningsAnnotations(org.codehaus.groovy.ast.AnnotatedNode node)