summaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoracolyer <acolyer>2005-09-01 12:34:49 +0000
committeracolyer <acolyer>2005-09-01 12:34:49 +0000
commit8dee531bd67e50d61793a657e19cc8de9113d9c8 (patch)
tree1e046b5022cfdadeed90383186c3dd9f18909cc3 /weaver
parent16512b2e4e0e9efe88544472286be55fc86a1f62 (diff)
downloadaspectj-8dee531bd67e50d61793a657e19cc8de9113d9c8.tar.gz
aspectj-8dee531bd67e50d61793a657e19cc8de9113d9c8.zip
enables a Shadow to have a signature to be used for matching that is distinct from the full signature (which may include synthetic args)
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/Shadow.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/weaver/src/org/aspectj/weaver/Shadow.java b/weaver/src/org/aspectj/weaver/Shadow.java
index e0de3011f..86785f2d4 100644
--- a/weaver/src/org/aspectj/weaver/Shadow.java
+++ b/weaver/src/org/aspectj/weaver/Shadow.java
@@ -46,6 +46,7 @@ public abstract class Shadow {
private final Kind kind;
private final Member signature;
+ private Member matchingSignature;
private ResolvedMember resolvedSignature;
protected final Shadow enclosingShadow;
protected List mungers = new ArrayList(1);
@@ -188,6 +189,18 @@ public abstract class Shadow {
}
/**
+ * returns the signature of the thing under this shadow, with
+ * any synthetic arguments removed
+ */
+ public Member getMatchingSignature() {
+ return matchingSignature != null ? matchingSignature : signature;
+ }
+
+ public void setMatchingSignature(Member member) {
+ this.matchingSignature = member;
+ }
+
+ /**
* returns the resolved signature of the thing under this shadow
*
*/