]> source.dussan.org Git - aspectj.git/commitdiff
final bcel fix for 101047
authoracolyer <acolyer>
Wed, 28 Sep 2005 20:10:19 +0000 (20:10 +0000)
committeracolyer <acolyer>
Wed, 28 Sep 2005 20:10:19 +0000 (20:10 +0000)
bcel-builder/src/org/aspectj/apache/bcel/generic/MethodGen.java
lib/bcel/bcel-src.zip
lib/bcel/bcel.jar

index 6f021e024301f82cb0cb92c0fab994e97b46e475..9f874362f532abfbac82e853f68210c52abe6f18 100644 (file)
@@ -86,7 +86,7 @@ import org.aspectj.apache.bcel.generic.annotation.AnnotationGen;
  * use the `removeNOPs' method to get rid off them.
  * The resulting method object can be obtained via the `getMethod()' method.
  *
- * @version $Id: MethodGen.java,v 1.4 2005/03/10 12:15:04 aclement Exp $
+ * @version $Id: MethodGen.java,v 1.5 2005/09/28 20:10:19 acolyer Exp $
  * @author  <A HREF="mailto:markus.dahm@berlin.de">M. Dahm</A>
  * @author  <A HREF="http://www.vmeng.com/beard">Patrick C. Beard</A> [setMaxStack()]
  * @see     InstructionList
@@ -263,6 +263,9 @@ public class MethodGen extends FieldGenOrMethodGen {
              LocalVariable     l     = lv[k];
              InstructionHandle start = il.findHandle(l.getStartPC());
              InstructionHandle end   = il.findHandle(l.getStartPC() + l.getLength());
+             // AMC, this actually gives us the first instruction AFTER the range,
+             // so move back one... (findHandle can't cope with mid-instruction indices)
+             if (end != null) end = end.getPrev();
 
              // Repair malformed handles
              if(null == start) {
index 62037efc8c0d1367c97e8990341de8063a2904e2..fe7c65dbb69d00017d065efaa468211521a203ed 100644 (file)
Binary files a/lib/bcel/bcel-src.zip and b/lib/bcel/bcel-src.zip differ
index 611ca14e3fd1169a277eb2589893ecacf9ad4d9a..addbe1c210004e9b68522ff86c7514ca9a9540a9 100644 (file)
Binary files a/lib/bcel/bcel.jar and b/lib/bcel/bcel.jar differ