Details
-
Type:
New Feature
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: cool-ideas
-
Component/s: core
-
Labels:None
-
Number of attachments :
Description
privileged aspect
PAspect {
@Privileged
@Target | @This
int m_field;
@Priviledged
@Target | @This
int foo()
//could be abstract + abstract aspect and removal of abstraction
// thru aspect weaving
@Around(pc)
... myAdvice(..)
}
We change the aspect bytecode to change the field access and method access instruction to call them on target or this instead.
We may need wrapper for private stuff in both caller and callee then.
So we need to match pc from both a caller and callee side point of view.
note: what if modifier in aspect fake method / field are not the same as in target / this class ?
note: what if method does not EXIST in targt / this class [silly user but..]