From 9905334cb7e47e8c0fc78d624e0f8c06cd79baee Mon Sep 17 00:00:00 2001 From: aclement Date: Tue, 8 Nov 2005 11:22:57 +0000 Subject: [PATCH] For bridge method support - make backing generic member accessible. --- weaver/src/org/aspectj/weaver/JoinPointSignature.java | 8 ++++++++ weaver/src/org/aspectj/weaver/ResolvedMember.java | 4 ++++ weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java | 7 +++++++ 3 files changed, 19 insertions(+) diff --git a/weaver/src/org/aspectj/weaver/JoinPointSignature.java b/weaver/src/org/aspectj/weaver/JoinPointSignature.java index fc65c1133..f39b70fe7 100644 --- a/weaver/src/org/aspectj/weaver/JoinPointSignature.java +++ b/weaver/src/org/aspectj/weaver/JoinPointSignature.java @@ -396,4 +396,12 @@ public class JoinPointSignature implements ResolvedMember { public int hashCode() { return 17 + (37 * realMember.hashCode()) + (37 * substituteDeclaringType.hashCode()); } + + public boolean hasBackingGenericMember() { + return realMember.hasBackingGenericMember(); + } + + public ResolvedMember getBackingGenericMember() { + return realMember.getBackingGenericMember(); + } } diff --git a/weaver/src/org/aspectj/weaver/ResolvedMember.java b/weaver/src/org/aspectj/weaver/ResolvedMember.java index fe178a248..ec9576417 100644 --- a/weaver/src/org/aspectj/weaver/ResolvedMember.java +++ b/weaver/src/org/aspectj/weaver/ResolvedMember.java @@ -96,6 +96,10 @@ public interface ResolvedMember extends Member, AnnotatedElement, TypeVariableDe public String toGenericString(); public String toDebugString(); + + + public boolean hasBackingGenericMember(); + public ResolvedMember getBackingGenericMember(); /** * Get the UnresolvedType for the return type, taking generic signature into account diff --git a/weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java b/weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java index 9942617e0..2cfb40085 100644 --- a/weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java +++ b/weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java @@ -721,6 +721,13 @@ public class ResolvedMemberImpl extends MemberImpl implements IHasPosition, Anno private ResolvedMember myErasure = null; private boolean calculatedMyErasure = false; + public boolean hasBackingGenericMember() { + return backingGenericMember!=null; + } + + public ResolvedMember getBackingGenericMember() { + return backingGenericMember; + } /** * For ITDs, we use the default factory methods to build a resolved member, then alter a couple of characteristics -- 2.39.5