Community
Participate
Working Groups
Severity Description Resource In Folder Location Creation Time 2 Internal compiler error java.lang.NullPointerException at org.aspectj.asm.internal.ProgramElement.genHandleIdentifier (ProgramElement.java:474) at org.aspectj.ajdt.internal.core.builder.AsmHierarchyBuilder.addUsesPointcutRelat ionsForNode(AsmHierarchyBuilder.java:372) at org.aspectj.ajdt.internal.core.builder.AsmHierarchyBuilder.visit (AsmHierarchyBuilder.java:343) at org.aspectj.org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.traverse (MethodDeclaration.java:167) at org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.traverse (TypeDeclaration.java:1133) at org.aspectj.org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.tr averse(CompilationUnitDeclaration.java:314) at org.aspectj.ajdt.internal.core.builder.AsmHierarchyBuilder.internalBuild (AsmHierarchyBuilder.java:141) at org.aspectj.ajdt.internal.core.builder.AsmHierarchyBuilder.buildStructureForCom pilationUnit(AsmHierarchyBuilder.java:81) at org.aspectj.ajdt.internal.compiler.lookup.EclipseFactory.finishedCompilationUni t(EclipseFactory.java:354) at org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.afterProcessing (AjCompilerAdapter.java:139) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile (Compiler.java:373) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation (AjBuildManager.java:682) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild (AjBuildManager.java:191) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.incrementalBuild (AjBuildManager.java:109) at org.aspectj.ajde.internal.CompilerAdapter.compile (CompilerAdapter.java:117) at org.aspectj.ajde.internal.AspectJBuildManager$CompilerThread.run (AspectJBuildManager.java:165) ObserverBillingPolicy.aj ObserverDemo/src/songplayobserver February 26, 2005 2:41:51 PM source code that generates: package observer; import aspectmodel.*; import songplayobserver.*; import designpatterns.*; public aspect ObserverBillingPolicy extends ObserverProtocol { declare parents : Playable extends Subject; declare parents : BillingService implements Observer; pointcut titleUse(Playable playable) : this(playable) && ( execution(public void Playable+.play()) || execution(public void Song.showLyrics()) ); pointcut topLevelTitleUse(Playable playable) : titleUse(playable) && ! cflowbelow(titleUse(Playable)); public pointcut subjectChange(Subject subject) : topLevelTitleUse(Playable) && this(subject); public void updateObserver(Subject s, Observer o){ BillingService service = (BillingService)o; service.generateChargeFor((Playable)s); } after(Application currentApp) returning (Playable title): TitleUsePolicy.titleEntersUse(currentApp) { BillingService usersBillingService = currentApp.getUser ().getBillingService(); addObserver(title, usersBillingService); System.out.println("observed "+title); } //default wiring...boring but good for simple tests // private BillingService defaultBillingService = new BillingService(); // // // after() returning(Playable p) : // call(public Playable+.new(..)){ // addObserver((Subject)p, (Observer)defaultBillingService); // } }
Created attachment 18338 [details] Sample AJDT project that shows the problem
for investigation in aj5m3
Fixed under bug 90806. BUILD COMPLETE - build.471 Date of build: 04/20/2005 20:56:23 Time to build: 147 minutes 56 seconds Last changed: 04/20/2005 20:24:33