summaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorapbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-13 19:45:05 +0000
committerapbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-13 19:45:05 +0000
commitcb3d02c0ed928b1c1a98a7df49274835eb4e6133 (patch)
treed0f63373ed3736d0a874579e065976a6584ec9f8 /libjava
parent754a6f79884b27f2ff3c6b919beda0190665a9ce (diff)
downloadgcc-cb3d02c0ed928b1c1a98a7df49274835eb4e6133.tar.gz
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. (http://gcc.gnu.org/ml/java-patches/2001-q3/msg00061.html ) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43994 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
-rw-r--r--libjava/testsuite/ChangeLog7
-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.java37
-rw-r--r--libjava/testsuite/libjava.lang/invoke_from_inner.out2
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