summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraclement <aclement>2008-08-19 21:29:20 +0000
committeraclement <aclement>2008-08-19 21:29:20 +0000
commit9b87ea9ff3ea63d6115cf93c2420c200d90566b3 (patch)
treec5c1a47f8db9836b8ec8755cf110df8e2cd65752
parent2b3b1260564cf3d4580771c5922c8aea8f213981 (diff)
downloadaspectj-9b87ea9ff3ea63d6115cf93c2420c200d90566b3.tar.gz
aspectj-9b87ea9ff3ea63d6115cf93c2420c200d90566b3.zip
241047: test and fix: when pipelining we have to ask the generic type for its super interfaces as thats where they will be until it has gone through the pipeline
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/TypePattern.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/weaver/src/org/aspectj/weaver/patterns/TypePattern.java b/weaver/src/org/aspectj/weaver/patterns/TypePattern.java
index ddd8e598e..1336ea863 100644
--- a/weaver/src/org/aspectj/weaver/patterns/TypePattern.java
+++ b/weaver/src/org/aspectj/weaver/patterns/TypePattern.java
@@ -181,7 +181,10 @@ public abstract class TypePattern extends PatternNode {
//System.out.println(" true");
return true;
}
-
+ // If an ITD is applied, it will be put onto the generic type, not the parameterized or raw form
+ if (superType.isParameterizedType() || superType.isRawType()) {
+ superType = superType.getGenericType();
+ }
// FuzzyBoolean ret = FuzzyBoolean.NO; // ??? -eh
for (Iterator i = superType.getDirectSupertypes(); i.hasNext(); ) {
ResolvedType superSuperType = (ResolvedType)i.next();