summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraclement <aclement>2007-01-23 10:45:34 +0000
committeraclement <aclement>2007-01-23 10:45:34 +0000
commit12a4579a442439df5116558cb4629776e9337cec (patch)
treec0771b9aa6ae4de79f0cf74d66488f6183f31a33
parent8ab740316c2afbe54fbdd081b0e4ad2790c3ef60 (diff)
downloadaspectj-12a4579a442439df5116558cb4629776e9337cec.tar.gz
aspectj-12a4579a442439df5116558cb4629776e9337cec.zip
170467: methods with parameterized parameters not working in ITD overrides relationship. tests and fix.
-rw-r--r--weaver/src/org/aspectj/weaver/Member.java1
-rw-r--r--weaver/src/org/aspectj/weaver/MemberImpl.java1
-rw-r--r--weaver/src/org/aspectj/weaver/ResolvedType.java7
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;