1 |
| |
2 |
| |
3 |
| |
4 |
| package net.sourceforge.pmd.rules; |
5 |
| |
6 |
| import net.sourceforge.pmd.AbstractRule; |
7 |
| import net.sourceforge.pmd.Rule; |
8 |
| import net.sourceforge.pmd.ast.ASTFieldDeclaration; |
9 |
| import net.sourceforge.pmd.ast.ASTVariableDeclaratorId; |
10 |
| import net.sourceforge.pmd.ast.SimpleNode; |
11 |
| import net.sourceforge.pmd.symboltable.NameOccurrence; |
12 |
| |
13 |
| import java.util.Iterator; |
14 |
| |
15 |
| public class SymbolTableTestRule extends AbstractRule implements Rule { |
16 |
| |
17 |
0
| public Object visit(ASTFieldDeclaration node,Object data) {
|
18 |
0
| ASTVariableDeclaratorId declaration = (ASTVariableDeclaratorId)node.findChildrenOfType(ASTVariableDeclaratorId.class).get(0);
|
19 |
0
| for (Iterator iter = declaration.getUsages().iterator();iter.hasNext();) {
|
20 |
0
| NameOccurrence no = (NameOccurrence)iter.next();
|
21 |
0
| SimpleNode location = no.getLocation();
|
22 |
0
| System.out.println(declaration.getImage() + " is used here: " + location.getImage());
|
23 |
| } |
24 |
0
| return data;
|
25 |
| } |
26 |
| } |