Bug 83875 - 150M1 @withincode type pattern exception
Summary: 150M1 @withincode type pattern exception
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: DEVELOPMENT   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Adrian Colyer CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-01-27 15:41 EST by Wes Isberg CLA
Modified: 2005-03-23 09:25 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 Wes Isberg CLA 2005-01-27 15:41:38 EST
Using AJDT 20050124 144759 to compile a program using @withincode(type), I get a
bad signature.  Binding is not supported in this release, but this was just
seeing if the pointcut worked.  If this is supposed to work, I'll add a test
case.  Code and stack below.

----------------- 
package misc;

import java.lang.annotation.*;

public class WithincodeAnnotation {

    public static void main(String[] args) {
    	wcam();
    }
    
    @WCMA(id=1)
    static void wcam() {
        System.out.println("in wcam()");
    }
}
@Retention(RetentionPolicy.RUNTIME)
@interface WCMA {
   int id();
}
aspect wwithincodeAnnotation {
    pointcut pc() : execution(static void wcam());
    
  before() : pc() && @withincode(@WCMA){
	System.out.println("pc");
  }

}
----------------- stack
Internal compiler error
org.aspectj.weaver.BCException: Bad type signature: <missing>
	at org.aspectj.weaver.TypeX.signatureToName(TypeX.java:610)
	at org.aspectj.weaver.TypeX.getName(TypeX.java:205)
	at org.aspectj.weaver.bcel.BcelWorld.resolveObjectType(BcelWorld.java:195)
	at org.aspectj.weaver.World.resolveObjectType(World.java:150)
	at org.aspectj.weaver.World.resolve(World.java:129)
	at org.aspectj.weaver.World.resolve(World.java:108)
	at org.aspectj.weaver.TypeX.isAnnotation(TypeX.java:428)
	at
org.aspectj.weaver.patterns.ExactAnnotationTypePattern.verifyIsAnnotationType(ExactAnnotationTypePattern.java:129)
	at
org.aspectj.weaver.patterns.ExactAnnotationTypePattern.resolveBindings(ExactAnnotationTypePattern.java:120)
	at
org.aspectj.weaver.patterns.WithinCodeAnnotationPointcut.resolveBindings(WithinCodeAnnotationPointcut.java:102)
	at org.aspectj.weaver.patterns.AndPointcut.resolveBindings(AndPointcut.java:108)
	at org.aspectj.weaver.patterns.Pointcut.resolve(Pointcut.java:211)
	at
org.aspectj.ajdt.internal.compiler.ast.PointcutDesignator.finishResolveTypes(PointcutDesignator.java:76)
	at
org.aspectj.ajdt.internal.compiler.ast.AdviceDeclaration.resolveStatements(AdviceDeclaration.java:113)
	at
org.aspectj.org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:393)
	at
org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1026)
	at
org.aspectj.ajdt.internal.compiler.ast.AspectDeclaration.resolve(AspectDeclaration.java:79)
	at
org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1075)
	at
org.aspectj.org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:280)
	at
org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:546)
	at
org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:365)
	at
org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:682)
	at
org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:168)
	at
org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:102)
	at org.aspectj.ajde.internal.CompilerAdapter.compile(CompilerAdapter.java:122)
	at
org.aspectj.ajde.internal.AspectJBuildManager$CompilerThread.run(AspectJBuildManager.java:165)
Comment 1 Adrian Colyer CLA 2005-03-23 09:25:24 EST
fixed in aj5m2.