summaryrefslogtreecommitdiffstats
path: root/org.aspectj.ajdt.core
diff options
context:
space:
mode:
authoraclement <aclement>2008-08-19 23:14:31 +0000
committeraclement <aclement>2008-08-19 23:14:31 +0000
commit7b3134928cc1510172cbcb4693eb49e2f5d113a8 (patch)
tree477feb0f3cb33d2b9634e4f837f8ed862fccc3d3 /org.aspectj.ajdt.core
parent231c548d64db8deffbe74b1b0f1ef7f4a448c9ac (diff)
downloadaspectj-7b3134928cc1510172cbcb4693eb49e2f5d113a8.tar.gz
aspectj-7b3134928cc1510172cbcb4693eb49e2f5d113a8.zip
240693: test and fix: generic type defined inside around advice (mad)
Diffstat (limited to 'org.aspectj.ajdt.core')
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/PrivilegedHandler.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/PrivilegedHandler.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/PrivilegedHandler.java
index cb48e9b85..84f7d37b0 100644
--- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/PrivilegedHandler.java
+++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/PrivilegedHandler.java
@@ -25,6 +25,7 @@ import org.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.FieldBinding;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.IPrivilegedHandler;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.MethodBinding;
+import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ParameterizedFieldBinding;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding;
import org.aspectj.weaver.AjcMemberMaker;
@@ -46,7 +47,10 @@ public class PrivilegedHandler implements IPrivilegedHandler {
this.inAspect = inAspect;
}
- public FieldBinding getPrivilegedAccessField(FieldBinding baseField, ASTNode location) {
+ public FieldBinding getPrivilegedAccessField(FieldBinding baseField, ASTNode location) {
+ if (baseField instanceof ParameterizedFieldBinding) {
+ baseField = ((ParameterizedFieldBinding)baseField).originalField;
+ }
ResolvedMember key = inAspect.factory.makeResolvedMember(baseField);
if (accessors.containsKey(key)) return (FieldBinding)accessors.get(key);
FieldBinding ret = new PrivilegedFieldBinding(inAspect, baseField);