]> source.dussan.org Git - aspectj.git/commitdiff
switch to using iterator set
authoraclement <aclement>
Thu, 28 Aug 2008 01:46:50 +0000 (01:46 +0000)
committeraclement <aclement>
Thu, 28 Aug 2008 01:46:50 +0000 (01:46 +0000)
weaver/src/org/aspectj/weaver/bcel/Utility.java

index 6d2a98f71af2d3bc669e2b6263c88ffb88ed894c..1fe85e37d7ae3b6111a239aa0a9d62bac5ec6818 100644 (file)
@@ -21,6 +21,7 @@ import java.lang.reflect.Modifier;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Hashtable;
+import java.util.Iterator;
 import java.util.List;
 
 import org.aspectj.apache.bcel.Constants;
@@ -597,7 +598,7 @@ public class Utility {
        LazyMethodGen enclosingMethod) 
     {
         InstructionList il = enclosingMethod.getBody();
-        InstructionTargeter[] targeters = ih.getTargeters();
+        InstructionTargeter[] targeters = ih.getTargetersArray();
         if (targeters != null) {
             for (int i = targeters.length - 1; i >= 0; i--) {
                 InstructionTargeter targeter = targeters[i];
@@ -669,16 +670,13 @@ public class Utility {
                // arbitrary rule that we will never lookahead more than 100 instructions for a line #
                while (lookahead++ < 100) {
                        if (ih == null) return -1;
-                       
-               InstructionTargeter[] ts = ih.getTargeters();
-               if (ts != null) { 
-                   for (int j = ts.length - 1; j >= 0; j--) {
-                       InstructionTargeter t = ts[j];
+                       Iterator tIter = ih.getTargeters().iterator();
+                       while (tIter.hasNext()) {
+                       InstructionTargeter t = (InstructionTargeter)tIter.next();
                        if (t instanceof LineNumberTag) {
                                return ((LineNumberTag)t).getLineNumber();
                        }
                    }
-               }
 //             if (goforwards) ih=ih.getNext(); else 
                        ih=ih.getPrev();
                }