Bug 112783 - Problem with constructor ITDs
Summary: Problem with constructor ITDs
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: 1.5.0M4   Edit
Hardware: PC Windows XP
: P2 normal (vote)
Target Milestone: 1.5.0RC1   Edit
Assignee: Andrew Clement CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-10-17 09:27 EDT by Sian January CLA
Modified: 2005-11-07 08:59 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sian January CLA 2005-10-17 09:27:47 EDT
The following program produces a NullPointerException when built:

public aspect ConstructorInjection {

	public NotYetABean.new() { 
		this(new Long(1)); 
	}

}

public class NotYetABean {

	public NotYetABean(Long l) {		
	}
}


The Exception:

java.lang.NullPointerException
at 
org.aspectj.ajdt.internal.compiler.lookup.OwningClassSupportForMethodBindings.a
jc$interMethodDispatch1
$org_aspectj_ajdt_internal_compiler_lookup_OwningClassSupportForMethodBindings$
org_aspectj_org_eclipse_jdt_internal_compiler_lookup_MethodBinding$getOwningCla
ss(OwningClassSupportForMethodBindings.aj)
at 
org.aspectj.org.eclipse.jdt.internal.compiler.ast.AllocationExpression.declarin
gClass_aroundBody5$advice(AllocationExpression.java:171)
at 
org.aspectj.org.eclipse.jdt.internal.compiler.ast.AllocationExpression.generate
Code(AllocationExpression.java:97)
at 
org.aspectj.org.eclipse.jdt.internal.compiler.ast.ArrayInitializer.generateCode
(ArrayInitializer.java:99)
at 
org.aspectj.org.eclipse.jdt.internal.compiler.ast.ArrayAllocationExpression.gen
erateCode(ArrayAllocationExpression.java:62)
at 
org.aspectj.org.eclipse.jdt.internal.compiler.ast.ReturnStatement.generateCode
(ReturnStatement.java:116)
at 
org.aspectj.org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.gen
erateCode(AbstractMethodDeclaration.java:226)
at 
org.aspectj.org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.gen
erateCode(AbstractMethodDeclaration.java:173)
at 
org.aspectj.ajdt.internal.compiler.ast.InterTypeConstructorDeclaration.generate
Code(InterTypeConstructorDeclaration.java:282)
at 
org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode
(TypeDeclaration.java:567)
at org.aspectj.ajdt.internal.compiler.ast.AspectDeclaration.generateCode
(AspectDeclaration.java:279)
at 
org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode
(TypeDeclaration.java:628)
at 
org.aspectj.org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.ge
nerateCode(CompilationUnitDeclaration.java:184)
at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.process
(Compiler.java:520)
at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile
(Compiler.java:329)
at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation
(AjBuildManager.java:759)
at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild
(AjBuildManager.java:249)
at org.aspectj.ajdt.internal.core.builder.AjBuildManager.incrementalBuild
(AjBuildManager.java:158)
at org.aspectj.ajde.internal.CompilerAdapter.compile(CompilerAdapter.java:117)
at org.aspectj.ajde.internal.AspectJBuildManager$CompilerThread.run
(AspectJBuildManager.java:191)
Comment 1 Andrew Clement CLA 2005-10-20 12:45:46 EDT
must fix for 1.5.0
Comment 2 Andrew Clement CLA 2005-10-24 03:33:28 EDT
test case is in CVS - see the top of Ajc150Tests
Comment 3 Andrew Clement CLA 2005-11-07 06:00:12 EST
Fix checked in, waiting on build.  the problem was using a codegenbinding before
it was initialized (in AllocationExpression).  I changed it to initialize there
and then if it hasnt been previously initialized.
Comment 4 Andrew Clement CLA 2005-11-07 08:59:12 EST
fix available.