Bug 39457 - support protected inter-type declarations
Summary: support protected inter-type declarations
Status: REOPENED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P5 enhancement with 1 vote (vote)
Target Milestone: ---   Edit
Assignee: Adrian Colyer CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-06-29 21:47 EDT by Ron Bodkin CLA
Modified: 2013-04-02 16:22 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ron Bodkin CLA 2003-06-29 21:47:24 EDT
I have an abstract aspect (e.g., for testing) and would like to expose inter-
type declared state to concrete implementations but *not* to the world. Today 
I have to either open it too wide (with a public) and then use an aspect to 
close it down (ugly) or restrict the concrete aspects to be in the same 
package with a default (package-friendly) scope.

Protected inter-type declaration should have the obvious semantics: accessible 
to anything in the same package or to any concrete aspect that extends the 
abstract one.
Comment 1 Jim Hugunin CLA 2003-07-02 17:40:47 EDT
Marking as enhancement request.  Planning for 1.2 will determine how these 
enhancements will be prioritized.
Comment 2 Adrian Colyer CLA 2005-08-17 13:54:39 EDT
Still a perfectly valid enhancement request, but we have no immediate plans to support this feature in the 
short term so moving to "LATER" status where we can pick it up again at some future point.
Comment 3 Eclipse Webmaster CLA 2009-08-30 02:50:30 EDT
LATER/REMIND bugs are being automatically reopened as P5 because the LATER and REMIND resolutions are deprecated.
Comment 4 Matthew Adams CLA 2009-10-02 10:49:33 EDT
I'd like this to be added soon.  When I introduce an implementation of an interface that needs fields to do its job, the fields are public, which breaks encapsulation.  I want to introduce an interface implementation that doesn't affect the public interface that the class exposed prior to introduction, except for the addition of the newly introduced interface's methods.
Comment 5 Matthew Adams CLA 2009-10-02 10:53:07 EDT
BTW, this is a related bug that I entered as a result of a mailing list discussion:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=288282
Comment 6 Matthew Adams CLA 2013-04-02 16:22:08 EDT
[bump]