Author: dbrosius
Date: Wed Aug 10 20:36:32 2005
New Revision: 231385

URL: http://svn.apache.org/viewcvs?rev=231385&view=rev
Log:
fix for 36110 - LocalVariableGen calls setStart and setEnd which add 'this' to 
a hashset. The problem is that the hash is computed using start and end. since 
start wasn't computed until after it is added, the add hash and remove hash 
will be different. Changed ctor to stuff the start and end values before 
calling setStart and setEnd

Modified:
    jakarta/bcel/trunk/src/java/org/apache/bcel/generic/LocalVariableGen.java

Modified: 
jakarta/bcel/trunk/src/java/org/apache/bcel/generic/LocalVariableGen.java
URL: 
http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/generic/LocalVariableGen.java?rev=231385&r1=231384&r2=231385&view=diff
==============================================================================
--- jakarta/bcel/trunk/src/java/org/apache/bcel/generic/LocalVariableGen.java 
(original)
+++ jakarta/bcel/trunk/src/java/org/apache/bcel/generic/LocalVariableGen.java 
Wed Aug 10 20:36:32 2005
@@ -58,6 +58,12 @@
     this.name  = name;
     this.type  = type;
     this.index  = index;
+    // setStart and setEnd add 'this' to a HashSet, causing the hash to 
compute.
+    // The hash uses start and end, so set them before calling setStart/setEnd.
+    // Otherwise, the remove will fail because the hash is different than the 
add.
+    // Icky, but should be ok. See Bug: 36110  -- dbrosius
+    this.start = start;
+    this.end = end;
     setStart(start);
     setEnd(end);
   }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to