package net.sourceforge.pmd.rules; import net.sourceforge.pmd.AbstractRule; import net.sourceforge.pmd.ast.ASTBlock; import net.sourceforge.pmd.ast.ASTEmptyStatement; import net.sourceforge.pmd.ast.ASTIfStatement; import net.sourceforge.pmd.ast.ASTStatement; import net.sourceforge.pmd.ast.Node; public class EmptyIf extends AbstractRule { public Object visit(ASTIfStatement node, Object data) { ASTStatement stmt = (ASTStatement)node.jjtGetChild(1); Node stmtChild = stmt.jjtGetChild(0); if (stmtChild instanceof ASTEmptyStatement) { addViolation(data, node); } else if (stmtChild instanceof ASTBlock && stmtChild.jjtGetNumChildren() == 0) { addViolation(data, node); } return super.visit(node, data); } }