Bug 39460 - Missing import crashes compiler
Summary: Missing import crashes compiler
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P2 normal (vote)
Target Milestone: 1.1.1   Edit
Assignee: Jim Hugunin CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-06-30 00:23 EDT by Ron Bodkin CLA
Modified: 2003-08-28 08:05 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 Ron Bodkin CLA 2003-06-30 00:23:24 EDT
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
Comment 1 Jim Hugunin CLA 2003-07-02 19:13:24 EDT
Raised priority because this awful error message was simple to fix.
Test in bugs/MissingImport.java, fix in cvs
Comment 2 Adrian Colyer CLA 2003-08-28 08:05:50 EDT
updated target milestone field to 1.1.1