aboutsummaryrefslogtreecommitdiffstats
path: root/tests/bugs
diff options
context:
space:
mode:
authorjhugunin <jhugunin>2003-07-03 00:06:53 +0000
committerjhugunin <jhugunin>2003-07-03 00:06:53 +0000
commit8d5101c858324f957b8deed851742b2dc322a45a (patch)
treedbdf1a7a7b55b7a0aee71b78dbdb853463839178 /tests/bugs
parent0e3c87c56d6120afa0bb0db602a73b473d23b04a (diff)
downloadaspectj-8d5101c858324f957b8deed851742b2dc322a45a.tar.gz
aspectj-8d5101c858324f957b8deed851742b2dc322a45a.zip
test for Bugzilla Bug 39479
NPE in bcel.LazyMethodGen when delegating from one ctor to a second that includes a switch.
Diffstat (limited to 'tests/bugs')
-rw-r--r--tests/bugs/NewSwitch.java31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/bugs/NewSwitch.java b/tests/bugs/NewSwitch.java
new file mode 100644
index 000000000..f07efba6b
--- /dev/null
+++ b/tests/bugs/NewSwitch.java
@@ -0,0 +1,31 @@
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.Signature;
+import org.aspectj.lang.reflect.SourceLocation;
+
+public class NewSwitch {
+ public static void main(String[] args) {
+ new NewSwitch(2);
+ }
+
+ protected NewSwitch() {
+ this(3);
+ }
+
+ protected NewSwitch(int p) {
+ switch (p) {
+ case 3: break;
+ }
+ }
+}
+
+aspect FFDC {
+
+ pointcut initializers( ) : staticinitialization( * ) || initialization( *.new(..) );
+ pointcut methodsAndConstructors( ) : execution(* *(..)) || execution(new(..) );
+ pointcut guarded( ) : initializers( ) || methodsAndConstructors( );
+
+ final pointcut nonStaticContext( Object o ) : this( o );
+
+ after(Object o) throwing(Throwable t) : guarded( ) && nonStaticContext( o ) { }
+
+}