diff options
author | aclement <aclement> | 2008-08-19 23:14:31 +0000 |
---|---|---|
committer | aclement <aclement> | 2008-08-19 23:14:31 +0000 |
commit | 7b3134928cc1510172cbcb4693eb49e2f5d113a8 (patch) | |
tree | 477feb0f3cb33d2b9634e4f837f8ed862fccc3d3 /org.aspectj.ajdt.core | |
parent | 231c548d64db8deffbe74b1b0f1ef7f4a448c9ac (diff) | |
download | aspectj-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.java | 6 |
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); |