]> source.dussan.org Git - aspectj.git/commitdiff
Some of the fix for Bugzilla Bug 57432
authoraclement <aclement>
Wed, 7 Apr 2004 12:58:47 +0000 (12:58 +0000)
committeraclement <aclement>
Wed, 7 Apr 2004 12:58:47 +0000 (12:58 +0000)
   NPE when creating declare messages
[Allow for null targeters - for example when the class file has no debug info in it]

weaver/src/org/aspectj/weaver/bcel/BcelShadow.java

index fc5c0c1a8247ce9ad2b7b2c40ddc0fefa50f5fff..ca41e2aec734ef763d4b31d19684fb9c4d6e1f5d 100644 (file)
@@ -438,13 +438,15 @@ public class BcelShadow extends Shadow {
                        int slot = ((StoreInstruction)startOfHandler.getInstruction()).getIndex();
                        //System.out.println("got store: " + startOfHandler.getInstruction() + ", " + index);
                        InstructionTargeter[] targeters = startOfHandler.getNext().getTargeters();
-                       for (int i=targeters.length-1; i >= 0; i--) {
-                               if (targeters[i] instanceof LocalVariableTag) {
-                                       LocalVariableTag t = (LocalVariableTag)targeters[i];
-                                       if (t.getSlot() == slot) {
-                                               return t.getName();
+                       if (targeters!=null) {
+                               for (int i=targeters.length-1; i >= 0; i--) {
+                                       if (targeters[i] instanceof LocalVariableTag) {
+                                               LocalVariableTag t = (LocalVariableTag)targeters[i];
+                                               if (t.getSlot() == slot) {
+                                                       return t.getName();
+                                               }
+                                               //System.out.println("tag: " + targeters[i]);
                                        }
-                                       //System.out.println("tag: " + targeters[i]);
                                }
                        }
                }