mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-08 15:53:19 +00:00
- Do not write signature for `contains` - Write signature for `containsAll` as it's declared like `containsAll(Collection<?>)`
110 lines
2.8 KiB
Kotlin
Vendored
110 lines
2.8 KiB
Kotlin
Vendored
abstract class A1<Q> : MutableCollection<Q> {
|
|
override fun contains(o: Q): Boolean {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
|
|
override fun containsAll(c: Collection<Q>): Boolean {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
}
|
|
|
|
abstract class A2 : MutableCollection<String> {
|
|
override fun contains(o: String): Boolean {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
|
|
override fun containsAll(c: Collection<String>): Boolean {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
}
|
|
|
|
abstract class A3<W> : java.util.AbstractList<W>()
|
|
abstract class A4<W> : java.util.AbstractList<W>() {
|
|
override fun contains(o: W): Boolean {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
|
|
override fun containsAll(c: Collection<W>): Boolean {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
}
|
|
|
|
abstract class A5 : java.util.AbstractList<String>()
|
|
abstract class A6 : java.util.AbstractList<String>() {
|
|
override fun contains(o: String): Boolean {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
|
|
override fun containsAll(c: Collection<String>): Boolean {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
}
|
|
|
|
interface I1<R> : MutableSet<R> {
|
|
override fun contains(o: R): Boolean {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
|
|
override fun containsAll(c: Collection<R>): Boolean {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
}
|
|
|
|
interface I2 : MutableSet<String> {
|
|
override fun contains(o: String): Boolean {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
|
|
override fun containsAll(c: Collection<String>): Boolean {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
}
|
|
|
|
abstract class A7 : MutableCollection<Int> {
|
|
override fun contains(o: Int): Boolean {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
}
|
|
|
|
abstract class A8 : MutableCollection<Any?> {
|
|
override fun contains(o: Any?): Boolean {
|
|
throw UnsupportedOperationException()
|
|
}
|
|
}
|
|
|
|
|
|
fun foo(
|
|
a1: A1<String>,
|
|
a2: A2,
|
|
a3: A3<String>,
|
|
a4: A4<String>,
|
|
a5: A5,
|
|
a6: A6,
|
|
a7: A7,
|
|
i1: I1<String>,
|
|
i2: I2,
|
|
c: Collection<String>
|
|
) {
|
|
a1.contains("")
|
|
a2.contains("")
|
|
a3.contains("")
|
|
a4.contains("")
|
|
a5.contains("")
|
|
a6.contains("")
|
|
a7.contains(1)
|
|
i1.contains("")
|
|
i2.contains("")
|
|
c.contains("")
|
|
}
|
|
|
|
// 0 signature \(TQ;\)Z
|
|
// 0 signature \(TW;\)Z
|
|
// 0 signature \(TR;\)Z
|
|
// 6 signature \(Ljava/util/Collection<\+Ljava/lang/Object;>;\)Z
|
|
// 3 public final bridge contains\(Ljava/lang/Object;\)Z
|
|
// 4 INVOKEVIRTUAL A[0-9]\.contains \(Ljava/lang/String;\)Z
|
|
// 4 INVOKEVIRTUAL A[0-9]\.contains \(Ljava/lang/Object;\)Z
|
|
// 2 INVOKEVIRTUAL A7\.contains \(I\)Z
|
|
// 1 INVOKEINTERFACE java/util/Collection.contains \(Ljava/lang/Object;\)Z
|
|
// 1 INVOKEINTERFACE I1.contains \(Ljava/lang/Object;\)Z
|
|
// 1 INVOKEINTERFACE I2.contains \(Ljava/lang/String;\)Z |