aboutsummaryrefslogtreecommitdiffstats
path: root/org.aspectj.matcher
diff options
context:
space:
mode:
Diffstat (limited to 'org.aspectj.matcher')
-rw-r--r--org.aspectj.matcher/src/main/java/org/aspectj/weaver/Shadow.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/org.aspectj.matcher/src/main/java/org/aspectj/weaver/Shadow.java b/org.aspectj.matcher/src/main/java/org/aspectj/weaver/Shadow.java
index f6c7b7bd8..9e8a2ceec 100644
--- a/org.aspectj.matcher/src/main/java/org/aspectj/weaver/Shadow.java
+++ b/org.aspectj.matcher/src/main/java/org/aspectj/weaver/Shadow.java
@@ -178,10 +178,11 @@ public abstract class Shadow {
if (isShadowForMonitor()) {
return UnresolvedType.ARRAY_WITH_JUST_OBJECT;
}
+ ResolvedMember resolvedSig = getResolvedSignature();
if (getKind() == FieldSet) {
- return new UnresolvedType[] { getResolvedSignature().getGenericReturnType() };
+ return new UnresolvedType[] { resolvedSig == null ? null : resolvedSig.getGenericReturnType() };
}
- return getResolvedSignature().getGenericParameterTypes();
+ return resolvedSig == null ? null : resolvedSig.getGenericParameterTypes();
}
public UnresolvedType getArgType(int arg) {
@@ -282,7 +283,8 @@ public abstract class Shadow {
} else if (kind == SynchronizationLock || kind == SynchronizationUnlock) {
return UnresolvedType.VOID;
}
- return getResolvedSignature().getGenericReturnType();
+ ResolvedMember resolvedSig = getResolvedSignature();
+ return resolvedSig == null ? null : resolvedSig.getGenericReturnType();
}
public static String METHOD_EXECUTION = "method-execution";