summaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoracolyer <acolyer>2005-08-09 13:02:45 +0000
committeracolyer <acolyer>2005-08-09 13:02:45 +0000
commit40ad6449866c092abb44f6a2286748778335e4e3 (patch)
treec329e6835ba00a317454251b4c6fd7f5a1acff5b /weaver
parentaef381d76a9bfd71d4d860dc4fa71fa819800927 (diff)
downloadaspectj-40ad6449866c092abb44f6a2286748778335e4e3.tar.gz
aspectj-40ad6449866c092abb44f6a2286748778335e4e3.zip
ensure we don't try and insert an instanceof test for a parameterized type
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/NameBindingPointcut.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/weaver/src/org/aspectj/weaver/patterns/NameBindingPointcut.java b/weaver/src/org/aspectj/weaver/patterns/NameBindingPointcut.java
index ce54badf0..7d58025e4 100644
--- a/weaver/src/org/aspectj/weaver/patterns/NameBindingPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/NameBindingPointcut.java
@@ -15,7 +15,7 @@ package org.aspectj.weaver.patterns;
import java.util.List;
-import org.aspectj.weaver.UnresolvedType;
+import org.aspectj.weaver.ResolvedType;
import org.aspectj.weaver.World;
import org.aspectj.weaver.ast.Test;
import org.aspectj.weaver.ast.Var;
@@ -37,8 +37,11 @@ public abstract class NameBindingPointcut extends Pointcut {
BindingTypePattern b = (BindingTypePattern)type;
state.set(b.getFormalIndex(), var);
}
- UnresolvedType myType = type.getExactType(); //should have failed earlier
-
+ ResolvedType myType = type.getExactType().resolve(world);
+ if (myType.isParameterizedType()) {
+ // unchecked warning already issued...
+ myType = (ResolvedType) myType.getRawType();
+ }
return Test.makeInstanceof(var, myType.resolve(world));
}