aboutsummaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoraclement <aclement>2006-07-10 14:54:44 +0000
committeraclement <aclement>2006-07-10 14:54:44 +0000
commit5ab92340fd029ba54a07e568e82e4dbe61580c95 (patch)
treed675cb62e79e030801f1798fc9cc01e2f8bcd40e /weaver
parent76097cb5054c43c7f1f5ea28aa3183d71eba2573 (diff)
downloadaspectj-5ab92340fd029ba54a07e568e82e4dbe61580c95.tar.gz
aspectj-5ab92340fd029ba54a07e568e82e4dbe61580c95.zip
fix for 150095: generics binary decp
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java b/weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java
index 3f39fdb71..71eb910cb 100644
--- a/weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java
+++ b/weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java
@@ -681,7 +681,15 @@ public class ResolvedMemberImpl extends MemberImpl implements IHasPosition, Anno
} else {
return aType.getRawType();
}
- }
+ } else if (aType.isArray()) {
+ // The component type might be a type variable (pr150095)
+ int dims = 1;
+ String sig = aType.getSignature();
+ while (sig.charAt(dims)=='[') dims++;
+ UnresolvedType componentSig = UnresolvedType.forSignature(sig.substring(dims));
+ UnresolvedType arrayType = ResolvedType.makeArray(parameterize(componentSig,typeVariableMap,inParameterizedType),dims);
+ return arrayType;
+ }
return aType;
}