Minor. Split BytecodeText tests about special builtin bridges

This commit is contained in:
Denis Zharkov
2015-11-16 11:51:46 +03:00
parent 3b2719735e
commit 1f704e0c4d
7 changed files with 135 additions and 6 deletions
@@ -97,12 +97,9 @@ fun foo(
c.contains("")
}
// 0 signature \(TQ;\)Z
// 0 signature \(TW;\)Z
// 0 signature \(TR;\)Z
// 6 signature \(Ljava/util/Collection<\+Ljava/lang/Object;>;\)Z
// 4 public final bridge contains\(Ljava/lang/Object;\)Z
// 3 INVOKEVIRTUAL A[0-9]\.contains \(Ljava/lang/String;\)Z
/*
* Calls to a1-a7, i1-i2, c in foo
*/
// 7 INVOKEVIRTUAL A[0-9]\.contains \(Ljava/lang/Object;\)Z
// 1 INVOKEVIRTUAL A7\.contains \(I\)Z
// 1 INVOKEINTERFACE java/util/Collection.contains \(Ljava/lang/Object;\)Z
@@ -0,0 +1,8 @@
abstract class A7 : MutableCollection<Int> {
override fun contains(o: Int): Boolean {
throw UnsupportedOperationException()
}
}
// 1 public final bridge contains\(Ljava/lang/Object;\)Z
// 1 public final bridge remove\(Ljava/lang/Object;\)Z
@@ -0,0 +1,28 @@
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()
}
}
// 0 signature \(TW;\)Z
// 2 signature \(Ljava/util/Collection<\+Ljava/lang/Object;>;\)Z
// 2 public final bridge contains\(Ljava/lang/Object;\)Z
// 2 public final bridge remove\(Ljava/lang/Object;\)Z
// 2 public final bridge indexOf\(Ljava/lang/Object;\)I
// 2 public final bridge lastIndexOf\(Ljava/lang/Object;\)I
@@ -0,0 +1,25 @@
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()
}
}
// 0 signature \(TQ;\)Z
// 2 signature \(Ljava/util/Collection<\+Ljava/lang/Object;>;\)Z
// 1 public final bridge contains\(Ljava/lang/Object;\)Z
// 1 public final bridge remove\(Ljava/lang/Object;\)Z
// 1 INVOKEVIRTUAL A[0-9]\.contains \(Ljava/lang/String;\)Z
@@ -0,0 +1,24 @@
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 A : I2
// 1 public final bridge contains\(Ljava/lang/Object;\)Z
// 1 public final bridge remove\(Ljava/lang/Object;\)Z
@@ -0,0 +1,8 @@
abstract class A8 : MutableCollection<Any?> {
override fun contains(o: Any?): Boolean {
throw UnsupportedOperationException()
}
}
// 1 bridge
// 1 public final bridge size