aboutsummaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoraclement <aclement>2006-09-29 12:20:31 +0000
committeraclement <aclement>2006-09-29 12:20:31 +0000
commitea4ff8adad2347557c25d6e10e114132b7491870 (patch)
treeeb9d91a4745e12ecd49edfb6e355da0817808a91 /weaver
parentc50a557d3c5de6868dee87e187bf1ae33636cae4 (diff)
downloadaspectj-ea4ff8adad2347557c25d6e10e114132b7491870.tar.gz
aspectj-ea4ff8adad2347557c25d6e10e114132b7491870.zip
test and fix for 158624: generic types and arrays
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java b/weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java
index f5bd991c7..d1bff9816 100644
--- a/weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java
+++ b/weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java
@@ -638,10 +638,11 @@ public class ResolvedMemberImpl extends MemberImpl implements IHasPosition, Anno
}
UnresolvedType parameterizedReturnType = parameterize(getGenericReturnType(),typeMap,isParameterized);
- UnresolvedType[] parameterizedParameterTypes = new UnresolvedType[getGenericParameterTypes().length];
+ UnresolvedType[] parameterizedParameterTypes = new UnresolvedType[getGenericParameterTypes().length];
+ UnresolvedType[] genericParameterTypes = getGenericParameterTypes();
for (int i = 0; i < parameterizedParameterTypes.length; i++) {
parameterizedParameterTypes[i] =
- parameterize(getGenericParameterTypes()[i], typeMap,isParameterized);
+ parameterize(genericParameterTypes[i], typeMap,isParameterized);
}
ResolvedMemberImpl ret = new ResolvedMemberImpl(
getKind(),
@@ -677,6 +678,7 @@ public class ResolvedMemberImpl extends MemberImpl implements IHasPosition, Anno
return (UnresolvedType) typeVariableMap.get(variableName);
} else if (aType.isParameterizedType()) {
if (inParameterizedType) {
+ if (aType instanceof UnresolvedType) aType= aType.resolve(((ResolvedType)getDeclaringType()).getWorld());
return aType.parameterize(typeVariableMap);
} else {
return aType.getRawType();