1 package net.sourceforge.pmd.rules; 2 3 import net.sourceforge.pmd.AbstractRule; 4 import net.sourceforge.pmd.ast.ASTAssignmentOperator; 5 import net.sourceforge.pmd.ast.ASTExpression; 6 import net.sourceforge.pmd.ast.ASTIfStatement; 7 import net.sourceforge.pmd.ast.ASTWhileStatement; 8 import net.sourceforge.pmd.ast.Node; 9 10 public class AssignmentInOperand extends AbstractRule { 11 12 public Object visit(ASTExpression node, Object data) { 13 Node parent = node.jjtGetParent(); 14 if ((parent instanceof ASTWhileStatement || parent instanceof ASTIfStatement) && 15 node.containsChildOfType(ASTAssignmentOperator.class)) 16 { 17 addViolation(data, node); 18 return data; 19 } 20 return super.visit(node, data); 21 } 22 23 } 24 | Popular Tags |