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
,ImmutableLanguage
,PropertySource
,CodeClimateRule
,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
-
Nested classes/interfaces inherited from interface net.sourceforge.pmd.renderers.CodeClimateRule
CodeClimateRule.CodeClimateCategory
-
-
Field Summary
Fields Modifier and Type Field Description protected Stack<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.renderers.CodeClimateRule
CODECLIMATE_BLOCK_HIGHLIGHTING, CODECLIMATE_CATEGORIES, CODECLIMATE_REMEDIATION_MULTIPLIER
-
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 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, 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, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitAll
-
Methods inherited from class net.sourceforge.pmd.lang.rule.AbstractRule
addExample, addRuleChainVisit, addRuleChainVisit, addViolation, addViolation, addViolation, addViolationWithMessage, addViolationWithMessage, addViolationWithMessage, asCtx, deepCopy, deepCopyValuesTo, end, equals, getDescription, getExamples, getExternalInfoUrl, getLanguage, getMaximumLanguageVersion, getMessage, getMinimumLanguageVersion, getName, getPriority, getPropertySourceType, 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 net.sourceforge.pmd.properties.AbstractPropertySource
copyPropertyDescriptors, copyPropertyValues, definePropertyDescriptor, dysfunctionReason, getOverriddenPropertiesByPropertyDescriptor, getOverriddenPropertyDescriptors, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, isPropertyOverridden, setProperty, setProperty, useDefaultValueFor, usesDefaultValues
-
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, getOverriddenPropertiesByPropertyDescriptor, getOverriddenPropertyDescriptors, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, isPropertyOverridden, 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 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 Stack<StdCyclomaticComplexityRule.Entry> entryStack
-
-
Method Detail
-
visit
public Object visit(ASTUserClass node, Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public Object visit(ASTUserTrigger node, Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public Object visit(ASTUserInterface node, Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public Object visit(ASTUserEnum node, Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public Object visit(ASTMethod node, Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public Object visit(ASTIfBlockStatement node, Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public Object visit(ASTTryCatchFinallyBlockStatement node, Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public Object visit(ASTForLoopStatement node, Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public Object visit(ASTForEachStatement node, Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public Object visit(ASTWhileLoopStatement node, Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public Object visit(ASTDoLoopStatement node, Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public Object visit(ASTTernaryExpression node, Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public Object visit(ASTBooleanExpression node, Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
-