diff options
Diffstat (limited to 'weaver')
-rw-r--r-- | weaver/src/org/aspectj/weaver/ResolvedTypeX.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/weaver/src/org/aspectj/weaver/ResolvedTypeX.java b/weaver/src/org/aspectj/weaver/ResolvedTypeX.java index 12bab5521..a9b6fa654 100644 --- a/weaver/src/org/aspectj/weaver/ResolvedTypeX.java +++ b/weaver/src/org/aspectj/weaver/ResolvedTypeX.java @@ -901,12 +901,22 @@ public abstract class ResolvedTypeX extends TypeX { /** return null if not found */ public ResolvedMember lookupMemberNoSupers(Member member) { + ResolvedMember ret; if (member.getKind() == Member.FIELD) { - return lookupMember(member, getDeclaredFields()); + ret = lookupMember(member, getDeclaredFields()); } else { // assert member.getKind() == Member.METHOD || member.getKind() == Member.CONSTRUCTOR - return lookupMember(member, getDeclaredMethods()); + ret = lookupMember(member, getDeclaredMethods()); } + if (ret == null && interTypeMungers != null) { + for (Iterator i = interTypeMungers.iterator(); i.hasNext();) { + ConcreteTypeMunger tm = (ConcreteTypeMunger) i.next(); + if (matches(tm.getSignature(), member)) { + return tm.getSignature(); + } + } + } + return ret; } protected List interTypeMungers = new ArrayList(0); |