From 12a4579a442439df5116558cb4629776e9337cec Mon Sep 17 00:00:00 2001 From: aclement Date: Tue, 23 Jan 2007 10:45:34 +0000 Subject: [PATCH] 170467: methods with parameterized parameters not working in ITD overrides relationship. tests and fix. --- weaver/src/org/aspectj/weaver/Member.java | 1 + weaver/src/org/aspectj/weaver/MemberImpl.java | 1 + weaver/src/org/aspectj/weaver/ResolvedType.java | 7 +++++-- 3 files changed, 7 insertions(+), 2 deletions(-) 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; -- 2.39.5