diff options
author | aclement <aclement> | 2009-01-15 17:33:08 +0000 |
---|---|---|
committer | aclement <aclement> | 2009-01-15 17:33:08 +0000 |
commit | 29fe23e4bb449eea40dcf3ec78cd59a73088104d (patch) | |
tree | 4b7c806bb6b1c12f27b7ce4274941ccba2e8bb17 /org.aspectj.matcher/src/org/aspectj | |
parent | b140866871aa357e14cc511929fb37abc845a30b (diff) | |
download | aspectj-29fe23e4bb449eea40dcf3ec78cd59a73088104d.tar.gz aspectj-29fe23e4bb449eea40dcf3ec78cd59a73088104d.zip |
261150: diagnostics
Diffstat (limited to 'org.aspectj.matcher/src/org/aspectj')
-rw-r--r-- | org.aspectj.matcher/src/org/aspectj/weaver/AbstractReferenceTypeDelegate.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/AbstractReferenceTypeDelegate.java b/org.aspectj.matcher/src/org/aspectj/weaver/AbstractReferenceTypeDelegate.java index 52d0ade35..20e9f7994 100644 --- a/org.aspectj.matcher/src/org/aspectj/weaver/AbstractReferenceTypeDelegate.java +++ b/org.aspectj.matcher/src/org/aspectj/weaver/AbstractReferenceTypeDelegate.java @@ -100,7 +100,11 @@ public abstract class AbstractReferenceTypeDelegate implements ReferenceTypeDele protected GenericSignature.FormalTypeParameter[] getFormalTypeParametersFromOuterClass() { List typeParameters = new ArrayList(); - ReferenceType outer = (ReferenceType) getOuterClass(); + ResolvedType outerClassType = getOuterClass(); + if (!(outerClassType instanceof ReferenceType)) { + throw new BCException("Whilst processing type '"+this.resolvedTypeX.getSignature()+"' - cannot cast the outer type to a reference type. Signature="+outerClassType.getSignature()+" toString()="+outerClassType.toString()); + } + ReferenceType outer = (ReferenceType) outerClassType; ReferenceTypeDelegate outerDelegate = outer.getDelegate(); AbstractReferenceTypeDelegate outerObjectType = (AbstractReferenceTypeDelegate) outerDelegate; if (outerObjectType.isNested()) { |