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
,net.sourceforge.pmd.lang.rule.ImmutableLanguage
,net.sourceforge.pmd.properties.PropertySource
,net.sourceforge.pmd.renderers.CodeClimateRule
,net.sourceforge.pmd.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 java.util.Stack<StdCyclomaticComplexityRule.Entry>
entryStack
static net.sourceforge.pmd.properties.IntegerProperty
REPORT_LEVEL_DESCRIPTOR
static net.sourceforge.pmd.properties.BooleanProperty
SHOW_CLASSES_COMPLEXITY_DESCRIPTOR
static net.sourceforge.pmd.properties.BooleanProperty
SHOW_METHODS_COMPLEXITY_DESCRIPTOR
-
Fields inherited from class net.sourceforge.pmd.properties.AbstractPropertySource
propertyDescriptors, propertyValuesByDescriptor
-
-
Constructor Summary
Constructors Constructor Description StdCyclomaticComplexityRule()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
visit(ASTBooleanExpression node, java.lang.Object data)
java.lang.Object
visit(ASTDoLoopStatement node, java.lang.Object data)
java.lang.Object
visit(ASTForEachStatement node, java.lang.Object data)
java.lang.Object
visit(ASTForLoopStatement node, java.lang.Object data)
java.lang.Object
visit(ASTIfBlockStatement node, java.lang.Object data)
java.lang.Object
visit(ASTMethod node, java.lang.Object data)
java.lang.Object
visit(ASTTernaryExpression node, java.lang.Object data)
java.lang.Object
visit(ASTTryCatchFinallyBlockStatement node, java.lang.Object data)
java.lang.Object
visit(ASTUserClass node, java.lang.Object data)
java.lang.Object
visit(ASTUserEnum node, java.lang.Object data)
java.lang.Object
visit(ASTUserInterface node, java.lang.Object data)
java.lang.Object
visit(ASTUserTrigger node, java.lang.Object data)
java.lang.Object
visit(ASTWhileLoopStatement node, java.lang.Object data)
-
Methods inherited from class net.sourceforge.pmd.lang.apex.rule.AbstractApexRule
apply, getParserOptions, 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, visitAll
-
Methods inherited from class net.sourceforge.pmd.properties.AbstractPropertySource
copyPropertyDescriptors, copyPropertyValues, definePropertyDescriptor, dysfunctionReason, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, setProperty, setProperty, useDefaultValueFor, usesDefaultValues
-
Methods inherited from class net.sourceforge.pmd.lang.rule.AbstractRule
addExample, addRuleChainVisit, addRuleChainVisit, addViolation, addViolation, addViolation, addViolationWithMessage, addViolationWithMessage, addViolationWithMessage, deepCopy, deepCopyValuesTo, end, equals, getDescription, getExamples, getExternalInfoUrl, getLanguage, getMaximumLanguageVersion, getMessage, getMinimumLanguageVersion, getName, getPriority, getRuleChainVisits, getRuleClass, getRuleSetName, getSince, hashCode, isDeprecated, isDfa, isMultifile, isRuleChain, isTypeResolution, setDeprecated, setDescription, setDfa, setExternalInfoUrl, setLanguage, setMaximumLanguageVersion, setMessage, setMinimumLanguageVersion, setMultifile, setName, setPriority, setRuleClass, setRuleSetName, setSince, setTypeResolution, setUsesDFA, setUsesMultifile, setUsesTypeResolution, start, usesDFA, usesMultifile, usesRuleChain, usesTypeResolution
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.sourceforge.pmd.properties.PropertySource
definePropertyDescriptor, dysfunctionReason, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, setProperty, setProperty, useDefaultValueFor, usesDefaultValues
-
Methods inherited from interface net.sourceforge.pmd.Rule
addExample, addRuleChainVisit, addRuleChainVisit, deepCopy, end, getDescription, getExamples, getExternalInfoUrl, getLanguage, getMaximumLanguageVersion, getMessage, getMinimumLanguageVersion, getName, getPriority, getRuleChainVisits, getRuleClass, getRuleSetName, getSince, isDeprecated, isDfa, isMultifile, isRuleChain, isTypeResolution, setDeprecated, setDescription, setDfa, setExternalInfoUrl, setLanguage, setMaximumLanguageVersion, setMessage, setMinimumLanguageVersion, setMultifile, setName, setPriority, setRuleClass, setRuleSetName, setSince, setTypeResolution, setUsesDFA, setUsesMultifile, setUsesTypeResolution, start, usesDFA, usesMultifile, usesRuleChain, usesTypeResolution
-
-
-
-
Field Detail
-
REPORT_LEVEL_DESCRIPTOR
public static final net.sourceforge.pmd.properties.IntegerProperty REPORT_LEVEL_DESCRIPTOR
-
SHOW_CLASSES_COMPLEXITY_DESCRIPTOR
public static final net.sourceforge.pmd.properties.BooleanProperty SHOW_CLASSES_COMPLEXITY_DESCRIPTOR
-
SHOW_METHODS_COMPLEXITY_DESCRIPTOR
public static final net.sourceforge.pmd.properties.BooleanProperty SHOW_METHODS_COMPLEXITY_DESCRIPTOR
-
entryStack
protected java.util.Stack<StdCyclomaticComplexityRule.Entry> entryStack
-
-
Method Detail
-
visit
public java.lang.Object visit(ASTUserClass node, java.lang.Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public java.lang.Object visit(ASTUserTrigger node, java.lang.Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public java.lang.Object visit(ASTUserInterface node, java.lang.Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public java.lang.Object visit(ASTUserEnum node, java.lang.Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public java.lang.Object visit(ASTMethod node, java.lang.Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public java.lang.Object visit(ASTIfBlockStatement node, java.lang.Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public java.lang.Object visit(ASTTryCatchFinallyBlockStatement node, java.lang.Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public java.lang.Object visit(ASTForLoopStatement node, java.lang.Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public java.lang.Object visit(ASTForEachStatement node, java.lang.Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public java.lang.Object visit(ASTWhileLoopStatement node, java.lang.Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public java.lang.Object visit(ASTDoLoopStatement node, java.lang.Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public java.lang.Object visit(ASTTernaryExpression node, java.lang.Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public java.lang.Object visit(ASTBooleanExpression node, java.lang.Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
-