[Fb-contrib-commit] SF.net SVN: fb-contrib: [491] trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/det
Brought to you by:
dbrosius
|
From: <dbr...@us...> - 2006-04-19 00:59:35
|
Revision: 491 Author: dbrosius Date: 2006-04-18 17:59:29 -0700 (Tue, 18 Apr 2006) ViewCVS: http://svn.sourceforge.net/fb-contrib/?rev=491&view=rev Log Message: ----------- Manually cleanup memory now that StatelessDetector is removed. Modified Paths: -------------- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/OverlyConcreteParameter.java Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/OverlyConcreteParameter.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/OverlyConcreteParameter.java 2006-04-19 00:57:10 UTC (rev 490) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/OverlyConcreteParameter.java 2006-04-19 00:59:29 UTC (rev 491) @@ -39,7 +39,6 @@ import edu.umd.cs.findbugs.BugReporter; import edu.umd.cs.findbugs.BytecodeScanningDetector; import edu.umd.cs.findbugs.OpcodeStack; -import edu.umd.cs.findbugs.StatelessDetector; import edu.umd.cs.findbugs.ba.ClassContext; /** @@ -47,14 +46,14 @@ * implemented interface or super class. Relying on concrete classes in public signatures causes cohesion, * and makes low impact changes more difficult. */ -public class OverlyConcreteParameter extends BytecodeScanningDetector implements StatelessDetector +public class OverlyConcreteParameter extends BytecodeScanningDetector { private BugReporter bugReporter; - private JavaClass[] interfaces = null; - private Map<Integer, Map<JavaClass, List<String>>> parameterDefiners = new HashMap<Integer, Map<JavaClass, List<String>>>(); - private Set<Integer> usedParameters = new HashSet<Integer>(); + private JavaClass[] interfaces; + private Map<Integer, Map<JavaClass, List<String>>> parameterDefiners; + private Set<Integer> usedParameters; private JavaClass objectClass; - private OpcodeStack stack = new OpcodeStack(); + private OpcodeStack stack; private int parmCount; private boolean methodImplementsInterface; private boolean methodIsStatic; @@ -73,24 +72,21 @@ } } - /** - * clone this detector so that it can be a StatelessDetector - * - * @return a clone of this object - */ @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } - - @Override public void visitClassContext(ClassContext classContext) { try { interfaces = classContext.getJavaClass().getAllInterfaces(); + parameterDefiners = new HashMap<Integer, Map<JavaClass, List<String>>>(); + usedParameters = new HashSet<Integer>(); + stack = new OpcodeStack(); super.visitClassContext(classContext); - interfaces = null; } catch (ClassNotFoundException cnfe) { bugReporter.reportMissingClass(cnfe); + } finally { + interfaces = null; + parameterDefiners = null; + usedParameters = null; + stack = null; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |