Refine special bridges generation

#KT-10958 Fixed
This commit is contained in:
Denis Zharkov
2016-02-10 16:14:34 +03:00
parent 6d98909c7a
commit 12552d2fc1
7 changed files with 282 additions and 30 deletions
@@ -0,0 +1,90 @@
open class A0<E> : MutableList<E> {
override fun add(element: E): Boolean {
throw UnsupportedOperationException()
}
override fun add(index: Int, element: E) {
throw UnsupportedOperationException()
}
override fun addAll(index: Int, elements: Collection<E>): Boolean {
throw UnsupportedOperationException()
}
override fun addAll(elements: Collection<E>): Boolean {
throw UnsupportedOperationException()
}
override fun clear() {
throw UnsupportedOperationException()
}
override fun listIterator(): MutableListIterator<E> {
throw UnsupportedOperationException()
}
override fun listIterator(index: Int): MutableListIterator<E> {
throw UnsupportedOperationException()
}
override fun remove(element: E): Boolean {
throw UnsupportedOperationException()
}
override fun removeAll(elements: Collection<E>): Boolean {
throw UnsupportedOperationException()
}
override fun removeAt(index: Int): E {
throw UnsupportedOperationException()
}
override fun retainAll(elements: Collection<E>): Boolean {
throw UnsupportedOperationException()
}
override fun set(index: Int, element: E): E {
throw UnsupportedOperationException()
}
override fun subList(fromIndex: Int, toIndex: Int): MutableList<E> {
throw UnsupportedOperationException()
}
override val size: Int
get() = throw UnsupportedOperationException()
override fun contains(element: E): Boolean {
throw UnsupportedOperationException()
}
override fun containsAll(elements: Collection<E>): Boolean {
throw UnsupportedOperationException()
}
override fun get(index: Int): E {
throw UnsupportedOperationException()
}
override fun indexOf(element: E): Int {
throw UnsupportedOperationException()
}
override fun isEmpty(): Boolean {
throw UnsupportedOperationException()
}
override fun lastIndexOf(element: E): Int {
throw UnsupportedOperationException()
}
override fun iterator(): MutableIterator<E> {
throw UnsupportedOperationException()
}
}
class A1() : A0<String>() {
override fun removeAt(p0: Int): String = "abc"
}
class A2 : A0<String>()
@@ -0,0 +1,66 @@
@kotlin.Metadata
public class A0 {
public method <init>(): void
public method add(p0: int, p1: java.lang.Object): void
public method add(p0: java.lang.Object): boolean
public method addAll(@org.jetbrains.annotations.NotNull p0: java.util.Collection): boolean
public method addAll(p0: int, @org.jetbrains.annotations.NotNull p1: java.util.Collection): boolean
public method clear(): void
public method contains(p0: java.lang.Object): boolean
public method containsAll(@org.jetbrains.annotations.NotNull p0: java.util.Collection): boolean
public method get(p0: int): java.lang.Object
public method getSize(): int
public method indexOf(p0: java.lang.Object): int
public method isEmpty(): boolean
public @org.jetbrains.annotations.NotNull method iterator(): java.util.Iterator
public method lastIndexOf(p0: java.lang.Object): int
public @org.jetbrains.annotations.NotNull method listIterator(): java.util.ListIterator
public @org.jetbrains.annotations.NotNull method listIterator(p0: int): java.util.ListIterator
public final method remove(p0: int): java.lang.Object
public method remove(p0: java.lang.Object): boolean
public method removeAll(@org.jetbrains.annotations.NotNull p0: java.util.Collection): boolean
public method removeAt(p0: int): java.lang.Object
public method retainAll(@org.jetbrains.annotations.NotNull p0: java.util.Collection): boolean
public method set(p0: int, p1: java.lang.Object): java.lang.Object
public final method size(): int
public @org.jetbrains.annotations.NotNull method subList(p0: int, p1: int): java.util.List
public method toArray(): java.lang.Object[]
public method toArray(p0: java.lang.Object[]): java.lang.Object[]
}
@kotlin.Metadata
public final class A1 {
public method <init>(): void
public final method contains(p0: java.lang.Object): boolean
public method contains(p0: java.lang.String): boolean
public method getSize(): int
public final method indexOf(p0: java.lang.Object): int
public method indexOf(p0: java.lang.String): int
public final method lastIndexOf(p0: java.lang.Object): int
public method lastIndexOf(p0: java.lang.String): int
public final method remove(p0: int): java.lang.String
public final method remove(p0: java.lang.Object): boolean
public method remove(p0: java.lang.String): boolean
public synthetic method removeAt(p0: int): java.lang.Object
public @org.jetbrains.annotations.NotNull method removeAt(p0: int): java.lang.String
public method toArray(): java.lang.Object[]
public method toArray(p0: java.lang.Object[]): java.lang.Object[]
}
@kotlin.Metadata
public final class A2 {
public method <init>(): void
public final method contains(p0: java.lang.Object): boolean
public method contains(p0: java.lang.String): boolean
public method getSize(): int
public final method indexOf(p0: java.lang.Object): int
public method indexOf(p0: java.lang.String): int
public final method lastIndexOf(p0: java.lang.Object): int
public method lastIndexOf(p0: java.lang.String): int
public final method remove(p0: int): java.lang.String
public final method remove(p0: java.lang.Object): boolean
public method remove(p0: java.lang.String): boolean
public method removeAt(p0: int): java.lang.String
public method toArray(): java.lang.Object[]
public method toArray(p0: java.lang.Object[]): java.lang.Object[]
}