123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413 |
- import org.aspectj.testing.*;
- import java.awt.event.*;
- import javax.swing.*;
-
- public class Inners {
-
- public static void main(String[] args) {
- new Inners().realMain(args);
- }
-
- public void realMain(String[] args) {
- unincludedInterfaces();
- includedInterfaces();
- unincludedAbstractClases();
- includedAbstractClases();
- Tester.checkAllEvents();
- }
-
- static {
- // Ensure all methods run
- Tester.expectEventsInString("localRunnable0,localRunnable1,anonRunnable,staticInnerRunnable0" +
- ",innerRunnable0,staticInnerRunnable1,innerRunnable1");
- Tester.expectEventsInString("localStuff0,localStuff1,anonStuff,staticInnerStuff0" +
- ",innerStuff0,staticInnerStuff1,innerStuff1");
- Tester.expectEventsInString("localAbstractAction0,localAbstractAction1,,localAbstractAction2" +
- ",anonAbstractAction0,anonAbstractAction1," +
- ",staticInnerAbstractAction0,staticInnerAbstractAction1,staticInnerAbstractAction2" +
- ",innerAbstractAction0,innerAbstractAction1,innerAbstractAction2");
- Tester.expectEventsInString("localAbstractStuff0,localAbstractStuff1,,localAbstractStuff2" +
- ",anonAbstractStuff0,anonAbstractStuff1," +
- ",staticInnerAbstractStuff0,staticInnerAbstractStuff1,staticInnerAbstractStuff2" +
- ",innerAbstractStuff0,innerAbstractStuff1,innerAbstractStuff2");
- }
-
- static String s = "";
- static void c(Object o) {
- s = o + "";
- }
-
- static int localRunnableI = 0;
- private void unincludedInterfaces() {
- class LocalRunnable implements Runnable {
- public void run() { a("localRunnable" + (localRunnableI++)); }
- }
- Runnable r0 = new StaticInnerRunnable();
- Runnable r1 = new InnerRunnable();
- Runnable r2 = new LocalRunnable();
- Runnable r3 = new Runnable() {
- public void run() { a("anonRunnable"); }
- };
- StaticInnerRunnable r4 = new StaticInnerRunnable();
- InnerRunnable r5 = new InnerRunnable();
- LocalRunnable r6 = new LocalRunnable();
- c("ui-r0"); r0.run();
- c("ui-r1"); r1.run();
- c("ui-r2"); r2.run();
- c("ui-r3"); r3.run();
- c("ui-r4"); r4.run();
- c("ui-r5"); r5.run();
- c("ui-r6"); r6.run();
- }
-
- static int localStuffI = 0;
- private void includedInterfaces() {
- class LocalStuff implements Stuff {
- public void run() { a("localStuff" + (localStuffI++)); }
- }
- Stuff r0 = new StaticInnerStuff();
- Stuff r1 = new InnerStuff();
- Stuff r2 = new LocalStuff();
- Stuff r3 = new Stuff() {
- public void run() { a("anonStuff"); }
- };
- StaticInnerStuff r4 = new StaticInnerStuff();
- InnerStuff r5 = new InnerStuff();
- LocalStuff r6 = new LocalStuff();
- c("ii-r0"); r0.run();
- c("ii-r1"); r1.run();
- c("ii-r2"); r2.run();
- c("ii-r3"); r3.run();
- c("ii-r4"); r4.run();
- c("ii-r5"); r5.run();
- c("ii-r6"); r6.run();
- }
-
- static int localAbstractActionI = 0;
- private void unincludedAbstractClases() {
- class LocalAbstractAction extends AbstractAction {
- public void actionPerformed(ActionEvent e) { a("localAbstractAction" + (localAbstractActionI++)); }
- }
- AbstractAction r0 = new StaticInnerAbstractAction();
- AbstractAction r1 = new InnerAbstractAction();
- AbstractAction r2 = new LocalAbstractAction();
- AbstractAction r3 = new AbstractAction() {
- public void actionPerformed(ActionEvent e) { a("anonAbstractAction0"); }
- };
- StaticInnerAbstractAction r4 = new StaticInnerAbstractAction();
- InnerAbstractAction r5 = new InnerAbstractAction();
- LocalAbstractAction r6 = new LocalAbstractAction();
- ActionListener r7 = new StaticInnerAbstractAction();
- ActionListener r8 = new InnerAbstractAction();
- ActionListener r9 = new LocalAbstractAction();
- ActionListener r10 = new AbstractAction() {
- public void actionPerformed(ActionEvent e) { a("anonAbstractAction1"); }
- };
- c("ua-r0"); r0.actionPerformed(null);
- c("ua-r1"); r1.actionPerformed(null);
- c("ua-r2"); r2.actionPerformed(null);
- c("ua-r3"); r3.actionPerformed(null);
- c("ua-r4"); r4.actionPerformed(null);
- c("ua-r5"); r5.actionPerformed(null);
- c("ua-r6"); r6.actionPerformed(null);
- c("ua-r7"); r7.actionPerformed(null);
- c("ua-r8"); r8.actionPerformed(null);
- c("ua-r9"); r9.actionPerformed(null);
- c("ua-r10"); r10.actionPerformed(null);
- }
-
- static int localAbstractStuffI = 0;
- private void includedAbstractClases() {
- class LocalAbstractStuff extends AbstractStuff {
- public void run() { a("localAbstractStuff" + (localAbstractStuffI++)); }
- }
- AbstractStuff r0 = new StaticInnerAbstractStuff();
- AbstractStuff r1 = new InnerAbstractStuff();
- AbstractStuff r2 = new LocalAbstractStuff();
- AbstractStuff r3 = new AbstractStuff() {
- public void run() { a("anonAbstractStuff0"); }
- };
- StaticInnerAbstractStuff r4 = new StaticInnerAbstractStuff();
- InnerAbstractStuff r5 = new InnerAbstractStuff();
- LocalAbstractStuff r6 = new LocalAbstractStuff();
- Stuff r7 = new StaticInnerAbstractStuff();
- Stuff r8 = new InnerAbstractStuff();
- Stuff r9 = new LocalAbstractStuff();
- Stuff r10 = new AbstractStuff() {
- public void run() { a("anonAbstractStuff1"); }
- };
- c("ia-r0"); r0.run();
- c("ia-r1"); r1.run();
- c("ia-r2"); r2.run();
- c("ia-r3"); r3.run();
- c("ia-r4"); r4.run();
- c("ia-r5"); r5.run();
- c("ia-r6"); r6.run();
- c("ia-r7"); r7.run();
- c("ia-r8"); r8.run();
- c("ia-r9"); r9.run();
- c("ia-r10"); r10.run();
- }
-
-
- /* Implement an unincluded interface */
- static class StaticInnerRunnable implements Runnable {
- static int i = 0;
- public void run() { Tester.event("staticInnerRunnable" + (i++)); }
- }
- static int innerRunnableI = 0;
- class InnerRunnable implements Runnable {
- public void run() { Tester.event("innerRunnable" + (innerRunnableI++)); }
- }
-
- /* Implement a included interface */
- static class StaticInnerStuff implements Stuff {
- static int i = 0;
- public void run() { Tester.event("staticInnerStuff" + (i++)); }
- }
- static int innerStuffI = 0;
- class InnerStuff implements Stuff {
- public void run() { Tester.event("innerStuff" + (innerStuffI++)); }
- }
-
- /* Extend an unincluded abstract class */
- static class StaticInnerAbstractAction extends AbstractAction {
- static int i = 0;
- public void actionPerformed(ActionEvent e) { Tester.event("staticInnerAbstractAction" + (i++)); }
- }
- static int innerAbstractActionI = 0;
- class InnerAbstractAction extends AbstractAction {
- public void actionPerformed(ActionEvent e) { Tester.event("innerAbstractAction" + (innerAbstractActionI++)); }
- }
-
- /* Extend a included abstract class */
- static class StaticInnerAbstractStuff extends AbstractStuff {
- static int i = 0;
- public void run() { Tester.event("staticInnerAbstractStuff" + (i++)); }
- }
- static int innerAbstractStuffI = 0;
- class InnerAbstractStuff extends AbstractStuff {
- public void run() { Tester.event("innerAbstractStuff" + (innerAbstractStuffI++)); }
- }
- }
-
- aspect Aspect {
- static void advise(String str, int start, int num) {
- for (int i = start; i < num; i++) {
- addAll(str, i);
- }
- }
- static void advise(String str, int num) {
- advise(str, 0, num);
- }
- static void advise(String str, int[] ints) {
- for (int i = 0; i < ints.length; i++) {
- addAll(str, ints[i]);
- }
- }
- static void addAll(String str, int i) {
- Tester.expectEvent("before-" + str + "-r" + i);
- Tester.expectEvent("after-" + str + "-r" + i);
- Tester.expectEvent("around-" + str + "-r" + i);
- }
- static void add(String str) {
- Tester.event(str + "-" + Inners.s);
- }
-
- /* unincludedInterfaces */
- pointcut receptionsRunnable(): receptions(void run()) && instanceof(Runnable);
- static { advise("receptions-ui", 7); }
- static before(): receptionsRunnable() { add("before-receptions"); }
- static after(): receptionsRunnable() { add("after-receptions"); }
- static around() returns void: receptionsRunnable() { add("around-receptions"); proceed(); }
-
- pointcut executionsRunnable(): executions(void run()) && instanceof(Runnable);
- static { advise("executions-ui", 7); }
- static before(): executionsRunnable() { add("before-executions"); }
- static after(): executionsRunnable() { add("after-executions"); }
- static around() returns void: executionsRunnable() { add("around-executions"); proceed(); }
-
- pointcut receptionsStaticInnerRunnable(): receptions(void run()) && instanceof(Inners.StaticInnerRunnable);
- static { advise("receptions-ui", new int[]{0,4}); }
- static before(): receptionsStaticInnerRunnable() { add("before-receptions"); }
- static after(): receptionsStaticInnerRunnable() { add("after-receptions"); }
- static around() returns void: receptionsStaticInnerRunnable() { add("around-receptions"); proceed(); }
-
- pointcut executionsStaticInnerRunnable(): executions(void run()) && instanceof(Inners.StaticInnerRunnable);
- static { advise("executions-ui", new int[]{0,4}); }
- static before(): executionsStaticInnerRunnable() { add("before-executions"); }
- static after(): executionsStaticInnerRunnable() { add("after-executions"); }
- static around() returns void: executionsStaticInnerRunnable() { add("around-executions"); proceed(); }
-
- pointcut receptionsInnerRunnable(): receptions(void run()) && instanceof(Inners.InnerRunnable);
- static { advise("receptions-ui", new int[]{1,5}); }
- static before(): receptionsInnerRunnable() { add("before-receptions"); }
- static after(): receptionsInnerRunnable() { add("after-receptions"); }
- static around() returns void: receptionsInnerRunnable() { add("around-receptions"); proceed(); }
-
- pointcut executionsInnerRunnable(): executions(void run()) && instanceof(Inners.InnerRunnable);
- static { advise("executions-ui", new int[]{1,5}); }
- static before(): executionsInnerRunnable() { add("before-executions"); }
- static after(): executionsInnerRunnable() { add("after-executions"); }
- static around() returns void: executionsInnerRunnable() { add("around-executions"); proceed(); }
-
-
-
- /* includedInterfaces */
- pointcut receptionsStuff(): receptions(void run()) && instanceof(Stuff);
- static { advise("receptions-ii", 7); }
- static before(): receptionsStuff() { add("before-receptions"); }
- static after(): receptionsStuff() { add("after-receptions"); }
- static around() returns void: receptionsStuff() { add("around-receptions"); proceed(); }
-
- pointcut executionsStuff(): executions(void run()) && instanceof(Stuff);
- static { advise("executions-ii", 7); }
- static before(): executionsStuff() { add("before-executions"); }
- static after(): executionsStuff() { add("after-executions"); }
- static around() returns void: executionsStuff() { add("around-executions"); proceed(); }
-
- pointcut receptionsStaticInnerStuff(): receptions(void run()) && instanceof(Inners.StaticInnerStuff);
- static { advise("receptions-ii", new int[]{0,4}); }
- static before(): receptionsStaticInnerStuff() { add("before-receptions"); }
- static after(): receptionsStaticInnerStuff() { add("after-receptions"); }
- static around() returns void: receptionsStaticInnerStuff() { add("around-receptions"); proceed(); }
-
- pointcut executionsStaticInnerStuff(): executions(void run()) && instanceof(Inners.StaticInnerStuff);
- static { advise("executions-ii", new int[]{0,4}); }
- static before(): executionsStaticInnerStuff() { add("before-executions"); }
- static after(): executionsStaticInnerStuff() { add("after-executions"); }
- static around() returns void: executionsStaticInnerStuff() { add("around-executions"); proceed(); }
-
- pointcut receptionsInnerStuff(): receptions(void run()) && instanceof(Inners.InnerStuff);
- static { advise("receptions-ii", new int[]{1,5}); }
- static before(): receptionsInnerStuff() { add("before-receptions"); }
- static after(): receptionsInnerStuff() { add("after-receptions"); }
- static around() returns void: receptionsInnerStuff() { add("around-receptions"); proceed(); }
-
- pointcut executionsInnerStuff(): executions(void run()) && instanceof(Inners.InnerStuff);
- static { advise("executions-ii", new int[]{1,5}); }
- static before(): executionsInnerStuff() { add("before-executions"); }
- static after(): executionsInnerStuff() { add("after-executions"); }
- static around() returns void: executionsInnerStuff() { add("around-executions"); proceed(); }
-
-
-
- /* unincludedAbstractClases */
- pointcut receptionsAbstractAction():
- receptions(void actionPerformed(ActionEvent)) && instanceof(AbstractAction);
- static { advise("receptions-ua", 7); }
- static before(): receptionsAbstractAction() { add("before-receptions"); }
- static after(): receptionsAbstractAction() { add("after-receptions"); }
- static around() returns void: receptionsAbstractAction() { add("around-receptions"); proceed(); }
-
- pointcut executionsAbstractAction():
- executions(void actionPerformed(ActionEvent)) && instanceof(AbstractAction);
- static { advise("executions-ua", 7); }
- static before(): executionsAbstractAction() { add("before-executions"); }
- static after(): executionsAbstractAction() { add("after-executions"); }
- static around() returns void: executionsAbstractAction() { add("around-executions"); proceed(); }
-
- pointcut receptionsActionListener():
- receptions(void actionPerformed(ActionEvent)) && instanceof(ActionListener);
- static { advise("receptions-ua", 11); }
- static before(): receptionsActionListener() { add("before-receptions"); }
- static after(): receptionsActionListener() { add("after-receptions"); }
- static around() returns void: receptionsActionListener() { add("around-receptions"); proceed(); }
-
- pointcut executionsActionListener():
- executions(void actionPerformed(ActionEvent)) && instanceof(ActionListener);
- static { advise("executions-ua", 11); }
- static before(): executionsActionListener() { add("before-executions"); }
- static after(): executionsActionListener() { add("after-executions"); }
- static around() returns void: executionsActionListener() { add("around-executions"); proceed(); }
-
- pointcut receptionsStaticInnerAbstractAction():
- receptions(void actionPerformed(ActionEvent)) && instanceof(Inners.StaticInnerAbstractAction);
- static { advise("receptions-ua", new int[]{0,4,7}); }
- static before(): receptionsStaticInnerAbstractAction() { add("before-receptions"); }
- static after(): receptionsStaticInnerAbstractAction() { add("after-receptions"); }
- static around() returns void: receptionsStaticInnerAbstractAction() { add("around-receptions"); proceed(); }
-
- pointcut executionsStaticInnerAbstractAction():
- executions(void actionPerformed(ActionEvent)) && instanceof(Inners.StaticInnerAbstractAction);
- static { advise("executions-ua", new int[]{0,4,7}); }
- static before(): executionsStaticInnerAbstractAction() { add("before-executions"); }
- static after(): executionsStaticInnerAbstractAction() { add("after-executions"); }
- static around() returns void: executionsStaticInnerAbstractAction() { add("around-executions"); proceed(); }
-
- pointcut receptionsInnerAbstractAction():
- receptions(void actionPerformed(ActionEvent)) && instanceof(Inners.InnerAbstractAction);
- static { advise("receptions-ua", new int[]{1,5,8}); }
- static before(): receptionsInnerAbstractAction() { add("before-receptions"); }
- static after(): receptionsInnerAbstractAction() { add("after-receptions"); }
- static around() returns void: receptionsInnerAbstractAction() { add("around-receptions"); proceed(); }
-
- pointcut executionsInnerAbstractAction():
- executions(void actionPerformed(ActionEvent)) && instanceof(Inners.InnerAbstractAction);
- static { advise("executions-ua", new int[]{1,5,8}); }
- static before(): executionsInnerAbstractAction() { add("before-executions"); }
- static after(): executionsInnerAbstractAction() { add("after-executions"); }
- static around() returns void: executionsInnerAbstractAction() { add("around-executions"); proceed(); }
-
-
- /* includedAbstractClases */
- pointcut receptionsAbstractStuff(): receptions(void run()) && instanceof(AbstractStuff);
- static { advise("receptions-ia", 7); }
- static before(): receptionsAbstractStuff() { add("before-receptions"); }
- static after(): receptionsAbstractStuff() { add("after-receptions"); }
- static around() returns void: receptionsAbstractStuff() { add("around-receptions"); proceed(); }
-
- pointcut executionsAbstractStuff(): executions(void run()) && instanceof(AbstractStuff);
- static { advise("executions-ia", 7); }
- static before(): executionsAbstractStuff() { add("before-executions"); }
- static after(): executionsAbstractStuff() { add("after-executions"); }
- static around() returns void: executionsAbstractStuff() { add("around-executions"); proceed(); }
-
- pointcut receptionsStuff2(): receptions(void run()) && instanceof(Stuff);
- static { advise("receptions-ia", 11); }
- static before(): receptionsStuff2() { add("before-receptions"); }
- static after(): receptionsStuff2() { add("after-receptions"); }
- static around() returns void: receptionsStuff2() { add("around-receptions"); proceed(); }
-
- pointcut executionsStuff2(): executions(void run()) && instanceof(Stuff);
- static { advise("executions-ia", 11); }
- static before(): executionsStuff2() { add("before-executions"); }
- static after(): executionsStuff2() { add("after-executions"); }
- static around() returns void: executionsStuff2() { add("around-executions"); proceed(); }
-
- pointcut receptionsStaticInnerAbstractStuff():
- receptions(void run()) && instanceof(Inners.StaticInnerAbstractStuff);
- static { advise("receptions-ia", new int[]{0,4,7}); }
- static before(): receptionsStaticInnerAbstractStuff() { add("before-receptions"); }
- static after(): receptionsStaticInnerAbstractStuff() { add("after-receptions"); }
- static around() returns void: receptionsStaticInnerAbstractStuff() { add("around-receptions"); proceed(); }
-
- pointcut executionsStaticInnerAbstractStuff():
- executions(void run()) && instanceof(Inners.StaticInnerAbstractStuff);
- static { advise("executions-ia", new int[]{0,4,7}); }
- static before(): executionsStaticInnerAbstractStuff() { add("before-executions"); }
- static after(): executionsStaticInnerAbstractStuff() { add("after-executions"); }
- static around() returns void: executionsStaticInnerAbstractStuff() { add("around-executions"); proceed(); }
-
- pointcut receptionsInnerAbstractStuff():
- receptions(void run()) && instanceof(Inners.InnerAbstractStuff);
- static { advise("receptions-ia", new int[]{1,5,8}); }
- static before(): receptionsInnerAbstractStuff() { add("before-receptions"); }
- static after(): receptionsInnerAbstractStuff() { add("after-receptions"); }
- static around() returns void: receptionsInnerAbstractStuff() { add("around-receptions"); proceed(); }
-
- pointcut executionsInnerAbstractStuff():
- executions(void run()) && instanceof(Inners.InnerAbstractStuff);
- static { advise("executions-ia", new int[]{1,5,8}); }
- static before(): executionsInnerAbstractStuff() { add("before-executions"); }
- static after(): executionsInnerAbstractStuff() { add("after-executions"); }
- static around() returns void: executionsInnerAbstractStuff() { add("around-executions"); proceed(); }
- }
-
- interface Stuff {
- public void run();
- }
-
- abstract class AbstractStuff implements Stuff {
- public abstract void run();
- }
|