Bug 41175

Summary: binary aspect-declared methods conflict, lost their exception clauses
Product: [Tools] AspectJ Reporter: Wes Isberg <wes>
Component: CompilerAssignee: Jim Hugunin <jim-aj>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P2 CC: cbozic
Version: 1.1.0   
Target Milestone: 1.1.1   
Hardware: PC   
OS: Windows NT   
Whiteboard:

Description Wes Isberg CLA 2003-08-06 03:02:31 EDT
When using aspects to declare methods on supertypes, if you build the supertype
and aspect classes into an aspect library and then attempt to weave a client
using the binary library, ajc complains about member collisions and behaves as
if there are no exception clauses on the target supertype method declarations. 
See test cases in modules/tests/bugs/interfaceLibrary.

(This was discovered and largely isolated by someone on the user's list.)
Comment 1 Wes Isberg CLA 2003-08-06 03:05:36 EDT
P2 because it prevents the use of aspect libraries if the aspect declares
methods  with exception clauses.  
Comment 2 Chris Bozic CLA 2003-08-07 18:47:19 EDT
Added cc contact.  (webcbozic@adelphia.net)
Comment 3 Jim Hugunin CLA 2003-08-08 01:00:05 EDT
This is now fixed in the tree for 1.1.1.

There were two separate bugs here.  The easy one was that the declared
exceptions were being lost on introduced methods.  This was a simple matter of
passing this information through.

The hard bug showed up only with public concrete methods, and was unrelated to
the declared exceptions.  This required a fairly serious change to get correct
signatures on binary types with introduced methods.
Comment 4 Adrian Colyer CLA 2003-08-28 08:07:26 EDT
updated target milestone field to 1.1.1