]> source.dussan.org Git - aspectj.git/commitdiff
pr206911: tests and fix: generic super itd
authoraclement <aclement>
Tue, 22 Jan 2008 23:49:19 +0000 (23:49 +0000)
committeraclement <aclement>
Tue, 22 Jan 2008 23:49:19 +0000 (23:49 +0000)
org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/SuperFixerVisitor.java

index ef2048de2c03ecd773d0e63ec93ca46d31042a81..b25e96771202bcc6c188d9c427bb79496d278aba 100644 (file)
@@ -29,6 +29,7 @@ import org.aspectj.org.eclipse.jdt.internal.compiler.ast.ThisReference;
 import org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants;
 import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BlockScope;
 import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.MethodBinding;
+import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding;
 import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ProblemMethodBinding;
 import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding;
 
@@ -99,8 +100,12 @@ public class SuperFixerVisitor extends ASTVisitor {
                        targetClass);
                        
                AstUtil.replaceMethodBinding(call, superAccessBinding);
-       
-               ResolvedMember targetMember = factory.makeResolvedMember(superBinding);
+               ResolvedMember targetMember = null;
+               if (superBinding.declaringClass.isParameterizedType()) { //pr206911
+                       targetMember = factory.makeResolvedMember(superBinding,((ParameterizedTypeBinding)superBinding.declaringClass).genericType());
+               } else {
+                       targetMember = factory.makeResolvedMember(superBinding);
+               }
                superMethodsCalled.add(targetMember);
        }
 }