diff options
author | aclement <aclement> | 2010-04-13 20:19:32 +0000 |
---|---|---|
committer | aclement <aclement> | 2010-04-13 20:19:32 +0000 |
commit | 49da1e2edb3fa396405620a9930f33b14d7045a1 (patch) | |
tree | 902fefdc53ee54810553fae6726739369bf8aafd /org.aspectj.matcher | |
parent | d67fa4a88535afb0e9cf44b816147e34fd8d461c (diff) | |
download | aspectj-49da1e2edb3fa396405620a9930f33b14d7045a1.tar.gz aspectj-49da1e2edb3fa396405620a9930f33b14d7045a1.zip |
308773
Diffstat (limited to 'org.aspectj.matcher')
-rw-r--r-- | org.aspectj.matcher/src/org/aspectj/weaver/ResolvedMemberImpl.java | 7 |
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 + ")"); } |