Bug 39458 - Compiler crash in ajc 1.1
Summary: Compiler crash in ajc 1.1
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-29 23:42 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-29 23:42:42 EDT
Here is the compiler output. Source code below.
---
C:\devel\test\entAJtutorial\test>ajc Processing.java
C:\devel\test\entAJtutorial\test\Processing.java:17 this affected type is not 
ex
posed to the weaver: java.lang.Void (needed for privileged access) 
[Xlint:typeNo
tExposedToWeaver]
java.lang.NullPointerException
        at 
org.eclipse.jdt.internal.compiler.lookup.SyntheticAccessMethodBinding
.initializeConstructorAccessor(SyntheticAccessMethodBinding.java:215)
        at 
org.eclipse.jdt.internal.compiler.lookup.SyntheticAccessMethodBinding
.<init>(SyntheticAccessMethodBinding.java:136)
        at 
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.addSynthet
icMethod(SourceTypeBinding.java:332)
        at 
org.eclipse.jdt.internal.compiler.ast.AllocationExpression.manageSynt
heticAccessIfNecessary(AllocationExpression.java:200)
        at 
org.eclipse.jdt.internal.compiler.ast.AllocationExpression.analyseCod
e(AllocationExpression.java:60)
        at org.eclipse.jdt.internal.compiler.ast.ReturnStatement.analyseCode
(Ret
urnStatement.java:37)
        at org.eclipse.jdt.internal.compiler.ast.Block.analyseCode
(Block.java:41
)
        at org.eclipse.jdt.internal.compiler.ast.IfStatement.analyseCode
(IfState
ment.java:84)
        at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.analyseCode
(M
ethodDeclaration.java:70)
        at 
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.internalAnalyse
Code(TypeDeclaration.java:639)
        at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.analyseCode
(Typ
eDeclaration.java:196)
        at 
org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.anal
yseCode(CompilationUnitDeclaration.java:78)
        at org.eclipse.jdt.internal.compiler.Compiler.process
(Compiler.java:541)

        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.java:0 Internal compiler error
java.lang.NullPointerException
        at 
org.eclipse.jdt.internal.compiler.lookup.SyntheticAccessMethodBinding
.initializeConstructorAccessor(SyntheticAccessMethodBinding.java:215)
        at 
org.eclipse.jdt.internal.compiler.lookup.SyntheticAccessMethodBinding
.<init>(SyntheticAccessMethodBinding.java:136)
        at 
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.addSynthet
icMethod(SourceTypeBinding.java:332)
        at 
org.eclipse.jdt.internal.compiler.ast.AllocationExpression.manageSynt
heticAccessIfNecessary(AllocationExpression.java:200)
        at 
org.eclipse.jdt.internal.compiler.ast.AllocationExpression.analyseCod
e(AllocationExpression.java:60)
        at org.eclipse.jdt.internal.compiler.ast.ReturnStatement.analyseCode
(Ret
urnStatement.java:37)
        at org.eclipse.jdt.internal.compiler.ast.Block.analyseCode
(Block.java:41
)
        at org.eclipse.jdt.internal.compiler.ast.IfStatement.analyseCode
(IfState
ment.java:84)
        at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.analyseCode
(M
ethodDeclaration.java:70)
        at 
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.internalAnalyse
Code(TypeDeclaration.java:639)
        at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.analyseCode
(Typ
eDeclaration.java:196)
        at 
org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.anal
yseCode(CompilationUnitDeclaration.java:78)
        at org.eclipse.jdt.internal.compiler.Compiler.process
(Compiler.java:541)

        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 !!
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.lookup.SyntheticAccessMethodBinding
.initializeConstructorAccessor(SyntheticAccessMethodBinding.java:215)
        at 
org.eclipse.jdt.internal.compiler.lookup.SyntheticAccessMethodBinding
.<init>(SyntheticAccessMethodBinding.java:136)
        at 
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.addSynthet
icMethod(SourceTypeBinding.java:332)
        at 
org.eclipse.jdt.internal.compiler.ast.AllocationExpression.manageSynt
heticAccessIfNecessary(AllocationExpression.java:200)
        at 
org.eclipse.jdt.internal.compiler.ast.AllocationExpression.analyseCod
e(AllocationExpression.java:60)
        at org.eclipse.jdt.internal.compiler.ast.ReturnStatement.analyseCode
(Ret
urnStatement.java:37)
        at org.eclipse.jdt.internal.compiler.ast.Block.analyseCode
(Block.java:41
)
        at org.eclipse.jdt.internal.compiler.ast.IfStatement.analyseCode
(IfState
ment.java:84)
        at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.analyseCode
(M
ethodDeclaration.java:70)
        at 
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.internalAnalyse
Code(TypeDeclaration.java:639)
        at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.analyseCode
(Typ
eDeclaration.java:196)
        at 
org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.anal
yseCode(CompilationUnitDeclaration.java:78)
        at org.eclipse.jdt.internal.compiler.Compiler.process
(Compiler.java:541)

        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, 1 error, 1 warning

Processing.java source:
---
import org.aspectj.lang.*;
import org.aspectj.lang.reflect.*;
import java.lang.reflect.Method;

public aspect Processing {
    Object around() : 
            call(new(..))  {
        return proceed();
    }

    
    Object around() : 
             call(* *(..)) {
        MethodSignature sig = (MethodSignature)thisJoinPoint.getSignature();
        Class returnType = sig.getReturnType();
        if (returnType == java.lang.Void.TYPE) {
            return new java.lang.Void(); // this works if you make it null
        } 
    }
}
Comment 1 Jim Hugunin CLA 2003-07-02 19:13:57 EDT
Raised priority because this awful error message was simple to fix
test in bugs/NewVoid.java, fix in cvs
Comment 2 Adrian Colyer CLA 2003-08-28 08:05:36 EDT
updated target milestone field to 1.1.1