diff options
author | aclement <aclement> | 2008-12-15 21:28:34 +0000 |
---|---|---|
committer | aclement <aclement> | 2008-12-15 21:28:34 +0000 |
commit | f6c0e441ce6ab3d8bb9724d3595d95cef60e786e (patch) | |
tree | 10b9c80e98661bc4db8cdb92e8079a36e53b825c /tests/bugs163 | |
parent | a2041f02e2d022438f125681339706b97af8e2e7 (diff) | |
download | aspectj-f6c0e441ce6ab3d8bb9724d3595d95cef60e786e.tar.gz aspectj-f6c0e441ce6ab3d8bb9724d3595d95cef60e786e.zip |
252722: test and fix: generated super dispatch methods
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() {} +} + |