]> source.dussan.org Git - aspectj.git/commitdiff
ensure we don't try and insert an instanceof test for a parameterized type
authoracolyer <acolyer>
Tue, 9 Aug 2005 13:02:45 +0000 (13:02 +0000)
committeracolyer <acolyer>
Tue, 9 Aug 2005 13:02:45 +0000 (13:02 +0000)
weaver/src/org/aspectj/weaver/patterns/NameBindingPointcut.java

index ce54badf01bf337a8a5c42dae77fabf5c29cb47f..7d58025e40130b6a75e8d43a0bbdac60d5795756 100644 (file)
@@ -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));
        }