diff options
author | acolyer <acolyer> | 2003-09-19 08:16:17 +0000 |
---|---|---|
committer | acolyer <acolyer> | 2003-09-19 08:16:17 +0000 |
commit | 53570863fa77364052937376a0ff65ce2fa37842 (patch) | |
tree | 80bf1404427ee613b4c4a9ffb3c2ffcdfdc4e17c /weaver | |
parent | fc0d2af02cc6b6f8a4d9425e3c1cdd166957dde9 (diff) | |
download | aspectj-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.java | 6 |
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); } |