diff options
author | Andy Clement <aclement@gopivotal.com> | 2014-11-17 14:10:14 -0800 |
---|---|---|
committer | Andy Clement <aclement@gopivotal.com> | 2014-11-17 14:10:14 -0800 |
commit | 934f0b86c5543737d4859131024cf73995fdc347 (patch) | |
tree | fb94c33ef901ed3d676c00734600a5658f6420ae /org.aspectj.ajdt.core | |
parent | 42c2269b2995336ee80e802753d7a311edaf4b98 (diff) | |
download | aspectj-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.java | 9 |
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"); |