aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/AbstractReferenceTypeDelegate.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/AbstractReferenceTypeDelegate.java b/org.aspectj.matcher/src/org/aspectj/weaver/AbstractReferenceTypeDelegate.java
index f73504927..46f12c04e 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/AbstractReferenceTypeDelegate.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/AbstractReferenceTypeDelegate.java
@@ -107,9 +107,13 @@ public abstract class AbstractReferenceTypeDelegate implements ReferenceTypeDele
List<GenericSignature.FormalTypeParameter> typeParameters = new ArrayList<GenericSignature.FormalTypeParameter>();
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());
+ if (outerClassType == null) {
+ return GenericSignature.FormalTypeParameter.NONE;
+ } else {
+ 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();