aboutsummaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoracolyer <acolyer>2003-09-19 08:16:17 +0000
committeracolyer <acolyer>2003-09-19 08:16:17 +0000
commit53570863fa77364052937376a0ff65ce2fa37842 (patch)
tree80bf1404427ee613b4c4a9ffb3c2ffcdfdc4e17c /weaver
parentfc0d2af02cc6b6f8a4d9425e3c1cdd166957dde9 (diff)
downloadaspectj-53570863fa77364052937376a0ff65ce2fa37842.tar.gz
aspectj-53570863fa77364052937376a0ff65ce2fa37842.zip
bug 43033 - NPE in concretize error path for ReferencePointcut
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/ReferencePointcut.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/weaver/src/org/aspectj/weaver/patterns/ReferencePointcut.java b/weaver/src/org/aspectj/weaver/patterns/ReferencePointcut.java
index 8781641c7..1b9848ccf 100644
--- a/weaver/src/org/aspectj/weaver/patterns/ReferencePointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/ReferencePointcut.java
@@ -18,10 +18,10 @@ import java.io.DataOutputStream;
import java.io.IOException;
import java.lang.reflect.Modifier;
-import org.apache.bcel.classfile.JavaClass;
import org.aspectj.bridge.IMessage;
import org.aspectj.bridge.MessageUtil;
import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.weaver.ShadowMunger;
import org.aspectj.weaver.BCException;
import org.aspectj.weaver.ISourceContext;
import org.aspectj.weaver.IntMap;
@@ -240,9 +240,11 @@ public class ReferencePointcut extends Pointcut {
if (pointcutDec.isAbstract()) {
//Thread.currentThread().dumpStack();
+ ShadowMunger enclosingAdvice = bindings.getEnclosingAdvice();
searchStart.getWorld().showMessage(IMessage.ERROR,
pointcutDec + " is abstract",
- getSourceLocation(), bindings.getEnclosingAdvice().getSourceLocation());
+ getSourceLocation(),
+ (null == enclosingAdvice) ? null : enclosingAdvice.getSourceLocation());
return Pointcut.makeMatchesNothing(Pointcut.CONCRETE);
}