Bug 45676

Summary: AspectJ enhanced code can not be used with plain old java anymore
Product: [Tools] AspectJ Reporter: Arno <A>
Component: CompilerAssignee: Jim Hugunin <jim-aj>
Status: RESOLVED FIXED QA Contact:
Severity: blocker    
Priority: P2    
Version: 1.1.1   
Target Milestone: 1.2   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
sample File with two projects (*.zip) none

Description Arno CLA 2003-10-28 11:25:13 EST
I am developing a library with AspectJ 1.1.1 on JDK 1.3.1_06 on Windows XP.
All public static Introdctions to a static class can not be used from in a 
second module. 

Outline I have two projects 
AJP and libuser, the second is a plain old java program, which uses the full 
compiled output of the aspectj-lib (AJP).

for any questions do not hesitate to ask me
Arno@aspectsoft.de
Comment 1 Arno CLA 2003-10-28 11:29:40 EST
Created attachment 6572 [details]
sample File with two projects (*.zip)
Comment 2 George Harley CLA 2003-11-26 10:44:26 EST
Verified.

This used to work in AspectJ 1.1.0. The change in behaviour seems to be a direct 
consequence of the fix for bug 41123. Now, introduced methods have the 
"Synthetic" attribute added to them in the constant pool and it seems to cause 
the observed breakage. Looks like some additional checking is required before 
adding the attribute ?

Comment 3 Ron Bodkin CLA 2003-12-17 22:39:05 EST
This bug can also be observed in interfaces (see bug #43972), which I believe 
is the same bug.
Comment 4 Jim Hugunin CLA 2004-01-14 06:35:26 EST
Fixed based on patch from George Harley.  The fix is not to put the Synthetic 
attribute on these generated methods so that they can be seen by standard Java 
compilers.