Bug 86763 - NPE on incremental compile in 022505 developer build
Summary: NPE on incremental compile in 022505 developer build
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: DEVELOPMENT   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 1.5.0 M3   Edit
Assignee: Adrian Colyer CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-02-26 17:42 EST by Ron Bodkin CLA
Modified: 2005-04-21 03:55 EDT (History)
0 users

See Also:


Attachments
Sample AJDT project that shows the problem (475.79 KB, application/octet-stream)
2005-02-26 17:51 EST, Ron Bodkin CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ron Bodkin CLA 2005-02-26 17:42:58 EST
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);
//	}
}
Comment 1 Ron Bodkin CLA 2005-02-26 17:51:00 EST
Created attachment 18338 [details]
Sample AJDT project that shows the problem
Comment 2 Adrian Colyer CLA 2005-03-23 09:50:06 EST
for investigation in aj5m3
Comment 3 Andrew Clement CLA 2005-04-21 03:55:50 EDT
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