Community
Participate
Working Groups
Example source (Processing.aj): import org.aspectj.lang.*; import org.aspectj.lang.reflect.*; import java.lang.reflect.Method; //import java.lang.reflect.InvocationTargetException; <- crash with this line commented out public aspect Processing { Object around() : call(* *(..)) && !within(ImposterProcessing+) { MethodSignature sig = (MethodSignature)thisJoinPoint.getSignature(); try { Method meth = ImposterProcessing.class.getMethod("dynamicThrow", new Class[] { Throwable.class }); meth.invoke(this, new Object[] { null }); } catch (InvocationTargetException e) { throw new RuntimeException("framework error in throwing test exception ", e); } catch (IllegalAccessException e) { throw new RuntimeException("framework error in throwing test exception ", e); } return null; } } --- output: C:\devel\test\entAJtutorial\test>ajc Processing.aj java.lang.NullPointerException at org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.getTypeBind ing(SingleTypeReference.java:39) at org.aspectj.ajdt.internal.compiler.ast.AccessForInlineVisitor.endVisi t(AccessForInlineVisitor.java:131) at org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.traverse (Si ngleTypeReference.java:59) at org.eclipse.jdt.internal.compiler.ast.AllocationExpression.traverse (A llocationExpression.java:283) at org.eclipse.jdt.internal.compiler.ast.ThrowStatement.traverse (ThrowSt atement.java:76) at org.eclipse.jdt.internal.compiler.ast.Block.traverse(Block.java:147) at org.eclipse.jdt.internal.compiler.ast.TryStatement.traverse (TryStatem ent.java:528) at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.traverse (Meth odDeclaration.java:157) at org.aspectj.ajdt.internal.compiler.ast.AdviceDeclaration.resolveState ments(AdviceDeclaration.java:165) at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resol ve(AbstractMethodDeclaration.java:317) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve (TypeDec laration.java:804) at org.aspectj.ajdt.internal.compiler.ast.AspectDeclaration.resolve (Aspe ctDeclaration.java:73) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve (TypeDec laration.java:845) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.reso lve(CompilationUnitDeclaration.java:251) at org.eclipse.jdt.internal.compiler.Compiler.process (Compiler.java:538) at org.aspectj.ajdt.internal.compiler.AjCompiler.process (AjCompiler.java :65) at org.eclipse.jdt.internal.compiler.Compiler.compile (Compiler.java:338) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilat ion(AjBuildManager.java:372) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild (AjBuild Manager.java:133) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild (AjBu ildManager.java:78) at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:106) at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60) at org.aspectj.tools.ajc.Main.run(Main.java:217) at org.aspectj.tools.ajc.Main.runMain(Main.java:155) at org.aspectj.tools.ajc.Main.main(Main.java:72) C:\devel\test\entAJtutorial\test\Processing.aj:0 Internal compiler error java.lang.NullPointerException at org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.getTypeBind ing(SingleTypeReference.java:39) at org.aspectj.ajdt.internal.compiler.ast.AccessForInlineVisitor.endVisi t(AccessForInlineVisitor.java:131) at org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.traverse (Si ngleTypeReference.java:59) at org.eclipse.jdt.internal.compiler.ast.AllocationExpression.traverse (A llocationExpression.java:283) at org.eclipse.jdt.internal.compiler.ast.ThrowStatement.traverse (ThrowSt atement.java:76) at org.eclipse.jdt.internal.compiler.ast.Block.traverse(Block.java:147) at org.eclipse.jdt.internal.compiler.ast.TryStatement.traverse (TryStatem ent.java:528) at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.traverse (Meth odDeclaration.java:157) at org.aspectj.ajdt.internal.compiler.ast.AdviceDeclaration.resolveState ments(AdviceDeclaration.java:165) at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resol ve(AbstractMethodDeclaration.java:317) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve (TypeDec laration.java:804) at org.aspectj.ajdt.internal.compiler.ast.AspectDeclaration.resolve (Aspe ctDeclaration.java:73) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve (TypeDec laration.java:845) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.reso lve(CompilationUnitDeclaration.java:251) at org.eclipse.jdt.internal.compiler.Compiler.process (Compiler.java:538) at org.aspectj.ajdt.internal.compiler.AjCompiler.process (AjCompiler.java :65) at org.eclipse.jdt.internal.compiler.Compiler.compile (Compiler.java:338) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilat ion(AjBuildManager.java:372) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild (AjBuild Manager.java:133) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild (AjBu ildManager.java:78) at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:106) at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60) at org.aspectj.tools.ajc.Main.run(Main.java:217) at org.aspectj.tools.ajc.Main.runMain(Main.java:155) at org.aspectj.tools.ajc.Main.main(Main.java:72) !! no source information available !! C:\devel\test\entAJtutorial\test\Processing.aj:13 InvocationTargetException cann ot be resolved or is not a type } catch (InvocationTargetException e) { ^^^^^^^^^^^^^^^^^^^^^^^^^ ABORT Exception thrown from AspectJ 1.1.0 This might be logged as a bug already -- find current bugs at http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler Bugs for exceptions thrown have titles File:line from the top stack, e.g., "SomeFile.java:243" If you don't find the exception below in a bug, please add a new bug at http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ To make the bug a priority, please include a test program that can reproduce this exception. null java.lang.NullPointerException at org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.getTypeBind ing(SingleTypeReference.java:39) at org.aspectj.ajdt.internal.compiler.ast.AccessForInlineVisitor.endVisi t(AccessForInlineVisitor.java:131) at org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.traverse (Si ngleTypeReference.java:59) at org.eclipse.jdt.internal.compiler.ast.AllocationExpression.traverse (A llocationExpression.java:283) at org.eclipse.jdt.internal.compiler.ast.ThrowStatement.traverse (ThrowSt atement.java:76) at org.eclipse.jdt.internal.compiler.ast.Block.traverse(Block.java:147) at org.eclipse.jdt.internal.compiler.ast.TryStatement.traverse (TryStatem ent.java:528) at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.traverse (Meth odDeclaration.java:157) at org.aspectj.ajdt.internal.compiler.ast.AdviceDeclaration.resolveState ments(AdviceDeclaration.java:165) at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resol ve(AbstractMethodDeclaration.java:317) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve (TypeDec laration.java:804) at org.aspectj.ajdt.internal.compiler.ast.AspectDeclaration.resolve (Aspe ctDeclaration.java:73) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve (TypeDec laration.java:845) at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.reso lve(CompilationUnitDeclaration.java:251) at org.eclipse.jdt.internal.compiler.Compiler.process (Compiler.java:538) at org.aspectj.ajdt.internal.compiler.AjCompiler.process (AjCompiler.java :65) at org.eclipse.jdt.internal.compiler.Compiler.compile (Compiler.java:338) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilat ion(AjBuildManager.java:372) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild (AjBuild Manager.java:133) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild (AjBu ildManager.java:78) at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:106) at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60) at org.aspectj.tools.ajc.Main.run(Main.java:217) at org.aspectj.tools.ajc.Main.runMain(Main.java:155) at org.aspectj.tools.ajc.Main.main(Main.java:72) 1 fail|abort, 2 errors
Raised priority because this awful error message was simple to fix. Test in bugs/MissingImport.java, fix in cvs
updated target milestone field to 1.1.1