Package org.codenarc.analyzer
Class SuppressionAnalyzer
- java.lang.Object
-
- org.codenarc.analyzer.SuppressionAnalyzer
-
public class SuppressionAnalyzer extends java.lang.Object
This class encapsulates all of the logic for determining if an rule is suppressed or not.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Object
initializationLock
private boolean
initialized
private SourceCode
source
private static org.codehaus.groovy.ast.ClassNode
SUPPRESS_WARNINGS
private java.util.Set<java.lang.String>
suppressedRuleNames
private java.util.Map<java.lang.String,java.util.BitSet>
suppressionsByLineNumber
-
Constructor Summary
Constructors Constructor Description SuppressionAnalyzer(SourceCode source)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<Violation>
filterSuppressedViolations(java.lang.Iterable<Violation> violations)
private static <T extends java.util.Collection>
Tfrom(T from)
private java.util.List<org.codehaus.groovy.ast.ImportNode>
getImportNodes(org.codehaus.groovy.ast.ModuleNode ast)
private static int
getLineCount(org.codehaus.groovy.ast.ModuleNode ast)
private static java.util.Collection<java.lang.String>
getSuppressedRuleNames(java.util.Collection<? extends org.codehaus.groovy.ast.AnnotatedNode> imports)
private static java.util.Collection<java.lang.String>
getSuppressedRuleNames(org.codehaus.groovy.ast.AnnotatedNode node)
private java.util.Map<java.lang.String,java.util.BitSet>
getSuppressionsByLineNumber(org.codehaus.groovy.ast.ModuleNode ast)
private static java.util.Set<org.codehaus.groovy.ast.AnnotationNode>
getSuppressWarningsAnnotations(org.codehaus.groovy.ast.AnnotatedNode node)
private void
init()
boolean
isRuleSuppressed(Rule rule)
boolean
isViolationSuppressed(Violation violation)
private static void
populateLineNumbers(org.codehaus.groovy.ast.AnnotatedNode node, java.util.Map<java.lang.String,java.util.BitSet> result, int numLines, java.lang.String ruleName)
-
-
-
Field Detail
-
SUPPRESS_WARNINGS
private static final org.codehaus.groovy.ast.ClassNode SUPPRESS_WARNINGS
-
source
private final SourceCode source
-
initialized
private boolean initialized
-
initializationLock
private final java.lang.Object initializationLock
-
suppressedRuleNames
private final java.util.Set<java.lang.String> suppressedRuleNames
-
suppressionsByLineNumber
private final java.util.Map<java.lang.String,java.util.BitSet> suppressionsByLineNumber
-
-
Constructor Detail
-
SuppressionAnalyzer
public SuppressionAnalyzer(SourceCode source)
-
-
Method Detail
-
isRuleSuppressed
public boolean isRuleSuppressed(Rule rule)
-
filterSuppressedViolations
public java.util.List<Violation> filterSuppressedViolations(java.lang.Iterable<Violation> violations)
-
isViolationSuppressed
public boolean isViolationSuppressed(Violation violation)
-
init
private void init()
-
getSuppressionsByLineNumber
private java.util.Map<java.lang.String,java.util.BitSet> getSuppressionsByLineNumber(org.codehaus.groovy.ast.ModuleNode ast)
-
getImportNodes
private java.util.List<org.codehaus.groovy.ast.ImportNode> getImportNodes(org.codehaus.groovy.ast.ModuleNode ast)
-
from
private static <T extends java.util.Collection> T from(T from)
-
populateLineNumbers
private static void populateLineNumbers(org.codehaus.groovy.ast.AnnotatedNode node, java.util.Map<java.lang.String,java.util.BitSet> result, int numLines, java.lang.String ruleName)
-
getLineCount
private static int getLineCount(org.codehaus.groovy.ast.ModuleNode ast)
-
getSuppressedRuleNames
private static java.util.Collection<java.lang.String> getSuppressedRuleNames(java.util.Collection<? extends org.codehaus.groovy.ast.AnnotatedNode> imports)
-
getSuppressedRuleNames
private static java.util.Collection<java.lang.String> getSuppressedRuleNames(org.codehaus.groovy.ast.AnnotatedNode node)
-
getSuppressWarningsAnnotations
private static java.util.Set<org.codehaus.groovy.ast.AnnotationNode> getSuppressWarningsAnnotations(org.codehaus.groovy.ast.AnnotatedNode node)
-
-