diff options
Diffstat (limited to 'tests/bugs163')
-rw-r--r-- | tests/bugs163/pr252722/A.java | 24 | ||||
-rw-r--r-- | tests/bugs163/pr252722/ACode.java | 21 | ||||
-rw-r--r-- | tests/bugs163/pr252722/B.java | 28 | ||||
-rw-r--r-- | tests/bugs163/pr252722/BCode.java | 24 |
4 files changed, 97 insertions, 0 deletions
diff --git a/tests/bugs163/pr252722/A.java b/tests/bugs163/pr252722/A.java new file mode 100644 index 000000000..35ae945d3 --- /dev/null +++ b/tests/bugs163/pr252722/A.java @@ -0,0 +1,24 @@ +import org.aspectj.lang.annotation.*; +import org.aspectj.lang.*; + + +abstract aspect Super { + void foo(String s) {} +} + +@Aspect +public class A extends Super { + + @Around("execution(* m(..))") + public void invoke(ProceedingJoinPoint pjp) { + super.foo("hello"); + } + + + public static void main(String []argv) { + new A().m(); + } + + public void m() {} +} + diff --git a/tests/bugs163/pr252722/ACode.java b/tests/bugs163/pr252722/ACode.java new file mode 100644 index 000000000..672a5b365 --- /dev/null +++ b/tests/bugs163/pr252722/ACode.java @@ -0,0 +1,21 @@ +import org.aspectj.lang.annotation.*; +import org.aspectj.lang.*; + + +abstract aspect Super { + void foo(String s,int i) {} +} + +public aspect ACode extends Super { + + void around(): execution(* m(..)) { + super.foo("hello",7); + } + + public static void main(String []argv) { + ACode.m(); + } + + public static void m() {} +} + diff --git a/tests/bugs163/pr252722/B.java b/tests/bugs163/pr252722/B.java new file mode 100644 index 000000000..23b516fb5 --- /dev/null +++ b/tests/bugs163/pr252722/B.java @@ -0,0 +1,28 @@ +import org.aspectj.lang.annotation.*; +import org.aspectj.lang.*; + +// Now the joinpoint is in a different type, does the super call from advice still work OK? + + +abstract aspect Super { + void foo(String s) {} +} + +@Aspect +public class B extends Super { + + @Around("execution(* m(..))") + public void invoke(ProceedingJoinPoint pjp) { + super.foo("hello"); + } + + public static void main(String []argv) { + new C().m(); + } +} + +class C { + + public void m() {} +} + diff --git a/tests/bugs163/pr252722/BCode.java b/tests/bugs163/pr252722/BCode.java new file mode 100644 index 000000000..1773ac0d9 --- /dev/null +++ b/tests/bugs163/pr252722/BCode.java @@ -0,0 +1,24 @@ +import org.aspectj.lang.annotation.*; +import org.aspectj.lang.*; + + +abstract aspect Super { + void foo(String s) {} +} + +public aspect BCode extends Super { + + void around(): execution(* m(..)) { + super.foo("hello"); + } + + public static void main(String []argv) { + new C().m(); + } +} + +class C { + + public void m() {} +} + |