diff options
author | aclement <aclement> | 2007-02-27 13:31:29 +0000 |
---|---|---|
committer | aclement <aclement> | 2007-02-27 13:31:29 +0000 |
commit | e253331f1e8d3f4aaba29f73fada1cdd1f72a314 (patch) | |
tree | 565ca464726d714ac2376f53654a4b98e50a1993 /tests/bugs160 | |
parent | 907dc1b73d052f9a0f95498b6ed5a92e0517cf65 (diff) | |
download | aspectj-e253331f1e8d3f4aaba29f73fada1cdd1f72a314.tar.gz aspectj-e253331f1e8d3f4aaba29f73fada1cdd1f72a314.zip |
174449: generic aspects and generic pointcuts - dont ignore parameterized signatures for the advice method
Diffstat (limited to 'tests/bugs160')
-rw-r--r-- | tests/bugs160/pr174449/Foo.java | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/bugs160/pr174449/Foo.java b/tests/bugs160/pr174449/Foo.java new file mode 100644 index 000000000..68a400d7d --- /dev/null +++ b/tests/bugs160/pr174449/Foo.java @@ -0,0 +1,33 @@ +abstract aspect Replicate<T> { + + protected pointcut broadcast(T servant); + + void around(T servant): broadcast(servant) { + System.err.println("around advice executing: servant class is "+servant.getClass()); + proceed(servant); + } + +} + +aspect ReplicateConcreteB extends Replicate<Boo> { + protected pointcut broadcast(Boo servant) : call(* *.setScene(..)) && target(servant); +} + +aspect ReplicateConcreteG extends Replicate<Goo> { + protected pointcut broadcast(Goo servant) : call(* *.setScene(..)) && target(servant); +} + +public class Foo { + public static void main(String []argv) { + new Boo().setScene(); + new Goo().setScene(); + } +} + +class Boo { + public void setScene() {} +} + +class Goo { + public void setScene() {} +} |