aboutsummaryrefslogtreecommitdiffstats
path: root/org.aspectj.matcher
diff options
context:
space:
mode:
authoraclement <aclement>2010-04-13 20:19:32 +0000
committeraclement <aclement>2010-04-13 20:19:32 +0000
commit49da1e2edb3fa396405620a9930f33b14d7045a1 (patch)
tree902fefdc53ee54810553fae6726739369bf8aafd /org.aspectj.matcher
parentd67fa4a88535afb0e9cf44b816147e34fd8d461c (diff)
downloadaspectj-49da1e2edb3fa396405620a9930f33b14d7045a1.tar.gz
aspectj-49da1e2edb3fa396405620a9930f33b14d7045a1.zip
308773
Diffstat (limited to 'org.aspectj.matcher')
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/ResolvedMemberImpl.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/ResolvedMemberImpl.java b/org.aspectj.matcher/src/org/aspectj/weaver/ResolvedMemberImpl.java
index fc623d7dc..3890488d0 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/ResolvedMemberImpl.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/ResolvedMemberImpl.java
@@ -671,8 +671,13 @@ public class ResolvedMemberImpl extends MemberImpl implements IHasPosition, Anno
*/
public ResolvedMemberImpl parameterizedWith(UnresolvedType[] typeParameters, ResolvedType newDeclaringType,
boolean isParameterized, List aliases) {
+ // PR308773
+ // this check had problems for the inner type of a generic type because the inner type can be represented
+ // by a 'simple type' if it is only sharing type variables with the outer and has none of its own. To avoid the
+ // check going bang in this case we check for $ (crap...) - we can't check the outer because the declaring type
+ // is considered unresolved...
if (// isParameterized && <-- might need this bit...
- !getDeclaringType().isGenericType()) {
+ !getDeclaringType().isGenericType() && getDeclaringType().getName().indexOf("$")==-1) {
throw new IllegalStateException("Can't ask to parameterize a member of non-generic type: " + getDeclaringType()
+ " kind(" + getDeclaringType().typeKind + ")");
}