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 protectedAbstractNcssCountRule(java.lang.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 java.lang.IntegercountNodeChildren(net.sourceforge.pmd.lang.ast.Node node, java.lang.Object data)Count the number of children of the given node.java.lang.Objectvisit(AbstractApexNodeBase node, java.lang.Object data)java.lang.Objectvisit(ASTBreakStatement node, java.lang.Object data)java.lang.Objectvisit(ASTContinueStatement 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(ASTIfElseBlockStatement node, java.lang.Object data)java.lang.Objectvisit(ASTMethodCallExpression node, java.lang.Object data)java.lang.Objectvisit(ASTReturnStatement node, java.lang.Object data)java.lang.Objectvisit(ASTStatement node, java.lang.Object data)java.lang.Objectvisit(ASTThrowStatement node, java.lang.Object data)java.lang.Objectvisit(ASTTryCatchFinallyBlockStatement node, java.lang.Object data)java.lang.Objectvisit(ASTWhileLoopStatement node, java.lang.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, 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
-
-
-
-
Method Detail
-
visit
public java.lang.Object visit(AbstractApexNodeBase node, java.lang.Object data)
- Specified by:
visitin interfaceApexParserVisitor- Overrides:
visitin classAbstractApexRule
-
countNodeChildren
protected java.lang.Integer countNodeChildren(net.sourceforge.pmd.lang.ast.Node node, java.lang.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 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(ASTDoLoopStatement 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(ASTIfElseBlockStatement 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(ASTBreakStatement 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(ASTContinueStatement node, java.lang.Object data)
- Specified by:
visitin interfaceApexParserVisitor- Overrides:
visitin classAbstractApexRule
-
visit
public java.lang.Object visit(ASTReturnStatement node, java.lang.Object data)
- Specified by:
visitin interfaceApexParserVisitor- Overrides:
visitin classAbstractApexRule
-
visit
public java.lang.Object visit(ASTThrowStatement node, java.lang.Object data)
- Specified by:
visitin interfaceApexParserVisitor- Overrides:
visitin classAbstractApexRule
-
visit
public java.lang.Object visit(ASTStatement node, java.lang.Object data)
- Specified by:
visitin interfaceApexParserVisitor- Overrides:
visitin classAbstractApexRule
-
visit
public java.lang.Object visit(ASTMethodCallExpression node, java.lang.Object data)
- Specified by:
visitin interfaceApexParserVisitor- Overrides:
visitin classAbstractApexRule
-
-