Class StdCyclomaticComplexityRule
- java.lang.Object
-
- net.sourceforge.pmd.properties.AbstractPropertySource
-
- net.sourceforge.pmd.lang.rule.AbstractRule
-
- net.sourceforge.pmd.lang.apex.rule.AbstractApexRule
-
- net.sourceforge.pmd.lang.apex.rule.design.StdCyclomaticComplexityRule
-
- All Implemented Interfaces:
ApexParserVisitor
,ApexVisitor<Object,Object>
,AstVisitor<Object,Object>
,PropertySource
,Rule
public class StdCyclomaticComplexityRule extends AbstractApexRule
Implements the standard cyclomatic complexity ruleStandard rules: +1 for each decision point, but not including boolean operators unlike CyclomaticComplexityRule.
- Since:
- June 18, 2014
- Author:
- ported on Java version of Alan Hohn, based on work by Donald A. Leckie
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
StdCyclomaticComplexityRule.Entry
-
Field Summary
Fields Modifier and Type Field Description protected Deque<StdCyclomaticComplexityRule.Entry>
entryStack
static PropertyDescriptor<Integer>
REPORT_LEVEL_DESCRIPTOR
static PropertyDescriptor<Boolean>
SHOW_CLASSES_COMPLEXITY_DESCRIPTOR
static PropertyDescriptor<Boolean>
SHOW_METHODS_COMPLEXITY_DESCRIPTOR
-
Fields inherited from class net.sourceforge.pmd.properties.AbstractPropertySource
propertyDescriptors, propertyValuesByDescriptor
-
Fields inherited from interface net.sourceforge.pmd.Rule
VIOLATION_SUPPRESS_REGEX_DESCRIPTOR, VIOLATION_SUPPRESS_XPATH_DESCRIPTOR
-
-
Constructor Summary
Constructors Constructor Description StdCyclomaticComplexityRule()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
start(RuleContext ctx)
Object
visit(ASTBooleanExpression node, Object data)
Object
visit(ASTDoLoopStatement node, Object data)
Object
visit(ASTForEachStatement node, Object data)
Object
visit(ASTForLoopStatement node, Object data)
Object
visit(ASTIfBlockStatement node, Object data)
Object
visit(ASTMethod node, Object data)
Object
visit(ASTTernaryExpression node, Object data)
Object
visit(ASTTryCatchFinallyBlockStatement node, Object data)
Object
visit(ASTUserClass node, Object data)
Object
visit(ASTUserEnum node, Object data)
Object
visit(ASTUserInterface node, Object data)
Object
visit(ASTUserTrigger node, Object data)
Object
visit(ASTWhileLoopStatement node, Object data)
-
Methods inherited from class net.sourceforge.pmd.lang.apex.rule.AbstractApexRule
apply
-
Methods inherited from class net.sourceforge.pmd.lang.rule.AbstractRule
addExample, addRuleChainVisit, addViolation, addViolation, addViolation, addViolationWithMessage, addViolationWithMessage, addViolationWithMessage, asCtx, buildTargetSelector, deepCopy, deepCopyValuesTo, end, equals, getDescription, getExamples, getExternalInfoUrl, getLanguage, getMaximumLanguageVersion, getMessage, getMinimumLanguageVersion, getName, getPriority, getPropertySourceType, getRuleClass, getRuleSetName, getSince, getTargetSelector, hashCode, isDeprecated, setDeprecated, setDescription, setExternalInfoUrl, setLanguage, setMaximumLanguageVersion, setMessage, setMinimumLanguageVersion, setName, setPriority, setRuleClass, setRuleSetName, setSince
-
Methods inherited from class net.sourceforge.pmd.properties.AbstractPropertySource
copyPropertyDescriptors, copyPropertyValues, definePropertyDescriptor, dysfunctionReason, getOverriddenPropertiesByPropertyDescriptor, getOverriddenPropertyDescriptors, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, isPropertyOverridden, setProperty, setProperty
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.sourceforge.pmd.lang.apex.ast.ApexParserVisitor
visit, visitApexNode, visitNode
-
Methods inherited from interface net.sourceforge.pmd.lang.apex.ast.ApexVisitor
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
-
Methods inherited from interface net.sourceforge.pmd.lang.ast.AstVisitor
cannotVisit
-
Methods inherited from interface net.sourceforge.pmd.properties.PropertySource
definePropertyDescriptor, dysfunctionReason, getOverriddenPropertiesByPropertyDescriptor, getOverriddenPropertyDescriptors, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, isPropertyOverridden, setProperty, setProperty
-
Methods inherited from interface net.sourceforge.pmd.Rule
initialize
-
-
-
-
Field Detail
-
REPORT_LEVEL_DESCRIPTOR
public static final PropertyDescriptor<Integer> REPORT_LEVEL_DESCRIPTOR
-
SHOW_CLASSES_COMPLEXITY_DESCRIPTOR
public static final PropertyDescriptor<Boolean> SHOW_CLASSES_COMPLEXITY_DESCRIPTOR
-
SHOW_METHODS_COMPLEXITY_DESCRIPTOR
public static final PropertyDescriptor<Boolean> SHOW_METHODS_COMPLEXITY_DESCRIPTOR
-
entryStack
protected Deque<StdCyclomaticComplexityRule.Entry> entryStack
-
-
Method Detail
-
start
public void start(RuleContext ctx)
- Specified by:
start
in interfaceRule
- Overrides:
start
in classAbstractRule
-
visit
public Object visit(ASTUserClass node, Object data)
-
visit
public Object visit(ASTUserTrigger node, Object data)
-
visit
public Object visit(ASTUserInterface node, Object data)
-
visit
public Object visit(ASTUserEnum node, Object data)
-
visit
public Object visit(ASTIfBlockStatement node, Object data)
-
visit
public Object visit(ASTTryCatchFinallyBlockStatement node, Object data)
-
visit
public Object visit(ASTForLoopStatement node, Object data)
-
visit
public Object visit(ASTForEachStatement node, Object data)
-
visit
public Object visit(ASTWhileLoopStatement node, Object data)
-
visit
public Object visit(ASTDoLoopStatement node, Object data)
-
visit
public Object visit(ASTTernaryExpression node, Object data)
-
visit
public Object visit(ASTBooleanExpression node, Object data)
-
-