aboutsummaryrefslogtreecommitdiffstats
path: root/org.aspectj.matcher/src/org/aspectj
diff options
context:
space:
mode:
authoraclement <aclement>2009-01-15 17:33:08 +0000
committeraclement <aclement>2009-01-15 17:33:08 +0000
commit29fe23e4bb449eea40dcf3ec78cd59a73088104d (patch)
tree4b7c806bb6b1c12f27b7ce4274941ccba2e8bb17 /org.aspectj.matcher/src/org/aspectj
parentb140866871aa357e14cc511929fb37abc845a30b (diff)
downloadaspectj-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.java6
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()) {