aboutsummaryrefslogtreecommitdiffstats
path: root/tests/bugs160
diff options
context:
space:
mode:
authoraclement <aclement>2007-02-27 13:31:29 +0000
committeraclement <aclement>2007-02-27 13:31:29 +0000
commite253331f1e8d3f4aaba29f73fada1cdd1f72a314 (patch)
tree565ca464726d714ac2376f53654a4b98e50a1993 /tests/bugs160
parent907dc1b73d052f9a0f95498b6ed5a92e0517cf65 (diff)
downloadaspectj-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.java33
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() {}
+}