aboutsummaryrefslogtreecommitdiffstats
path: root/org.aspectj.ajdt.core
diff options
context:
space:
mode:
authorAndy Clement <aclement@gopivotal.com>2014-11-17 14:10:14 -0800
committerAndy Clement <aclement@gopivotal.com>2014-11-17 14:10:14 -0800
commit934f0b86c5543737d4859131024cf73995fdc347 (patch)
treefb94c33ef901ed3d676c00734600a5658f6420ae /org.aspectj.ajdt.core
parent42c2269b2995336ee80e802753d7a311edaf4b98 (diff)
downloadaspectj-934f0b86c5543737d4859131024cf73995fdc347.tar.gz
aspectj-934f0b86c5543737d4859131024cf73995fdc347.zip
Fix for 451966: privileged aspects and itd on interfaces
Diffstat (limited to 'org.aspectj.ajdt.core')
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/InterTypeMethodBinding.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/InterTypeMethodBinding.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/InterTypeMethodBinding.java
index ec50597a3..5d17dd357 100644
--- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/InterTypeMethodBinding.java
+++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/InterTypeMethodBinding.java
@@ -14,6 +14,7 @@ package org.aspectj.ajdt.internal.compiler.lookup;
import org.aspectj.ajdt.internal.compiler.ast.InterTypeMethodDeclaration;
import org.aspectj.org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration;
+import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.IPrivilegedHandler;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.InvocationSite;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.MethodBinding;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding;
@@ -99,10 +100,10 @@ public class InterTypeMethodBinding extends MethodBinding {
if (invocationType == declaringClass)
return true;
- // if (invocationType.isPrivileged) {
- // System.out.println("privileged access to: " + this);
- // return true;
- // }
+ if (invocationType.privilegedHandler != null) {
+ // it is a privileged aspect
+ return true;
+ }
if (isProtected()) {
throw new RuntimeException("unimplemented");