diff options
-rw-r--r-- | libjava/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | libjava/testsuite/libjava.lang/anon_ctor_itf_arg.java (renamed from libjava/testsuite/libjava.compile/anon_ctor_itf_arg.java) | 0 | ||||
-rw-r--r-- | libjava/testsuite/libjava.lang/anon_ctor_itf_arg.out (renamed from libjava/testsuite/libjava.compile/anon_ctor_itf_arg.out) | 0 | ||||
-rw-r--r-- | libjava/testsuite/libjava.lang/invoke_from_inner.java | 37 | ||||
-rw-r--r-- | libjava/testsuite/libjava.lang/invoke_from_inner.out | 2 |
5 files changed, 46 insertions, 0 deletions
diff --git a/libjava/testsuite/ChangeLog b/libjava/testsuite/ChangeLog index 3ca3d52a132..8c9acc42b1b 100644 --- a/libjava/testsuite/ChangeLog +++ b/libjava/testsuite/ChangeLog @@ -1,5 +1,12 @@ 2001-07-12 Alexandre Petit-Bianco <apbianco@redhat.com> + * libjava.compile/anon_ctor_itf_arg.java: Moved to `libjava.lang.' + * libjava.compile/anon_ctor_itf_arg.out: Likewise + * libjava.lang/invoke_from_inner.java: New file. + * libjava.lang/invoke_from_inner.out: Likewise. + +2001-07-12 Alexandre Petit-Bianco <apbianco@redhat.com> + * libjava.compile/anon_ctor_itf_arg.java: New file. * libjava.compile/anon_ctor_itf_arg.out: New file. diff --git a/libjava/testsuite/libjava.compile/anon_ctor_itf_arg.java b/libjava/testsuite/libjava.lang/anon_ctor_itf_arg.java index 1fd16f12b83..1fd16f12b83 100644 --- a/libjava/testsuite/libjava.compile/anon_ctor_itf_arg.java +++ b/libjava/testsuite/libjava.lang/anon_ctor_itf_arg.java diff --git a/libjava/testsuite/libjava.compile/anon_ctor_itf_arg.out b/libjava/testsuite/libjava.lang/anon_ctor_itf_arg.out index abddf8e8f3b..abddf8e8f3b 100644 --- a/libjava/testsuite/libjava.compile/anon_ctor_itf_arg.out +++ b/libjava/testsuite/libjava.lang/anon_ctor_itf_arg.out diff --git a/libjava/testsuite/libjava.lang/invoke_from_inner.java b/libjava/testsuite/libjava.lang/invoke_from_inner.java new file mode 100644 index 00000000000..8659ac6d559 --- /dev/null +++ b/libjava/testsuite/libjava.lang/invoke_from_inner.java @@ -0,0 +1,37 @@ +// This test case once showed that `f[0].execute(x)' woudln't be +// expanded properly, attempting to retrieve this$0 to be used in +// place of `f[0]'. + +abstract class A { + abstract public void execute(C x); +} + +class C {} + +class Z extends A { + public void execute (C x) { + System.out.println ("Z.execute"); + } +} + +public class invoke_from_inner extends A { + + Z f[] = new Z[1]; + class D extends C { + D (C x) { + f[0].execute (x); + execute (x); + } + } + public void execute (C x) { + System.out.println ("invoke_from_inner.execute"); + } + + public static void main (String a[]) { + new invoke_from_inner().foo(); + } + void foo () { + f[0] = new Z(); + new D(new C()); + } +} diff --git a/libjava/testsuite/libjava.lang/invoke_from_inner.out b/libjava/testsuite/libjava.lang/invoke_from_inner.out new file mode 100644 index 00000000000..1911e2f0dad --- /dev/null +++ b/libjava/testsuite/libjava.lang/invoke_from_inner.out @@ -0,0 +1,2 @@ +Z.execute +invoke_from_inner.execute |