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 |
917
| public void clean(ASTCompilationUnit root) {
|
29 |
917
| for (int i = 0; i < clazzes.length; i++) {
|
30 |
15589
| List nodes = root.findChildrenOfType(clazzes[i]);
|
31 |
15589
| for (Iterator i1 = nodes.iterator(); i1.hasNext();) {
|
32 |
20279
| SimpleNode n = (SimpleNode) i1.next();
|
33 |
20279
| n.discardIfNecessary();
|
34 |
| } |
35 |
| } |
36 |
| } |
37 |
| |
38 |
| } |