1 package net.sourceforge.pmd.rules;
2
3 import net.sourceforge.pmd.AbstractRule;
4 import net.sourceforge.pmd.ast.ASTClassOrInterfaceDeclaration;
5 import net.sourceforge.pmd.ast.ASTMethodDeclarator;
6
7 import java.util.List;
8
9 public class MethodWithSameNameAsEnclosingClass extends AbstractRule {
10
11 public Object visit(ASTClassOrInterfaceDeclaration node, Object data) {
12 List<ASTMethodDeclarator> methods = node.findChildrenOfType(ASTMethodDeclarator.class);
13 for (ASTMethodDeclarator m: methods) {
14 if (m.hasImageEqualTo(node.getImage())) {
15 addViolation(data, m);
16 }
17 }
18 return super.visit(node, data);
19 }
20 }