Bug 45676 - AspectJ enhanced code can not be used with plain old java anymore
Summary: AspectJ enhanced code can not be used with plain old java anymore
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: 1.1.1   Edit
Hardware: PC Windows XP
: P2 blocker (vote)
Target Milestone: 1.2   Edit
Assignee: Jim Hugunin CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-10-28 11:25 EST by Arno CLA
Modified: 2004-01-14 06:35 EST (History)
0 users

See Also:


Attachments
sample File with two projects (*.zip) (14.25 KB, application/octet-stream)
2003-10-28 11:29 EST, Arno CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
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.