Bug 148786 - new array construction join point can fail for freaky array constructors
Summary: new array construction join point can fail for freaky array constructors
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: 1.5.2RC1   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 1.5.2   Edit
Assignee: Andrew Clement CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-27 05:42 EDT by Andrew Clement CLA
Modified: 2006-06-27 07:31 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Clement CLA 2006-06-27 05:42:49 EDT
Took me a while to discover how to recreate this problem, but this class:

public class A {
  public static void main(String []argv) {
    byte[][] bytes = new byte[][]{{0},{1}};
  }
}

causes this bytecode:

0:   iconst_2
1:   anewarray       #18; //class "[B"

and this causes the newarray joinpoint code to go bang.
(eg. before(): call(*[].new(..)) {})

java.lang.NullPointerException
        at org.aspectj.weaver.bcel.BcelWorld.fromBcel(BcelWorld.java:236)
        at org.aspectj.weaver.bcel.BcelWorld.makeJoinPointSignatureForArrayConstruction(BcelWorld.java:483)
        at org.aspectj.weaver.bcel.BcelShadow.makeArrayConstructorCall(BcelShadow.java:801)
        at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2510)
        at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2325)
        at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:490)
        at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:115)
        at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1574)
        at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1525)
        at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1305)
        at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1127)
Comment 1 Andrew Clement CLA 2006-06-27 07:31:30 EDT
tiny localized fix committed (only changes anything when -Xjoinpoints:arrayconstruction active)