// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -PARAMETER_NAME_CHANGED_ON_OVERRIDE // JAVAC_EXPECTED_FILE // FILE: A.java import java.util.*; abstract public class A implements java.util.Collection { public boolean containsAll(Collection x) {return false;} } // FILE: B.java import java.util.*; abstract public class B implements java.util.Collection { public boolean containsAll(Collection x) {return false;} } // FILE: IC.java import java.util.*; public interface IC extends java.util.Collection { public boolean containsAll(Collection x); } // FILE: main.kt abstract class KA : java.util.AbstractList() { override fun containsAll(x: Collection) = false } abstract class KB : java.util.AbstractList(), IC { override fun containsAll(elements: Collection) = false } fun foo( a: A, b: B, ic: IC, ka: KA, kb: KB, al: java.util.ArrayList, cs: Collection, ca: Collection ) { a.containsAll(cs) a.containsAll(ca) b.containsAll(cs) b.containsAll(ca) ic.containsAll(cs) ic.containsAll(ca) ka.containsAll(cs) ka.containsAll(ca) kb.containsAll(cs) kb.containsAll(ca) al.containsAll(cs) al.containsAll(ca) }