Community
Participate
Working Groups
Hi-, I was trying to add a new constructor to the Point class like that: ---------------------------- public aspect PerstGeometry { declare parents: com.vividsolutions.jts.geom.* implements AutoPersist; declare parents: com.vividsolutions.jts.geom.PrecisionModel.* implements AutoPersist; //public PrecisionModel.Type.new (){} //public Coordinate.new (){} public Point.new(){} } ----------------------------- and I got the following stack trace: [iajc] compiling C:\projects\<...some path...>\ PerstGeometry.aj [iajc] [iajc] weaver operating in reweavable mode. Need to verify any required ty pes exist. [iajc] [iajc] trouble in: [iajc] ABORT [iajc] [iajc] Exception thrown from AspectJ 1.2 [iajc] This might be logged as a bug already -- find current bugs at [iajc] http://bugs.eclipse.org/bugs/buglist.cgi? product=AspectJ&component =Compiler [iajc] Bugs for exceptions thrown have titles File:line from the top stack, [iajc] e.g., "SomeFile.java:243" [iajc] If you don't find the exception below in a bug, please add a new bug [iajc] at http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ [iajc] To make the bug a priority, please include a test program [iajc] that can reproduce this exception. [iajc] null [iajc] java.lang.NullPointerException [iajc] at org.aspectj.weaver.patterns.SignaturePattern.matches (Signatur ePattern.java:87) [iajc] at org.aspectj.weaver.patterns.WithincodePointcut.match (Withinco dePointcut.java:42) [iajc] at org.aspectj.weaver.patterns.NotPointcut.match (NotPointcut.jav a:45) [iajc] at org.aspectj.weaver.patterns.AndPointcut.match (AndPointcut.jav a:42) [iajc] at org.aspectj.weaver.patterns.AndPointcut.match (AndPointcut.jav a:42) [iajc] at org.aspectj.weaver.patterns.AndPointcut.match (AndPointcut.jav a:42) [iajc] at org.aspectj.weaver.patterns.AndPointcut.match (AndPointcut.jav a:42) [iajc] at org.aspectj.weaver.ShadowMunger.match(ShadowMunger.java:62) [iajc] at org.aspectj.weaver.Advice.match(Advice.java:91) [iajc] at org.aspectj.weaver.bcel.BcelClassWeaver.match (BcelClassWeaver .java:1121) [iajc] at org.aspectj.weaver.bcel.BcelClassWeaver.matchInit (BcelClassWe aver.java:895) [iajc] at org.aspectj.weaver.bcel.BcelClassWeaver.match (BcelClassWeaver .java:793) [iajc] at org.aspectj.weaver.bcel.BcelClassWeaver.weave (BcelClassWeaver .java:343) [iajc] at org.aspectj.weaver.bcel.BcelClassWeaver.weave (BcelClassWeaver .java:80) [iajc] at org.aspectj.weaver.bcel.BcelWeaver.weave (BcelWeaver.java:724) [iajc] at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump (BcelWeave r.java:689) [iajc] at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify (BcelWeaver. java:615) [iajc] at org.aspectj.weaver.bcel.BcelWeaver.weave (BcelWeaver.java:563) [iajc] at org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.weave (Aj CompilerAdapter.java:239) [iajc] at org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.afterCom piling(AjCompilerAdapter.java:114) [iajc] at org.eclipse.jdt.internal.compiler.Compiler.compile (Compiler.j ava:376) [iajc] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.perform Compilation(AjBuildManager.java:601) [iajc] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild (AjBuildManager.java:160) [iajc] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBu ild(AjBuildManager.java:94) [iajc] at org.aspectj.ajdt.ajc.AjdtCommand.doCommand (AjdtCommand.java:1 02) [iajc] at org.aspectj.ajdt.ajc.AjdtCommand.runCommand (AjdtCommand.java: 53) [iajc] at org.aspectj.tools.ajc.Main.run(Main.java:280) [iajc] at org.aspectj.tools.ajc.Main.runMain(Main.java:217) [iajc] at org.aspectj.tools.ant.taskdefs.AjcTask.executeInSameVM (AjcTas k.java:1157) [iajc] at org.aspectj.tools.ant.taskdefs.AjcTask.execute (AjcTask.java:9 54) [iajc] at org.apache.tools.ant.UnknownElement.execute (UnknownElement.ja va:269) [iajc] at org.apache.tools.ant.Task.perform(Task.java:364) [iajc] at org.apache.tools.ant.Target.execute(Target.java:301) [iajc] at org.apache.tools.ant.Target.performTasks(Target.java:328) [iajc] at org.apache.tools.ant.Project.executeTarget (Project.java:1215) [iajc] at org.apache.tools.ant.Project.executeTargets (Project.java:1063 ) [iajc] at org.apache.tools.ant.Main.runBuild(Main.java:632) [iajc] at org.apache.tools.ant.Main.startAnt(Main.java:183) [iajc] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:197) [iajc] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:56) BUILD FAILED C:\projects\marketedge\build.xml:301: fail due to NullPointerException"ABORT" (1 exceptions)
I've started work on 67774 and discovered this one is a dup. I'll carry on working with it on 67774. The problem is that an intertype declared constructor is being defined *and* a withincode pointcut is in use. When the withincode pointcut attempts to match on the shadows in the ITD'd ctor, you get an NPE. Changing the visibility of the ITD'd ctor can make a difference (bizarrely!) *** This bug has been marked as a duplicate of 67774 ***
Fix released as part of AspectJ 1.2.1