aboutsummaryrefslogtreecommitdiff
path: root/libjava/testsuite/libjava.compile
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/testsuite/libjava.compile')
-rw-r--r--libjava/testsuite/libjava.compile/MethodFailure4.java40
-rw-r--r--libjava/testsuite/libjava.compile/MethodFailure4.xfail1
2 files changed, 41 insertions, 0 deletions
diff --git a/libjava/testsuite/libjava.compile/MethodFailure4.java b/libjava/testsuite/libjava.compile/MethodFailure4.java
new file mode 100644
index 0000000..bed3a0e
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/MethodFailure4.java
@@ -0,0 +1,40 @@
+import java.util.*;
+
+public class MethodFailure4 {
+
+ public static String call(A obj) {
+ return "A";
+ }
+ public static String call(I obj) {
+ return "I";
+ }
+
+ interface I {}
+ static class A {}
+ static class B extends A implements I {}
+ static class C extends B {}
+
+
+ public static A getA() {
+ return new A();
+ }
+
+ public static B getB() {
+ return new B();
+ }
+
+ public static C getC() {
+ return new C();
+ }
+
+ public static I getI() {
+ return new C();
+ }
+
+ // this method invocation is ambiguous
+
+ public static void main(String[] argv) {
+ call( getC() );
+ }
+
+}
diff --git a/libjava/testsuite/libjava.compile/MethodFailure4.xfail b/libjava/testsuite/libjava.compile/MethodFailure4.xfail
new file mode 100644
index 0000000..e3b083b
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/MethodFailure4.xfail
@@ -0,0 +1 @@
+shouldfail