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 classStdCyclomaticComplexityRule.Entry
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Stack<StdCyclomaticComplexityRule.Entry>entryStackstatic net.sourceforge.pmd.properties.PropertyDescriptor<java.lang.Integer>REPORT_LEVEL_DESCRIPTORstatic net.sourceforge.pmd.properties.PropertyDescriptor<java.lang.Boolean>SHOW_CLASSES_COMPLEXITY_DESCRIPTORstatic net.sourceforge.pmd.properties.PropertyDescriptor<java.lang.Boolean>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.Objectvisit(ASTBooleanExpression node, java.lang.Object data)java.lang.Objectvisit(ASTDoLoopStatement node, java.lang.Object data)java.lang.Objectvisit(ASTForEachStatement node, java.lang.Object data)java.lang.Objectvisit(ASTForLoopStatement node, java.lang.Object data)java.lang.Objectvisit(ASTIfBlockStatement node, java.lang.Object data)java.lang.Objectvisit(ASTMethod node, java.lang.Object data)java.lang.Objectvisit(ASTTernaryExpression node, java.lang.Object data)java.lang.Objectvisit(ASTTryCatchFinallyBlockStatement node, java.lang.Object data)java.lang.Objectvisit(ASTUserClass node, java.lang.Object data)java.lang.Objectvisit(ASTUserEnum node, java.lang.Object data)java.lang.Objectvisit(ASTUserInterface node, java.lang.Object data)java.lang.Objectvisit(ASTUserTrigger node, java.lang.Object data)java.lang.Objectvisit(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, visit, visit, visitAll
-
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, 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 net.sourceforge.pmd.properties.PropertyDescriptor<java.lang.Integer> REPORT_LEVEL_DESCRIPTOR
-
SHOW_CLASSES_COMPLEXITY_DESCRIPTOR
public static final net.sourceforge.pmd.properties.PropertyDescriptor<java.lang.Boolean> SHOW_CLASSES_COMPLEXITY_DESCRIPTOR
-
SHOW_METHODS_COMPLEXITY_DESCRIPTOR
public static final net.sourceforge.pmd.properties.PropertyDescriptor<java.lang.Boolean> 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:
visitin interfaceApexParserVisitor- Overrides:
visitin classAbstractApexRule
-
visit
public java.lang.Object visit(ASTUserTrigger node, java.lang.Object data)
- Specified by:
visitin interfaceApexParserVisitor- Overrides:
visitin classAbstractApexRule
-
visit
public java.lang.Object visit(ASTUserInterface node, java.lang.Object data)
- Specified by:
visitin interfaceApexParserVisitor- Overrides:
visitin classAbstractApexRule
-
visit
public java.lang.Object visit(ASTUserEnum node, java.lang.Object data)
- Specified by:
visitin interfaceApexParserVisitor- Overrides:
visitin classAbstractApexRule
-
visit
public java.lang.Object visit(ASTMethod node, java.lang.Object data)
- Specified by:
visitin interfaceApexParserVisitor- Overrides:
visitin classAbstractApexRule
-
visit
public java.lang.Object visit(ASTIfBlockStatement node, java.lang.Object data)
- Specified by:
visitin interfaceApexParserVisitor- Overrides:
visitin classAbstractApexRule
-
visit
public java.lang.Object visit(ASTTryCatchFinallyBlockStatement node, java.lang.Object data)
- Specified by:
visitin interfaceApexParserVisitor- Overrides:
visitin classAbstractApexRule
-
visit
public java.lang.Object visit(ASTForLoopStatement node, java.lang.Object data)
- Specified by:
visitin interfaceApexParserVisitor- Overrides:
visitin classAbstractApexRule
-
visit
public java.lang.Object visit(ASTForEachStatement node, java.lang.Object data)
- Specified by:
visitin interfaceApexParserVisitor- Overrides:
visitin classAbstractApexRule
-
visit
public java.lang.Object visit(ASTWhileLoopStatement node, java.lang.Object data)
- Specified by:
visitin interfaceApexParserVisitor- Overrides:
visitin classAbstractApexRule
-
visit
public java.lang.Object visit(ASTDoLoopStatement node, java.lang.Object data)
- Specified by:
visitin interfaceApexParserVisitor- Overrides:
visitin classAbstractApexRule
-
visit
public java.lang.Object visit(ASTTernaryExpression node, java.lang.Object data)
- Specified by:
visitin interfaceApexParserVisitor- Overrides:
visitin classAbstractApexRule
-
visit
public java.lang.Object visit(ASTBooleanExpression node, java.lang.Object data)
- Specified by:
visitin interfaceApexParserVisitor- Overrides:
visitin classAbstractApexRule
-
-