From: aclement Date: Tue, 22 Jan 2008 23:49:19 +0000 (+0000) Subject: pr206911: tests and fix: generic super itd X-Git-Tag: V1_6_0M2~106 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=48a295ed7318a91d801f998f9f82aa1246ade6c4;p=aspectj.git pr206911: tests and fix: generic super itd --- diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/SuperFixerVisitor.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/SuperFixerVisitor.java index ef2048de2..b25e96771 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/SuperFixerVisitor.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/SuperFixerVisitor.java @@ -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); } }