1 package net.sourceforge.pmd.rules;
2
3 import net.sourceforge.pmd.AbstractRule;
4 import net.sourceforge.pmd.RuleContext;
5 import net.sourceforge.pmd.ast.ASTUnmodifiedClassDeclaration;
6 import net.sourceforge.pmd.symboltable.VariableNameDeclaration;
7
8 import java.text.MessageFormat;
9 import java.util.Iterator;
10
11 public class UnusedPrivateFieldRule extends AbstractRule {
12
13 public Object visit(ASTUnmodifiedClassDeclaration node, Object data) {
14 for (Iterator i = node.getScope().getVariableDeclarations(false).keySet().iterator(); i.hasNext();) {
15 VariableNameDeclaration decl = (VariableNameDeclaration) i.next();
16 if (decl.getAccessNodeParent().isPrivate() && !decl.getImage().equals("serialVersionUID") && !decl.getImage().equals("serialPersistentFields") && !decl.getImage().equals("IDENT")) {
17 RuleContext ctx = (RuleContext) data;
18 ctx.getReport().addRuleViolation(createRuleViolation(ctx, decl.getLine(), MessageFormat.format(getMessage(), new Object[]{decl.getImage()})));
19 }
20 }
21 return super.visit(node, data);
22 }
23
24 }
This page was automatically generated by Maven