Package org.codenarc.analyzer
Class SuppressionAnalyzer
- java.lang.Object
-
- org.codenarc.analyzer.SuppressionAnalyzer
-
public class SuppressionAnalyzer extends java.lang.ObjectThis 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.ObjectinitializationLockprivate booleaninitializedprivate SourceCodesourceprivate static org.codehaus.groovy.ast.ClassNodeSUPPRESS_WARNINGSprivate java.util.Set<java.lang.String>suppressedRuleNamesprivate 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 intgetLineCount(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 voidinit()booleanisRuleSuppressed(Rule rule)booleanisViolationSuppressed(Violation violation)private static voidpopulateLineNumbers(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)
-
-