diff options
author | acolyer <acolyer> | 2005-08-09 13:02:45 +0000 |
---|---|---|
committer | acolyer <acolyer> | 2005-08-09 13:02:45 +0000 |
commit | 40ad6449866c092abb44f6a2286748778335e4e3 (patch) | |
tree | c329e6835ba00a317454251b4c6fd7f5a1acff5b /weaver | |
parent | aef381d76a9bfd71d4d860dc4fa71fa819800927 (diff) | |
download | aspectj-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.java | 9 |
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)); } |