aboutsummaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authorjhugunin <jhugunin>2003-03-12 00:48:57 +0000
committerjhugunin <jhugunin>2003-03-12 00:48:57 +0000
commit0fb5f693794e571ab693813cbc80578b2bc7b470 (patch)
treef43f5dc1970801c72be8d644a60562c03fdb9f07 /weaver
parentfd1560a8a1c91d1b65c738d4e9163d93700d1f00 (diff)
downloadaspectj-0fb5f693794e571ab693813cbc80578b2bc7b470.tar.gz
aspectj-0fb5f693794e571ab693813cbc80578b2bc7b470.zip
fixed Bug 29934
runtime NullPointerException when applying around advice to other around advice
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelShadow.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelShadow.java b/weaver/src/org/aspectj/weaver/bcel/BcelShadow.java
index f0b0742d8..6059e7d9f 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelShadow.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelShadow.java
@@ -1206,6 +1206,10 @@ public class BcelShadow extends Shadow {
return;
}
+ // We can't inline around methods if they have around advice on them, this
+ // is because the weaving will extract the body and hence the proceed call.
+ //??? should consider optimizations to recognize simple cases that don't require body extraction
+ enclosingMethod.setCanInline(false);
// start by exposing various useful things into the frame