summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraclement <aclement>2008-01-22 23:49:19 +0000
committeraclement <aclement>2008-01-22 23:49:19 +0000
commit48a295ed7318a91d801f998f9f82aa1246ade6c4 (patch)
treebaa459e7cf8e4fc0be5ae5b9e166dd10eab60773
parentca7f9f4bf393a4a1193773501b7d55ecd17ede1f (diff)
downloadaspectj-48a295ed7318a91d801f998f9f82aa1246ade6c4.tar.gz
aspectj-48a295ed7318a91d801f998f9f82aa1246ade6c4.zip
pr206911: tests and fix: generic super itd
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/SuperFixerVisitor.java9
1 files 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);
}
}