Bug 154332

Summary: [annotations] Incorrect handling of java.lang annotations when matching
Product: [Tools] AspectJ Reporter: Andrew Clement <aclement>
Component: CompilerAssignee: Andrew Clement <aclement>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: DEVELOPMENT   
Target Milestone: 1.5.3   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Andrew Clement CLA 2006-08-18 03:49:03 EDT
As raised by Mr Bodkin on the list:
Can anyone tell me why this compiling this program produces warnings for marker but not for deprecated (in a recent dev build of AJDT)? Is this just a bug? Both have runtime retention, so I would expect equivalent behavior.

 

@Deprecated @Marker

public aspect Annot {

 

    pointcut test() : within(@Marker *);// *);

   

    declare warning: staticinitialization(@Deprecated *): "deprecated";   

    declare warning: staticinitialization(@Marker *): "marker";   

   

    public static void main(String argz[]) {

        new Baz().foo();

    }

}

 

@Deprecated @Marker

class Baz {

    public void foo() {}

}

 

@Retention(RetentionPolicy.RUNTIME)

public @interface Marker {

 

}
Comment 1 Andrew Clement CLA 2006-08-18 04:18:18 EDT
test and fix committed - some silly code that chopped java.lang off the front and left us with something that wouldn't resolve (doh!) - who writes this rubbish...