1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import org.aspectj.testing.Tester;
- import org.aspectj.testing.Tester;
- /*
- * Calls to methods declared in outer annonymous classes
- * are being qualified with this when they shouldn't.
- */
- public class MisplacedThisInAnnonymousInnerClasses {
- public static void main(String[] args) {
- new MisplacedThisInAnnonymousInnerClasses().realMain(args);
- }
- public void realMain(String[] args) {
-
- Tester.expectEvent("run0");
- Tester.expectEvent("run1");
- Tester.expectEvent("run2");
- Tester.expectEvent("run3");
- Tester.expectEvent("outer0");
- Tester.expectEvent("outer1");
- Tester.expectEvent("outer2");
-
- new Runnable() {
- public void outer(int i) { Tester.event("outer"+i); }
- public void run() {
- Tester.event("run0");
- new Runnable() {
- public void run() {
- Tester.event("run1");
- // shouldn't become this.outer(0)
- outer(0);
- new Runnable() {
- public void run() {
- Tester.event("run2");
- // shouldn't become this.outer(1)
- outer(1);
- new Runnable() {
- public void run() {
- Tester.event("run3");
- // shouldn't become
- // this.outer(2)
- outer(2);
- }
- }.run();
- }
- }.run();
- }
- }.run();
- }
- }.run();
-
- Tester.checkAllEvents();
- }
-
- }
|