aboutsummaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoraclement <aclement>2005-04-19 12:38:26 +0000
committeraclement <aclement>2005-04-19 12:38:26 +0000
commitd4fd9696d97cbe45e18c3f791ce621f3ab313ea1 (patch)
tree8e6e1b47c3a489f82dd08ea735558f711a55be6a /weaver
parent97df6c7a2851cd5b0860406699c7358bf15fed16 (diff)
downloadaspectj-d4fd9696d97cbe45e18c3f791ce621f3ab313ea1.tar.gz
aspectj-d4fd9696d97cbe45e18c3f791ce621f3ab313ea1.zip
from branch: dont stick the interface on @AJ thingies.
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/PerObjectInterfaceTypeMunger.java15
1 files changed, 12 insertions, 3 deletions
diff --git a/weaver/src/org/aspectj/weaver/PerObjectInterfaceTypeMunger.java b/weaver/src/org/aspectj/weaver/PerObjectInterfaceTypeMunger.java
index 504f03001..2a9f73202 100644
--- a/weaver/src/org/aspectj/weaver/PerObjectInterfaceTypeMunger.java
+++ b/weaver/src/org/aspectj/weaver/PerObjectInterfaceTypeMunger.java
@@ -17,6 +17,8 @@ import java.io.DataOutputStream;
import java.io.IOException;
import org.aspectj.weaver.patterns.Pointcut;
+import org.aspectj.weaver.patterns.FastMatchInfo;
+import org.aspectj.util.FuzzyBoolean;
public class PerObjectInterfaceTypeMunger extends ResolvedTypeMunger {
private ResolvedMember getMethod;
@@ -60,8 +62,15 @@ public class PerObjectInterfaceTypeMunger extends ResolvedTypeMunger {
}
public boolean matches(ResolvedTypeX matchType, ResolvedTypeX aspectType) {
- //??? this matches many more types than are needed
- return !matchType.isInterface();
- }
+ //FIXME ATAJ waiting Andy patch...
+ // comment from Andy - this is hard to fix...
+
+ // right now I filter @AJ aspect else it end up with duplicate members
+ return !matchType.isInterface() && !matchType.isAnnotationStyleAspect();
+ }
+
+ private FuzzyBoolean isWithinType(ResolvedTypeX type) {
+ return testPointcut.fastMatch(new FastMatchInfo(type, null));
+ }
}