Bug 44840 - NullPointerException when using the excludes option
Summary: NullPointerException when using the excludes option
Status: RESOLVED WONTFIX
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: 1.1.1   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 1.2.1   Edit
Assignee: Adrian Colyer CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-10-14 14:37 EDT by Stig CLA
Modified: 2004-10-21 04:32 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stig CLA 2003-10-14 14:37:49 EDT
Description

I'm developing an monitor function. I'm using an ANT build script for building 
the application. 
to avoid recursieve behaviour the monitor package is excluded from the aspect 
build and is built javac earlier.
The error description is as followed:
When i'm including the monitor package in my aspect (this is the same package 
that is excluded from the buildin ajc) the compiler goes into a 
NullPointerException.

Interrime solution:
I'm compiling everything with aspectJ and overwrites the excluded pakages with 
a new compiling using javac

The exception can be reconstructed using the following code
Aspect Java source extract
package com.radix.core;

import org.aspectj.lang.*;
import org.aspectj.lang.reflect.*;

//import com.radix.core.monitor.*;
//import com.radix.core.test.*;
import com.radix.core.monitor.RadixMonitor;

public aspect RadixObjectTraceAspect {
	private int _indent = -1;
	private RadixMonitor radixMonitor = new RadixMonitor();
//	private RadixTestAspectObject radixMonitor = new RadixTestAspectObject
();


Ant file extract
		<ajc destdir="${radix.runtime.dir}"
			srcdir="${radix.src.root.dir}"
			includes="java/**/*.java, 
aspect/com/radix/core/RadixObjectTraceAspect.java"
			excludes="**/monitor/**, 
java/com/radix/core/RadixObjectReference.java, 
java/com/radix/core/guid/RadixGUID.java, **/test/**"
		    >
			<classpath>
			    <pathelement location="${aspectjrt.jar}"/>
			    <pathelement path="${radix.src.java.dir}"/>
			    <pathelement path="${radix.runtime.dir}"/>
		   </classpath>



Compiler Exception
      [ajc] Compiling 10 source and 0 arg files to 
C:\Dev\workspaces\Radix\Radix
Core\runtime
      [ajc] java.lang.NullPointerException
      [ajc]     at 
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.ge
tExactConstructor(SourceTypeBinding.java:419)
      [ajc]     at 
org.eclipse.jdt.internal.compiler.lookup.BlockScope.getConstr
uctor(BlockScope.java:797)
      [ajc]     at 
org.eclipse.jdt.internal.compiler.ast.AllocationExpression.re
solveType(AllocationExpression.java:233)
      [ajc]     at 
org.eclipse.jdt.internal.compiler.ast.FieldDeclaration.resolv
e(FieldDeclaration.java:177)
      [ajc]     at 
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve
(TypeDeclaration.java:788)
      [ajc]     at 
org.aspectj.ajdt.internal.compiler.ast.AspectDeclaration.reso
lve(AspectDeclaration.java:73)
      [ajc]     at 
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve
(TypeDeclaration.java:845)
      [ajc]     at 
org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclarat
ion.resolve(CompilationUnitDeclaration.java:251)
      [ajc]     at org.eclipse.jdt.internal.compiler.Compiler.process
(Compiler.j
ava:538)
      [ajc]     at org.aspectj.ajdt.internal.compiler.AjCompiler.process
(AjCompi
ler.java:65)
      [ajc]     at org.eclipse.jdt.internal.compiler.Compiler.compile
(Compiler.j
ava:338)
      [ajc]     at 
org.aspectj.ajdt.internal.core.builder.AjBuildManager.perform
Compilation(AjBuildManager.java:373)
      [ajc]     at 
org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild
(AjBuildManager.java:125)
      [ajc]     at 
org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBu
ild(AjBuildManager.java:70)
      [ajc]     at org.aspectj.ajdt.ajc.AjdtCommand.doCommand
(AjdtCommand.java:9
9)
      [ajc]     at org.aspectj.ajdt.ajc.AjdtCommand.runCommand
(AjdtCommand.java:
53)
      [ajc]     at org.aspectj.tools.ajc.Main.run(Main.java:217)
      [ajc]     at org.aspectj.tools.ant.taskdefs.Ajc10.spoon(Ajc10.java:598)
      [ajc]     at org.aspectj.tools.ant.taskdefs.Ajc10.execute(Ajc10.java:484)
      [ajc]     at org.apache.tools.ant.UnknownElement.execute
(UnknownElement.ja
va:193)
      [ajc]     at org.apache.tools.ant.Task.perform(Task.java:341)
      [ajc]     at org.apache.tools.ant.Target.execute(Target.java:309)
      [ajc]     at org.apache.tools.ant.Target.performTasks(Target.java:336)
      [ajc]     at org.apache.tools.ant.Project.executeTarget
(Project.java:1339)

      [ajc]     at org.apache.tools.ant.Project.executeTargets
(Project.java:1255
)
      [ajc]     at org.apache.tools.ant.Main.runBuild(Main.java:609)
      [ajc]     at org.apache.tools.ant.Main.start(Main.java:196)
      [ajc]     at org.apache.tools.ant.Main.main(Main.java:235)
      [ajc] 
C:\Dev\workspaces\Radix\RadixCore\src\aspect\com\radix\core\RadixObj
ectTraceAspect.java:0 Internal compiler error
      [ajc] java.lang.NullPointerException
      [ajc]     at 
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.ge
tExactConstructor(SourceTypeBinding.java:419)
      [ajc]     at 
org.eclipse.jdt.internal.compiler.lookup.BlockScope.getConstr
uctor(BlockScope.java:797)
      [ajc]     at 
org.eclipse.jdt.internal.compiler.ast.AllocationExpression.re
solveType(AllocationExpression.java:233)
      [ajc]     at 
org.eclipse.jdt.internal.compiler.ast.FieldDeclaration.resolv
e(FieldDeclaration.java:177)
      [ajc]     at 
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve
(TypeDeclaration.java:788)
      [ajc]     at 
org.aspectj.ajdt.internal.compiler.ast.AspectDeclaration.reso
lve(AspectDeclaration.java:73)
      [ajc]     at 
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve
(TypeDeclaration.java:845)
      [ajc]     at 
org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclarat
ion.resolve(CompilationUnitDeclaration.java:251)
      [ajc]     at org.eclipse.jdt.internal.compiler.Compiler.process
(Compiler.j
ava:538)
      [ajc]     at org.aspectj.ajdt.internal.compiler.AjCompiler.process
(AjCompi
ler.java:65)
      [ajc]     at org.eclipse.jdt.internal.compiler.Compiler.compile
(Compiler.j
ava:338)
      [ajc]     at 
org.aspectj.ajdt.internal.core.builder.AjBuildManager.perform
Compilation(AjBuildManager.java:373)
      [ajc]     at 
org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild
(AjBuildManager.java:125)
      [ajc]     at 
org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBu
ild(AjBuildManager.java:70)
      [ajc]     at org.aspectj.ajdt.ajc.AjdtCommand.doCommand
(AjdtCommand.java:9
9)
      [ajc]     at org.aspectj.ajdt.ajc.AjdtCommand.runCommand
(AjdtCommand.java:
53)
      [ajc]     at org.aspectj.tools.ajc.Main.run(Main.java:217)
      [ajc]     at org.aspectj.tools.ant.taskdefs.Ajc10.spoon(Ajc10.java:598)
      [ajc]     at org.aspectj.tools.ant.taskdefs.Ajc10.execute(Ajc10.java:484)
      [ajc]     at org.apache.tools.ant.UnknownElement.execute
(UnknownElement.ja
va:193)
      [ajc]     at org.apache.tools.ant.Task.perform(Task.java:341)
      [ajc]     at org.apache.tools.ant.Target.execute(Target.java:309)
      [ajc]     at org.apache.tools.ant.Target.performTasks(Target.java:336)
      [ajc]     at org.apache.tools.ant.Project.executeTarget
(Project.java:1339)

      [ajc]     at org.apache.tools.ant.Project.executeTargets
(Project.java:1255
)
      [ajc]     at org.apache.tools.ant.Main.runBuild(Main.java:609)
      [ajc]     at org.apache.tools.ant.Main.start(Main.java:196)
      [ajc]     at org.apache.tools.ant.Main.main(Main.java:235)


      [ajc] !! no source information available !!
      [ajc] ABORT
      [ajc] Exception thrown from AspectJ 1.1.1

      [ajc] This might be logged as a bug already -- find current bugs at
      [ajc]   http://bugs.eclipse.org/bugs/buglist.cgi?
product=AspectJ&component
=Compiler

      [ajc] Bugs for exceptions thrown have titles File:line from the top 
stack,

      [ajc] e.g., "SomeFile.java:243"

      [ajc] If you don't find the exception below in a bug, please add a new 
bug

      [ajc] at http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ
      [ajc] To make the bug a priority, please include a test program
      [ajc] that can reproduce this exception.
      [ajc] null
      [ajc] java.lang.NullPointerException
      [ajc]     at 
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.ge
tExactConstructor(SourceTypeBinding.java:419)
      [ajc]     at 
org.eclipse.jdt.internal.compiler.lookup.BlockScope.getConstr
uctor(BlockScope.java:797)
      [ajc]     at 
org.eclipse.jdt.internal.compiler.ast.AllocationExpression.re
solveType(AllocationExpression.java:233)
      [ajc]     at 
org.eclipse.jdt.internal.compiler.ast.FieldDeclaration.resolv
e(FieldDeclaration.java:177)
      [ajc]     at 
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve
(TypeDeclaration.java:788)
      [ajc]     at 
org.aspectj.ajdt.internal.compiler.ast.AspectDeclaration.reso
lve(AspectDeclaration.java:73)
      [ajc]     at 
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve
(TypeDeclaration.java:845)
      [ajc]     at 
org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclarat
ion.resolve(CompilationUnitDeclaration.java:251)
      [ajc]     at org.eclipse.jdt.internal.compiler.Compiler.process
(Compiler.j
ava:538)
      [ajc]     at org.aspectj.ajdt.internal.compiler.AjCompiler.process
(AjCompi
ler.java:65)
      [ajc]     at org.eclipse.jdt.internal.compiler.Compiler.compile
(Compiler.j
ava:338)
      [ajc]     at 
org.aspectj.ajdt.internal.core.builder.AjBuildManager.perform
Compilation(AjBuildManager.java:373)
      [ajc]     at 
org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild
(AjBuildManager.java:125)
      [ajc]     at 
org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBu
ild(AjBuildManager.java:70)
      [ajc]     at org.aspectj.ajdt.ajc.AjdtCommand.doCommand
(AjdtCommand.java:9
9)
      [ajc]     at org.aspectj.ajdt.ajc.AjdtCommand.runCommand
(AjdtCommand.java:
53)
      [ajc]     at org.aspectj.tools.ajc.Main.run(Main.java:217)
      [ajc]     at org.aspectj.tools.ant.taskdefs.Ajc10.spoon(Ajc10.java:598)
      [ajc]     at org.aspectj.tools.ant.taskdefs.Ajc10.execute(Ajc10.java:484)
      [ajc]     at org.apache.tools.ant.UnknownElement.execute
(UnknownElement.ja
va:193)
      [ajc]     at org.apache.tools.ant.Task.perform(Task.java:341)
      [ajc]     at org.apache.tools.ant.Target.execute(Target.java:309)
      [ajc]     at org.apache.tools.ant.Target.performTasks(Target.java:336)
      [ajc]     at org.apache.tools.ant.Project.executeTarget
(Project.java:1339)

      [ajc]     at org.apache.tools.ant.Project.executeTargets
(Project.java:1255
)
      [ajc]     at org.apache.tools.ant.Main.runBuild(Main.java:609)
      [ajc]     at org.apache.tools.ant.Main.start(Main.java:196)
      [ajc]     at org.apache.tools.ant.Main.main(Main.java:235)
Comment 1 George Harley CLA 2003-10-15 09:21:11 EDT
Is there any chance that a more general test case for this problem can be 
provided ?
Comment 2 Andrew Clement CLA 2004-08-06 03:38:35 EDT
We have recently upgraded the compiler in AspectJ to the Eclipse JDT 3.0 final
version.  Please could you try to recreate this bug at that level?  The new
version is available at :

http://download.eclipse.org/technology/ajdt/dev/aspectj-DEVELOPMENT.jar

If that still fails, can you include the stack trace it produces.  Unfortunately
all the stack frames attached to this report right now have moved with the
compiler upgrade :(

thanks.
Comment 3 Andrew Clement CLA 2004-08-27 08:34:20 EDT
I'm closing this bug - it is getting quite old now and we have since entirely
replaced the compiler.  If you find the problem still exists - please reopen it.
thanks.
Comment 4 Adrian Colyer CLA 2004-10-21 04:32:11 EDT
Fix released as part of AspectJ 1.2.1