From 48a295ed7318a91d801f998f9f82aa1246ade6c4 Mon Sep 17 00:00:00 2001 From: aclement Date: Tue, 22 Jan 2008 23:49:19 +0000 Subject: [PATCH] pr206911: tests and fix: generic super itd --- .../ajdt/internal/compiler/ast/SuperFixerVisitor.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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); } } -- 2.39.5