1234567891011121314151617181920212223242526272829303132333435363738394041 |
- public class PrivilegedParsing {
- private int hidden;
- public int visible;
- public PrivilegedParsing(int priv, int pub) {
- hidden = priv;
- visible = pub;
- }
- public void doSomething() {
- System.out.println("" + hidden + ", " + visible + "");
- }
- public static void main(String[] args) {
- PrivilegedParsing capsule = new PrivilegedParsing(1, 1);
- capsule.doSomething();
- }
- }
-
- aspect Outer {
- static privileged //<== JUST TRY TO UNCOMMENT THIS!
- aspect Inner {
- pointcut call2doSomething(PrivilegedParsing capsule):
- call(void PrivilegedParsing.doSomething())
- && target(capsule);
- before(PrivilegedParsing capsule): call2doSomething(capsule) {
- capsule.visible++;
- capsule.hidden++;
- }
- }
- }
-
- interface Marker {
- static privileged //<== JUST TRY TO UNCOMMENT THIS!
- aspect Inner {
- pointcut call2doSomething(PrivilegedParsing capsule):
- call(void PrivilegedParsing.doSomething())
- && target(capsule);
- before(PrivilegedParsing capsule): call2doSomething(capsule) {
- capsule.visible++;
- capsule.hidden++;
- }
- }
- }
|