From 310141fa710e5b838657eeb10cc5bd08ef9d41fc Mon Sep 17 00:00:00 2001 From: Romain Pelisse Date: Fri, 15 Feb 2008 19:11:31 +0000 Subject: [PATCH] Update on the rule, but still not working... git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5782 51baf565-9d33-0410-a72c-fc3788e3496d --- .../rules/design/GenericClassCounterRule.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/pmd/src/net/sourceforge/pmd/rules/design/GenericClassCounterRule.java b/pmd/src/net/sourceforge/pmd/rules/design/GenericClassCounterRule.java index 81a121bd3f..888b7e5829 100644 --- a/pmd/src/net/sourceforge/pmd/rules/design/GenericClassCounterRule.java +++ b/pmd/src/net/sourceforge/pmd/rules/design/GenericClassCounterRule.java @@ -12,6 +12,7 @@ import net.sourceforge.pmd.AbstractJavaRule; import net.sourceforge.pmd.PropertyDescriptor; import net.sourceforge.pmd.RuleContext; import net.sourceforge.pmd.ast.ASTClassOrInterfaceType; +import net.sourceforge.pmd.ast.ASTCompilationUnit; import net.sourceforge.pmd.ast.ASTImportDeclaration; import net.sourceforge.pmd.ast.SimpleNode; import net.sourceforge.pmd.properties.StringProperty; @@ -61,22 +62,22 @@ public class GenericClassCounterRule extends AbstractJavaRule { "Defines how many occurences are legal",new String(),4.0f); - private List namesMatch; - private List typesMatch; - private List matches; - private List simpleClassname; + private List namesMatch = new ArrayList(0); + private List typesMatch = new ArrayList(0); + private List matches = new ArrayList(0); + private List simpleClassname = new ArrayList(0); private String operand; private int threshold; private static String COUNTER_LABEL; + /** * Default empty constructor */ public GenericClassCounterRule() { super(); - init(); } private List arrayAsList(String[] array) { @@ -108,6 +109,12 @@ public class GenericClassCounterRule extends AbstractJavaRule { super.start(ctx); } + @Override + public Object visit(ASTCompilationUnit node, Object data) { + init(); + return super.visit(node,data); + } + @Override public Object visit(ASTImportDeclaration node, Object data) { // Is there any imported types that match ?