From: aclement Date: Tue, 23 Jan 2007 10:45:34 +0000 (+0000) Subject: 170467: methods with parameterized parameters not working in ITD overrides relationsh... X-Git-Tag: Root_extensions~6 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=12a4579a442439df5116558cb4629776e9337cec;p=aspectj.git 170467: methods with parameterized parameters not working in ITD overrides relationship. tests and fix. --- diff --git a/weaver/src/org/aspectj/weaver/Member.java b/weaver/src/org/aspectj/weaver/Member.java index f7505f088..2b4d9d6d7 100644 --- a/weaver/src/org/aspectj/weaver/Member.java +++ b/weaver/src/org/aspectj/weaver/Member.java @@ -67,6 +67,7 @@ public interface Member { public UnresolvedType getReturnType(); public UnresolvedType getGenericReturnType(); + public UnresolvedType[] getGenericParameterTypes(); public UnresolvedType getType(); diff --git a/weaver/src/org/aspectj/weaver/MemberImpl.java b/weaver/src/org/aspectj/weaver/MemberImpl.java index cad1e78e0..65050638c 100644 --- a/weaver/src/org/aspectj/weaver/MemberImpl.java +++ b/weaver/src/org/aspectj/weaver/MemberImpl.java @@ -466,6 +466,7 @@ public class MemberImpl implements Comparable, AnnotatedElement,Member { public UnresolvedType getReturnType() { return returnType; } public UnresolvedType getGenericReturnType() { return getReturnType(); } + public UnresolvedType[] getGenericParameterTypes() { return getParameterTypes(); } /* (non-Javadoc) * @see org.aspectj.weaver.Member#getType() */ diff --git a/weaver/src/org/aspectj/weaver/ResolvedType.java b/weaver/src/org/aspectj/weaver/ResolvedType.java index be05dd0a7..598b403f1 100644 --- a/weaver/src/org/aspectj/weaver/ResolvedType.java +++ b/weaver/src/org/aspectj/weaver/ResolvedType.java @@ -429,8 +429,11 @@ public abstract class ResolvedType extends UnresolvedType implements AnnotatedEl return true; } - UnresolvedType[] p1 = m1.getParameterTypes(); - UnresolvedType[] p2 = m2.getParameterTypes(); + + UnresolvedType[] p1 = m1.getGenericParameterTypes(); + UnresolvedType[] p2 = m2.getGenericParameterTypes(); + if (p1==null) p1 = m1.getParameterTypes(); + if (p2==null) p2 = m2.getParameterTypes(); int n = p1.length; if (n != p2.length) return false;