diff --git a/pmd/regress/test/net/sourceforge/pmd/ast/ASTFormalParameterTest.java b/pmd/regress/test/net/sourceforge/pmd/ast/ASTFormalParameterTest.java
index 54ea479a46..5263cf507d 100644
--- a/pmd/regress/test/net/sourceforge/pmd/ast/ASTFormalParameterTest.java
+++ b/pmd/regress/test/net/sourceforge/pmd/ast/ASTFormalParameterTest.java
@@ -18,7 +18,7 @@ public class ASTFormalParameterTest extends ParserTst {
Set ops = getNodes(new TargetJDK1_5(), ASTFormalParameter.class, TEST1);
for (Iterator iter = ops.iterator(); iter.hasNext();) {
ASTFormalParameter b = (ASTFormalParameter) iter.next();
- ASTVariableDeclaratorId variableDeclId = (ASTVariableDeclaratorId)b.getFirstChildOfType(ASTVariableDeclaratorId.class);
+ ASTVariableDeclaratorId variableDeclId = b.getFirstChildOfType(ASTVariableDeclaratorId.class);
if (!"x".equals(variableDeclId.getImage())) {
assertTrue(b.isVarargs());
nrOfVarArgs++;
diff --git a/pmd/regress/test/net/sourceforge/pmd/jsp/ast/JspDocStyleTest.java b/pmd/regress/test/net/sourceforge/pmd/jsp/ast/JspDocStyleTest.java
index ed7245b8c6..4dd40b1c42 100644
--- a/pmd/regress/test/net/sourceforge/pmd/jsp/ast/JspDocStyleTest.java
+++ b/pmd/regress/test/net/sourceforge/pmd/jsp/ast/JspDocStyleTest.java
@@ -86,19 +86,19 @@ public class JspDocStyleTest extends AbstractJspNodesTst {
assertEquals("Correct attribute name expected!",
"foo", attr.getName());
assertEquals("Correct attribute value expected!",
- "CREATE", ((ASTAttributeValue) attr.getFirstChildOfType(ASTAttributeValue.class)).getImage());
+ "CREATE", attr.getFirstChildOfType(ASTAttributeValue.class).getImage());
attr = attrsList.get(1);
assertEquals("Correct attribute name expected!",
"href", attr.getName());
assertEquals("Correct attribute value expected!",
- "#", ((ASTAttributeValue) attr.getFirstChildOfType(ASTAttributeValue.class)).getImage());
+ "#", attr.getFirstChildOfType(ASTAttributeValue.class).getImage());
attr = attrsList.get(2);
assertEquals("Correct attribute name expected!",
"something", attr.getName());
assertEquals("Correct attribute value expected!",
- "#yes#", ((ASTAttributeValue) attr.getFirstChildOfType(ASTAttributeValue.class)).getImage());
+ "#yes#", attr.getFirstChildOfType(ASTAttributeValue.class).getImage());
}
/**
diff --git a/pmd/src/net/sourceforge/pmd/ast/ASTFieldDeclaration.java b/pmd/src/net/sourceforge/pmd/ast/ASTFieldDeclaration.java
index 9677dcd0b4..090f1dee5b 100644
--- a/pmd/src/net/sourceforge/pmd/ast/ASTFieldDeclaration.java
+++ b/pmd/src/net/sourceforge/pmd/ast/ASTFieldDeclaration.java
@@ -126,7 +126,7 @@ public class ASTFieldDeclaration extends AccessNode implements Dimensionable {
* @return a String representing the name of the variable
*/
public String getVariableName() {
- ASTVariableDeclaratorId decl = (ASTVariableDeclaratorId) getFirstChildOfType(ASTVariableDeclaratorId.class);
+ ASTVariableDeclaratorId decl = getFirstChildOfType(ASTVariableDeclaratorId.class);
if (decl != null) {
return decl.getImage();
}
diff --git a/pmd/src/net/sourceforge/pmd/ast/ASTMethodDeclaration.java b/pmd/src/net/sourceforge/pmd/ast/ASTMethodDeclaration.java
index 1f63465bd4..1f8e34e9c8 100644
--- a/pmd/src/net/sourceforge/pmd/ast/ASTMethodDeclaration.java
+++ b/pmd/src/net/sourceforge/pmd/ast/ASTMethodDeclaration.java
@@ -29,7 +29,7 @@ public class ASTMethodDeclaration extends AccessNode {
* @return a String representing the name of the method
*/
public String getMethodName() {
- ASTMethodDeclarator md = (ASTMethodDeclarator) getFirstChildOfType(ASTMethodDeclarator.class);
+ ASTMethodDeclarator md = getFirstChildOfType(ASTMethodDeclarator.class);
if (md != null)
return md.getImage();
return null;
@@ -63,11 +63,11 @@ public class ASTMethodDeclaration extends AccessNode {
}
public boolean isVoid() {
- return ((ASTResultType) getFirstChildOfType(ASTResultType.class)).isVoid();
+ return getFirstChildOfType(ASTResultType.class).isVoid();
}
public ASTResultType getResultType() {
- return (ASTResultType) getFirstChildOfType(ASTResultType.class);
+ return getFirstChildOfType(ASTResultType.class);
}
public ASTBlock getBlock() {
diff --git a/pmd/src/net/sourceforge/pmd/ast/ASTPrimarySuffix.java b/pmd/src/net/sourceforge/pmd/ast/ASTPrimarySuffix.java
index ba5f2ae8db..88e8e22fc8 100644
--- a/pmd/src/net/sourceforge/pmd/ast/ASTPrimarySuffix.java
+++ b/pmd/src/net/sourceforge/pmd/ast/ASTPrimarySuffix.java
@@ -34,7 +34,7 @@ public class ASTPrimarySuffix extends SimpleJavaNode {
if (!this.isArguments()) {
throw new RuntimeException("ASTPrimarySuffix.getArgumentCount called, but this is not a method call");
}
- return ((ASTArguments)this.getFirstChildOfType(ASTArguments.class)).getArgumentCount();
+ return this.getFirstChildOfType(ASTArguments.class).getArgumentCount();
}
public void dump(String prefix) {
diff --git a/pmd/src/net/sourceforge/pmd/ast/ASTThrowStatement.java b/pmd/src/net/sourceforge/pmd/ast/ASTThrowStatement.java
index 1159566ed9..77805c8428 100644
--- a/pmd/src/net/sourceforge/pmd/ast/ASTThrowStatement.java
+++ b/pmd/src/net/sourceforge/pmd/ast/ASTThrowStatement.java
@@ -31,7 +31,7 @@ public class ASTThrowStatement extends SimpleJavaNode {
* @return the image of the first ASTClassOrInterfaceType node found or null
*/
public final String getFirstClassOrInterfaceTypeImage() {
- final ASTClassOrInterfaceType t = (ASTClassOrInterfaceType) getFirstChildOfType(ASTClassOrInterfaceType.class);
+ final ASTClassOrInterfaceType t = getFirstChildOfType(ASTClassOrInterfaceType.class);
return t == null ? null : t.getImage();
}
}
diff --git a/pmd/src/net/sourceforge/pmd/ast/ASTType.java b/pmd/src/net/sourceforge/pmd/ast/ASTType.java
index 6670fbc11f..ce4c5876b4 100644
--- a/pmd/src/net/sourceforge/pmd/ast/ASTType.java
+++ b/pmd/src/net/sourceforge/pmd/ast/ASTType.java
@@ -19,11 +19,11 @@ public class ASTType extends SimpleJavaNode {
}
public String getTypeImage() {
- ASTPrimitiveType prim = (ASTPrimitiveType) getFirstChildOfType(ASTPrimitiveType.class);
+ ASTPrimitiveType prim = getFirstChildOfType(ASTPrimitiveType.class);
if (prim != null) {
return prim.getImage();
}
- return ((ASTClassOrInterfaceType) getFirstChildOfType(ASTClassOrInterfaceType.class)).getImage();
+ return getFirstChildOfType(ASTClassOrInterfaceType.class).getImage();
}
public int getArrayDepth() {
diff --git a/pmd/src/net/sourceforge/pmd/ast/ASTVariableDeclaratorId.java b/pmd/src/net/sourceforge/pmd/ast/ASTVariableDeclaratorId.java
index d63fd49795..191058cf32 100644
--- a/pmd/src/net/sourceforge/pmd/ast/ASTVariableDeclaratorId.java
+++ b/pmd/src/net/sourceforge/pmd/ast/ASTVariableDeclaratorId.java
@@ -69,7 +69,7 @@ public class ASTVariableDeclaratorId extends SimpleJavaNode {
return ((ASTFormalParameter) jjtGetParent()).getTypeNode();
} else if (jjtGetParent().jjtGetParent() instanceof ASTLocalVariableDeclaration || jjtGetParent().jjtGetParent() instanceof ASTFieldDeclaration) {
SimpleNode n = (SimpleNode) jjtGetParent().jjtGetParent();
- return (ASTType) n.getFirstChildOfType(ASTType.class);
+ return n.getFirstChildOfType(ASTType.class);
}
throw new RuntimeException("Don't know how to get the type for anything other than ASTLocalVariableDeclaration/ASTFormalParameter/ASTFieldDeclaration");
}
diff --git a/pmd/src/net/sourceforge/pmd/ast/SimpleNode.java b/pmd/src/net/sourceforge/pmd/ast/SimpleNode.java
index 5cb5e21d5d..192164c16f 100644
--- a/pmd/src/net/sourceforge/pmd/ast/SimpleNode.java
+++ b/pmd/src/net/sourceforge/pmd/ast/SimpleNode.java
@@ -289,17 +289,17 @@ public abstract class SimpleNode implements Node {
* @param childType class which you want to find.
* @return Node of type childType. Returns null
if none found.
*/
- public Node getFirstChildOfType(Class childType) {
+ public T getFirstChildOfType(Class childType) {
return getFirstChildOfType(childType, this);
}
- private Node getFirstChildOfType(Class childType, Node node) {
+ private T getFirstChildOfType(Class childType, Node node) {
for (int i = 0; i < node.jjtGetNumChildren(); i++) {
Node n = node.jjtGetChild(i);
if (n != null) {
if (n.getClass().equals(childType))
- return n;
- Node n2 = getFirstChildOfType(childType, n);
+ return (T) n;
+ T n2 = getFirstChildOfType(childType, n);
if (n2 != null)
return n2;
}
diff --git a/pmd/src/net/sourceforge/pmd/dfa/pathfinder/CurrentPath.java b/pmd/src/net/sourceforge/pmd/dfa/pathfinder/CurrentPath.java
index 04d92c72a4..fa99bd4bbc 100644
--- a/pmd/src/net/sourceforge/pmd/dfa/pathfinder/CurrentPath.java
+++ b/pmd/src/net/sourceforge/pmd/dfa/pathfinder/CurrentPath.java
@@ -18,7 +18,7 @@ public class CurrentPath {
return list.size();
}
- public Iterator iterator() {
+ public Iterator iterator() {
return list.iterator();
}
diff --git a/pmd/src/net/sourceforge/pmd/rules/AbstractInefficientZeroCheck.java b/pmd/src/net/sourceforge/pmd/rules/AbstractInefficientZeroCheck.java
index 527deb40a5..b48551b696 100644
--- a/pmd/src/net/sourceforge/pmd/rules/AbstractInefficientZeroCheck.java
+++ b/pmd/src/net/sourceforge/pmd/rules/AbstractInefficientZeroCheck.java
@@ -9,7 +9,6 @@ import net.sourceforge.pmd.ast.ASTVariableDeclaratorId;
import net.sourceforge.pmd.ast.SimpleNode;
import net.sourceforge.pmd.symboltable.NameOccurrence;
-import java.util.Iterator;
import java.util.List;
/**
@@ -34,9 +33,8 @@ public abstract class AbstractInefficientZeroCheck extends AbstractRule {
return data;
}
- List declars = node.getUsages();
- for (Iterator i = declars.iterator(); i.hasNext();) {
- NameOccurrence occ = (NameOccurrence) i.next();
+ List declars = node.getUsages();
+ for (NameOccurrence occ: declars) {
if (!isTargetMethod(occ)) {
continue;
}
diff --git a/pmd/src/net/sourceforge/pmd/rules/AbstractPoorMethodCall.java b/pmd/src/net/sourceforge/pmd/rules/AbstractPoorMethodCall.java
index a35d912bd9..948897b394 100644
--- a/pmd/src/net/sourceforge/pmd/rules/AbstractPoorMethodCall.java
+++ b/pmd/src/net/sourceforge/pmd/rules/AbstractPoorMethodCall.java
@@ -8,7 +8,6 @@ import net.sourceforge.pmd.ast.ASTVariableDeclaratorId;
import net.sourceforge.pmd.ast.SimpleNode;
import net.sourceforge.pmd.symboltable.NameOccurrence;
-import java.util.Iterator;
import java.util.List;
/**
@@ -94,8 +93,7 @@ public abstract class AbstractPoorMethodCall extends AbstractRule {
return data;
}
- for (Iterator i = node.getUsages().iterator(); i.hasNext();) {
- NameOccurrence occ = (NameOccurrence) i.next();
+ for (NameOccurrence occ: node.getUsages()) {
if (isNotedMethod(occ.getNameForWhichThisIsAQualifier())) {
SimpleNode parent = (SimpleNode)occ.getLocation().jjtGetParent().jjtGetParent();
if (parent instanceof ASTPrimaryExpression) {
diff --git a/pmd/src/net/sourceforge/pmd/rules/AccessorClassGeneration.java b/pmd/src/net/sourceforge/pmd/rules/AccessorClassGeneration.java
index 0d6adab6ee..68a598d8f2 100644
--- a/pmd/src/net/sourceforge/pmd/rules/AccessorClassGeneration.java
+++ b/pmd/src/net/sourceforge/pmd/rules/AccessorClassGeneration.java
@@ -68,7 +68,7 @@ public class AccessorClassGeneration extends AbstractRule {
m_Instantiations.add(ad);
}
- public Iterator getInstantiationIterator() {
+ public Iterator getInstantiationIterator() {
return m_Instantiations.iterator();
}
@@ -76,7 +76,7 @@ public class AccessorClassGeneration extends AbstractRule {
m_PrivateConstructors.add(cd);
}
- public Iterator getPrivateConstructorIterator() {
+ public Iterator getPrivateConstructorIterator() {
return m_PrivateConstructors.iterator();
}
@@ -88,7 +88,7 @@ public class AccessorClassGeneration extends AbstractRule {
m_ClassQualifyingNames.add(name);
}
- public List getClassQualifyingNamesList() {
+ public List getClassQualifyingNamesList() {
return m_ClassQualifyingNames;
}
}
@@ -99,7 +99,7 @@ public class AccessorClassGeneration extends AbstractRule {
private ASTAllocationExpression m_ASTAllocationExpression;
private boolean isArray;
- public AllocData(ASTAllocationExpression node, String aPackageName, List classQualifyingNames) {
+ public AllocData(ASTAllocationExpression node, String aPackageName, List classQualifyingNames) {
if (node.jjtGetChild(1) instanceof ASTArguments) {
ASTArguments aa = (ASTArguments) node.jjtGetChild(1);
m_ArgumentCount = aa.getArgumentCount();
@@ -114,8 +114,8 @@ public class AccessorClassGeneration extends AbstractRule {
//strip off outer class names
//try OuterClass, then try OuterClass.InnerClass, then try OuterClass.InnerClass.InnerClass2, etc...
String findName = "";
- for (ListIterator li = classQualifyingNames.listIterator(classQualifyingNames.size()); li.hasPrevious();) {
- String aName = (String) li.previous();
+ for (ListIterator li = classQualifyingNames.listIterator(classQualifyingNames.size()); li.hasPrevious();) {
+ String aName = li.previous();
findName = aName + "." + findName;
if (m_Name.startsWith(findName)) {
//strip off name and exit
@@ -244,15 +244,15 @@ public class AccessorClassGeneration extends AbstractRule {
private void processRule(Object ctx) {
//check constructors of outerIterator against allocations of innerIterator
for (ClassData outerDataSet : classDataList) {
- for (Iterator constructors = outerDataSet.getPrivateConstructorIterator(); constructors.hasNext();) {
- ASTConstructorDeclaration cd = (ASTConstructorDeclaration) constructors.next();
+ for (Iterator constructors = outerDataSet.getPrivateConstructorIterator(); constructors.hasNext();) {
+ ASTConstructorDeclaration cd = constructors.next();
for (ClassData innerDataSet : classDataList) {
if (outerDataSet == innerDataSet) {
continue;
}
- for (Iterator allocations = innerDataSet.getInstantiationIterator(); allocations.hasNext();) {
- AllocData ad = (AllocData) allocations.next();
+ for (Iterator allocations = innerDataSet.getInstantiationIterator(); allocations.hasNext();) {
+ AllocData ad = allocations.next();
//if the constructor matches the instantiation
//flag the instantiation as a generator of an extra class
if (outerDataSet.getClassName().equals(ad.getName()) && (cd.getParameterCount() == ad.getArgumentCount())) {
diff --git a/pmd/src/net/sourceforge/pmd/rules/AvoidFieldNameMatchingMethodName.java b/pmd/src/net/sourceforge/pmd/rules/AvoidFieldNameMatchingMethodName.java
index c58feb416d..b7348fc5be 100644
--- a/pmd/src/net/sourceforge/pmd/rules/AvoidFieldNameMatchingMethodName.java
+++ b/pmd/src/net/sourceforge/pmd/rules/AvoidFieldNameMatchingMethodName.java
@@ -8,7 +8,6 @@ import net.sourceforge.pmd.ast.ASTClassOrInterfaceDeclaration;
import net.sourceforge.pmd.ast.ASTFieldDeclaration;
import net.sourceforge.pmd.ast.ASTMethodDeclaration;
-import java.util.Iterator;
import java.util.List;
public class AvoidFieldNameMatchingMethodName extends AbstractRule {
@@ -27,9 +26,8 @@ public class AvoidFieldNameMatchingMethodName extends AbstractRule {
varName = varName.toLowerCase();
ASTClassOrInterfaceDeclaration cl = node.getFirstParentOfType(ASTClassOrInterfaceDeclaration.class);
if (cl != null) {
- List methods = cl.findChildrenOfType(ASTMethodDeclaration.class);
- for (Iterator it = methods.iterator(); it.hasNext();) {
- ASTMethodDeclaration m = (ASTMethodDeclaration) it.next();
+ List methods = cl.findChildrenOfType(ASTMethodDeclaration.class);
+ for (ASTMethodDeclaration m: methods) {
//Make sure we are comparing fields and methods inside same type
if (fieldDeclaringType.equals(getDeclaringType(m))) {
String n = m.getMethodName();
diff --git a/pmd/src/net/sourceforge/pmd/rules/AvoidReassigningParameters.java b/pmd/src/net/sourceforge/pmd/rules/AvoidReassigningParameters.java
index 3d8b1e65ab..dc19f0806b 100644
--- a/pmd/src/net/sourceforge/pmd/rules/AvoidReassigningParameters.java
+++ b/pmd/src/net/sourceforge/pmd/rules/AvoidReassigningParameters.java
@@ -3,7 +3,6 @@
*/
package net.sourceforge.pmd.rules;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -15,14 +14,11 @@ import net.sourceforge.pmd.symboltable.VariableNameDeclaration;
public class AvoidReassigningParameters extends AbstractRule {
public Object visit(ASTMethodDeclarator node, Object data) {
- Map params = node.getScope().getVariableDeclarations();
- for (Iterator i = params.entrySet().iterator(); i.hasNext();) {
- Map.Entry entry = (Map.Entry) i.next();
-
- VariableNameDeclaration decl = (VariableNameDeclaration) entry.getKey();
- List usages = (List) entry.getValue();
- for (Iterator j = usages.iterator(); j.hasNext();) {
- NameOccurrence occ = (NameOccurrence) j.next();
+ Map> params = node.getScope().getVariableDeclarations();
+ for (Map.Entry> entry: params.entrySet()) {
+ VariableNameDeclaration decl = entry.getKey();
+ List usages = entry.getValue();
+ for (NameOccurrence occ: usages) {
if ((occ.isOnLeftHandSide() || occ.isSelfAssignment()) &&
occ.getNameForWhichThisIsAQualifier() == null &&
(!decl.isArray() || occ.getLocation().jjtGetParent().jjtGetParent().jjtGetNumChildren() == 1))
diff --git a/pmd/src/net/sourceforge/pmd/rules/BeanMembersShouldSerializeRule.java b/pmd/src/net/sourceforge/pmd/rules/BeanMembersShouldSerializeRule.java
index f5576307e9..8e20cdf99e 100644
--- a/pmd/src/net/sourceforge/pmd/rules/BeanMembersShouldSerializeRule.java
+++ b/pmd/src/net/sourceforge/pmd/rules/BeanMembersShouldSerializeRule.java
@@ -5,7 +5,6 @@ package net.sourceforge.pmd.rules;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -67,10 +66,9 @@ public class BeanMembersShouldSerializeRule extends AbstractRule {
Arrays.sort(methNameArray);
- Map vars = node.getScope().getVariableDeclarations();
- for (Iterator i = vars.keySet().iterator(); i.hasNext();) {
- VariableNameDeclaration decl = (VariableNameDeclaration) i.next();
- if (((List) vars.get(decl)).isEmpty() || decl.getAccessNodeParent().isTransient() || decl.getAccessNodeParent().isStatic()) {
+ Map> vars = node.getScope().getVariableDeclarations();
+ for (VariableNameDeclaration decl: vars.keySet()) {
+ if (vars.get(decl).isEmpty() || decl.getAccessNodeParent().isTransient() || decl.getAccessNodeParent().isStatic()) {
continue;
}
String varName = trimIfPrefix(decl.getImage());
diff --git a/pmd/src/net/sourceforge/pmd/rules/CloseResource.java b/pmd/src/net/sourceforge/pmd/rules/CloseResource.java
index 8fd6f5f204..1402ee58cc 100644
--- a/pmd/src/net/sourceforge/pmd/rules/CloseResource.java
+++ b/pmd/src/net/sourceforge/pmd/rules/CloseResource.java
@@ -20,7 +20,6 @@ import net.sourceforge.pmd.properties.StringProperty;
import java.util.ArrayList;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -70,12 +69,11 @@ public class CloseResource extends AbstractRule {
}
public Object visit(ASTMethodDeclaration node, Object data) {
- List vars = node.findChildrenOfType(ASTLocalVariableDeclaration.class);
+ List vars = node.findChildrenOfType(ASTLocalVariableDeclaration.class);
List ids = new ArrayList();
// find all variable references to Connection objects
- for (Iterator it = vars.iterator(); it.hasNext();) {
- ASTLocalVariableDeclaration var = (ASTLocalVariableDeclaration) it.next();
+ for (ASTLocalVariableDeclaration var: vars) {
ASTType type = var.getTypeNode();
if (type.jjtGetChild(0) instanceof ASTReferenceType) {
diff --git a/pmd/src/net/sourceforge/pmd/rules/CyclomaticComplexity.java b/pmd/src/net/sourceforge/pmd/rules/CyclomaticComplexity.java
index d03b41a15f..a2bf083dbc 100644
--- a/pmd/src/net/sourceforge/pmd/rules/CyclomaticComplexity.java
+++ b/pmd/src/net/sourceforge/pmd/rules/CyclomaticComplexity.java
@@ -68,7 +68,7 @@ public class CyclomaticComplexity extends AbstractRule {
}
public Object visit(ASTIfStatement node, Object data) {
- int boolCompIf = NpathComplexity.sumExpressionComplexity( (ASTExpression) node.getFirstChildOfType( ASTExpression.class ) );
+ int boolCompIf = NpathComplexity.sumExpressionComplexity( node.getFirstChildOfType( ASTExpression.class ) );
// If statement always has a complexity of at least 1
boolCompIf++;
@@ -84,7 +84,7 @@ public class CyclomaticComplexity extends AbstractRule {
}
public Object visit(ASTForStatement node, Object data) {
- int boolCompFor = NpathComplexity.sumExpressionComplexity( (ASTExpression) node.getFirstChildOfType( ASTExpression.class ) );
+ int boolCompFor = NpathComplexity.sumExpressionComplexity( node.getFirstChildOfType( ASTExpression.class ) );
// For statement always has a complexity of at least 1
boolCompFor++;
@@ -94,7 +94,7 @@ public class CyclomaticComplexity extends AbstractRule {
}
public Object visit(ASTDoStatement node, Object data) {
- int boolCompDo = NpathComplexity.sumExpressionComplexity( (ASTExpression) node.getFirstChildOfType( ASTExpression.class ) );
+ int boolCompDo = NpathComplexity.sumExpressionComplexity( node.getFirstChildOfType( ASTExpression.class ) );
// Do statement always has a complexity of at least 1
boolCompDo++;
@@ -106,7 +106,7 @@ public class CyclomaticComplexity extends AbstractRule {
public Object visit(ASTSwitchStatement node, Object data) {
Entry entry = entryStack.peek();
- int boolCompSwitch = NpathComplexity.sumExpressionComplexity( (ASTExpression) node.getFirstChildOfType( ASTExpression.class ) );
+ int boolCompSwitch = NpathComplexity.sumExpressionComplexity( node.getFirstChildOfType( ASTExpression.class ) );
entry.bumpDecisionPoints( boolCompSwitch );
int childCount = node.jjtGetNumChildren();
@@ -129,7 +129,7 @@ public class CyclomaticComplexity extends AbstractRule {
}
public Object visit(ASTWhileStatement node, Object data) {
- int boolCompWhile = NpathComplexity.sumExpressionComplexity( (ASTExpression) node.getFirstChildOfType( ASTExpression.class ) );
+ int boolCompWhile = NpathComplexity.sumExpressionComplexity( node.getFirstChildOfType( ASTExpression.class ) );
// While statement always has a complexity of at least 1
boolCompWhile++;
@@ -140,7 +140,7 @@ public class CyclomaticComplexity extends AbstractRule {
public Object visit(ASTConditionalExpression node, Object data) {
if ( node.isTernary() ) {
- int boolCompTern = NpathComplexity.sumExpressionComplexity( (ASTExpression) node.getFirstChildOfType( ASTExpression.class ) );
+ int boolCompTern = NpathComplexity.sumExpressionComplexity( node.getFirstChildOfType( ASTExpression.class ) );
// Ternary statement always has a complexity of at least 1
boolCompTern++;
diff --git a/pmd/src/net/sourceforge/pmd/rules/MethodWithSameNameAsEnclosingClass.java b/pmd/src/net/sourceforge/pmd/rules/MethodWithSameNameAsEnclosingClass.java
index 73e42ff1cb..d47cc97025 100644
--- a/pmd/src/net/sourceforge/pmd/rules/MethodWithSameNameAsEnclosingClass.java
+++ b/pmd/src/net/sourceforge/pmd/rules/MethodWithSameNameAsEnclosingClass.java
@@ -4,15 +4,13 @@ import net.sourceforge.pmd.AbstractRule;
import net.sourceforge.pmd.ast.ASTClassOrInterfaceDeclaration;
import net.sourceforge.pmd.ast.ASTMethodDeclarator;
-import java.util.Iterator;
import java.util.List;
public class MethodWithSameNameAsEnclosingClass extends AbstractRule {
public Object visit(ASTClassOrInterfaceDeclaration node, Object data) {
- List methods = node.findChildrenOfType(ASTMethodDeclarator.class);
- for (Iterator i = methods.iterator(); i.hasNext();) {
- ASTMethodDeclarator m = (ASTMethodDeclarator) i.next();
+ List methods = node.findChildrenOfType(ASTMethodDeclarator.class);
+ for (ASTMethodDeclarator m: methods) {
if (m.hasImageEqualTo(node.getImage())) {
addViolation(data, m);
}
diff --git a/pmd/src/net/sourceforge/pmd/rules/MoreThanOneLogger.java b/pmd/src/net/sourceforge/pmd/rules/MoreThanOneLogger.java
index 3b04f44dc5..6679ba006a 100644
--- a/pmd/src/net/sourceforge/pmd/rules/MoreThanOneLogger.java
+++ b/pmd/src/net/sourceforge/pmd/rules/MoreThanOneLogger.java
@@ -45,7 +45,7 @@ public class MoreThanOneLogger extends AbstractRule {
if (count > 1) {
return super.visit(node, data);
}
- SimpleNode type = (SimpleNode) ((SimpleNode) node.jjtGetParent()).getFirstChildOfType(ASTType.class);
+ SimpleNode type = ((SimpleNode) node.jjtGetParent()).getFirstChildOfType(ASTType.class);
if (type != null) {
SimpleNode reftypeNode = (SimpleNode) type.jjtGetChild(0);
if (reftypeNode instanceof ASTReferenceType) {
diff --git a/pmd/src/net/sourceforge/pmd/rules/OverrideBothEqualsAndHashcode.java b/pmd/src/net/sourceforge/pmd/rules/OverrideBothEqualsAndHashcode.java
index 82e11ffac0..2aaf8f5adf 100644
--- a/pmd/src/net/sourceforge/pmd/rules/OverrideBothEqualsAndHashcode.java
+++ b/pmd/src/net/sourceforge/pmd/rules/OverrideBothEqualsAndHashcode.java
@@ -58,11 +58,10 @@ public class OverrideBothEqualsAndHashcode extends AbstractRule {
for (int ix = 0; ix < node.jjtGetNumChildren(); ix++) {
SimpleNode sn = (SimpleNode) node.jjtGetChild(ix);
if (sn.getClass().equals(ASTFormalParameters.class)) {
- List allParams = ((ASTFormalParameters) sn).findChildrenOfType(ASTFormalParameter.class);
- for (int i = 0; i < allParams.size(); i++) {
+ List allParams = ((ASTFormalParameters) sn).findChildrenOfType(ASTFormalParameter.class);
+ for (ASTFormalParameter formalParam: allParams) {
iFormalParams++;
- ASTFormalParameter formalParam = (ASTFormalParameter) allParams.get(i);
- ASTClassOrInterfaceType param = (ASTClassOrInterfaceType) formalParam.getFirstChildOfType(ASTClassOrInterfaceType.class);
+ ASTClassOrInterfaceType param = formalParam.getFirstChildOfType(ASTClassOrInterfaceType.class);
if (param != null) {
paramName = param.getImage();
}
diff --git a/pmd/src/net/sourceforge/pmd/rules/SymbolTableTestRule.java b/pmd/src/net/sourceforge/pmd/rules/SymbolTableTestRule.java
index 1042847b18..3c108ce1fe 100644
--- a/pmd/src/net/sourceforge/pmd/rules/SymbolTableTestRule.java
+++ b/pmd/src/net/sourceforge/pmd/rules/SymbolTableTestRule.java
@@ -9,14 +9,11 @@ import net.sourceforge.pmd.ast.ASTVariableDeclaratorId;
import net.sourceforge.pmd.ast.SimpleNode;
import net.sourceforge.pmd.symboltable.NameOccurrence;
-import java.util.Iterator;
-
public class SymbolTableTestRule extends AbstractRule {
public Object visit(ASTFieldDeclaration node,Object data) {
ASTVariableDeclaratorId declaration = node.findChildrenOfType(ASTVariableDeclaratorId.class).get(0);
- for (Iterator iter = declaration.getUsages().iterator();iter.hasNext();) {
- NameOccurrence no = (NameOccurrence)iter.next();
+ for (NameOccurrence no: declaration.getUsages()) {
SimpleNode location = no.getLocation();
System.out.println(declaration.getImage() + " is used here: " + location.getImage());
}
diff --git a/pmd/src/net/sourceforge/pmd/rules/UnusedFormalParameterRule.java b/pmd/src/net/sourceforge/pmd/rules/UnusedFormalParameterRule.java
index bcbb0f3166..987dd4fcd9 100644
--- a/pmd/src/net/sourceforge/pmd/rules/UnusedFormalParameterRule.java
+++ b/pmd/src/net/sourceforge/pmd/rules/UnusedFormalParameterRule.java
@@ -12,7 +12,6 @@ import net.sourceforge.pmd.ast.SimpleNode;
import net.sourceforge.pmd.symboltable.NameOccurrence;
import net.sourceforge.pmd.symboltable.VariableNameDeclaration;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -36,11 +35,10 @@ public class UnusedFormalParameterRule extends AbstractRule {
private void check(SimpleNode node, Object data) {
Node parent = node.jjtGetParent().jjtGetParent().jjtGetParent();
if (parent instanceof ASTClassOrInterfaceDeclaration && !((ASTClassOrInterfaceDeclaration) parent).isInterface()) {
- Map vars = node.getScope().getVariableDeclarations();
- for (Iterator i = vars.entrySet().iterator(); i.hasNext();) {
- Map.Entry entry = (Map.Entry) i.next();
- VariableNameDeclaration nameDecl = (VariableNameDeclaration) entry.getKey();
- if (actuallyUsed(nameDecl, (List) entry.getValue())) {
+ Map> vars = node.getScope().getVariableDeclarations();
+ for (Map.Entry> entry: vars.entrySet()) {
+ VariableNameDeclaration nameDecl = entry.getKey();
+ if (actuallyUsed(nameDecl, entry.getValue())) {
continue;
}
addViolation(data, node, new Object[]{node instanceof ASTMethodDeclaration ? "method" : "constructor", nameDecl.getImage()});
@@ -48,9 +46,8 @@ public class UnusedFormalParameterRule extends AbstractRule {
}
}
- private boolean actuallyUsed(VariableNameDeclaration nameDecl, List usages) {
- for (Iterator j = usages.iterator(); j.hasNext();) {
- NameOccurrence occ = (NameOccurrence) j.next();
+ private boolean actuallyUsed(VariableNameDeclaration nameDecl, List usages) {
+ for (NameOccurrence occ: usages) {
if (occ.isOnLeftHandSide()) {
if (nameDecl.isArray() && occ.getLocation().jjtGetParent().jjtGetParent().jjtGetNumChildren() > 1) {
// array element access
diff --git a/pmd/src/net/sourceforge/pmd/rules/UnusedLocalVariableRule.java b/pmd/src/net/sourceforge/pmd/rules/UnusedLocalVariableRule.java
index 144f44ec48..afe37e260b 100644
--- a/pmd/src/net/sourceforge/pmd/rules/UnusedLocalVariableRule.java
+++ b/pmd/src/net/sourceforge/pmd/rules/UnusedLocalVariableRule.java
@@ -9,7 +9,6 @@ import net.sourceforge.pmd.ast.ASTVariableDeclarator;
import net.sourceforge.pmd.ast.ASTVariableDeclaratorId;
import net.sourceforge.pmd.symboltable.NameOccurrence;
-import java.util.Iterator;
import java.util.List;
public class UnusedLocalVariableRule extends AbstractRule {
@@ -30,9 +29,8 @@ public class UnusedLocalVariableRule extends AbstractRule {
return data;
}
- private boolean actuallyUsed(List usages) {
- for (Iterator j = usages.iterator(); j.hasNext();) {
- NameOccurrence occ = (NameOccurrence) j.next();
+ private boolean actuallyUsed(List usages) {
+ for (NameOccurrence occ: usages) {
if (occ.isOnLeftHandSide()) {
continue;
} else {
diff --git a/pmd/src/net/sourceforge/pmd/rules/UnusedPrivateFieldRule.java b/pmd/src/net/sourceforge/pmd/rules/UnusedPrivateFieldRule.java
index 2a3d9457b3..507c1ea751 100644
--- a/pmd/src/net/sourceforge/pmd/rules/UnusedPrivateFieldRule.java
+++ b/pmd/src/net/sourceforge/pmd/rules/UnusedPrivateFieldRule.java
@@ -8,30 +8,27 @@ import net.sourceforge.pmd.ast.ASTClassOrInterfaceDeclaration;
import net.sourceforge.pmd.symboltable.NameOccurrence;
import net.sourceforge.pmd.symboltable.VariableNameDeclaration;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class UnusedPrivateFieldRule extends AbstractRule {
public Object visit(ASTClassOrInterfaceDeclaration node, Object data) {
- Map vars = node.getScope().getVariableDeclarations();
- for (Iterator i = vars.entrySet().iterator(); i.hasNext();) {
- Map.Entry entry = (Map.Entry) i.next();
- VariableNameDeclaration decl = (VariableNameDeclaration) entry.getKey();
+ Map> vars = node.getScope().getVariableDeclarations();
+ for (Map.Entry> entry: vars.entrySet()) {
+ VariableNameDeclaration decl = entry.getKey();
if (!decl.getAccessNodeParent().isPrivate() || isOK(decl.getImage())) {
continue;
}
- if (!actuallyUsed((List) entry.getValue())) {
+ if (!actuallyUsed(entry.getValue())) {
addViolation(data, decl.getNode(), decl.getImage());
}
}
return super.visit(node, data);
}
- private boolean actuallyUsed(List usages) {
- for (Iterator j = usages.iterator(); j.hasNext();) {
- NameOccurrence nameOccurrence = (NameOccurrence) j.next();
+ private boolean actuallyUsed(List usages) {
+ for (NameOccurrence nameOccurrence: usages) {
if (!nameOccurrence.isOnLeftHandSide()) {
return true;
}
diff --git a/pmd/src/net/sourceforge/pmd/rules/UselessAssignment.java b/pmd/src/net/sourceforge/pmd/rules/UselessAssignment.java
index 0df1ce546d..c006e62dcc 100644
--- a/pmd/src/net/sourceforge/pmd/rules/UselessAssignment.java
+++ b/pmd/src/net/sourceforge/pmd/rules/UselessAssignment.java
@@ -57,9 +57,9 @@ public class UselessAssignment extends AbstractRule implements Executable {
public void execute(CurrentPath path) {
Map hash = new HashMap();
//System.out.println("path size is " + path.size());
- for (Iterator i = path.iterator(); i.hasNext();) {
+ for (Iterator i = path.iterator(); i.hasNext();) {
//System.out.println("i = " + i);
- IDataFlowNode inode = (IDataFlowNode) i.next();
+ IDataFlowNode inode = i.next();
if (inode.getVariableAccess() == null) {
continue;
}
diff --git a/pmd/src/net/sourceforge/pmd/rules/UselessOperationOnImmutable.java b/pmd/src/net/sourceforge/pmd/rules/UselessOperationOnImmutable.java
index fc904dac9a..baac28a36b 100644
--- a/pmd/src/net/sourceforge/pmd/rules/UselessOperationOnImmutable.java
+++ b/pmd/src/net/sourceforge/pmd/rules/UselessOperationOnImmutable.java
@@ -1,6 +1,5 @@
package net.sourceforge.pmd.rules;
-import java.util.Iterator;
import java.util.Set;
import net.sourceforge.pmd.AbstractRule;
@@ -36,8 +35,7 @@ public class UselessOperationOnImmutable extends AbstractRule {
return super.visit(node, data);
}
String variableName = var.getImage();
- for (Iterator it = var.getUsages().iterator(); it.hasNext();) {
- NameOccurrence no = (NameOccurrence) it.next();
+ for (NameOccurrence no: var.getUsages()) {
// FIXME - getUsages will return everything with the same name as the variable,
// see JUnit test, case 6. Changing to SimpleNode below, revisit when getUsages is fixed
SimpleNode sn = no.getLocation();
diff --git a/pmd/src/net/sourceforge/pmd/rules/basic/BigIntegerInstantiation.java b/pmd/src/net/sourceforge/pmd/rules/basic/BigIntegerInstantiation.java
index 463d981a63..12ef7a4add 100644
--- a/pmd/src/net/sourceforge/pmd/rules/basic/BigIntegerInstantiation.java
+++ b/pmd/src/net/sourceforge/pmd/rules/basic/BigIntegerInstantiation.java
@@ -29,9 +29,9 @@ public class BigIntegerInstantiation extends AbstractRule {
if (("BigInteger".equals(img) || (jdk15 && "BigDecimal".equals(img))) &&
(node.getFirstChildOfType(ASTArrayDimsAndInits.class) == null)
) {
- ASTArguments args = (ASTArguments) node.getFirstChildOfType(ASTArguments.class);
+ ASTArguments args = node.getFirstChildOfType(ASTArguments.class);
if (args.getArgumentCount() == 1) {
- ASTLiteral literal = (ASTLiteral) node.getFirstChildOfType(ASTLiteral.class);
+ ASTLiteral literal = node.getFirstChildOfType(ASTLiteral.class);
if (literal == null || literal.jjtGetParent().jjtGetParent().jjtGetParent().jjtGetParent().jjtGetParent() != args) {
return super.visit(node, data);
}
diff --git a/pmd/src/net/sourceforge/pmd/rules/basic/BooleanInstantiation.java b/pmd/src/net/sourceforge/pmd/rules/basic/BooleanInstantiation.java
index 54085a4967..5a712288bd 100644
--- a/pmd/src/net/sourceforge/pmd/rules/basic/BooleanInstantiation.java
+++ b/pmd/src/net/sourceforge/pmd/rules/basic/BooleanInstantiation.java
@@ -47,11 +47,11 @@ public class BooleanInstantiation extends AbstractRule {
if ("Boolean.valueOf".equals(((ASTName) node.jjtGetChild(0)).getImage())
|| "java.lang.Boolean.valueOf".equals(((ASTName) node.jjtGetChild(0)).getImage())) {
ASTPrimaryExpression parent = (ASTPrimaryExpression) node.jjtGetParent();
- ASTPrimarySuffix suffix = (ASTPrimarySuffix) parent.getFirstChildOfType(ASTPrimarySuffix.class);
+ ASTPrimarySuffix suffix = parent.getFirstChildOfType(ASTPrimarySuffix.class);
if (suffix == null) {
return super.visit(node, data);
}
- ASTPrimaryPrefix prefix = (ASTPrimaryPrefix) suffix.getFirstChildOfType(ASTPrimaryPrefix.class);
+ ASTPrimaryPrefix prefix = suffix.getFirstChildOfType(ASTPrimaryPrefix.class);
if (prefix == null) {
return super.visit(node, data);
}
@@ -60,7 +60,7 @@ public class BooleanInstantiation extends AbstractRule {
super.addViolation(data, node);
return data;
}
- ASTLiteral literal = (ASTLiteral) prefix.getFirstChildOfType(ASTLiteral.class);
+ ASTLiteral literal = prefix.getFirstChildOfType(ASTLiteral.class);
if (literal != null && ("\"true\"".equals(literal.getImage()) || "\"false\"".equals(literal.getImage()))) {
super.addViolation(data, node);
return data;
diff --git a/pmd/src/net/sourceforge/pmd/rules/basic/BrokenNullCheck.java b/pmd/src/net/sourceforge/pmd/rules/basic/BrokenNullCheck.java
index 7fdf59525a..9902598a88 100644
--- a/pmd/src/net/sourceforge/pmd/rules/basic/BrokenNullCheck.java
+++ b/pmd/src/net/sourceforge/pmd/rules/basic/BrokenNullCheck.java
@@ -1,7 +1,6 @@
package net.sourceforge.pmd.rules.basic;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
import net.sourceforge.pmd.AbstractRule;
@@ -26,12 +25,12 @@ public class BrokenNullCheck extends AbstractRule {
public Object visit(ASTIfStatement node, Object data) {
ASTExpression expression = (ASTExpression)node.jjtGetChild(0);
- ASTConditionalAndExpression conditionalAndExpression = (ASTConditionalAndExpression)expression.getFirstChildOfType(ASTConditionalAndExpression.class);
+ ASTConditionalAndExpression conditionalAndExpression = expression.getFirstChildOfType(ASTConditionalAndExpression.class);
if (conditionalAndExpression != null) {
checkForViolations(node, data, conditionalAndExpression);
}
- ASTConditionalOrExpression conditionalOrExpression = (ASTConditionalOrExpression)expression.getFirstChildOfType(ASTConditionalOrExpression.class);
+ ASTConditionalOrExpression conditionalOrExpression = expression.getFirstChildOfType(ASTConditionalOrExpression.class);
if (conditionalOrExpression != null) {
checkForViolations(node, data, conditionalOrExpression);
}
@@ -53,7 +52,7 @@ public class BrokenNullCheck extends AbstractRule {
!"!=".equals(equalityExpression.getImage())) {
return;
}
- ASTNullLiteral nullLiteral = (ASTNullLiteral)equalityExpression.getFirstChildOfType(ASTNullLiteral.class);
+ ASTNullLiteral nullLiteral = equalityExpression.getFirstChildOfType(ASTNullLiteral.class);
if (nullLiteral == null) {
return; //No null check
}
@@ -82,7 +81,7 @@ public class BrokenNullCheck extends AbstractRule {
conditionalPrimaryExpression = (ASTPrimaryExpression)conditionalSubnode;
} else {
//The ASTPrimaryExpression is hidden (in a negation, braces or EqualityExpression)
- conditionalPrimaryExpression = (ASTPrimaryExpression) conditionalSubnode
+ conditionalPrimaryExpression = conditionalSubnode
.getFirstChildOfType(ASTPrimaryExpression.class);
}
@@ -151,13 +150,11 @@ public class BrokenNullCheck extends AbstractRule {
}
private ASTPrimaryExpression findNullCompareExpression(ASTEqualityExpression equalityExpression) {
- List primaryExpressions = equalityExpression.findChildrenOfType(ASTPrimaryExpression.class);
- for (Iterator iter = primaryExpressions.iterator(); iter.hasNext();) {
- ASTPrimaryExpression primaryExpression = (ASTPrimaryExpression) iter.next();
- List primaryPrefixes = primaryExpression.findChildrenOfType(ASTPrimaryPrefix.class);
- for (Iterator iterator = primaryPrefixes.iterator(); iterator.hasNext();) {
- ASTPrimaryPrefix primaryPrefix = (ASTPrimaryPrefix) iterator.next();
- ASTName name = (ASTName)primaryPrefix.getFirstChildOfType(ASTName.class);
+ List primaryExpressions = equalityExpression.findChildrenOfType(ASTPrimaryExpression.class);
+ for (ASTPrimaryExpression primaryExpression: primaryExpressions) {
+ List primaryPrefixes = primaryExpression.findChildrenOfType(ASTPrimaryPrefix.class);
+ for (ASTPrimaryPrefix primaryPrefix: primaryPrefixes) {
+ ASTName name = primaryPrefix.getFirstChildOfType(ASTName.class);
if (name != null) {
//We found the variable that is compared to null
return primaryExpression;
diff --git a/pmd/src/net/sourceforge/pmd/rules/design/NonThreadSafeSingleton.java b/pmd/src/net/sourceforge/pmd/rules/design/NonThreadSafeSingleton.java
index d7849d1a49..7748fdcee2 100644
--- a/pmd/src/net/sourceforge/pmd/rules/design/NonThreadSafeSingleton.java
+++ b/pmd/src/net/sourceforge/pmd/rules/design/NonThreadSafeSingleton.java
@@ -71,12 +71,12 @@ public class NonThreadSafeSingleton extends AbstractRule {
for (Iterator iter = ifStatements.iterator(); iter.hasNext();) {
ASTIfStatement ifStatement = (ASTIfStatement) iter.next();
if (ifStatement.getFirstParentOfType(ASTSynchronizedStatement.class) == null) {
- ASTNullLiteral NullLiteral = (ASTNullLiteral) ifStatement.getFirstChildOfType(ASTNullLiteral.class);
+ ASTNullLiteral NullLiteral = ifStatement.getFirstChildOfType(ASTNullLiteral.class);
if (NullLiteral == null) {
continue;
}
- ASTName Name = (ASTName) ifStatement.getFirstChildOfType(ASTName.class);
+ ASTName Name = ifStatement.getFirstChildOfType(ASTName.class);
if (Name == null || !fieldDecls.containsKey(Name.getImage())) {
continue;
}
@@ -92,7 +92,7 @@ public class NonThreadSafeSingleton extends AbstractRule {
ASTPrimaryPrefix pp = (ASTPrimaryPrefix) ((ASTPrimaryExpression) expr.jjtGetChild(0)).jjtGetChild(0);
String name = null;
if (pp.usesThisModifier()) {
- ASTPrimarySuffix priSuf = (ASTPrimarySuffix)expr.getFirstChildOfType(ASTPrimarySuffix.class);
+ ASTPrimarySuffix priSuf = expr.getFirstChildOfType(ASTPrimarySuffix.class);
name = priSuf.getImage();
} else {
ASTName astName = (ASTName) pp.jjtGetChild(0);
diff --git a/pmd/src/net/sourceforge/pmd/rules/design/NpathComplexity.java b/pmd/src/net/sourceforge/pmd/rules/design/NpathComplexity.java
index 61a4eadc41..0c5c4b8a18 100644
--- a/pmd/src/net/sourceforge/pmd/rules/design/NpathComplexity.java
+++ b/pmd/src/net/sourceforge/pmd/rules/design/NpathComplexity.java
@@ -99,7 +99,7 @@ public class NpathComplexity extends StatisticalRule {
public Object visit(ASTIfStatement node, Object data) {
// (npath of if + npath of else (or 1) + bool_comp of if) * npath of next
- int boolCompIf = sumExpressionComplexity( (ASTExpression) node.getFirstChildOfType( ASTExpression.class ) );
+ int boolCompIf = sumExpressionComplexity( node.getFirstChildOfType( ASTExpression.class ) );
int complexity = 0;
@@ -131,7 +131,7 @@ public class NpathComplexity extends StatisticalRule {
public Object visit(ASTWhileStatement node, Object data) {
// (npath of while + bool_comp of while + 1) * npath of next
- int boolCompWhile = sumExpressionComplexity( (ASTExpression) node.getFirstChildOfType( ASTExpression.class ) );
+ int boolCompWhile = sumExpressionComplexity( node.getFirstChildOfType( ASTExpression.class ) );
Integer nPathWhile = (Integer) ( (SimpleJavaNode) node.getFirstChildOfType( ASTStatement.class ) ).jjtAccept(
this, data );
@@ -142,7 +142,7 @@ public class NpathComplexity extends StatisticalRule {
public Object visit(ASTDoStatement node, Object data) {
// (npath of do + bool_comp of do + 1) * npath of next
- int boolCompDo = sumExpressionComplexity( (ASTExpression) node.getFirstChildOfType( ASTExpression.class ) );
+ int boolCompDo = sumExpressionComplexity( node.getFirstChildOfType( ASTExpression.class ) );
Integer nPathDo = (Integer) ( (SimpleJavaNode) node.getFirstChildOfType( ASTStatement.class ) ).jjtAccept(
this, data );
@@ -153,7 +153,7 @@ public class NpathComplexity extends StatisticalRule {
public Object visit(ASTForStatement node, Object data) {
// (npath of for + bool_comp of for + 1) * npath of next
- int boolCompFor = sumExpressionComplexity( (ASTExpression) node.getFirstChildOfType( ASTExpression.class ) );
+ int boolCompFor = sumExpressionComplexity( node.getFirstChildOfType( ASTExpression.class ) );
Integer nPathFor = (Integer) ( (SimpleJavaNode) node.getFirstChildOfType( ASTStatement.class ) ).jjtAccept(
this, data );
@@ -164,7 +164,7 @@ public class NpathComplexity extends StatisticalRule {
public Object visit(ASTReturnStatement node, Object data) {
// return statements are valued at 1, or the value of the boolean expression
- ASTExpression expr = (ASTExpression) node.getFirstChildOfType( ASTExpression.class );
+ ASTExpression expr = node.getFirstChildOfType( ASTExpression.class );
if ( expr == null ) {
return NumericConstants.ONE;
@@ -183,7 +183,7 @@ public class NpathComplexity extends StatisticalRule {
public Object visit(ASTSwitchStatement node, Object data) {
// bool_comp of switch + sum(npath(case_range))
- int boolCompSwitch = sumExpressionComplexity( (ASTExpression) node.getFirstChildOfType( ASTExpression.class ) );
+ int boolCompSwitch = sumExpressionComplexity( node.getFirstChildOfType( ASTExpression.class ) );
int npath = 0;
int caseRange = 0;
diff --git a/pmd/src/net/sourceforge/pmd/rules/design/NullAssignmentRule.java b/pmd/src/net/sourceforge/pmd/rules/design/NullAssignmentRule.java
index 52c36defc8..8bedba630a 100644
--- a/pmd/src/net/sourceforge/pmd/rules/design/NullAssignmentRule.java
+++ b/pmd/src/net/sourceforge/pmd/rules/design/NullAssignmentRule.java
@@ -37,7 +37,7 @@ public class NullAssignmentRule extends AbstractRule {
}
private boolean isAssignmentToFinalField(ASTStatementExpression n) {
- ASTName name = (ASTName) n.getFirstChildOfType(ASTName.class);
+ ASTName name = n.getFirstChildOfType(ASTName.class);
return name != null
&& name.getNameDeclaration() instanceof VariableNameDeclaration
&& ((VariableNameDeclaration) name.getNameDeclaration()).getAccessNodeParent().isFinal();
diff --git a/pmd/src/net/sourceforge/pmd/rules/design/PreserveStackTrace.java b/pmd/src/net/sourceforge/pmd/rules/design/PreserveStackTrace.java
index 3fb5462e42..d61abb0e96 100644
--- a/pmd/src/net/sourceforge/pmd/rules/design/PreserveStackTrace.java
+++ b/pmd/src/net/sourceforge/pmd/rules/design/PreserveStackTrace.java
@@ -35,7 +35,7 @@ public class PreserveStackTrace extends AbstractRule {
}
continue;
}
- ASTArgumentList args = (ASTArgumentList) throwStatement.getFirstChildOfType(ASTArgumentList.class);
+ ASTArgumentList args = throwStatement.getFirstChildOfType(ASTArgumentList.class);
if (args != null) {
ck(data, target, throwStatement, args);
@@ -50,7 +50,7 @@ public class PreserveStackTrace extends AbstractRule {
Map vars = ((ASTName) child).getScope().getVariableDeclarations();
for (Iterator i = vars.keySet().iterator(); i.hasNext();) {
VariableNameDeclaration decl = (VariableNameDeclaration) i.next();
- args = (ASTArgumentList) ((SimpleNode) decl.getNode().jjtGetParent())
+ args = ((SimpleNode) decl.getNode().jjtGetParent())
.getFirstChildOfType(ASTArgumentList.class);
if (args != null) {
ck(data, target, throwStatement, args);
diff --git a/pmd/src/net/sourceforge/pmd/rules/design/UnnecessaryLocalBeforeReturn.java b/pmd/src/net/sourceforge/pmd/rules/design/UnnecessaryLocalBeforeReturn.java
index 2ce7a222c2..e579b399ec 100644
--- a/pmd/src/net/sourceforge/pmd/rules/design/UnnecessaryLocalBeforeReturn.java
+++ b/pmd/src/net/sourceforge/pmd/rules/design/UnnecessaryLocalBeforeReturn.java
@@ -26,7 +26,7 @@ public class UnnecessaryLocalBeforeReturn extends AbstractRule {
public Object visit(ASTReturnStatement rtn, Object data) {
// skip returns of literals
- ASTName name = (ASTName) rtn.getFirstChildOfType(ASTName.class);
+ ASTName name = rtn.getFirstChildOfType(ASTName.class);
if (name == null) {
return data;
}
diff --git a/pmd/src/net/sourceforge/pmd/rules/design/UnsynchronizedStaticDateFormatter.java b/pmd/src/net/sourceforge/pmd/rules/design/UnsynchronizedStaticDateFormatter.java
index d3abf3ae63..fc9818ffdf 100644
--- a/pmd/src/net/sourceforge/pmd/rules/design/UnsynchronizedStaticDateFormatter.java
+++ b/pmd/src/net/sourceforge/pmd/rules/design/UnsynchronizedStaticDateFormatter.java
@@ -42,11 +42,11 @@ public class UnsynchronizedStaticDateFormatter extends AbstractRule {
if (!node.isStatic()) {
return data;
}
- ASTClassOrInterfaceType cit = (ASTClassOrInterfaceType) node.getFirstChildOfType(ASTClassOrInterfaceType.class);
+ ASTClassOrInterfaceType cit = node.getFirstChildOfType(ASTClassOrInterfaceType.class);
if (cit == null || !targets.contains(cit.getImage())) {
return data;
}
- ASTVariableDeclaratorId var = (ASTVariableDeclaratorId) node.getFirstChildOfType(ASTVariableDeclaratorId.class);
+ ASTVariableDeclaratorId var = node.getFirstChildOfType(ASTVariableDeclaratorId.class);
for (Iterator i = var.getUsages().iterator(); i.hasNext();) {
NameOccurrence occ = (NameOccurrence) i.next();
SimpleNode n = occ.getLocation();
diff --git a/pmd/src/net/sourceforge/pmd/rules/design/UseSingleton.java b/pmd/src/net/sourceforge/pmd/rules/design/UseSingleton.java
index 02446b6e98..2cf7175881 100644
--- a/pmd/src/net/sourceforge/pmd/rules/design/UseSingleton.java
+++ b/pmd/src/net/sourceforge/pmd/rules/design/UseSingleton.java
@@ -58,8 +58,8 @@ public class UseSingleton extends AbstractRule {
// TODO use symbol table
if (decl.getMethodName().equals("suite")) {
- ASTResultType res = (ASTResultType) decl.getFirstChildOfType(ASTResultType.class);
- ASTClassOrInterfaceType c = (ASTClassOrInterfaceType) res.getFirstChildOfType(ASTClassOrInterfaceType.class);
+ ASTResultType res = decl.getFirstChildOfType(ASTResultType.class);
+ ASTClassOrInterfaceType c = res.getFirstChildOfType(ASTClassOrInterfaceType.class);
if (c != null && c.hasImageEqualTo("Test")) {
isOK = true;
}
diff --git a/pmd/src/net/sourceforge/pmd/rules/migration/UnnecessaryCast.java b/pmd/src/net/sourceforge/pmd/rules/migration/UnnecessaryCast.java
index 330a126e45..e2bbd1dab7 100644
--- a/pmd/src/net/sourceforge/pmd/rules/migration/UnnecessaryCast.java
+++ b/pmd/src/net/sourceforge/pmd/rules/migration/UnnecessaryCast.java
@@ -53,16 +53,15 @@ public class UnnecessaryCast extends AbstractRule {
}
private Object process(SimpleNode node, Object data) {
- ASTClassOrInterfaceType cit = (ASTClassOrInterfaceType) node.getFirstChildOfType(ASTClassOrInterfaceType.class);
+ ASTClassOrInterfaceType cit = node.getFirstChildOfType(ASTClassOrInterfaceType.class);
if (cit == null || !implClassNames.contains(cit.getImage())) {
return data;
}
- cit = (ASTClassOrInterfaceType) cit.getFirstChildOfType(ASTClassOrInterfaceType.class);
+ cit = cit.getFirstChildOfType(ASTClassOrInterfaceType.class);
if (cit == null) {
return data;
}
- ASTVariableDeclaratorId decl = (ASTVariableDeclaratorId) node
- .getFirstChildOfType(ASTVariableDeclaratorId.class);
+ ASTVariableDeclaratorId decl = node.getFirstChildOfType(ASTVariableDeclaratorId.class);
List usages = decl.getUsages();
for (Iterator iter = usages.iterator(); iter.hasNext();) {
NameOccurrence no = (NameOccurrence) iter.next();
diff --git a/pmd/src/net/sourceforge/pmd/rules/naming/SuspiciousHashcodeMethodName.java b/pmd/src/net/sourceforge/pmd/rules/naming/SuspiciousHashcodeMethodName.java
index 0ed4ef86f7..ecaa72d48f 100644
--- a/pmd/src/net/sourceforge/pmd/rules/naming/SuspiciousHashcodeMethodName.java
+++ b/pmd/src/net/sourceforge/pmd/rules/naming/SuspiciousHashcodeMethodName.java
@@ -20,8 +20,8 @@ public class SuspiciousHashcodeMethodName extends AbstractRule {
[not(FormalParameters/*)]]]
*/
- ASTResultType type = (ASTResultType) node.getFirstChildOfType(ASTResultType.class);
- ASTMethodDeclarator decl = (ASTMethodDeclarator) node.getFirstChildOfType(ASTMethodDeclarator.class);
+ ASTResultType type = node.getFirstChildOfType(ASTResultType.class);
+ ASTMethodDeclarator decl = node.getFirstChildOfType(ASTMethodDeclarator.class);
String name = decl.getImage();
if (name.equalsIgnoreCase("hashcode") && !name.equals("hashCode")
&& decl.jjtGetChild(0).jjtGetNumChildren() == 0
diff --git a/pmd/src/net/sourceforge/pmd/rules/optimization/UseStringBufferForStringAppends.java b/pmd/src/net/sourceforge/pmd/rules/optimization/UseStringBufferForStringAppends.java
index bfa8e11bb7..16dad2f66a 100644
--- a/pmd/src/net/sourceforge/pmd/rules/optimization/UseStringBufferForStringAppends.java
+++ b/pmd/src/net/sourceforge/pmd/rules/optimization/UseStringBufferForStringAppends.java
@@ -34,9 +34,9 @@ public class UseStringBufferForStringAppends extends AbstractRule {
// FIXME - hm, is there a bug in those methods?
// check that we're looking at the "left hand" node. NB:
// no.isRightHand / no.isLeftHand doesn't look like it works
- ASTName astName = (ASTName) ((SimpleNode) statement.jjtGetChild(0)).getFirstChildOfType(ASTName.class);
+ ASTName astName = ((SimpleNode) statement.jjtGetChild(0)).getFirstChildOfType(ASTName.class);
if (astName != null && astName.equals(name)) {
- ASTAssignmentOperator assignmentOperator = (ASTAssignmentOperator) statement.getFirstChildOfType(ASTAssignmentOperator.class);
+ ASTAssignmentOperator assignmentOperator = statement.getFirstChildOfType(ASTAssignmentOperator.class);
if (assignmentOperator != null && assignmentOperator.isCompound()) {
addViolation(data, assignmentOperator);
}
diff --git a/pmd/src/net/sourceforge/pmd/rules/strings/ConsecutiveLiteralAppends.java b/pmd/src/net/sourceforge/pmd/rules/strings/ConsecutiveLiteralAppends.java
index c26c598853..7060cd70c8 100644
--- a/pmd/src/net/sourceforge/pmd/rules/strings/ConsecutiveLiteralAppends.java
+++ b/pmd/src/net/sourceforge/pmd/rules/strings/ConsecutiveLiteralAppends.java
@@ -162,11 +162,10 @@ public class ConsecutiveLiteralAppends extends AbstractRule {
private int checkConstructor(ASTVariableDeclaratorId node, Object data) {
Node parent = node.jjtGetParent();
if (parent.jjtGetNumChildren() >= 2) {
- ASTArgumentList list = (ASTArgumentList) ((SimpleNode) parent
+ ASTArgumentList list = ((SimpleNode) parent
.jjtGetChild(1)).getFirstChildOfType(ASTArgumentList.class);
if (list != null) {
- ASTLiteral literal = (ASTLiteral) list
- .getFirstChildOfType(ASTLiteral.class);
+ ASTLiteral literal = list.getFirstChildOfType(ASTLiteral.class);
if (!isAdditive(list) && literal != null
&& literal.isStringLiteral()) {
return 1;
@@ -179,8 +178,7 @@ public class ConsecutiveLiteralAppends extends AbstractRule {
private int processAdditive(Object data, int concurrentCount,
SimpleNode sn, SimpleNode rootNode) {
- ASTAdditiveExpression additive = (ASTAdditiveExpression) sn
- .getFirstChildOfType(ASTAdditiveExpression.class);
+ ASTAdditiveExpression additive = sn.getFirstChildOfType(ASTAdditiveExpression.class);
if (additive == null) {
return 0;
}
diff --git a/pmd/src/net/sourceforge/pmd/rules/strings/InefficientStringBuffering.java b/pmd/src/net/sourceforge/pmd/rules/strings/InefficientStringBuffering.java
index ed0507e8ca..a8f1da8ed2 100644
--- a/pmd/src/net/sourceforge/pmd/rules/strings/InefficientStringBuffering.java
+++ b/pmd/src/net/sourceforge/pmd/rules/strings/InefficientStringBuffering.java
@@ -86,7 +86,7 @@ public class InefficientStringBuffering extends AbstractRule {
if (s == null) {
return false;
}
- ASTName n = (ASTName)s.getFirstChildOfType(ASTName.class);
+ ASTName n = s.getFirstChildOfType(ASTName.class);
if (n == null || n.getImage().indexOf(methodName) == -1 || !(n.getNameDeclaration() instanceof VariableNameDeclaration)) {
return false;
}
@@ -95,7 +95,7 @@ public class InefficientStringBuffering extends AbstractRule {
// we need something to support this in the framework
// but, "for now" (tm):
// if more than one arg to append(), skip it
- ASTArgumentList argList = (ASTArgumentList)s.getFirstChildOfType(ASTArgumentList.class);
+ ASTArgumentList argList = s.getFirstChildOfType(ASTArgumentList.class);
if (argList == null || argList.jjtGetNumChildren() > 1) {
return false;
}
@@ -121,7 +121,7 @@ public class InefficientStringBuffering extends AbstractRule {
return false;
}
// note that the child can be an ArrayDimsAndInits, for example, from java.lang.FloatingDecimal: t = new int[ nWords+wordcount+1 ];
- ASTClassOrInterfaceType an = (ASTClassOrInterfaceType) ao.getFirstChildOfType(ASTClassOrInterfaceType.class);
+ ASTClassOrInterfaceType an = ao.getFirstChildOfType(ASTClassOrInterfaceType.class);
return an != null && (an.getImage().endsWith("StringBuffer") || an.getImage().endsWith("StringBuilder"));
}
}
diff --git a/pmd/src/net/sourceforge/pmd/rules/strings/InsufficientStringBufferDeclaration.java b/pmd/src/net/sourceforge/pmd/rules/strings/InsufficientStringBufferDeclaration.java
index 65e609ef34..31e5be09dc 100644
--- a/pmd/src/net/sourceforge/pmd/rules/strings/InsufficientStringBufferDeclaration.java
+++ b/pmd/src/net/sourceforge/pmd/rules/strings/InsufficientStringBufferDeclaration.java
@@ -152,14 +152,14 @@ public class InsufficientStringBufferDeclaration extends AbstractRule {
}
private int processAdditive(SimpleNode sn) {
- ASTAdditiveExpression additive = (ASTAdditiveExpression) sn.getFirstChildOfType(ASTAdditiveExpression.class);
+ ASTAdditiveExpression additive = sn.getFirstChildOfType(ASTAdditiveExpression.class);
if (additive == null) {
return 0;
}
int anticipatedLength = 0;
for (int ix = 0; ix < additive.jjtGetNumChildren(); ix++) {
SimpleNode childNode = (SimpleNode) additive.jjtGetChild(ix);
- ASTLiteral literal = (ASTLiteral) childNode.getFirstChildOfType(ASTLiteral.class);
+ ASTLiteral literal = childNode.getFirstChildOfType(ASTLiteral.class);
if (literal != null && literal.getImage() != null) {
anticipatedLength += literal.getImage().length() - 2;
}
@@ -178,7 +178,7 @@ public class InsufficientStringBufferDeclaration extends AbstractRule {
private int processNode(SimpleNode sn) {
int anticipatedLength = 0;
- ASTPrimaryPrefix xn = (ASTPrimaryPrefix) sn.getFirstChildOfType(ASTPrimaryPrefix.class);
+ ASTPrimaryPrefix xn = sn.getFirstChildOfType(ASTPrimaryPrefix.class);
if (xn.jjtGetNumChildren() != 0 && xn.jjtGetChild(0).getClass().equals(ASTLiteral.class)) {
String str = ((SimpleNode) xn.jjtGetChild(0)).getImage();
if(isLiteral(str)){
diff --git a/pmd/src/net/sourceforge/pmd/rules/strings/StringInstantiation.java b/pmd/src/net/sourceforge/pmd/rules/strings/StringInstantiation.java
index 7a0a707b85..39aa574d3c 100644
--- a/pmd/src/net/sourceforge/pmd/rules/strings/StringInstantiation.java
+++ b/pmd/src/net/sourceforge/pmd/rules/strings/StringInstantiation.java
@@ -33,7 +33,7 @@ public class StringInstantiation extends AbstractRule {
return data;
}
- ASTName name = (ASTName) node.getFirstChildOfType(ASTName.class);
+ ASTName name =node.getFirstChildOfType(ASTName.class);
// Literal, i.e., new String("foo")
if (name == null) {
addViolation(data, node);
diff --git a/pmd/src/net/sourceforge/pmd/rules/sunsecure/AbstractSunSecureRule.java b/pmd/src/net/sourceforge/pmd/rules/sunsecure/AbstractSunSecureRule.java
index df40afb2cb..48795a0968 100644
--- a/pmd/src/net/sourceforge/pmd/rules/sunsecure/AbstractSunSecureRule.java
+++ b/pmd/src/net/sourceforge/pmd/rules/sunsecure/AbstractSunSecureRule.java
@@ -37,7 +37,7 @@ public abstract class AbstractSunSecureRule extends AbstractRule {
if (fds != null) {
for (Iterator it = fds.iterator(); it.hasNext();) {
final ASTFieldDeclaration fd = (ASTFieldDeclaration) it.next();
- final ASTVariableDeclaratorId vid = (ASTVariableDeclaratorId) fd.getFirstChildOfType(ASTVariableDeclaratorId.class);
+ final ASTVariableDeclaratorId vid = fd.getFirstChildOfType(ASTVariableDeclaratorId.class);
if (vid != null && vid.hasImageEqualTo(varName)) {
return true;
}
@@ -58,10 +58,10 @@ public abstract class AbstractSunSecureRule extends AbstractRule {
* @return the name of the variable associated or null
if it cannot be detected
*/
protected final String getReturnedVariableName(ASTReturnStatement ret) {
- final ASTName n = (ASTName) ret.getFirstChildOfType(ASTName.class);
+ final ASTName n = ret.getFirstChildOfType(ASTName.class);
if (n != null)
return n.getImage();
- final ASTPrimarySuffix ps = (ASTPrimarySuffix) ret.getFirstChildOfType(ASTPrimarySuffix.class);
+ final ASTPrimarySuffix ps = ret.getFirstChildOfType(ASTPrimarySuffix.class);
if (ps != null)
return ps.getImage();
return null;
@@ -80,7 +80,7 @@ public abstract class AbstractSunSecureRule extends AbstractRule {
if (lvars != null) {
for (Iterator it = lvars.iterator(); it.hasNext();) {
final ASTLocalVariableDeclaration lvd = (ASTLocalVariableDeclaration) it.next();
- final ASTVariableDeclaratorId vid = (ASTVariableDeclaratorId) lvd.getFirstChildOfType(ASTVariableDeclaratorId.class);
+ final ASTVariableDeclaratorId vid = lvd.getFirstChildOfType(ASTVariableDeclaratorId.class);
if (vid != null && vid.hasImageEqualTo(vn)) {
return true;
}
@@ -96,7 +96,7 @@ public abstract class AbstractSunSecureRule extends AbstractRule {
* @return the image of the first ASTName or null
*/
protected String getFirstNameImage(SimpleNode n) {
- ASTName name = (ASTName) n.getFirstChildOfType(ASTName.class);
+ ASTName name = n.getFirstChildOfType(ASTName.class);
if (name != null)
return name.getImage();
return null;
diff --git a/pmd/src/net/sourceforge/pmd/rules/sunsecure/ArrayIsStoredDirectly.java b/pmd/src/net/sourceforge/pmd/rules/sunsecure/ArrayIsStoredDirectly.java
index 002ab6164c..4996150acf 100644
--- a/pmd/src/net/sourceforge/pmd/rules/sunsecure/ArrayIsStoredDirectly.java
+++ b/pmd/src/net/sourceforge/pmd/rules/sunsecure/ArrayIsStoredDirectly.java
@@ -47,7 +47,7 @@ public class ArrayIsStoredDirectly extends AbstractSunSecureRule {
}
public Object visit(ASTMethodDeclaration node, Object data) {
- final ASTFormalParameters params = (ASTFormalParameters) node.getFirstChildOfType(ASTFormalParameters.class);
+ final ASTFormalParameters params = node.getFirstChildOfType(ASTFormalParameters.class);
ASTFormalParameter[] arrs = getArrays(params);
if (arrs != null) {
checkAll(data, arrs, node.findChildrenOfType(ASTBlockStatement.class));
@@ -65,19 +65,19 @@ public class ArrayIsStoredDirectly extends AbstractSunSecureRule {
* Checks if the variable designed in parameter is written to a field (not local variable) in the statements.
*/
private boolean checkForDirectAssignment(Object ctx, final ASTFormalParameter parameter, final List bs) {
- final ASTVariableDeclaratorId vid = (ASTVariableDeclaratorId) parameter.getFirstChildOfType(ASTVariableDeclaratorId.class);
+ final ASTVariableDeclaratorId vid = parameter.getFirstChildOfType(ASTVariableDeclaratorId.class);
final String varName = vid.getImage();
for (Iterator it = bs.iterator(); it.hasNext();) {
final ASTBlockStatement b = (ASTBlockStatement) it.next();
if (b.containsChildOfType(ASTAssignmentOperator.class)) {
- final ASTStatementExpression se = (ASTStatementExpression) b.getFirstChildOfType(ASTStatementExpression.class);
+ final ASTStatementExpression se = b.getFirstChildOfType(ASTStatementExpression.class);
if (se == null || !(se.jjtGetChild(0) instanceof ASTPrimaryExpression)) {
continue;
}
ASTPrimaryExpression pe = (ASTPrimaryExpression) se.jjtGetChild(0);
String assignedVar = getFirstNameImage(pe);
if (assignedVar == null) {
- ASTPrimarySuffix suffix = (ASTPrimarySuffix) se.getFirstChildOfType(ASTPrimarySuffix.class);
+ ASTPrimarySuffix suffix = se.getFirstChildOfType(ASTPrimarySuffix.class);
if (suffix == null) {
continue;
}
@@ -104,7 +104,7 @@ public class ArrayIsStoredDirectly extends AbstractSunSecureRule {
}
String val = getFirstNameImage(e);
if (val == null) {
- ASTPrimarySuffix foo = (ASTPrimarySuffix) se.getFirstChildOfType(ASTPrimarySuffix.class);
+ ASTPrimarySuffix foo = se.getFirstChildOfType(ASTPrimarySuffix.class);
if (foo == null) {
continue;
}
@@ -113,7 +113,7 @@ public class ArrayIsStoredDirectly extends AbstractSunSecureRule {
if (val == null) {
continue;
}
- ASTPrimarySuffix foo = (ASTPrimarySuffix) se.getFirstChildOfType(ASTPrimarySuffix.class);
+ ASTPrimarySuffix foo = se.getFirstChildOfType(ASTPrimarySuffix.class);
if (foo != null && foo.isArrayDereference()) {
continue;
}
diff --git a/pmd/src/net/sourceforge/pmd/rules/sunsecure/MethodReturnsInternalArray.java b/pmd/src/net/sourceforge/pmd/rules/sunsecure/MethodReturnsInternalArray.java
index d42f0dca5a..b9e3bac544 100644
--- a/pmd/src/net/sourceforge/pmd/rules/sunsecure/MethodReturnsInternalArray.java
+++ b/pmd/src/net/sourceforge/pmd/rules/sunsecure/MethodReturnsInternalArray.java
@@ -13,7 +13,6 @@ import net.sourceforge.pmd.ast.ASTPrimarySuffix;
import net.sourceforge.pmd.ast.ASTReturnStatement;
import net.sourceforge.pmd.ast.ASTTypeDeclaration;
-import java.util.Iterator;
import java.util.List;
/**
@@ -35,10 +34,9 @@ public class MethodReturnsInternalArray extends AbstractSunSecureRule {
if (!method.getResultType().returnsArray()) {
return data;
}
- List returns = method.findChildrenOfType(ASTReturnStatement.class);
+ List returns = method.findChildrenOfType(ASTReturnStatement.class);
ASTTypeDeclaration td = method.getFirstParentOfType(ASTTypeDeclaration.class);
- for (Iterator it = returns.iterator(); it.hasNext();) {
- final ASTReturnStatement ret = (ASTReturnStatement) it.next();
+ for (ASTReturnStatement ret: returns) {
final String vn = getReturnedVariableName(ret);
if (!isField(vn, td)) {
continue;
@@ -53,9 +51,9 @@ public class MethodReturnsInternalArray extends AbstractSunSecureRule {
addViolation(data, ret, vn);
} else {
// This is to handle field hiding
- final ASTPrimaryPrefix pp = (ASTPrimaryPrefix) ret.getFirstChildOfType(ASTPrimaryPrefix.class);
+ final ASTPrimaryPrefix pp = ret.getFirstChildOfType(ASTPrimaryPrefix.class);
if (pp != null && pp.usesThisModifier()) {
- final ASTPrimarySuffix ps = (ASTPrimarySuffix) ret.getFirstChildOfType(ASTPrimarySuffix.class);
+ final ASTPrimarySuffix ps = ret.getFirstChildOfType(ASTPrimarySuffix.class);
if (ps.hasImageEqualTo(vn)) {
addViolation(data, ret, vn);
}
diff --git a/pmd/src/net/sourceforge/pmd/symboltable/ScopeAndDeclarationFinder.java b/pmd/src/net/sourceforge/pmd/symboltable/ScopeAndDeclarationFinder.java
index 73aeffbddb..eaa623aa4c 100644
--- a/pmd/src/net/sourceforge/pmd/symboltable/ScopeAndDeclarationFinder.java
+++ b/pmd/src/net/sourceforge/pmd/symboltable/ScopeAndDeclarationFinder.java
@@ -159,7 +159,7 @@ public class ScopeAndDeclarationFinder extends JavaParserVisitorAdapter {
public Object visit(ASTMethodDeclaration node, Object data) {
createMethodScope(node);
- ASTMethodDeclarator md = (ASTMethodDeclarator) node.getFirstChildOfType(ASTMethodDeclarator.class);
+ ASTMethodDeclarator md = node.getFirstChildOfType(ASTMethodDeclarator.class);
node.getScope().getEnclosingClassScope().addDeclaration(new MethodNameDeclaration(md));
cont(node);
return data;
diff --git a/pmd/src/net/sourceforge/pmd/typeresolution/ClassTypeResolver.java b/pmd/src/net/sourceforge/pmd/typeresolution/ClassTypeResolver.java
index fba94938ad..2972305286 100644
--- a/pmd/src/net/sourceforge/pmd/typeresolution/ClassTypeResolver.java
+++ b/pmd/src/net/sourceforge/pmd/typeresolution/ClassTypeResolver.java
@@ -13,7 +13,6 @@ import net.sourceforge.pmd.ast.JavaParserVisitorAdapter;
import java.util.Collections;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -76,11 +75,9 @@ public class ClassTypeResolver extends JavaParserVisitorAdapter {
}
private void populateClassName(ASTCompilationUnit node) throws ClassNotFoundException {
- ASTClassOrInterfaceDeclaration decl = (ASTClassOrInterfaceDeclaration) node
- .getFirstChildOfType(ASTClassOrInterfaceDeclaration.class);
+ ASTClassOrInterfaceDeclaration decl = node.getFirstChildOfType(ASTClassOrInterfaceDeclaration.class);
if (decl != null) {
- ASTPackageDeclaration pkgDecl = (ASTPackageDeclaration) node
- .getFirstChildOfType(ASTPackageDeclaration.class);
+ ASTPackageDeclaration pkgDecl = node.getFirstChildOfType(ASTPackageDeclaration.class);
className = pkgDecl == null ? decl.getImage() : ((ASTName) pkgDecl.jjtGetChild(0)).getImage() + "."
+ decl.getImage();
pmdClassLoader.loadClass(className);
diff --git a/pmd/src/net/sourceforge/pmd/typeresolution/rules/CloneMethodMustImplementCloneable.java b/pmd/src/net/sourceforge/pmd/typeresolution/rules/CloneMethodMustImplementCloneable.java
index 2c0b7426ac..c20de93202 100644
--- a/pmd/src/net/sourceforge/pmd/typeresolution/rules/CloneMethodMustImplementCloneable.java
+++ b/pmd/src/net/sourceforge/pmd/typeresolution/rules/CloneMethodMustImplementCloneable.java
@@ -31,7 +31,7 @@ import java.util.List;
public class CloneMethodMustImplementCloneable extends AbstractRule {
public Object visit(ASTClassOrInterfaceDeclaration node, Object data) {
- ASTImplementsList impl = (ASTImplementsList) node.getFirstChildOfType(ASTImplementsList.class);
+ ASTImplementsList impl = node.getFirstChildOfType(ASTImplementsList.class);
if (impl != null && impl.jjtGetParent().equals(node)) {
for (int ix = 0; ix < impl.jjtGetNumChildren(); ix++) {
ASTClassOrInterfaceType type = (ASTClassOrInterfaceType) impl.jjtGetChild(ix);
@@ -69,12 +69,11 @@ public class CloneMethodMustImplementCloneable extends AbstractRule {
public Object visit(ASTMethodDeclaration node, Object data) {
if (node.isFinal()) {
- List blocks = node.findChildrenOfType(ASTBlock.class);
- if (blocks.size() == 1) {
- blocks = node.findChildrenOfType(ASTBlockStatement.class);
+ if (node.findChildrenOfType(ASTBlock.class).size() == 1) {
+ List blocks = node.findChildrenOfType(ASTBlockStatement.class);
if (blocks.size() == 1) {
- ASTBlockStatement block = (ASTBlockStatement) blocks.get(0);
- ASTClassOrInterfaceType type = (ASTClassOrInterfaceType) block.getFirstChildOfType(ASTClassOrInterfaceType.class);
+ ASTBlockStatement block = blocks.get(0);
+ ASTClassOrInterfaceType type = block.getFirstChildOfType(ASTClassOrInterfaceType.class);
if (type != null && type.getType() != null && type.getNthParent(9).equals(node) && type.getType().equals(CloneNotSupportedException.class)) {
return data;
} else if (type != null && type.getType() == null && "CloneNotSupportedException".equals(type.getImage())) {