1 package net.sourceforge.pmd.ast; 2 3 import java.util.Iterator; 4 import java.util.List; 5 6 public class DiscardableNodeCleaner { 7 8 private static final Class[] clazzes = new Class[]{ 9 ASTEqualityExpression.class, 10 ASTAndExpression.class, 11 ASTInstanceOfExpression.class, 12 ASTUnaryExpression.class, 13 ASTShiftExpression.class, 14 ASTConditionalOrExpression.class, 15 ASTInclusiveOrExpression.class, 16 ASTExclusiveOrExpression.class, 17 ASTConditionalExpression.class, 18 ASTRelationalExpression.class, 19 ASTUnaryExpression.class, 20 ASTUnaryExpressionNotPlusMinus.class, 21 ASTPostfixExpression.class, 22 ASTMultiplicativeExpression.class, 23 ASTAdditiveExpression.class, 24 ASTConditionalAndExpression.class, 25 ASTModifiers.class 26 }; 27 28 public void clean(ASTCompilationUnit root) { 29 for (int i = 0; i < clazzes.length; i++) { 30 List nodes = root.findChildrenOfType(clazzes[i]); 31 for (Iterator i1 = nodes.iterator(); i1.hasNext();) { 32 SimpleNode n = (SimpleNode) i1.next(); 33 n.discardIfNecessary(); 34 } 35 } 36 } 37 38 }