Class AbstractSunSecureRule
- java.lang.Object
-
- net.sourceforge.pmd.properties.AbstractPropertySource
-
- net.sourceforge.pmd.lang.rule.AbstractRule
-
- net.sourceforge.pmd.lang.java.rule.AbstractJavaRule
-
- net.sourceforge.pmd.lang.java.rule.bestpractices.AbstractSunSecureRule
-
- All Implemented Interfaces:
JavaParserVisitor
,net.sourceforge.pmd.lang.rule.ImmutableLanguage
,net.sourceforge.pmd.properties.PropertySource
,net.sourceforge.pmd.Rule
- Direct Known Subclasses:
ArrayIsStoredDirectlyRule
,MethodReturnsInternalArrayRule
public abstract class AbstractSunSecureRule extends AbstractJavaRule
Utility methods for the package Created on Jan 17, 2005- Author:
- mgriffa
-
-
Constructor Summary
Constructors Constructor Description AbstractSunSecureRule()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.String
getFirstNameImage(net.sourceforge.pmd.lang.ast.Node n)
Gets the image of the ASTName node found byNode.getFirstDescendantOfType(Class)
if it is the greatgrandchild of the given node.protected java.lang.String
getReturnedVariableName(ASTReturnStatement ret)
Gets the name of the variable returned.protected boolean
isField(java.lang.String varName, ASTAnyTypeDeclaration typeDeclaration)
Tells if the type declaration has a field with varName.protected boolean
isLocalVariable(java.lang.String vn, net.sourceforge.pmd.lang.ast.Node node)
TODO modify usages to use symbol table Tells if the variable name is a local variable declared in the method.-
Methods inherited from class net.sourceforge.pmd.lang.java.rule.AbstractJavaRule
apply, getDeclaringType, importsPackage, isQualifiedName, isSuppressed, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, 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, getParserOptions, 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
-
-
-
-
Method Detail
-
isField
protected final boolean isField(java.lang.String varName, ASTAnyTypeDeclaration typeDeclaration)
Tells if the type declaration has a field with varName.- Parameters:
varName
- the name of the field to searchtypeDeclaration
- the type declaration- Returns:
true
if there is a field in the type declaration named varName,false
in other case
-
getReturnedVariableName
protected final java.lang.String getReturnedVariableName(ASTReturnStatement ret)
Gets the name of the variable returned. Some examples:
for this.foo returns foo
for foo returns foo
for foo.bar returns foo.bar- Parameters:
ret
- a return statement to evaluate- Returns:
- the name of the variable associated or
null
if it cannot be detected
-
isLocalVariable
protected boolean isLocalVariable(java.lang.String vn, net.sourceforge.pmd.lang.ast.Node node)
TODO modify usages to use symbol table Tells if the variable name is a local variable declared in the method.- Parameters:
vn
- the variable namenode
- the ASTMethodDeclaration where the local variable name will be searched- Returns:
true
if the method declaration contains any local variable named vn andfalse
in other case
-
getFirstNameImage
protected java.lang.String getFirstNameImage(net.sourceforge.pmd.lang.ast.Node n)
Gets the image of the ASTName node found byNode.getFirstDescendantOfType(Class)
if it is the greatgrandchild of the given node. E.g.n = Expression || StatementExpression PrimaryExpression PrimaryPrefix Name
- Parameters:
n
- the node to search- Returns:
- the image of the first ASTName or
null
-
-