[Bug 71] NPE thrown in weaver when using a wildcard on a parameterized pointcut under negation

From: <abc-bugs@comlab.ox.ac.uk>
Date: Mon Mar 06 2006 - 19:41:45 GMT

http://abc.comlab.ox.ac.uk/cgi-bin/bugzilla/show_bug.cgi?id=71

------- Additional Comments From eric@bodden.de 2006-03-06 19:41 -------
I got this boiled down to the following:

aspect AuthenticationPolicy{

  pointcut user(String usr) : execution(* foo(String)) && args(usr);
  pointcut other() : execution(* foo(..)) && !user(*);

  void around() : other(){
      System.out.println("something is rotten here");
  }

  static void foo(String s) {}

}

Admittedly that code makes not as much sense any more as in the extended
example in the attached code but it still raises the same exception:

Exception in thread "main" polyglot.util.InternalCompilerError: unhandled except
ion during compilation
        at abc.main.Main.run(Main.java:653)
        at abc.main.Main.main(Main.java:211)
Caused by: java.lang.NullPointerException
        at abc.weaving.residues.Bind.getAdviceFormalBindings(Bind.java:102)
        at abc.weaving.residues.NotResidue.getAdviceFormalBindings(NotResidue.ja
va:85)
        at abc.weaving.residues.AndResidue.getAdviceFormalBindings(AndResidue.ja
va:125)
        at abc.weaving.weaver.around.AdviceApplicationInfo.doWeave(AdviceApplica
tionInfo.java:456)
        at abc.weaving.weaver.around.ProceedMethod.doWeave(ProceedMethod.java:21
3)
        at abc.weaving.weaver.around.AdviceMethod.doWeave(AdviceMethod.java:250)

        at abc.weaving.weaver.around.AroundWeaver.doWeave(AroundWeaver.java:153)

        at abc.weaving.aspectinfo.AroundAdvice.weave(AroundAdvice.java:154)
        at abc.weaving.weaver.PointcutCodeGen.weave_one(PointcutCodeGen.java:359
)
        at abc.weaving.weaver.PointcutCodeGen.weaveInAspectsPass(PointcutCodeGen
.java:109)
        at abc.weaving.weaver.Weaver.weaveAdvice(Weaver.java:283)
        at abc.weaving.weaver.Weaver.weave(Weaver.java:176)
        at abc.main.Main.weave(Main.java:1064)
        at abc.main.Main.run(Main.java:531)
        ... 1 more

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
Received on Mon Mar 06 19:41:47 2006

This archive was generated by hypermail 2.1.8 : Tue Mar 06 2007 - 16:13:27 GMT