Class AbstractNcssCountRule
- 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.AbstractStatisticalApexRule
-
- net.sourceforge.pmd.lang.apex.rule.design.AbstractNcssCountRule
-
- All Implemented Interfaces:
ApexParserVisitor
,net.sourceforge.pmd.lang.rule.ImmutableLanguage
,net.sourceforge.pmd.lang.rule.stat.StatisticalRule
,net.sourceforge.pmd.properties.PropertySource
,net.sourceforge.pmd.renderers.CodeClimateRule
,net.sourceforge.pmd.Rule
- Direct Known Subclasses:
NcssConstructorCountRule
,NcssMethodCountRule
,NcssTypeCountRule
public abstract class AbstractNcssCountRule extends AbstractStatisticalApexRule
Abstract superclass for NCSS counting methods. Counts tokens according to JavaNCSS rules.- Author:
- ported from Java original of Jason Bennett
-
-
Field Summary
-
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
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractNcssCountRule(Class<?> nodeClass)
Count the nodes of the given type using NCSS rules.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Integer
countNodeChildren(ApexNode<?> node, Object data)
Count the number of children of the given node.Object
visit(ApexNode<?> node, Object data)
Object
visit(ASTBreakStatement node, Object data)
Object
visit(ASTContinueStatement 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(ASTIfElseBlockStatement node, Object data)
Object
visit(ASTMethodCallExpression node, Object data)
Object
visit(ASTReturnStatement node, Object data)
Object
visit(ASTStatement node, Object data)
Object
visit(ASTThrowStatement node, Object data)
Object
visit(ASTTryCatchFinallyBlockStatement node, Object data)
Object
visit(ASTWhileLoopStatement node, Object data)
-
Methods inherited from class net.sourceforge.pmd.lang.apex.rule.AbstractStatisticalApexRule
addDataPoint, apply, getViolationParameters
-
Methods inherited from class net.sourceforge.pmd.lang.apex.rule.AbstractApexRule
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, 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, getParserOptions, 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
-
-
-
-
Constructor Detail
-
AbstractNcssCountRule
protected AbstractNcssCountRule(Class<?> nodeClass)
Count the nodes of the given type using NCSS rules.- Parameters:
nodeClass
- class of node to count
-
-
Method Detail
-
visit
public Object visit(ApexNode<?> node, Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
countNodeChildren
protected Integer countNodeChildren(ApexNode<?> node, Object data)
Count the number of children of the given node. Adds one to count the node itself.- Parameters:
node
- node having children counteddata
- node data- Returns:
- count of the number of children of the node, plus one
-
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(ASTDoLoopStatement 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(ASTIfElseBlockStatement 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(ASTBreakStatement 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(ASTContinueStatement node, Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public Object visit(ASTReturnStatement node, Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public Object visit(ASTThrowStatement node, Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public Object visit(ASTStatement node, Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
visit
public Object visit(ASTMethodCallExpression node, Object data)
- Specified by:
visit
in interfaceApexParserVisitor
- Overrides:
visit
in classAbstractApexRule
-
-