Some more bytecode listing tests for JVM_IR

This commit is contained in:
Dmitry Petrov
2020-09-23 16:03:51 +03:00
parent 25ea3df5ca
commit 99dbeecc40
7 changed files with 477 additions and 1 deletions
@@ -0,0 +1,18 @@
// FULL_JDK
// See: KT-42114, KT-42115
abstract class AbstractIterator : Iterator<String>
abstract class AbstractIterable : Iterable<String>
abstract class AbstractCollection : Collection<String>
abstract class AbstractSet : Set<String>
abstract class AbstractList : List<String>
abstract class AbstractListIterator : ListIterator<String>
abstract class AbstractMap : Map<String, Number>
abstract class AbstractMapEntry : Map.Entry<String, Number>
@@ -0,0 +1,152 @@
@kotlin.Metadata
public abstract class AbstractCollection {
// source: 'collectionsWithFullJdk.kt'
public method <init>(): void
public synthetic method add(p0: java.lang.Object): boolean
public method add(p0: java.lang.String): boolean
public method addAll(p0: java.util.Collection): boolean
public method clear(): void
public bridge final method contains(p0: java.lang.Object): boolean
public abstract method contains(p0: java.lang.String): boolean
public abstract method getSize(): int
public method iterator(): java.util.Iterator
public method remove(p0: java.lang.Object): boolean
public method removeAll(p0: java.util.Collection): boolean
public method removeIf(p0: java.util.function.Predicate): boolean
public method retainAll(p0: java.util.Collection): boolean
public bridge final method size(): int
public method toArray(): java.lang.Object[]
public method toArray(p0: java.lang.Object[]): java.lang.Object[]
}
@kotlin.Metadata
public abstract class AbstractIterable {
// source: 'collectionsWithFullJdk.kt'
public method <init>(): void
public method iterator(): java.util.Iterator
}
@kotlin.Metadata
public abstract class AbstractIterator {
// source: 'collectionsWithFullJdk.kt'
public method <init>(): void
public method remove(): void
}
@kotlin.Metadata
public abstract class AbstractList {
// source: 'collectionsWithFullJdk.kt'
public method <init>(): void
public synthetic method add(p0: int, p1: java.lang.Object): void
public method add(p0: int, p1: java.lang.String): void
public synthetic method add(p0: java.lang.Object): boolean
public method add(p0: java.lang.String): boolean
public method addAll(p0: int, p1: java.util.Collection): boolean
public method addAll(p0: java.util.Collection): boolean
public method clear(): void
public bridge final method contains(p0: java.lang.Object): boolean
public abstract method contains(p0: java.lang.String): boolean
public abstract method getSize(): int
public bridge final method indexOf(p0: java.lang.Object): int
public abstract method indexOf(p0: java.lang.String): int
public bridge final method lastIndexOf(p0: java.lang.Object): int
public abstract method lastIndexOf(p0: java.lang.String): int
public method listIterator(): java.util.ListIterator
public method listIterator(p0: int): java.util.ListIterator
public synthetic method remove(p0: int): java.lang.Object
public method remove(p0: int): java.lang.String
public method remove(p0: java.lang.Object): boolean
public method removeAll(p0: java.util.Collection): boolean
public method replaceAll(p0: java.util.function.UnaryOperator): void
public method retainAll(p0: java.util.Collection): boolean
public synthetic method set(p0: int, p1: java.lang.Object): java.lang.Object
public method set(p0: int, p1: java.lang.String): java.lang.String
public bridge final method size(): int
public method sort(p0: java.util.Comparator): void
public 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 abstract class AbstractListIterator {
// source: 'collectionsWithFullJdk.kt'
public method <init>(): void
public synthetic method add(p0: java.lang.Object): void
public method add(p0: java.lang.String): void
public method hasNext(): boolean
public synthetic method next(): java.lang.Object
public method next(): java.lang.String
public method remove(): void
public synthetic method set(p0: java.lang.Object): void
public method set(p0: java.lang.String): void
}
@kotlin.Metadata
public abstract class AbstractMap {
// source: 'collectionsWithFullJdk.kt'
public method <init>(): void
public method clear(): void
public synthetic method compute(p0: java.lang.Object, p1: java.util.function.BiFunction): java.lang.Object
public method compute(p0: java.lang.String, p1: java.util.function.BiFunction): java.lang.Number
public synthetic method computeIfAbsent(p0: java.lang.Object, p1: java.util.function.Function): java.lang.Object
public method computeIfAbsent(p0: java.lang.String, p1: java.util.function.Function): java.lang.Number
public synthetic method computeIfPresent(p0: java.lang.Object, p1: java.util.function.BiFunction): java.lang.Object
public method computeIfPresent(p0: java.lang.String, p1: java.util.function.BiFunction): java.lang.Number
public bridge final method containsKey(p0: java.lang.Object): boolean
public abstract method containsKey(p0: java.lang.String): boolean
public abstract method containsValue(p0: java.lang.Number): boolean
public bridge final method containsValue(p0: java.lang.Object): boolean
public bridge final method entrySet(): java.util.Set
public bridge final method get(p0: java.lang.Object): java.lang.Object
public abstract method get(p0: java.lang.String): java.lang.Number
public abstract method getEntries(): java.util.Set
public abstract method getKeys(): java.util.Set
public abstract method getSize(): int
public abstract method getValues(): java.util.Collection
public bridge final method keySet(): java.util.Set
public synthetic method merge(p0: java.lang.Object, p1: java.lang.Object, p2: java.util.function.BiFunction): java.lang.Object
public method merge(p0: java.lang.String, p1: java.lang.Number, p2: java.util.function.BiFunction): java.lang.Number
public synthetic method put(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object
public method put(p0: java.lang.String, p1: java.lang.Number): java.lang.Number
public method putAll(p0: java.util.Map): void
public synthetic method putIfAbsent(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object
public method putIfAbsent(p0: java.lang.String, p1: java.lang.Number): java.lang.Number
public method remove(p0: java.lang.Object): java.lang.Object
public method remove(p0: java.lang.Object, p1: java.lang.Object): boolean
public synthetic method replace(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object
public synthetic method replace(p0: java.lang.Object, p1: java.lang.Object, p2: java.lang.Object): boolean
public method replace(p0: java.lang.String, p1: java.lang.Number): java.lang.Number
public method replace(p0: java.lang.String, p1: java.lang.Number, p2: java.lang.Number): boolean
public method replaceAll(p0: java.util.function.BiFunction): void
public bridge final method size(): int
public bridge final method values(): java.util.Collection
}
@kotlin.Metadata
public abstract class AbstractMapEntry {
// source: 'collectionsWithFullJdk.kt'
public method <init>(): void
public method setValue(p0: java.lang.Number): java.lang.Number
public synthetic method setValue(p0: java.lang.Object): java.lang.Object
}
@kotlin.Metadata
public abstract class AbstractSet {
// source: 'collectionsWithFullJdk.kt'
public method <init>(): void
public synthetic method add(p0: java.lang.Object): boolean
public method add(p0: java.lang.String): boolean
public method addAll(p0: java.util.Collection): boolean
public method clear(): void
public bridge final method contains(p0: java.lang.Object): boolean
public abstract method contains(p0: java.lang.String): boolean
public abstract method getSize(): int
public method iterator(): java.util.Iterator
public method remove(p0: java.lang.Object): boolean
public method removeAll(p0: java.util.Collection): boolean
public method retainAll(p0: java.util.Collection): boolean
public bridge final method size(): int
public method toArray(): java.lang.Object[]
public method toArray(p0: java.lang.Object[]): java.lang.Object[]
}
@@ -0,0 +1,153 @@
@kotlin.Metadata
public abstract class AbstractCollection {
// source: 'collectionsWithFullJdk.kt'
public method <init>(): void
public synthetic bridge method add(p0: java.lang.Object): boolean
public method add(p0: java.lang.String): boolean
public method addAll(p0: java.util.Collection): boolean
public method clear(): void
public bridge final method contains(p0: java.lang.Object): boolean
public abstract method contains(p0: java.lang.String): boolean
public abstract method getSize(): int
public method iterator(): java.util.Iterator
public method remove(p0: java.lang.Object): boolean
public method removeAll(p0: java.util.Collection): boolean
public method removeIf(p0: java.util.function.Predicate): boolean
public method retainAll(p0: java.util.Collection): boolean
public bridge final method size(): int
public method toArray(): java.lang.Object[]
public method toArray(p0: java.lang.Object[]): java.lang.Object[]
}
@kotlin.Metadata
public abstract class AbstractIterable {
// source: 'collectionsWithFullJdk.kt'
public method <init>(): void
public method iterator(): java.util.Iterator
}
@kotlin.Metadata
public abstract class AbstractIterator {
// source: 'collectionsWithFullJdk.kt'
public method <init>(): void
public method remove(): void
}
@kotlin.Metadata
public abstract class AbstractList {
// source: 'collectionsWithFullJdk.kt'
public method <init>(): void
public synthetic bridge method add(p0: int, p1: java.lang.Object): void
public method add(p0: int, p1: java.lang.String): void
public synthetic bridge method add(p0: java.lang.Object): boolean
public method add(p0: java.lang.String): boolean
public method addAll(p0: int, p1: java.util.Collection): boolean
public method addAll(p0: java.util.Collection): boolean
public method clear(): void
public bridge final method contains(p0: java.lang.Object): boolean
public abstract method contains(p0: java.lang.String): boolean
public abstract method getSize(): int
public bridge final method indexOf(p0: java.lang.Object): int
public abstract method indexOf(p0: java.lang.String): int
public bridge final method lastIndexOf(p0: java.lang.Object): int
public abstract method lastIndexOf(p0: java.lang.String): int
public method listIterator(): java.util.ListIterator
public method listIterator(p0: int): java.util.ListIterator
public synthetic bridge method remove(p0: int): java.lang.Object
public method remove(p0: int): java.lang.String
public method remove(p0: java.lang.Object): boolean
public method removeAll(p0: java.util.Collection): boolean
public method removeIf(p0: java.util.function.Predicate): boolean
public method replaceAll(p0: java.util.function.UnaryOperator): void
public method retainAll(p0: java.util.Collection): boolean
public synthetic bridge method set(p0: int, p1: java.lang.Object): java.lang.Object
public method set(p0: int, p1: java.lang.String): java.lang.String
public bridge final method size(): int
public method sort(p0: java.util.Comparator): void
public 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 abstract class AbstractListIterator {
// source: 'collectionsWithFullJdk.kt'
public method <init>(): void
public synthetic bridge method add(p0: java.lang.Object): void
public method add(p0: java.lang.String): void
public method remove(): void
public synthetic bridge method set(p0: java.lang.Object): void
public method set(p0: java.lang.String): void
}
@kotlin.Metadata
public abstract class AbstractMap {
// source: 'collectionsWithFullJdk.kt'
public method <init>(): void
public method clear(): void
public synthetic bridge method compute(p0: java.lang.Object, p1: java.util.function.BiFunction): java.lang.Object
public method compute(p0: java.lang.String, p1: java.util.function.BiFunction): java.lang.Number
public synthetic bridge method computeIfAbsent(p0: java.lang.Object, p1: java.util.function.Function): java.lang.Object
public method computeIfAbsent(p0: java.lang.String, p1: java.util.function.Function): java.lang.Number
public synthetic bridge method computeIfPresent(p0: java.lang.Object, p1: java.util.function.BiFunction): java.lang.Object
public method computeIfPresent(p0: java.lang.String, p1: java.util.function.BiFunction): java.lang.Number
public bridge final method containsKey(p0: java.lang.Object): boolean
public abstract method containsKey(p0: java.lang.String): boolean
public abstract method containsValue(p0: java.lang.Number): boolean
public bridge final method containsValue(p0: java.lang.Object): boolean
public bridge final method entrySet(): java.util.Set
public bridge final method get(p0: java.lang.Object): java.lang.Number
public synthetic bridge method get(p0: java.lang.Object): java.lang.Object
public abstract method get(p0: java.lang.String): java.lang.Number
public abstract method getEntries(): java.util.Set
public abstract method getKeys(): java.util.Set
public abstract method getSize(): int
public abstract method getValues(): java.util.Collection
public bridge final method keySet(): java.util.Set
public synthetic bridge method merge(p0: java.lang.Object, p1: java.lang.Object, p2: java.util.function.BiFunction): java.lang.Object
public method merge(p0: java.lang.String, p1: java.lang.Number, p2: java.util.function.BiFunction): java.lang.Number
public synthetic bridge method put(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object
public method put(p0: java.lang.String, p1: java.lang.Number): java.lang.Number
public method putAll(p0: java.util.Map): void
public synthetic bridge method putIfAbsent(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object
public method putIfAbsent(p0: java.lang.String, p1: java.lang.Number): java.lang.Number
public method remove(p0: java.lang.Object): java.lang.Number
public synthetic bridge method remove(p0: java.lang.Object): java.lang.Object
public method remove(p0: java.lang.Object, p1: java.lang.Object): boolean
public synthetic bridge method replace(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object
public synthetic bridge method replace(p0: java.lang.Object, p1: java.lang.Object, p2: java.lang.Object): boolean
public method replace(p0: java.lang.String, p1: java.lang.Number): java.lang.Number
public method replace(p0: java.lang.String, p1: java.lang.Number, p2: java.lang.Number): boolean
public method replaceAll(p0: java.util.function.BiFunction): void
public bridge final method size(): int
public bridge final method values(): java.util.Collection
}
@kotlin.Metadata
public abstract class AbstractMapEntry {
// source: 'collectionsWithFullJdk.kt'
public method <init>(): void
public method setValue(p0: java.lang.Number): java.lang.Number
public synthetic bridge method setValue(p0: java.lang.Object): java.lang.Object
}
@kotlin.Metadata
public abstract class AbstractSet {
// source: 'collectionsWithFullJdk.kt'
public method <init>(): void
public synthetic bridge method add(p0: java.lang.Object): boolean
public method add(p0: java.lang.String): boolean
public method addAll(p0: java.util.Collection): boolean
public method clear(): void
public bridge final method contains(p0: java.lang.Object): boolean
public abstract method contains(p0: java.lang.String): boolean
public abstract method getSize(): int
public method iterator(): java.util.Iterator
public method remove(p0: java.lang.Object): boolean
public method removeAll(p0: java.util.Collection): boolean
public method removeIf(p0: java.util.function.Predicate): boolean
public method retainAll(p0: java.util.Collection): boolean
public bridge final method size(): int
public method toArray(): java.lang.Object[]
public method toArray(p0: java.lang.Object[]): java.lang.Object[]
}
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
abstract class A1<Q> : MutableCollection<Q> {
override fun contains(o: Q): Boolean {
throw UnsupportedOperationException()
@@ -0,0 +1,144 @@
@kotlin.Metadata
public abstract class A1 {
// source: 'contains.kt'
public method <init>(): void
public method contains(p0: java.lang.Object): boolean
public method containsAll(@org.jetbrains.annotations.NotNull p0: java.util.Collection): boolean
public abstract method getSize(): int
public bridge final method size(): int
public method toArray(): java.lang.Object[]
public method toArray(p0: java.lang.Object[]): java.lang.Object[]
}
@kotlin.Metadata
public abstract class A2 {
// source: 'contains.kt'
public method <init>(): void
public method contains(@org.jetbrains.annotations.NotNull p0: java.lang.String): boolean
public bridge final method contains(p0: java.lang.Object): boolean
public method containsAll(@org.jetbrains.annotations.NotNull p0: java.util.Collection): boolean
public abstract method getSize(): int
public bridge final method remove(p0: java.lang.Object): boolean
public abstract method remove(p0: java.lang.String): boolean
public bridge final method size(): int
public method toArray(): java.lang.Object[]
public method toArray(p0: java.lang.Object[]): java.lang.Object[]
}
@kotlin.Metadata
public abstract class A3 {
// source: 'contains.kt'
public method <init>(): void
public abstract method getSize(): int
public bridge final method remove(p0: int): java.lang.Object
public bridge method removeAt(p0: int): java.lang.Object
public bridge final method size(): int
}
@kotlin.Metadata
public abstract class A4 {
// source: 'contains.kt'
public method <init>(): void
public method contains(p0: java.lang.Object): boolean
public method containsAll(@org.jetbrains.annotations.NotNull p0: java.util.Collection): boolean
public abstract method getSize(): int
public bridge final method remove(p0: int): java.lang.Object
public bridge method removeAt(p0: int): java.lang.Object
public bridge final method size(): int
}
@kotlin.Metadata
public abstract class A5 {
// source: 'contains.kt'
public method <init>(): void
public bridge final method contains(p0: java.lang.Object): boolean
public bridge method contains(p0: java.lang.String): boolean
public abstract method getSize(): int
public bridge final method indexOf(p0: java.lang.Object): int
public bridge method indexOf(p0: java.lang.String): int
public bridge final method lastIndexOf(p0: java.lang.Object): int
public bridge method lastIndexOf(p0: java.lang.String): int
public synthetic bridge method remove(p0: int): java.lang.Object
public bridge final method remove(p0: int): java.lang.String
public bridge final method remove(p0: java.lang.Object): boolean
public bridge method remove(p0: java.lang.String): boolean
public bridge method removeAt(p0: int): java.lang.String
public bridge final method size(): int
}
@kotlin.Metadata
public abstract class A6 {
// source: 'contains.kt'
public method <init>(): void
public method contains(@org.jetbrains.annotations.NotNull p0: java.lang.String): boolean
public bridge final method contains(p0: java.lang.Object): boolean
public method containsAll(@org.jetbrains.annotations.NotNull p0: java.util.Collection): boolean
public abstract method getSize(): int
public bridge final method indexOf(p0: java.lang.Object): int
public bridge method indexOf(p0: java.lang.String): int
public bridge final method lastIndexOf(p0: java.lang.Object): int
public bridge method lastIndexOf(p0: java.lang.String): int
public synthetic bridge method remove(p0: int): java.lang.Object
public bridge final method remove(p0: int): java.lang.String
public bridge final method remove(p0: java.lang.Object): boolean
public bridge method remove(p0: java.lang.String): boolean
public bridge method removeAt(p0: int): java.lang.String
public bridge final method size(): int
}
@kotlin.Metadata
public abstract class A7 {
// source: 'contains.kt'
public method <init>(): void
public method contains(p0: int): boolean
public bridge final method contains(p0: java.lang.Object): boolean
public abstract method getSize(): int
public abstract method remove(p0: java.lang.Integer): boolean
public bridge final method remove(p0: java.lang.Object): boolean
public bridge final method size(): int
public method toArray(): java.lang.Object[]
public method toArray(p0: java.lang.Object[]): java.lang.Object[]
}
@kotlin.Metadata
public abstract class A8 {
// source: 'contains.kt'
public method <init>(): void
public method contains(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public abstract method getSize(): int
public bridge final method size(): int
public method toArray(): java.lang.Object[]
public method toArray(p0: java.lang.Object[]): java.lang.Object[]
}
@kotlin.Metadata
public final class I1$DefaultImpls {
// source: 'contains.kt'
public static method contains(@org.jetbrains.annotations.NotNull p0: I1, p1: java.lang.Object): boolean
public static method containsAll(@org.jetbrains.annotations.NotNull p0: I1, @org.jetbrains.annotations.NotNull p1: java.util.Collection): boolean
public final inner class I1$DefaultImpls
}
@kotlin.Metadata
public interface I1 {
// source: 'contains.kt'
public abstract method contains(p0: java.lang.Object): boolean
public abstract method containsAll(@org.jetbrains.annotations.NotNull p0: java.util.Collection): boolean
public final inner class I1$DefaultImpls
}
@kotlin.Metadata
public final class I2$DefaultImpls {
// source: 'contains.kt'
public static method contains(@org.jetbrains.annotations.NotNull p0: I2, @org.jetbrains.annotations.NotNull p1: java.lang.String): boolean
public static method containsAll(@org.jetbrains.annotations.NotNull p0: I2, @org.jetbrains.annotations.NotNull p1: java.util.Collection): boolean
public final inner class I2$DefaultImpls
}
@kotlin.Metadata
public interface I2 {
// source: 'contains.kt'
public abstract method contains(@org.jetbrains.annotations.NotNull p0: java.lang.String): boolean
public abstract method containsAll(@org.jetbrains.annotations.NotNull p0: java.util.Collection): boolean
public final inner class I2$DefaultImpls
}