Setup specific loading contains/containsAll from java
If they override Kotlin collection members contains(Object) -> contains(E) containsAll(Collection<?>) -> containsAll(Collection<E>)
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -PARAMETER_NAME_CHANGED_ON_OVERRIDE
|
||||
// FILE: A.java
|
||||
|
||||
abstract public class A<T> implements java.util.Collection<T> {
|
||||
public boolean contains(Object x) {return false;}
|
||||
}
|
||||
|
||||
// FILE: B.java
|
||||
|
||||
abstract public class B implements java.util.Collection<String> {
|
||||
public boolean contains(Object x) {return false;}
|
||||
}
|
||||
|
||||
// FILE: IC.java
|
||||
public interface IC implements java.util.Collection<String> {
|
||||
public boolean contains(Object x);
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
abstract class KA<T> : java.util.AbstractList<T>() {
|
||||
override fun contains(x: T) = false
|
||||
}
|
||||
|
||||
abstract class KB : java.util.AbstractList<String>(), IC {
|
||||
override fun contains(x: String) = false
|
||||
}
|
||||
|
||||
|
||||
// Raw?
|
||||
|
||||
fun foo(
|
||||
a: A<String>, b: B, ic: IC,
|
||||
ka: KA<String>, kb: KB,
|
||||
al: java.util.ArrayList<String>
|
||||
) {
|
||||
a.contains("")
|
||||
a.contains(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!>)
|
||||
"" in a
|
||||
<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!> in a
|
||||
|
||||
b.contains("")
|
||||
b.contains(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!>)
|
||||
"" in b
|
||||
<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!> in b
|
||||
|
||||
ic.contains("")
|
||||
ic.contains(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!>)
|
||||
"" in ic
|
||||
<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!> in ic
|
||||
|
||||
ka.contains("")
|
||||
ka.contains(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!>)
|
||||
"" in ka
|
||||
<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!> in ka
|
||||
|
||||
kb.contains("")
|
||||
kb.contains(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!>)
|
||||
"" in kb
|
||||
<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!> in kb
|
||||
|
||||
al.contains("")
|
||||
al.contains(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!>)
|
||||
"" in al
|
||||
<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!> in al
|
||||
}
|
||||
@@ -0,0 +1,124 @@
|
||||
package
|
||||
|
||||
public fun foo(/*0*/ a: A<kotlin.String>, /*1*/ b: B, /*2*/ ic: IC, /*3*/ ka: KA<kotlin.String>, /*4*/ kb: KB, /*5*/ al: java.util.ArrayList<kotlin.String>): kotlin.Unit
|
||||
|
||||
public abstract class A</*0*/ T : kotlin.Any!> : kotlin.MutableCollection<T!> {
|
||||
public constructor A</*0*/ T : kotlin.Any!>()
|
||||
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun add(/*0*/ e: T!): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun addAll(/*0*/ c: kotlin.Collection<T!>): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
|
||||
public open override /*1*/ /*synthesized*/ fun contains(/*0*/ o: T!): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun containsAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun iterator(): kotlin.MutableIterator<T!>
|
||||
public abstract override /*1*/ /*fake_override*/ fun remove(/*0*/ o: kotlin.Any?): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun removeAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun retainAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public abstract class B : kotlin.MutableCollection<kotlin.String!> {
|
||||
public constructor B()
|
||||
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun add(/*0*/ e: kotlin.String!): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun addAll(/*0*/ c: kotlin.Collection<kotlin.String!>): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
|
||||
public open override /*1*/ /*synthesized*/ fun contains(/*0*/ x: kotlin.String!): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun containsAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun iterator(): kotlin.MutableIterator<kotlin.String!>
|
||||
public abstract override /*1*/ /*fake_override*/ fun remove(/*0*/ o: kotlin.Any?): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun removeAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun retainAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public interface IC : kotlin.MutableCollection<kotlin.String!> {
|
||||
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun add(/*0*/ e: kotlin.String!): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun addAll(/*0*/ c: kotlin.Collection<kotlin.String!>): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
|
||||
public abstract override /*1*/ /*synthesized*/ fun contains(/*0*/ x: kotlin.String!): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun containsAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun iterator(): kotlin.MutableIterator<kotlin.String!>
|
||||
public abstract override /*1*/ /*fake_override*/ fun remove(/*0*/ o: kotlin.Any?): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun removeAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun retainAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public abstract class KA</*0*/ T> : java.util.AbstractList<T> {
|
||||
public constructor KA</*0*/ T>()
|
||||
protected/*protected and package*/ final override /*1*/ /*fake_override*/ var modCount: kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun add(/*0*/ e: T!): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun add(/*0*/ index: kotlin.Int, /*1*/ element: T!): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun addAll(/*0*/ c: kotlin.Collection<T!>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun addAll(/*0*/ index: kotlin.Int, /*1*/ c: kotlin.Collection<T!>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
|
||||
public open override /*1*/ fun contains(/*0*/ x: T): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun containsAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ index: kotlin.Int): T!
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun indexOf(/*0*/ o: kotlin.Any?): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun iterator(): kotlin.MutableIterator<T!>
|
||||
public open override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ o: kotlin.Any?): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun listIterator(): kotlin.MutableListIterator<T!>
|
||||
public open override /*1*/ /*fake_override*/ fun listIterator(/*0*/ index: kotlin.Int): kotlin.MutableListIterator<T!>
|
||||
invisible_fake open override /*1*/ /*fake_override*/ fun outOfBoundsMsg(/*0*/ p0: kotlin.Int): kotlin.String!
|
||||
invisible_fake open override /*1*/ /*fake_override*/ fun rangeCheckForAdd(/*0*/ p0: kotlin.Int): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ o: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ index: kotlin.Int): T!
|
||||
public open override /*1*/ /*fake_override*/ fun removeAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
protected/*protected and package*/ open override /*1*/ /*fake_override*/ fun removeRange(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun retainAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun set(/*0*/ index: kotlin.Int, /*1*/ element: T!): T!
|
||||
public open override /*1*/ /*fake_override*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.MutableList<T!>
|
||||
public open override /*1*/ /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>!
|
||||
public open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public abstract class KB : java.util.AbstractList<kotlin.String>, IC {
|
||||
public constructor KB()
|
||||
protected/*protected and package*/ final override /*1*/ /*fake_override*/ var modCount: kotlin.Int
|
||||
public abstract override /*2*/ /*fake_override*/ val size: kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun add(/*0*/ index: kotlin.Int, /*1*/ element: kotlin.String!): kotlin.Unit
|
||||
public open override /*2*/ /*fake_override*/ fun add(/*0*/ e: kotlin.String!): kotlin.Boolean
|
||||
public open override /*2*/ /*fake_override*/ fun addAll(/*0*/ c: kotlin.Collection<kotlin.String!>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun addAll(/*0*/ index: kotlin.Int, /*1*/ c: kotlin.Collection<kotlin.String!>): kotlin.Boolean
|
||||
public open override /*2*/ /*fake_override*/ fun clear(): kotlin.Unit
|
||||
public open override /*2*/ fun contains(/*0*/ x: kotlin.String): kotlin.Boolean
|
||||
public open override /*2*/ /*fake_override*/ fun containsAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ index: kotlin.Int): kotlin.String!
|
||||
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun indexOf(/*0*/ o: kotlin.Any?): kotlin.Int
|
||||
public open override /*2*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
|
||||
public open override /*2*/ /*fake_override*/ fun iterator(): kotlin.MutableIterator<kotlin.String!>
|
||||
public open override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ o: kotlin.Any?): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun listIterator(): kotlin.MutableListIterator<kotlin.String!>
|
||||
public open override /*1*/ /*fake_override*/ fun listIterator(/*0*/ index: kotlin.Int): kotlin.MutableListIterator<kotlin.String!>
|
||||
invisible_fake open override /*1*/ /*fake_override*/ fun outOfBoundsMsg(/*0*/ p0: kotlin.Int): kotlin.String!
|
||||
invisible_fake open override /*1*/ /*fake_override*/ fun rangeCheckForAdd(/*0*/ p0: kotlin.Int): kotlin.Unit
|
||||
public open override /*2*/ /*fake_override*/ fun remove(/*0*/ o: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ index: kotlin.Int): kotlin.String!
|
||||
public open override /*2*/ /*fake_override*/ fun removeAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
protected/*protected and package*/ open override /*1*/ /*fake_override*/ fun removeRange(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int): kotlin.Unit
|
||||
public open override /*2*/ /*fake_override*/ fun retainAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun set(/*0*/ index: kotlin.Int, /*1*/ element: kotlin.String!): kotlin.String!
|
||||
public open override /*1*/ /*fake_override*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.MutableList<kotlin.String!>
|
||||
public open override /*1*/ /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>!
|
||||
public open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
|
||||
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -PARAMETER_NAME_CHANGED_ON_OVERRIDE
|
||||
// FILE: A.java
|
||||
import java.util.*;
|
||||
|
||||
abstract public class A<T> implements java.util.Collection<T> {
|
||||
public boolean containsAll(Collection<?> x) {return false;}
|
||||
}
|
||||
|
||||
// FILE: B.java
|
||||
import java.util.*;
|
||||
|
||||
abstract public class B implements java.util.Collection<String> {
|
||||
public boolean containsAll(Collection<?> x) {return false;}
|
||||
}
|
||||
|
||||
// FILE: IC.java
|
||||
import java.util.*;
|
||||
|
||||
public interface IC implements java.util.Collection<String> {
|
||||
public boolean containsAll(Collection<?> x);
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
abstract class KA<T> : java.util.AbstractList<T>() {
|
||||
override fun containsAll(x: Collection<T>) = false
|
||||
}
|
||||
|
||||
abstract class KB : java.util.AbstractList<String>(), IC {
|
||||
override fun containsAll(x: Collection<String>) = false
|
||||
}
|
||||
|
||||
fun foo(
|
||||
a: A<String>, b: B, ic: IC,
|
||||
ka: KA<String>, kb: KB,
|
||||
al: java.util.ArrayList<String>,
|
||||
cs: Collection<String>, ca: Collection<Any?>
|
||||
) {
|
||||
a.containsAll(cs)
|
||||
a.containsAll(<!TYPE_MISMATCH!>ca<!>)
|
||||
|
||||
b.containsAll(cs)
|
||||
b.containsAll(<!TYPE_MISMATCH!>ca<!>)
|
||||
|
||||
ic.containsAll(cs)
|
||||
ic.containsAll(<!TYPE_MISMATCH!>ca<!>)
|
||||
|
||||
ka.containsAll(cs)
|
||||
ka.containsAll(<!TYPE_MISMATCH!>ca<!>)
|
||||
|
||||
kb.containsAll(cs)
|
||||
kb.containsAll(<!TYPE_MISMATCH!>ca<!>)
|
||||
|
||||
al.containsAll(cs)
|
||||
al.containsAll(<!TYPE_MISMATCH!>ca<!>)
|
||||
}
|
||||
@@ -0,0 +1,124 @@
|
||||
package
|
||||
|
||||
public fun foo(/*0*/ a: A<kotlin.String>, /*1*/ b: B, /*2*/ ic: IC, /*3*/ ka: KA<kotlin.String>, /*4*/ kb: KB, /*5*/ al: java.util.ArrayList<kotlin.String>, /*6*/ cs: kotlin.Collection<kotlin.String>, /*7*/ ca: kotlin.Collection<kotlin.Any?>): kotlin.Unit
|
||||
|
||||
public abstract class A</*0*/ T : kotlin.Any!> : kotlin.MutableCollection<T!> {
|
||||
public constructor A</*0*/ T : kotlin.Any!>()
|
||||
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun add(/*0*/ e: T!): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun addAll(/*0*/ c: kotlin.Collection<T!>): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
|
||||
public abstract override /*1*/ /*fake_override*/ fun contains(/*0*/ o: T!): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun containsAll(/*0*/ c: kotlin.Collection<T!>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun iterator(): kotlin.MutableIterator<T!>
|
||||
public abstract override /*1*/ /*fake_override*/ fun remove(/*0*/ o: kotlin.Any?): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun removeAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun retainAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public abstract class B : kotlin.MutableCollection<kotlin.String!> {
|
||||
public constructor B()
|
||||
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun add(/*0*/ e: kotlin.String!): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun addAll(/*0*/ c: kotlin.Collection<kotlin.String!>): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
|
||||
public abstract override /*1*/ /*fake_override*/ fun contains(/*0*/ o: kotlin.String!): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun containsAll(/*0*/ c: kotlin.Collection<kotlin.String!>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun iterator(): kotlin.MutableIterator<kotlin.String!>
|
||||
public abstract override /*1*/ /*fake_override*/ fun remove(/*0*/ o: kotlin.Any?): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun removeAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun retainAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public interface IC : kotlin.MutableCollection<kotlin.String!> {
|
||||
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun add(/*0*/ e: kotlin.String!): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun addAll(/*0*/ c: kotlin.Collection<kotlin.String!>): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
|
||||
public abstract override /*1*/ /*fake_override*/ fun contains(/*0*/ o: kotlin.String!): kotlin.Boolean
|
||||
public abstract override /*1*/ /*synthesized*/ fun containsAll(/*0*/ c: kotlin.Collection<kotlin.String!>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun iterator(): kotlin.MutableIterator<kotlin.String!>
|
||||
public abstract override /*1*/ /*fake_override*/ fun remove(/*0*/ o: kotlin.Any?): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun removeAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun retainAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public abstract class KA</*0*/ T> : java.util.AbstractList<T> {
|
||||
public constructor KA</*0*/ T>()
|
||||
protected/*protected and package*/ final override /*1*/ /*fake_override*/ var modCount: kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun add(/*0*/ e: T!): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun add(/*0*/ index: kotlin.Int, /*1*/ element: T!): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun addAll(/*0*/ c: kotlin.Collection<T!>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun addAll(/*0*/ index: kotlin.Int, /*1*/ c: kotlin.Collection<T!>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun contains(/*0*/ o: T!): kotlin.Boolean
|
||||
public open override /*1*/ fun containsAll(/*0*/ x: kotlin.Collection<T>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ index: kotlin.Int): T!
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun indexOf(/*0*/ o: kotlin.Any?): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun iterator(): kotlin.MutableIterator<T!>
|
||||
public open override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ o: kotlin.Any?): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun listIterator(): kotlin.MutableListIterator<T!>
|
||||
public open override /*1*/ /*fake_override*/ fun listIterator(/*0*/ index: kotlin.Int): kotlin.MutableListIterator<T!>
|
||||
invisible_fake open override /*1*/ /*fake_override*/ fun outOfBoundsMsg(/*0*/ p0: kotlin.Int): kotlin.String!
|
||||
invisible_fake open override /*1*/ /*fake_override*/ fun rangeCheckForAdd(/*0*/ p0: kotlin.Int): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ o: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ index: kotlin.Int): T!
|
||||
public open override /*1*/ /*fake_override*/ fun removeAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
protected/*protected and package*/ open override /*1*/ /*fake_override*/ fun removeRange(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun retainAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun set(/*0*/ index: kotlin.Int, /*1*/ element: T!): T!
|
||||
public open override /*1*/ /*fake_override*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.MutableList<T!>
|
||||
public open override /*1*/ /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>!
|
||||
public open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public abstract class KB : java.util.AbstractList<kotlin.String>, IC {
|
||||
public constructor KB()
|
||||
protected/*protected and package*/ final override /*1*/ /*fake_override*/ var modCount: kotlin.Int
|
||||
public abstract override /*2*/ /*fake_override*/ val size: kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun add(/*0*/ index: kotlin.Int, /*1*/ element: kotlin.String!): kotlin.Unit
|
||||
public open override /*2*/ /*fake_override*/ fun add(/*0*/ e: kotlin.String!): kotlin.Boolean
|
||||
public open override /*2*/ /*fake_override*/ fun addAll(/*0*/ c: kotlin.Collection<kotlin.String!>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun addAll(/*0*/ index: kotlin.Int, /*1*/ c: kotlin.Collection<kotlin.String!>): kotlin.Boolean
|
||||
public open override /*2*/ /*fake_override*/ fun clear(): kotlin.Unit
|
||||
public open override /*2*/ /*fake_override*/ fun contains(/*0*/ o: kotlin.String!): kotlin.Boolean
|
||||
public open override /*2*/ fun containsAll(/*0*/ x: kotlin.Collection<kotlin.String>): kotlin.Boolean
|
||||
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ index: kotlin.Int): kotlin.String!
|
||||
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun indexOf(/*0*/ o: kotlin.Any?): kotlin.Int
|
||||
public open override /*2*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
|
||||
public open override /*2*/ /*fake_override*/ fun iterator(): kotlin.MutableIterator<kotlin.String!>
|
||||
public open override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ o: kotlin.Any?): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun listIterator(): kotlin.MutableListIterator<kotlin.String!>
|
||||
public open override /*1*/ /*fake_override*/ fun listIterator(/*0*/ index: kotlin.Int): kotlin.MutableListIterator<kotlin.String!>
|
||||
invisible_fake open override /*1*/ /*fake_override*/ fun outOfBoundsMsg(/*0*/ p0: kotlin.Int): kotlin.String!
|
||||
invisible_fake open override /*1*/ /*fake_override*/ fun rangeCheckForAdd(/*0*/ p0: kotlin.Int): kotlin.Unit
|
||||
public open override /*2*/ /*fake_override*/ fun remove(/*0*/ o: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun remove(/*0*/ index: kotlin.Int): kotlin.String!
|
||||
public open override /*2*/ /*fake_override*/ fun removeAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
protected/*protected and package*/ open override /*1*/ /*fake_override*/ fun removeRange(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int): kotlin.Unit
|
||||
public open override /*2*/ /*fake_override*/ fun retainAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun set(/*0*/ index: kotlin.Int, /*1*/ element: kotlin.String!): kotlin.String!
|
||||
public open override /*1*/ /*fake_override*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.MutableList<kotlin.String!>
|
||||
public open override /*1*/ /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>!
|
||||
public open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
|
||||
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE -PARAMETER_NAME_CHANGED_ON_OVERRIDE
|
||||
|
||||
// FILE: A.java
|
||||
abstract public class A implements java.util.Collection<String> {
|
||||
public boolean contains(Object x) {return false;}
|
||||
public boolean contains(String x) {return false;}
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
abstract class KA: A() {
|
||||
override fun contains(x: String) = false
|
||||
}
|
||||
|
||||
fun foo(a: A, ka: KA) {
|
||||
a.contains("")
|
||||
a.contains(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!>)
|
||||
"" in a
|
||||
<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!> in a
|
||||
|
||||
ka.contains("")
|
||||
ka.contains(<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!>)
|
||||
"" in ka
|
||||
<!CONSTANT_EXPECTED_TYPE_MISMATCH!>1<!> in ka
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
package
|
||||
|
||||
public fun foo(/*0*/ a: A, /*1*/ ka: KA): kotlin.Unit
|
||||
|
||||
public abstract class A : kotlin.MutableCollection<kotlin.String!> {
|
||||
public constructor A()
|
||||
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun add(/*0*/ e: kotlin.String!): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun addAll(/*0*/ c: kotlin.Collection<kotlin.String!>): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
|
||||
public open override /*1*/ fun contains(/*0*/ o: kotlin.String!): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun contains(/*0*/ x: kotlin.String!): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun containsAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun iterator(): kotlin.MutableIterator<kotlin.String!>
|
||||
public abstract override /*1*/ /*fake_override*/ fun remove(/*0*/ o: kotlin.Any?): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun removeAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun retainAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public abstract class KA : A {
|
||||
public constructor KA()
|
||||
public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun add(/*0*/ e: kotlin.String!): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun addAll(/*0*/ c: kotlin.Collection<kotlin.String!>): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
|
||||
public open override /*2*/ fun contains(/*0*/ x: kotlin.String): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun containsAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun iterator(): kotlin.MutableIterator<kotlin.String!>
|
||||
public abstract override /*1*/ /*fake_override*/ fun remove(/*0*/ o: kotlin.Any?): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun removeAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public abstract override /*1*/ /*fake_override*/ fun retainAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
Reference in New Issue
Block a user