aboutsummaryrefslogtreecommitdiffstats
path: root/tests/bugs/IfPerThis/Testcase2.java
diff options
context:
space:
mode:
authoraclement <aclement>2004-05-18 15:54:05 +0000
committeraclement <aclement>2004-05-18 15:54:05 +0000
commit68bc96dd1086d5832e96395b09f49da2b8e5f995 (patch)
tree591d5c30fa87b8e8c26dc1bb56f436f5aa15e9c9 /tests/bugs/IfPerThis/Testcase2.java
parentb8d69e0fb755e3565831662007cef08118b24bd5 (diff)
downloadaspectj-68bc96dd1086d5832e96395b09f49da2b8e5f995.tar.gz
aspectj-68bc96dd1086d5832e96395b09f49da2b8e5f995.zip
Tests for Bugzilla Bug 62458
An if() pointcut inside a perthis() clause causes an ABORT - null pointer exception in ajc
Diffstat (limited to 'tests/bugs/IfPerThis/Testcase2.java')
-rw-r--r--tests/bugs/IfPerThis/Testcase2.java41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/bugs/IfPerThis/Testcase2.java b/tests/bugs/IfPerThis/Testcase2.java
new file mode 100644
index 000000000..42e9dfb04
--- /dev/null
+++ b/tests/bugs/IfPerThis/Testcase2.java
@@ -0,0 +1,41 @@
+ aspect Testcase2 perthis(pc1()) {
+
+ pointcut pc1(): execution(* doCommand(..)) && if(commandInterceptionEnabled);
+ private static boolean commandInterceptionEnabled = true;
+
+ public Testcase2() {
+ System.out.println("Created a PerThis aspect : " + this.toString());
+ }
+
+ before(ICommand command) : execution(* doCommand(..)) && this(command) {
+ System.out.println("Invoking command bean: "+ command);
+ }
+
+ before(): if(4==3) {
+
+ }
+
+ public static void main(String[] args) {
+ ICommand c1 = new Command("hello");
+ ICommand c2 = new Command("hello again");
+ c1.doCommand();
+ c2.doCommand();
+ }
+
+}
+
+interface ICommand {
+ void doCommand();
+}
+
+class Command implements ICommand {
+
+ private String output = "";
+
+ public Command(String s) { this.output = s; }
+
+ public void doCommand() {
+ System.out.println(output + "(" + this + ")");
+ }
+
+} \ No newline at end of file