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.
|