Community
Participate
Working Groups
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)
fixed in aj5m2.