Bug 141964

Summary: Version checking when weaving - to police use of certain language features
Product: [Tools] AspectJ Reporter: Andrew Clement <aclement>
Component: CompilerAssignee: aspectj inbox <aspectj-inbox>
Status: NEW --- QA Contact:
Severity: enhancement    
Priority: P5 CC: aclement
Version: DEVELOPMENT   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Andrew Clement CLA 2006-05-16 06:21:11 EDT
In bug 141915 someone has created a class file at the 1.1 level with an annotated field.  We then apply a 1.5 level aspect to it that matches/binds based on the existence of the annotation.  At the moment this leaves the class file at the 1.1 level and puts in extra code to pull out the annotation.  This code uses the LDC variant introduced in recent versions of Java that allows a class constant to be specified.  This leaves the class in a problem state, it will fail verification.

Should we:
- police that we have the correct supplied source/target levels and the input class is suitable to have the annotation triggered advice applied.
- hoist the version number of the woven class to Java5
- generate the 'old style' way of referring to a class constant (yuck!)
Comment 1 Andrew Clement CLA 2007-10-24 09:56:42 EDT
Not hit on a regular basis... reducing priority