diff options
author | acolyer <acolyer> | 2005-09-12 10:04:51 +0000 |
---|---|---|
committer | acolyer <acolyer> | 2005-09-12 10:04:51 +0000 |
commit | f5030e64039e19f562423d9c8b7f7b4587ecdea7 (patch) | |
tree | d8b0a8a4fafb47a0ac90dc4a5dd50a644a821adb /tests/bugs150 | |
parent | 64d74013c685a815cbe3565f71747103177daf20 (diff) | |
download | aspectj-f5030e64039e19f562423d9c8b7f7b4587ecdea7.tar.gz aspectj-f5030e64039e19f562423d9c8b7f7b4587ecdea7.zip |
tests and fix for pr108903 - MUST process from super aspect to sub aspect when finding declares
Diffstat (limited to 'tests/bugs150')
5 files changed, 61 insertions, 0 deletions
diff --git a/tests/bugs150/pr108903/com/designpattern/decorator/HeaderDecorator.aj b/tests/bugs150/pr108903/com/designpattern/decorator/HeaderDecorator.aj new file mode 100644 index 000000000..fe9f12b88 --- /dev/null +++ b/tests/bugs150/pr108903/com/designpattern/decorator/HeaderDecorator.aj @@ -0,0 +1,19 @@ +/** + * + */ +package com.designpattern.decorator; + +public aspect HeaderDecorator extends OrderDecorator +{ + + void around(Order order) : print(order) + { + printHeader(order); + proceed(order); + } + + private void printHeader(Order order) + { + System.out.println("XYZ Incorporated\nDate of Sale:"); + } +} diff --git a/tests/bugs150/pr108903/com/designpattern/decorator/Main.java b/tests/bugs150/pr108903/com/designpattern/decorator/Main.java new file mode 100644 index 000000000..580150e79 --- /dev/null +++ b/tests/bugs150/pr108903/com/designpattern/decorator/Main.java @@ -0,0 +1,11 @@ +package com.designpattern.decorator; + +public class Main { + private static Order order; + + public static void main(String[] args) { + order = new SalesOrder(); + order.print(); + + } +} diff --git a/tests/bugs150/pr108903/com/designpattern/decorator/Order.java b/tests/bugs150/pr108903/com/designpattern/decorator/Order.java new file mode 100644 index 000000000..8ab3a8eb5 --- /dev/null +++ b/tests/bugs150/pr108903/com/designpattern/decorator/Order.java @@ -0,0 +1,9 @@ +package com.designpattern.decorator; + +public abstract class Order { + + public void print() { + System.out.print("Order.print()") ; + } + +} diff --git a/tests/bugs150/pr108903/com/designpattern/decorator/OrderDecorator.aj b/tests/bugs150/pr108903/com/designpattern/decorator/OrderDecorator.aj new file mode 100644 index 000000000..0c4926bee --- /dev/null +++ b/tests/bugs150/pr108903/com/designpattern/decorator/OrderDecorator.aj @@ -0,0 +1,17 @@ +/** + * + */ +package com.designpattern.decorator; + +public abstract aspect OrderDecorator +{ + protected pointcut print(Order order) : target(order) && call(public void print()); + + declare parents : SalesOrder extends Order ; + + public void SalesOrder.print() + { + super.print(); + } + +} diff --git a/tests/bugs150/pr108903/com/designpattern/decorator/SalesOrder.java b/tests/bugs150/pr108903/com/designpattern/decorator/SalesOrder.java new file mode 100644 index 000000000..2dd0add5c --- /dev/null +++ b/tests/bugs150/pr108903/com/designpattern/decorator/SalesOrder.java @@ -0,0 +1,5 @@ +package com.designpattern.decorator; + +public class SalesOrder { + +} |