From ebfc4317336d7d72b35521a9f1c9d4715bae78db Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Wed, 17 Mar 2021 08:39:21 +0300 Subject: [PATCH] FIR body resolve context: fix accessor scope handling --- .../fir/backend/Fir2IrDeclarationStorage.kt | 4 +- .../runners/ir/Fir2IrTextTestGenerated.java | 6 + .../body/resolve/BodyResolveContext.kt | 6 +- .../ir/irText/firProblems/ArrayMap.fir.kt.txt | 326 +++++++ .../ir/irText/firProblems/ArrayMap.fir.txt | 836 +++++++++++++++++ .../ir/irText/firProblems/ArrayMap.kt | 138 +++ .../ir/irText/firProblems/ArrayMap.kt.txt | 349 +++++++ .../ir/irText/firProblems/ArrayMap.txt | 851 ++++++++++++++++++ .../test/runners/ir/IrTextTestGenerated.java | 6 + 9 files changed, 2520 insertions(+), 2 deletions(-) create mode 100644 compiler/testData/ir/irText/firProblems/ArrayMap.fir.kt.txt create mode 100644 compiler/testData/ir/irText/firProblems/ArrayMap.fir.txt create mode 100644 compiler/testData/ir/irText/firProblems/ArrayMap.kt create mode 100644 compiler/testData/ir/irText/firProblems/ArrayMap.kt.txt create mode 100644 compiler/testData/ir/irText/firProblems/ArrayMap.txt diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt index e1069bd7e99..ac527d8b75d 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt @@ -1226,7 +1226,9 @@ class Fir2IrDeclarationStorage( private fun getIrVariableSymbol(firVariable: FirVariable<*>): IrVariableSymbol { return localStorage.getVariable(firVariable)?.symbol - ?: throw IllegalArgumentException("Cannot find variable ${firVariable.render()} in local storage") + ?: run { + throw IllegalArgumentException("Cannot find variable ${firVariable.render()} in local storage") + } } fun getIrValueSymbol(firVariableSymbol: FirVariableSymbol<*>): IrSymbol { diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/Fir2IrTextTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/Fir2IrTextTestGenerated.java index 8156c086269..080b37be26d 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/Fir2IrTextTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/Fir2IrTextTestGenerated.java @@ -2110,6 +2110,12 @@ public class Fir2IrTextTestGenerated extends AbstractFir2IrTextTest { runTest("compiler/testData/ir/irText/firProblems/AnnotationLoader.kt"); } + @Test + @TestMetadata("ArrayMap.kt") + public void testArrayMap() throws Exception { + runTest("compiler/testData/ir/irText/firProblems/ArrayMap.kt"); + } + @Test @TestMetadata("candidateSymbol.kt") public void testCandidateSymbol() throws Exception { diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext.kt index 62d4b4f7e31..3b933cbd702 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext.kt @@ -606,7 +606,11 @@ class BodyResolveContext( f: () -> T ): T { if (accessor is FirDefaultPropertyAccessor || accessor.body == null) { - return withContainer(accessor, f) + return if (accessor.isGetter) withContainer(accessor, f) + else withTowerDataCleanup { + addLocalScope(FirLocalScope()) + withContainer(accessor, f) + } } return withTowerDataCleanup { val receiverTypeRef = property.receiverTypeRef diff --git a/compiler/testData/ir/irText/firProblems/ArrayMap.fir.kt.txt b/compiler/testData/ir/irText/firProblems/ArrayMap.fir.kt.txt new file mode 100644 index 00000000000..871cb1acf00 --- /dev/null +++ b/compiler/testData/ir/irText/firProblems/ArrayMap.fir.kt.txt @@ -0,0 +1,326 @@ +sealed class ArrayMap : Iterable { + protected constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + abstract val size: Int + abstract get + + abstract operator fun set(index: Int, value: T) + abstract operator fun get(index: Int): T? + abstract fun copy(): ArrayMap + +} + +fun ArrayMap<*>.isEmpty(): Boolean { + return EQEQ(arg0 = .(), arg1 = 0) +} + +fun ArrayMap<*>.isNotEmpty(): Boolean { + return EQEQ(arg0 = .(), arg1 = 0).not() +} + +internal object EmptyArrayMap : ArrayMap { + private constructor() /* primary */ { + super/*ArrayMap*/() + /* () */ + + } + + override val size: Int + override get(): Int { + return 0 + } + + override operator fun set(index: Int, value: Nothing) { + throw IllegalStateException() + } + + override operator fun get(index: Int): Nothing? { + return null + } + + override fun copy(): ArrayMap { + return + } + + override operator fun iterator(): Iterator { + return { // BLOCK + local class : Iterator { + private constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override operator fun hasNext(): Boolean { + return false + } + + override operator fun next(): Nothing { + return throw NoSuchElementException() + } + + } + + () + } + } + +} + +internal class OneElementArrayMap : ArrayMap { + constructor(value: T, index: Int) /* primary */ { + super/*ArrayMap*/() + /* () */ + + } + + val value: T + field = value + get + + val index: Int + field = index + get + + override val size: Int + override get(): Int { + return 1 + } + + override operator fun set(index: Int, value: T) { + throw IllegalStateException() + } + + override operator fun get(index: Int): T? { + return when { + EQEQ(arg0 = index, arg1 = .()) -> .() + else -> null + } + } + + override fun copy(): ArrayMap { + return OneElementArrayMap(value = .(), index = .()) + } + + override operator fun iterator(): Iterator { + return { // BLOCK + local class : Iterator { + private constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + private var notVisited: Boolean + field = true + private get + private set + + override operator fun hasNext(): Boolean { + return .() + } + + override operator fun next(): T { + when { + .() -> { // BLOCK + .( = false) + return .() + } + else -> throw NoSuchElementException() + } + } + + } + + () + } + } + +} + +internal class ArrayMapImpl : ArrayMap { + private constructor(data: Array) /* primary */ { + super/*ArrayMap*/() + /* () */ + + } + + private var data: Array + field = data + private get + private set + + companion object Companion { + private constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + private const val DEFAULT_SIZE: Int + field = 20 + private get + + private const val INCREASE_K: Int + field = 2 + private get + + } + + constructor() { + this/*ArrayMapImpl*/(data = arrayOfNulls(size = Companion.())) + } + + override var size: Int + field = 0 + override get + private set + + private fun ensureCapacity(index: Int) { + when { + lessOrEqual(arg0 = .().(), arg1 = index) -> { // BLOCK + .( = .().copyOf(newSize = .().().times(other = Companion.()))) + } + } + } + + override operator fun set(index: Int, value: T) { + .ensureCapacity(index = index) + when { + EQEQ(arg0 = .().get(index = index), arg1 = null) -> { // BLOCK + val : Int = .() + .( = .inc()) + + } + } + .().set(index = index, value = value) + } + + override operator fun get(index: Int): T? { + return .().getOrNull(index = index) as T? + } + + override fun copy(): ArrayMap { + return ArrayMapImpl(data = .().copyOf()) + } + + override operator fun iterator(): Iterator { + return { // BLOCK + local class : AbstractIterator { + private constructor() /* primary */ { + super/*AbstractIterator*/() + /* () */ + + } + + private var index: Int + field = -1 + private get + private set + + protected override fun computeNext() { + do// COMPOSITE { + val : Int = .() + .( = .inc()) + + // } while (when { + less(arg0 = .(), arg1 = .().()) -> EQEQ(arg0 = .().get(index = .()), arg1 = null) + else -> false + }) + when { + greaterOrEqual(arg0 = .(), arg1 = .().()) -> .done() + else -> .setNext(value = .().get(index = .()) as T) + } + } + + } + + () + } + } + + fun remove(index: Int) { + when { + EQEQ(arg0 = .().get(index = index), arg1 = null).not() -> { // BLOCK + val : Int = .() + .( = .dec()) + + } + } + .().set(index = index, value = null) + } + + fun entries(): List> { + return .().mapIndexedNotNull>(transform = local fun (index: @ParameterName(name = "index") Int, value: Any?): Entry? { + return when { + EQEQ(arg0 = value, arg1 = null).not() -> Entry(key = index, value = value as T) + else -> null + } + } +) + } + + data class Entry : Entry { + constructor(key: Int, value: T) /* primary */ { + super/*Any*/() + /* () */ + + } + + override val key: Int + field = key + override get + + override val value: T + field = value + override get + + operator fun component1(): Int { + return .#key + } + + operator fun component2(): T { + return .#value + } + + fun copy(key: Int = .#key, value: T = .#value): Entry { + return Entry(key = key, value = value) + } + + override fun equals(other: Any?): Boolean { + when { + EQEQEQ(arg0 = , arg1 = other) -> return true + } + when { + other !is Entry -> return false + } + val tmp0_other_with_cast: Entry = other as Entry + when { + EQEQ(arg0 = .#key, arg1 = tmp0_other_with_cast.#key).not() -> return false + } + when { + EQEQ(arg0 = .#value, arg1 = tmp0_other_with_cast.#value).not() -> return false + } + return true + } + + override fun hashCode(): Int { + var result: Int = .#key.hashCode() + result = result.times(other = 31).plus(other = when { + EQEQ(arg0 = .#value, arg1 = null) -> 0 + else -> .#value.hashCode() + }) + return result + } + + override fun toString(): String { + return "Entry(" + "key=" + .#key + ", " + "value=" + .#value + ")" + } + + } + +} diff --git a/compiler/testData/ir/irText/firProblems/ArrayMap.fir.txt b/compiler/testData/ir/irText/firProblems/ArrayMap.fir.txt new file mode 100644 index 00000000000..5ce43cb791f --- /dev/null +++ b/compiler/testData/ir/irText/firProblems/ArrayMap.fir.txt @@ -0,0 +1,836 @@ +FILE fqName: fileName:/ArrayMap.kt + CLASS CLASS name:ArrayMap modality:SEALED visibility:public superTypes:[kotlin.collections.Iterable.ArrayMap>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ArrayMap.ArrayMap> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + CONSTRUCTOR visibility:protected <> () returnType:.ArrayMap.ArrayMap> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:ArrayMap modality:SEALED visibility:public superTypes:[kotlin.collections.Iterable.ArrayMap>]' + PROPERTY name:size visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.ArrayMap.ArrayMap>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.ArrayMap.ArrayMap> + FUN name:set visibility:public modality:ABSTRACT <> ($this:.ArrayMap.ArrayMap>, index:kotlin.Int, value:T of .ArrayMap) returnType:kotlin.Unit [operator] + $this: VALUE_PARAMETER name: type:.ArrayMap.ArrayMap> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:value index:1 type:T of .ArrayMap + FUN name:get visibility:public modality:ABSTRACT <> ($this:.ArrayMap.ArrayMap>, index:kotlin.Int) returnType:T of .ArrayMap? [operator] + $this: VALUE_PARAMETER name: type:.ArrayMap.ArrayMap> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN name:copy visibility:public modality:ABSTRACT <> ($this:.ArrayMap.ArrayMap>) returnType:.ArrayMap.ArrayMap> + $this: VALUE_PARAMETER name: type:.ArrayMap.ArrayMap> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterable) returnType:kotlin.collections.Iterator.ArrayMap> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.Iterator [operator] declared in kotlin.collections.Iterable + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:isEmpty visibility:public modality:FINAL <> ($receiver:.ArrayMap<*>) returnType:kotlin.Boolean + $receiver: VALUE_PARAMETER name: type:.ArrayMap<*> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun isEmpty (): kotlin.Boolean declared in ' + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: CALL 'public abstract fun (): kotlin.Int declared in .ArrayMap' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMap<*> declared in .isEmpty' type=.ArrayMap<*> origin=null + arg1: CONST Int type=kotlin.Int value=0 + FUN name:isNotEmpty visibility:public modality:FINAL <> ($receiver:.ArrayMap<*>) returnType:kotlin.Boolean + $receiver: VALUE_PARAMETER name: type:.ArrayMap<*> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun isNotEmpty (): kotlin.Boolean declared in ' + CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ + $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public abstract fun (): kotlin.Int declared in .ArrayMap' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMap<*> declared in .isNotEmpty' type=.ArrayMap<*> origin=null + arg1: CONST Int type=kotlin.Int value=0 + CLASS OBJECT name:EmptyArrayMap modality:FINAL visibility:internal superTypes:[.ArrayMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.EmptyArrayMap + CONSTRUCTOR visibility:private <> () returnType:.EmptyArrayMap [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'protected constructor () [primary] declared in .ArrayMap' + : kotlin.Nothing + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:EmptyArrayMap modality:FINAL visibility:internal superTypes:[.ArrayMap]' + PROPERTY name:size visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($this:.EmptyArrayMap) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:FINAL [val] + overridden: + public abstract fun (): kotlin.Int declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.EmptyArrayMap + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .EmptyArrayMap' + CONST Int type=kotlin.Int value=0 + FUN name:set visibility:public modality:FINAL <> ($this:.EmptyArrayMap, index:kotlin.Int, value:kotlin.Nothing) returnType:kotlin.Unit [operator] + overridden: + public abstract fun set (index: kotlin.Int, value: T of .ArrayMap): kotlin.Unit [operator] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.EmptyArrayMap + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:value index:1 type:kotlin.Nothing + BLOCK_BODY + THROW type=kotlin.Nothing + CONSTRUCTOR_CALL 'public constructor () declared in java.lang.IllegalStateException' type=java.lang.IllegalStateException origin=null + FUN name:get visibility:public modality:FINAL <> ($this:.EmptyArrayMap, index:kotlin.Int) returnType:kotlin.Nothing? [operator] + overridden: + public abstract fun get (index: kotlin.Int): T of .ArrayMap? [operator] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.EmptyArrayMap + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun get (index: kotlin.Int): kotlin.Nothing? [operator] declared in .EmptyArrayMap' + CONST Null type=kotlin.Nothing? value=null + FUN name:copy visibility:public modality:FINAL <> ($this:.EmptyArrayMap) returnType:.ArrayMap + overridden: + public abstract fun copy (): .ArrayMap.ArrayMap> declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.EmptyArrayMap + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun copy (): .ArrayMap declared in .EmptyArrayMap' + GET_VAR ': .EmptyArrayMap declared in .EmptyArrayMap.copy' type=.EmptyArrayMap origin=null + FUN name:iterator visibility:public modality:FINAL <> ($this:.EmptyArrayMap) returnType:kotlin.collections.Iterator [operator] + overridden: + public abstract fun iterator (): kotlin.collections.Iterator.ArrayMap> [fake_override,operator] declared in .ArrayMap + public abstract fun iterator (): kotlin.collections.Iterator [operator] declared in kotlin.collections.Iterable + $this: VALUE_PARAMETER name: type:.EmptyArrayMap + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun iterator (): kotlin.collections.Iterator [operator] declared in .EmptyArrayMap' + BLOCK type=.EmptyArrayMap.iterator. origin=OBJECT_LITERAL + CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.collections.Iterator] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.EmptyArrayMap.iterator. + CONSTRUCTOR visibility:private <> () returnType:.EmptyArrayMap.iterator. [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.collections.Iterator]' + FUN name:hasNext visibility:public modality:FINAL <> ($this:.EmptyArrayMap.iterator.) returnType:kotlin.Boolean [operator] + overridden: + public abstract fun hasNext (): kotlin.Boolean [operator] declared in kotlin.collections.Iterator + $this: VALUE_PARAMETER name: type:.EmptyArrayMap.iterator. + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun hasNext (): kotlin.Boolean [operator] declared in .EmptyArrayMap.iterator.' + CONST Boolean type=kotlin.Boolean value=false + FUN name:next visibility:public modality:FINAL <> ($this:.EmptyArrayMap.iterator.) returnType:kotlin.Nothing [operator] + overridden: + public abstract fun next (): T of kotlin.collections.Iterator [operator] declared in kotlin.collections.Iterator + $this: VALUE_PARAMETER name: type:.EmptyArrayMap.iterator. + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun next (): kotlin.Nothing [operator] declared in .EmptyArrayMap.iterator.' + THROW type=kotlin.Nothing + CONSTRUCTOR_CALL 'public constructor () declared in java.util.NoSuchElementException' type=java.util.NoSuchElementException origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CONSTRUCTOR_CALL 'private constructor () [primary] declared in .EmptyArrayMap.iterator.' type=.EmptyArrayMap.iterator. origin=OBJECT_LITERAL + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:OneElementArrayMap modality:FINAL visibility:internal superTypes:[.ArrayMap.OneElementArrayMap>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.OneElementArrayMap.OneElementArrayMap> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + CONSTRUCTOR visibility:public <> (value:T of .OneElementArrayMap, index:kotlin.Int) returnType:.OneElementArrayMap.OneElementArrayMap> [primary] + VALUE_PARAMETER name:value index:0 type:T of .OneElementArrayMap + VALUE_PARAMETER name:index index:1 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'protected constructor () [primary] declared in .ArrayMap' + : T of .OneElementArrayMap + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:OneElementArrayMap modality:FINAL visibility:internal superTypes:[.ArrayMap.OneElementArrayMap>]' + PROPERTY name:value visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value type:T of .OneElementArrayMap visibility:private [final] + EXPRESSION_BODY + GET_VAR 'value: T of .OneElementArrayMap declared in .OneElementArrayMap.' type=T of .OneElementArrayMap origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.OneElementArrayMap.OneElementArrayMap>) returnType:T of .OneElementArrayMap + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.OneElementArrayMap.OneElementArrayMap> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): T of .OneElementArrayMap declared in .OneElementArrayMap' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .OneElementArrayMap visibility:private [final]' type=T of .OneElementArrayMap origin=null + receiver: GET_VAR ': .OneElementArrayMap.OneElementArrayMap> declared in .OneElementArrayMap.' type=.OneElementArrayMap.OneElementArrayMap> origin=null + PROPERTY name:index visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:index type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'index: kotlin.Int declared in .OneElementArrayMap.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.OneElementArrayMap.OneElementArrayMap>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:index visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.OneElementArrayMap.OneElementArrayMap> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .OneElementArrayMap' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:index type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .OneElementArrayMap.OneElementArrayMap> declared in .OneElementArrayMap.' type=.OneElementArrayMap.OneElementArrayMap> origin=null + PROPERTY name:size visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($this:.OneElementArrayMap.OneElementArrayMap>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:FINAL [val] + overridden: + public abstract fun (): kotlin.Int declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.OneElementArrayMap.OneElementArrayMap> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .OneElementArrayMap' + CONST Int type=kotlin.Int value=1 + FUN name:set visibility:public modality:FINAL <> ($this:.OneElementArrayMap.OneElementArrayMap>, index:kotlin.Int, value:T of .OneElementArrayMap) returnType:kotlin.Unit [operator] + overridden: + public abstract fun set (index: kotlin.Int, value: T of .ArrayMap): kotlin.Unit [operator] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.OneElementArrayMap.OneElementArrayMap> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:value index:1 type:T of .OneElementArrayMap + BLOCK_BODY + THROW type=kotlin.Nothing + CONSTRUCTOR_CALL 'public constructor () declared in java.lang.IllegalStateException' type=java.lang.IllegalStateException origin=null + FUN name:get visibility:public modality:FINAL <> ($this:.OneElementArrayMap.OneElementArrayMap>, index:kotlin.Int) returnType:T of .OneElementArrayMap? [operator] + overridden: + public abstract fun get (index: kotlin.Int): T of .ArrayMap? [operator] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.OneElementArrayMap.OneElementArrayMap> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun get (index: kotlin.Int): T of .OneElementArrayMap? [operator] declared in .OneElementArrayMap' + WHEN type=T of .OneElementArrayMap? origin=IF + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'index: kotlin.Int declared in .OneElementArrayMap.get' type=kotlin.Int origin=null + arg1: CALL 'public final fun (): kotlin.Int declared in .OneElementArrayMap' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .OneElementArrayMap.OneElementArrayMap> declared in .OneElementArrayMap.get' type=.OneElementArrayMap.OneElementArrayMap> origin=null + then: CALL 'public final fun (): T of .OneElementArrayMap declared in .OneElementArrayMap' type=T of .OneElementArrayMap origin=GET_PROPERTY + $this: GET_VAR ': .OneElementArrayMap.OneElementArrayMap> declared in .OneElementArrayMap.get' type=.OneElementArrayMap.OneElementArrayMap> origin=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CONST Null type=kotlin.Nothing? value=null + FUN name:copy visibility:public modality:FINAL <> ($this:.OneElementArrayMap.OneElementArrayMap>) returnType:.ArrayMap.OneElementArrayMap> + overridden: + public abstract fun copy (): .ArrayMap.ArrayMap> declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.OneElementArrayMap.OneElementArrayMap> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun copy (): .ArrayMap.OneElementArrayMap> declared in .OneElementArrayMap' + CONSTRUCTOR_CALL 'public constructor (value: T of .OneElementArrayMap, index: kotlin.Int) [primary] declared in .OneElementArrayMap' type=.OneElementArrayMap.OneElementArrayMap> origin=null + : T of .OneElementArrayMap + value: CALL 'public final fun (): T of .OneElementArrayMap declared in .OneElementArrayMap' type=T of .OneElementArrayMap origin=GET_PROPERTY + $this: GET_VAR ': .OneElementArrayMap.OneElementArrayMap> declared in .OneElementArrayMap.copy' type=.OneElementArrayMap.OneElementArrayMap> origin=null + index: CALL 'public final fun (): kotlin.Int declared in .OneElementArrayMap' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .OneElementArrayMap.OneElementArrayMap> declared in .OneElementArrayMap.copy' type=.OneElementArrayMap.OneElementArrayMap> origin=null + FUN name:iterator visibility:public modality:FINAL <> ($this:.OneElementArrayMap.OneElementArrayMap>) returnType:kotlin.collections.Iterator.OneElementArrayMap> [operator] + overridden: + public abstract fun iterator (): kotlin.collections.Iterator.ArrayMap> [fake_override,operator] declared in .ArrayMap + public abstract fun iterator (): kotlin.collections.Iterator [operator] declared in kotlin.collections.Iterable + $this: VALUE_PARAMETER name: type:.OneElementArrayMap.OneElementArrayMap> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun iterator (): kotlin.collections.Iterator.OneElementArrayMap> [operator] declared in .OneElementArrayMap' + BLOCK type=.OneElementArrayMap.iterator..OneElementArrayMap> origin=OBJECT_LITERAL + CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.collections.Iterator.OneElementArrayMap>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.OneElementArrayMap.iterator..OneElementArrayMap> + CONSTRUCTOR visibility:private <> () returnType:.OneElementArrayMap.iterator..OneElementArrayMap> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.collections.Iterator.OneElementArrayMap>]' + PROPERTY name:notVisited visibility:private modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:notVisited type:kotlin.Boolean visibility:private + EXPRESSION_BODY + CONST Boolean type=kotlin.Boolean value=true + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.OneElementArrayMap.iterator..OneElementArrayMap>) returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:notVisited visibility:private modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.OneElementArrayMap.iterator..OneElementArrayMap> + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Boolean declared in .OneElementArrayMap.iterator.' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:notVisited type:kotlin.Boolean visibility:private' type=kotlin.Boolean origin=null + receiver: GET_VAR ': .OneElementArrayMap.iterator..OneElementArrayMap> declared in .OneElementArrayMap.iterator..' type=.OneElementArrayMap.iterator..OneElementArrayMap> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.OneElementArrayMap.iterator..OneElementArrayMap>, :kotlin.Boolean) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:notVisited visibility:private modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.OneElementArrayMap.iterator..OneElementArrayMap> + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:notVisited type:kotlin.Boolean visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .OneElementArrayMap.iterator..OneElementArrayMap> declared in .OneElementArrayMap.iterator..' type=.OneElementArrayMap.iterator..OneElementArrayMap> origin=null + value: GET_VAR ': kotlin.Boolean declared in .OneElementArrayMap.iterator..' type=kotlin.Boolean origin=null + FUN name:hasNext visibility:public modality:FINAL <> ($this:.OneElementArrayMap.iterator..OneElementArrayMap>) returnType:kotlin.Boolean [operator] + overridden: + public abstract fun hasNext (): kotlin.Boolean [operator] declared in kotlin.collections.Iterator + $this: VALUE_PARAMETER name: type:.OneElementArrayMap.iterator..OneElementArrayMap> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun hasNext (): kotlin.Boolean [operator] declared in .OneElementArrayMap.iterator.' + CALL 'private final fun (): kotlin.Boolean declared in .OneElementArrayMap.iterator.' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR ': .OneElementArrayMap.iterator..OneElementArrayMap> declared in .OneElementArrayMap.iterator..hasNext' type=.OneElementArrayMap.iterator..OneElementArrayMap> origin=null + FUN name:next visibility:public modality:FINAL <> ($this:.OneElementArrayMap.iterator..OneElementArrayMap>) returnType:T of .OneElementArrayMap [operator] + overridden: + public abstract fun next (): T of kotlin.collections.Iterator [operator] declared in kotlin.collections.Iterator + $this: VALUE_PARAMETER name: type:.OneElementArrayMap.iterator..OneElementArrayMap> + BLOCK_BODY + WHEN type=kotlin.Nothing origin=IF + BRANCH + if: CALL 'private final fun (): kotlin.Boolean declared in .OneElementArrayMap.iterator.' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR ': .OneElementArrayMap.iterator..OneElementArrayMap> declared in .OneElementArrayMap.iterator..next' type=.OneElementArrayMap.iterator..OneElementArrayMap> origin=null + then: BLOCK type=kotlin.Nothing origin=null + CALL 'private final fun (: kotlin.Boolean): kotlin.Unit declared in .OneElementArrayMap.iterator.' type=kotlin.Unit origin=EQ + $this: GET_VAR ': .OneElementArrayMap.iterator..OneElementArrayMap> declared in .OneElementArrayMap.iterator..next' type=.OneElementArrayMap.iterator..OneElementArrayMap> origin=null + : CONST Boolean type=kotlin.Boolean value=false + RETURN type=kotlin.Nothing from='public final fun next (): T of .OneElementArrayMap [operator] declared in .OneElementArrayMap.iterator.' + CALL 'public final fun (): T of .OneElementArrayMap declared in .OneElementArrayMap' type=T of .OneElementArrayMap origin=GET_PROPERTY + $this: GET_VAR ': .OneElementArrayMap.OneElementArrayMap> declared in .OneElementArrayMap.iterator' type=.OneElementArrayMap.OneElementArrayMap> origin=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: THROW type=kotlin.Nothing + CONSTRUCTOR_CALL 'public constructor () declared in java.util.NoSuchElementException' type=java.util.NoSuchElementException origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CONSTRUCTOR_CALL 'private constructor () [primary] declared in .OneElementArrayMap.iterator.' type=.OneElementArrayMap.iterator..OneElementArrayMap> origin=OBJECT_LITERAL + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:ArrayMapImpl modality:FINAL visibility:internal superTypes:[.ArrayMap.ArrayMapImpl>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ArrayMapImpl.ArrayMapImpl> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + CONSTRUCTOR visibility:private <> (data:kotlin.Array) returnType:.ArrayMapImpl.ArrayMapImpl> [primary] + VALUE_PARAMETER name:data index:0 type:kotlin.Array + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'protected constructor () [primary] declared in .ArrayMap' + : T of .ArrayMapImpl + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:ArrayMapImpl modality:FINAL visibility:internal superTypes:[.ArrayMap.ArrayMapImpl>]' + PROPERTY name:data visibility:private modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:data type:kotlin.Array visibility:private + EXPRESSION_BODY + GET_VAR 'data: kotlin.Array declared in .ArrayMapImpl.' type=kotlin.Array origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.ArrayMapImpl.ArrayMapImpl>) returnType:kotlin.Array + correspondingProperty: PROPERTY name:data visibility:private modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.ArrayMapImpl> + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Array declared in .ArrayMapImpl' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:data type:kotlin.Array visibility:private' type=kotlin.Array origin=null + receiver: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.' type=.ArrayMapImpl.ArrayMapImpl> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.ArrayMapImpl.ArrayMapImpl>, :kotlin.Array) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:data visibility:private modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.ArrayMapImpl> + VALUE_PARAMETER name: index:0 type:kotlin.Array + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:data type:kotlin.Array visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.' type=.ArrayMapImpl.ArrayMapImpl> origin=null + value: GET_VAR ': kotlin.Array declared in .ArrayMapImpl.' type=kotlin.Array origin=null + CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ArrayMapImpl.Companion + CONSTRUCTOR visibility:private <> () returnType:.ArrayMapImpl.Companion [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' + PROPERTY name:DEFAULT_SIZE visibility:private modality:FINAL [const,val] + FIELD PROPERTY_BACKING_FIELD name:DEFAULT_SIZE type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=20 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.ArrayMapImpl.Companion) returnType:kotlin.Int + correspondingProperty: PROPERTY name:DEFAULT_SIZE visibility:private modality:FINAL [const,val] + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.Companion + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .ArrayMapImpl.Companion' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:DEFAULT_SIZE type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .ArrayMapImpl.Companion declared in .ArrayMapImpl.Companion.' type=.ArrayMapImpl.Companion origin=null + PROPERTY name:INCREASE_K visibility:private modality:FINAL [const,val] + FIELD PROPERTY_BACKING_FIELD name:INCREASE_K type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=2 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.ArrayMapImpl.Companion) returnType:kotlin.Int + correspondingProperty: PROPERTY name:INCREASE_K visibility:private modality:FINAL [const,val] + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.Companion + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .ArrayMapImpl.Companion' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:INCREASE_K type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .ArrayMapImpl.Companion declared in .ArrayMapImpl.Companion.' type=.ArrayMapImpl.Companion origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CONSTRUCTOR visibility:public <> () returnType:.ArrayMapImpl.ArrayMapImpl> + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'private constructor (data: kotlin.Array) [primary] declared in .ArrayMapImpl' + : T of .ArrayMapImpl + data: CALL 'public final fun arrayOfNulls (size: kotlin.Int): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.Any + size: CALL 'private final fun (): kotlin.Int declared in .ArrayMapImpl.Companion' type=kotlin.Int origin=GET_PROPERTY + $this: GET_OBJECT 'CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' type=.ArrayMapImpl.Companion + PROPERTY name:size visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=0 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.ArrayMapImpl.ArrayMapImpl>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:FINAL [var] + overridden: + public abstract fun (): kotlin.Int declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.ArrayMapImpl> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .ArrayMapImpl' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.' type=.ArrayMapImpl.ArrayMapImpl> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.ArrayMapImpl.ArrayMapImpl>, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:size visibility:public modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.ArrayMapImpl> + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.' type=.ArrayMapImpl.ArrayMapImpl> origin=null + value: GET_VAR ': kotlin.Int declared in .ArrayMapImpl.' type=kotlin.Int origin=null + FUN name:ensureCapacity visibility:private modality:FINAL <> ($this:.ArrayMapImpl.ArrayMapImpl>, index:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.ArrayMapImpl> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + WHEN type=kotlin.Unit origin=IF + BRANCH + if: CALL 'public final fun lessOrEqual (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LTEQ + arg0: CALL 'public final fun (): kotlin.Int declared in kotlin.Array' type=kotlin.Int origin=GET_PROPERTY + $this: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.ensureCapacity' type=.ArrayMapImpl.ArrayMapImpl> origin=null + arg1: GET_VAR 'index: kotlin.Int declared in .ArrayMapImpl.ensureCapacity' type=kotlin.Int origin=null + then: BLOCK type=kotlin.Unit origin=null + CALL 'private final fun (: kotlin.Array): kotlin.Unit declared in .ArrayMapImpl' type=kotlin.Unit origin=EQ + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.ensureCapacity' type=.ArrayMapImpl.ArrayMapImpl> origin=null + : CALL 'public final fun copyOf (newSize: kotlin.Int): kotlin.Array [inline] declared in kotlin.collections.ArraysKt' type=kotlin.Array origin=null + : kotlin.Any? + $receiver: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.ensureCapacity' type=.ArrayMapImpl.ArrayMapImpl> origin=null + newSize: CALL 'public final fun times (other: kotlin.Int): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=MUL + $this: CALL 'public final fun (): kotlin.Int declared in kotlin.Array' type=kotlin.Int origin=GET_PROPERTY + $this: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.ensureCapacity' type=.ArrayMapImpl.ArrayMapImpl> origin=null + other: CALL 'private final fun (): kotlin.Int declared in .ArrayMapImpl.Companion' type=kotlin.Int origin=GET_PROPERTY + $this: GET_OBJECT 'CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' type=.ArrayMapImpl.Companion + FUN name:set visibility:public modality:FINAL <> ($this:.ArrayMapImpl.ArrayMapImpl>, index:kotlin.Int, value:T of .ArrayMapImpl) returnType:kotlin.Unit [operator] + overridden: + public abstract fun set (index: kotlin.Int, value: T of .ArrayMap): kotlin.Unit [operator] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.ArrayMapImpl> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:value index:1 type:T of .ArrayMapImpl + BLOCK_BODY + CALL 'private final fun ensureCapacity (index: kotlin.Int): kotlin.Unit declared in .ArrayMapImpl' type=kotlin.Unit origin=null + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.set' type=.ArrayMapImpl.ArrayMapImpl> origin=null + index: GET_VAR 'index: kotlin.Int declared in .ArrayMapImpl.set' type=kotlin.Int origin=null + WHEN type=kotlin.Unit origin=IF + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array [operator] declared in kotlin.Array' type=kotlin.Any? origin=null + $this: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.set' type=.ArrayMapImpl.ArrayMapImpl> origin=null + index: GET_VAR 'index: kotlin.Int declared in .ArrayMapImpl.set' type=kotlin.Int origin=null + arg1: CONST Null type=kotlin.Nothing? value=null + then: BLOCK type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlin.Int [val] + CALL 'public final fun (): kotlin.Int declared in .ArrayMapImpl' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.set' type=.ArrayMapImpl.ArrayMapImpl> origin=null + CALL 'private final fun (: kotlin.Int): kotlin.Unit declared in .ArrayMapImpl' type=kotlin.Unit origin=EQ + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.set' type=.ArrayMapImpl.ArrayMapImpl> origin=null + : CALL 'public final fun inc (): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'val tmp_0: kotlin.Int [val] declared in .ArrayMapImpl.set' type=kotlin.Int origin=null + GET_VAR 'val tmp_0: kotlin.Int [val] declared in .ArrayMapImpl.set' type=kotlin.Int origin=null + CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit [operator] declared in kotlin.Array' type=kotlin.Unit origin=null + $this: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.set' type=.ArrayMapImpl.ArrayMapImpl> origin=null + index: GET_VAR 'index: kotlin.Int declared in .ArrayMapImpl.set' type=kotlin.Int origin=null + value: GET_VAR 'value: T of .ArrayMapImpl declared in .ArrayMapImpl.set' type=T of .ArrayMapImpl origin=null + FUN name:get visibility:public modality:FINAL <> ($this:.ArrayMapImpl.ArrayMapImpl>, index:kotlin.Int) returnType:T of .ArrayMapImpl? [operator] + overridden: + public abstract fun get (index: kotlin.Int): T of .ArrayMap? [operator] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.ArrayMapImpl> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun get (index: kotlin.Int): T of .ArrayMapImpl? [operator] declared in .ArrayMapImpl' + TYPE_OP type=T of .ArrayMapImpl? origin=CAST typeOperand=T of .ArrayMapImpl? + CALL 'public final fun getOrNull (index: kotlin.Int): T of kotlin.collections.ArraysKt.getOrNull? declared in kotlin.collections.ArraysKt' type=kotlin.Any? origin=null + : kotlin.Any? + $receiver: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.get' type=.ArrayMapImpl.ArrayMapImpl> origin=null + index: GET_VAR 'index: kotlin.Int declared in .ArrayMapImpl.get' type=kotlin.Int origin=null + FUN name:copy visibility:public modality:FINAL <> ($this:.ArrayMapImpl.ArrayMapImpl>) returnType:.ArrayMap.ArrayMapImpl> + overridden: + public abstract fun copy (): .ArrayMap.ArrayMap> declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.ArrayMapImpl> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun copy (): .ArrayMap.ArrayMapImpl> declared in .ArrayMapImpl' + CONSTRUCTOR_CALL 'private constructor (data: kotlin.Array) [primary] declared in .ArrayMapImpl' type=.ArrayMapImpl.ArrayMapImpl> origin=null + : T of .ArrayMapImpl + data: CALL 'public final fun copyOf (): kotlin.Array [inline] declared in kotlin.collections.ArraysKt' type=kotlin.Array origin=null + : kotlin.Any? + $receiver: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.copy' type=.ArrayMapImpl.ArrayMapImpl> origin=null + FUN name:iterator visibility:public modality:FINAL <> ($this:.ArrayMapImpl.ArrayMapImpl>) returnType:kotlin.collections.Iterator.ArrayMapImpl> [operator] + overridden: + public abstract fun iterator (): kotlin.collections.Iterator.ArrayMap> [fake_override,operator] declared in .ArrayMap + public abstract fun iterator (): kotlin.collections.Iterator [operator] declared in kotlin.collections.Iterable + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.ArrayMapImpl> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun iterator (): kotlin.collections.Iterator.ArrayMapImpl> [operator] declared in .ArrayMapImpl' + BLOCK type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=OBJECT_LITERAL + CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.collections.AbstractIterator.ArrayMapImpl>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ArrayMapImpl.iterator..ArrayMapImpl> + CONSTRUCTOR visibility:private <> () returnType:.ArrayMapImpl.iterator..ArrayMapImpl> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.collections.AbstractIterator' + : T of .ArrayMapImpl + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.collections.AbstractIterator.ArrayMapImpl>]' + PROPERTY name:index visibility:private modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:index type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=-1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.ArrayMapImpl.iterator..ArrayMapImpl>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:index visibility:private modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.iterator..ArrayMapImpl> + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .ArrayMapImpl.iterator.' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:index type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .ArrayMapImpl.iterator..ArrayMapImpl> declared in .ArrayMapImpl.iterator..' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.ArrayMapImpl.iterator..ArrayMapImpl>, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:index visibility:private modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.iterator..ArrayMapImpl> + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:index type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .ArrayMapImpl.iterator..ArrayMapImpl> declared in .ArrayMapImpl.iterator..' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=null + value: GET_VAR ': kotlin.Int declared in .ArrayMapImpl.iterator..' type=kotlin.Int origin=null + FUN name:computeNext visibility:protected modality:FINAL <> ($this:.ArrayMapImpl.iterator..ArrayMapImpl>) returnType:kotlin.Unit + overridden: + protected abstract fun computeNext (): kotlin.Unit declared in kotlin.collections.AbstractIterator + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.iterator..ArrayMapImpl> + BLOCK_BODY + DO_WHILE label=null origin=DO_WHILE_LOOP + body: COMPOSITE type=kotlin.Int origin=DO_WHILE_LOOP + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.Int [val] + CALL 'private final fun (): kotlin.Int declared in .ArrayMapImpl.iterator.' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.iterator..ArrayMapImpl> declared in .ArrayMapImpl.iterator..computeNext' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=null + CALL 'private final fun (: kotlin.Int): kotlin.Unit declared in .ArrayMapImpl.iterator.' type=kotlin.Unit origin=EQ + $this: GET_VAR ': .ArrayMapImpl.iterator..ArrayMapImpl> declared in .ArrayMapImpl.iterator..computeNext' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=null + : CALL 'public final fun inc (): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'val tmp_1: kotlin.Int [val] declared in .ArrayMapImpl.iterator..computeNext' type=kotlin.Int origin=null + GET_VAR 'val tmp_1: kotlin.Int [val] declared in .ArrayMapImpl.iterator..computeNext' type=kotlin.Int origin=null + condition: WHEN type=kotlin.Boolean origin=ANDAND + BRANCH + if: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: CALL 'private final fun (): kotlin.Int declared in .ArrayMapImpl.iterator.' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.iterator..ArrayMapImpl> declared in .ArrayMapImpl.iterator..computeNext' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=null + arg1: CALL 'public final fun (): kotlin.Int declared in kotlin.Array' type=kotlin.Int origin=GET_PROPERTY + $this: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.iterator' type=.ArrayMapImpl.ArrayMapImpl> origin=null + then: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array [operator] declared in kotlin.Array' type=kotlin.Any? origin=null + $this: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.iterator' type=.ArrayMapImpl.ArrayMapImpl> origin=null + index: CALL 'private final fun (): kotlin.Int declared in .ArrayMapImpl.iterator.' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.iterator..ArrayMapImpl> declared in .ArrayMapImpl.iterator..computeNext' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=null + arg1: CONST Null type=kotlin.Nothing? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CONST Boolean type=kotlin.Boolean value=false + WHEN type=kotlin.Unit origin=IF + BRANCH + if: CALL 'public final fun greaterOrEqual (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GTEQ + arg0: CALL 'private final fun (): kotlin.Int declared in .ArrayMapImpl.iterator.' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.iterator..ArrayMapImpl> declared in .ArrayMapImpl.iterator..computeNext' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=null + arg1: CALL 'public final fun (): kotlin.Int declared in kotlin.Array' type=kotlin.Int origin=GET_PROPERTY + $this: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.iterator' type=.ArrayMapImpl.ArrayMapImpl> origin=null + then: CALL 'protected final fun done (): kotlin.Unit declared in kotlin.collections.AbstractIterator' type=kotlin.Unit origin=null + $this: GET_VAR ': .ArrayMapImpl.iterator..ArrayMapImpl> declared in .ArrayMapImpl.iterator..computeNext' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'protected final fun setNext (value: T of .ArrayMapImpl): kotlin.Unit [fake_override] declared in .ArrayMapImpl.iterator.' type=kotlin.Unit origin=null + $this: GET_VAR ': .ArrayMapImpl.iterator..ArrayMapImpl> declared in .ArrayMapImpl.iterator..computeNext' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=null + value: TYPE_OP type=T of .ArrayMapImpl origin=CAST typeOperand=T of .ArrayMapImpl + CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array [operator] declared in kotlin.Array' type=kotlin.Any? origin=null + $this: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.iterator' type=.ArrayMapImpl.ArrayMapImpl> origin=null + index: CALL 'private final fun (): kotlin.Int declared in .ArrayMapImpl.iterator.' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.iterator..ArrayMapImpl> declared in .ArrayMapImpl.iterator..computeNext' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=null + FUN FAKE_OVERRIDE name:done visibility:protected modality:FINAL <> ($this:kotlin.collections.AbstractIterator) returnType:kotlin.Unit [fake_override] + overridden: + protected final fun done (): kotlin.Unit declared in kotlin.collections.AbstractIterator + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractIterator + FUN FAKE_OVERRIDE name:hasNext visibility:public modality:OPEN <> ($this:kotlin.collections.AbstractIterator) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun hasNext (): kotlin.Boolean [operator] declared in kotlin.collections.AbstractIterator + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractIterator + FUN FAKE_OVERRIDE name:next visibility:public modality:OPEN <> ($this:kotlin.collections.AbstractIterator) returnType:T of .ArrayMapImpl [fake_override,operator] + overridden: + public open fun next (): T of kotlin.collections.AbstractIterator [operator] declared in kotlin.collections.AbstractIterator + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractIterator + FUN FAKE_OVERRIDE name:setNext visibility:protected modality:FINAL <> ($this:kotlin.collections.AbstractIterator, value:T of .ArrayMapImpl) returnType:kotlin.Unit [fake_override] + overridden: + protected final fun setNext (value: T of kotlin.collections.AbstractIterator): kotlin.Unit declared in kotlin.collections.AbstractIterator + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractIterator + VALUE_PARAMETER name:value index:0 type:T of .ArrayMapImpl + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.collections.AbstractIterator + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in kotlin.collections.AbstractIterator + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in kotlin.collections.AbstractIterator + $this: VALUE_PARAMETER name: type:kotlin.Any + CONSTRUCTOR_CALL 'private constructor () [primary] declared in .ArrayMapImpl.iterator.' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=OBJECT_LITERAL + FUN name:remove visibility:public modality:FINAL <> ($this:.ArrayMapImpl.ArrayMapImpl>, index:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.ArrayMapImpl> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + WHEN type=kotlin.Unit origin=IF + BRANCH + if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ + $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array [operator] declared in kotlin.Array' type=kotlin.Any? origin=null + $this: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.remove' type=.ArrayMapImpl.ArrayMapImpl> origin=null + index: GET_VAR 'index: kotlin.Int declared in .ArrayMapImpl.remove' type=kotlin.Int origin=null + arg1: CONST Null type=kotlin.Nothing? value=null + then: BLOCK type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlin.Int [val] + CALL 'public final fun (): kotlin.Int declared in .ArrayMapImpl' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.remove' type=.ArrayMapImpl.ArrayMapImpl> origin=null + CALL 'private final fun (: kotlin.Int): kotlin.Unit declared in .ArrayMapImpl' type=kotlin.Unit origin=EQ + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.remove' type=.ArrayMapImpl.ArrayMapImpl> origin=null + : CALL 'public final fun dec (): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'val tmp_2: kotlin.Int [val] declared in .ArrayMapImpl.remove' type=kotlin.Int origin=null + GET_VAR 'val tmp_2: kotlin.Int [val] declared in .ArrayMapImpl.remove' type=kotlin.Int origin=null + CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit [operator] declared in kotlin.Array' type=kotlin.Unit origin=null + $this: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.remove' type=.ArrayMapImpl.ArrayMapImpl> origin=null + index: GET_VAR 'index: kotlin.Int declared in .ArrayMapImpl.remove' type=kotlin.Int origin=null + value: CONST Null type=kotlin.Nothing? value=null + FUN name:entries visibility:public modality:FINAL <> ($this:.ArrayMapImpl.ArrayMapImpl>) returnType:kotlin.collections.List<.ArrayMapImpl.Entry.ArrayMapImpl>> + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.ArrayMapImpl> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun entries (): kotlin.collections.List<.ArrayMapImpl.Entry.ArrayMapImpl>> declared in .ArrayMapImpl' + CALL 'public final fun mapIndexedNotNull (transform: kotlin.Function2<@[ParameterName(name = 'index')] kotlin.Int, T of kotlin.collections.ArraysKt.mapIndexedNotNull, R of kotlin.collections.ArraysKt.mapIndexedNotNull?>): kotlin.collections.List [inline] declared in kotlin.collections.ArraysKt' type=kotlin.collections.List<.ArrayMapImpl.Entry.ArrayMapImpl>> origin=null + : kotlin.Any? + : .ArrayMapImpl.Entry.ArrayMapImpl> + $receiver: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.entries' type=.ArrayMapImpl.ArrayMapImpl> origin=null + transform: FUN_EXPR type=kotlin.Function2<@[ParameterName(name = 'index')] kotlin.Int, kotlin.Any?, .ArrayMapImpl.Entry.ArrayMapImpl>?> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (index:@[ParameterName(name = 'index')] kotlin.Int, value:kotlin.Any?) returnType:.ArrayMapImpl.Entry.ArrayMapImpl>? + VALUE_PARAMETER name:index index:0 type:@[ParameterName(name = 'index')] kotlin.Int + VALUE_PARAMETER name:value index:1 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (index: @[ParameterName(name = 'index')] kotlin.Int, value: kotlin.Any?): .ArrayMapImpl.Entry.ArrayMapImpl>? declared in .ArrayMapImpl.entries' + WHEN type=.ArrayMapImpl.Entry.ArrayMapImpl>? origin=IF + BRANCH + if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ + $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: GET_VAR 'value: kotlin.Any? declared in .ArrayMapImpl.entries.' type=kotlin.Any? origin=null + arg1: CONST Null type=kotlin.Nothing? value=null + then: CONSTRUCTOR_CALL 'public constructor (key: kotlin.Int, value: T of .ArrayMapImpl.Entry) [primary] declared in .ArrayMapImpl.Entry' type=.ArrayMapImpl.Entry.ArrayMapImpl> origin=null + : T of .ArrayMapImpl + key: GET_VAR 'index: @[ParameterName(name = 'index')] kotlin.Int declared in .ArrayMapImpl.entries.' type=@[ParameterName(name = 'index')] kotlin.Int origin=null + value: TYPE_OP type=T of .ArrayMapImpl origin=CAST typeOperand=T of .ArrayMapImpl + GET_VAR 'value: kotlin.Any? declared in .ArrayMapImpl.entries.' type=kotlin.Any? origin=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:Entry modality:FINAL visibility:public [data] superTypes:[kotlin.collections.Map.Entry.ArrayMapImpl.Entry>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + CONSTRUCTOR visibility:public <> (key:kotlin.Int, value:T of .ArrayMapImpl.Entry) returnType:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> [primary] + VALUE_PARAMETER name:key index:0 type:kotlin.Int + VALUE_PARAMETER name:value index:1 type:T of .ArrayMapImpl.Entry + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Entry modality:FINAL visibility:public [data] superTypes:[kotlin.collections.Map.Entry.ArrayMapImpl.Entry>]' + PROPERTY name:key visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:key type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'key: kotlin.Int declared in .ArrayMapImpl.Entry.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.ArrayMapImpl.Entry.ArrayMapImpl.Entry>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:key visibility:public modality:FINAL [val] + overridden: + public abstract fun (): K of kotlin.collections.Map.Entry declared in kotlin.collections.Map.Entry + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .ArrayMapImpl.Entry' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:key type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + PROPERTY name:value visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value type:T of .ArrayMapImpl.Entry visibility:private [final] + EXPRESSION_BODY + GET_VAR 'value: T of .ArrayMapImpl.Entry declared in .ArrayMapImpl.Entry.' type=T of .ArrayMapImpl.Entry origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.ArrayMapImpl.Entry.ArrayMapImpl.Entry>) returnType:T of .ArrayMapImpl.Entry + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] + overridden: + public abstract fun (): V of kotlin.collections.Map.Entry declared in kotlin.collections.Map.Entry + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): T of .ArrayMapImpl.Entry declared in .ArrayMapImpl.Entry' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .ArrayMapImpl.Entry visibility:private [final]' type=T of .ArrayMapImpl.Entry origin=null + receiver: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + FUN name:component1 visibility:public modality:FINAL <> ($this:.ArrayMapImpl.Entry.ArrayMapImpl.Entry>) returnType:kotlin.Int [operator] + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.Int [operator] declared in .ArrayMapImpl.Entry' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:key type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.component1' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + FUN name:component2 visibility:public modality:FINAL <> ($this:.ArrayMapImpl.Entry.ArrayMapImpl.Entry>) returnType:T of .ArrayMapImpl.Entry [operator] + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun component2 (): T of .ArrayMapImpl.Entry [operator] declared in .ArrayMapImpl.Entry' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .ArrayMapImpl.Entry visibility:private [final]' type=T of .ArrayMapImpl.Entry origin=null + receiver: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.component2' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + FUN name:copy visibility:public modality:FINAL <> ($this:.ArrayMapImpl.Entry.ArrayMapImpl.Entry>, key:kotlin.Int, value:T of .ArrayMapImpl.Entry) returnType:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + VALUE_PARAMETER name:key index:0 type:kotlin.Int + EXPRESSION_BODY + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:key type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.copy' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + VALUE_PARAMETER name:value index:1 type:T of .ArrayMapImpl.Entry + EXPRESSION_BODY + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .ArrayMapImpl.Entry visibility:private [final]' type=T of .ArrayMapImpl.Entry origin=null + receiver: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.copy' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun copy (key: kotlin.Int, value: T of .ArrayMapImpl.Entry): .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry' + CONSTRUCTOR_CALL 'public constructor (key: kotlin.Int, value: T of .ArrayMapImpl.Entry) [primary] declared in .ArrayMapImpl.Entry' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + : kotlin.Any + key: GET_VAR 'key: kotlin.Int declared in .ArrayMapImpl.Entry.copy' type=kotlin.Int origin=null + value: GET_VAR 'value: T of .ArrayMapImpl.Entry declared in .ArrayMapImpl.Entry.copy' type=T of .ArrayMapImpl.Entry origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.ArrayMapImpl.Entry.ArrayMapImpl.Entry>, other:kotlin.Any?) returnType:kotlin.Boolean + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER GENERATED_DATA_CLASS_MEMBER name: type:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + VALUE_PARAMETER GENERATED_DATA_CLASS_MEMBER name:other index:0 type:kotlin.Any? + BLOCK_BODY + WHEN type=kotlin.Unit origin=null + BRANCH + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + arg0: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.equals' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + arg1: GET_VAR 'other: kotlin.Any? declared in .ArrayMapImpl.Entry.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .ArrayMapImpl.Entry' + CONST Boolean type=kotlin.Boolean value=true + WHEN type=kotlin.Unit origin=null + BRANCH + if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + GET_VAR 'other: kotlin.Any? declared in .ArrayMapImpl.Entry.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .ArrayMapImpl.Entry' + CONST Boolean type=kotlin.Boolean value=false + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> [val] + TYPE_OP type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=CAST typeOperand=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + GET_VAR 'other: kotlin.Any? declared in .ArrayMapImpl.Entry.equals' type=kotlin.Any? origin=null + WHEN type=kotlin.Unit origin=null + BRANCH + if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ + $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:key type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.equals' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + arg1: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:key type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR 'val tmp_3: .ArrayMapImpl.Entry.ArrayMapImpl.Entry> [val] declared in .ArrayMapImpl.Entry.equals' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .ArrayMapImpl.Entry' + CONST Boolean type=kotlin.Boolean value=false + WHEN type=kotlin.Unit origin=null + BRANCH + if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ + $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .ArrayMapImpl.Entry visibility:private [final]' type=T of .ArrayMapImpl.Entry origin=null + receiver: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.equals' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + arg1: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .ArrayMapImpl.Entry visibility:private [final]' type=T of .ArrayMapImpl.Entry origin=null + receiver: GET_VAR 'val tmp_3: .ArrayMapImpl.Entry.ArrayMapImpl.Entry> [val] declared in .ArrayMapImpl.Entry.equals' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .ArrayMapImpl.Entry' + CONST Boolean type=kotlin.Boolean value=false + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .ArrayMapImpl.Entry' + CONST Boolean type=kotlin.Boolean value=true + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.ArrayMapImpl.Entry.ArrayMapImpl.Entry>) returnType:kotlin.Int + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER GENERATED_DATA_CLASS_MEMBER name: type:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + BLOCK_BODY + VAR name:result type:kotlin.Int [var] + CALL 'public open fun hashCode (): kotlin.Int [fake_override] declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:key type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.hashCode' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + SET_VAR 'var result: kotlin.Int [var] declared in .ArrayMapImpl.Entry.hashCode' type=kotlin.Unit origin=EQ + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=null + $this: CALL 'public final fun times (other: kotlin.Int): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'var result: kotlin.Int [var] declared in .ArrayMapImpl.Entry.hashCode' type=kotlin.Int origin=null + other: CONST Int type=kotlin.Int value=31 + other: WHEN type=kotlin.Int origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .ArrayMapImpl.Entry visibility:private [final]' type=T of .ArrayMapImpl.Entry origin=null + receiver: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.hashCode' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Int type=kotlin.Int value=0 + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Any' type=kotlin.Int origin=null + $this: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .ArrayMapImpl.Entry visibility:private [final]' type=T of .ArrayMapImpl.Entry origin=null + receiver: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.hashCode' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .ArrayMapImpl.Entry' + GET_VAR 'var result: kotlin.Int [var] declared in .ArrayMapImpl.Entry.hashCode' type=kotlin.Int origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.ArrayMapImpl.Entry.ArrayMapImpl.Entry>) returnType:kotlin.String + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER GENERATED_DATA_CLASS_MEMBER name: type:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .ArrayMapImpl.Entry' + STRING_CONCATENATION type=kotlin.String + CONST String type=kotlin.String value="Entry(" + CONST String type=kotlin.String value="key=" + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:key type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.toString' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + CONST String type=kotlin.String value=", " + CONST String type=kotlin.String value="value=" + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .ArrayMapImpl.Entry visibility:private [final]' type=T of .ArrayMapImpl.Entry origin=null + receiver: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.toString' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + CONST String type=kotlin.String value=")" + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/firProblems/ArrayMap.kt b/compiler/testData/ir/irText/firProblems/ArrayMap.kt new file mode 100644 index 00000000000..f6cc3997cfd --- /dev/null +++ b/compiler/testData/ir/irText/firProblems/ArrayMap.kt @@ -0,0 +1,138 @@ +// WITH_RUNTIME + +sealed class ArrayMap : Iterable { + abstract val size: Int + + abstract operator fun set(index: Int, value: T) + abstract operator fun get(index: Int): T? + + abstract fun copy(): ArrayMap +} + +fun ArrayMap<*>.isEmpty(): Boolean = size == 0 +fun ArrayMap<*>.isNotEmpty(): Boolean = size != 0 + +internal object EmptyArrayMap : ArrayMap() { + override val size: Int + get() = 0 + + override fun set(index: Int, value: Nothing) { + throw IllegalStateException() + } + + override fun get(index: Int): Nothing? { + return null + } + + override fun copy(): ArrayMap = this + + override fun iterator(): Iterator { + return object : Iterator { + override fun hasNext(): Boolean = false + + override fun next(): Nothing = throw NoSuchElementException() + } + } +} + +internal class OneElementArrayMap(val value: T, val index: Int) : ArrayMap() { + override val size: Int + get() = 1 + + override fun set(index: Int, value: T) { + throw IllegalStateException() + } + + override fun get(index: Int): T? { + return if (index == this.index) value else null + } + + override fun copy(): ArrayMap = OneElementArrayMap(value, index) + + override fun iterator(): Iterator { + return object : Iterator { + private var notVisited = true + + override fun hasNext(): Boolean { + return notVisited + } + + override fun next(): T { + if (notVisited) { + notVisited = false + return value + } else { + throw NoSuchElementException() + } + } + } + } +} + +internal class ArrayMapImpl private constructor( + private var data: Array +) : ArrayMap() { + companion object { + private const val DEFAULT_SIZE = 20 + private const val INCREASE_K = 2 + } + + constructor() : this(arrayOfNulls(DEFAULT_SIZE)) + + override var size: Int = 0 + private set + + + private fun ensureCapacity(index: Int) { + if (data.size <= index) { + data = data.copyOf(data.size * INCREASE_K) + } + } + + override operator fun set(index: Int, value: T) { + ensureCapacity(index) + if (data[index] == null) { + size++ + } + data[index] = value + } + + override operator fun get(index: Int): T? { + @Suppress("UNCHECKED_CAST") + return data.getOrNull(index) as T? + } + + override fun copy(): ArrayMap = ArrayMapImpl(data.copyOf()) + + override fun iterator(): Iterator { + return object : AbstractIterator() { + private var index = -1 + + override fun computeNext() { + do { + index++ + } while (index < data.size && data[index] == null) + if (index >= data.size) { + done() + } else { + @Suppress("UNCHECKED_CAST") + setNext(data[index] as T) + } + } + } + } + + fun remove(index: Int) { + if (data[index] != null) { + size-- + } + data[index] = null + } + + fun entries(): List> { + @Suppress("UNCHECKED_CAST") + return data.mapIndexedNotNull { index, value -> if (value != null) Entry(index, value as T) else null } + } + + data class Entry(override val key: Int, override val value: T) : Map.Entry +} diff --git a/compiler/testData/ir/irText/firProblems/ArrayMap.kt.txt b/compiler/testData/ir/irText/firProblems/ArrayMap.kt.txt new file mode 100644 index 00000000000..cdad67f1730 --- /dev/null +++ b/compiler/testData/ir/irText/firProblems/ArrayMap.kt.txt @@ -0,0 +1,349 @@ +sealed class ArrayMap : Iterable { + protected constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + abstract val size: Int + abstract get + + abstract operator fun set(index: Int, value: T) + abstract operator fun get(index: Int): T? + abstract fun copy(): ArrayMap + +} + +fun ArrayMap<*>.isEmpty(): Boolean { + return EQEQ(arg0 = .(), arg1 = 0) +} + +fun ArrayMap<*>.isNotEmpty(): Boolean { + return EQEQ(arg0 = .(), arg1 = 0).not() +} + +internal object EmptyArrayMap : ArrayMap { + private constructor() /* primary */ { + super/*ArrayMap*/() + /* () */ + + } + + override val size: Int + override get(): Int { + return 0 + } + + override operator fun set(index: Int, value: Nothing) { + throw IllegalStateException() + } + + override operator fun get(index: Int): Nothing? { + return null + } + + override fun copy(): ArrayMap { + return + } + + override operator fun iterator(): Iterator { + return { // BLOCK + local class : Iterator { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + override operator fun hasNext(): Boolean { + return false + } + + override operator fun next(): Nothing { + throw NoSuchElementException() + } + + } + + () + } + } + +} + +internal class OneElementArrayMap : ArrayMap { + constructor(value: T, index: Int) /* primary */ { + super/*ArrayMap*/() + /* () */ + + } + + val value: T + field = value + get + + val index: Int + field = index + get + + override val size: Int + override get(): Int { + return 1 + } + + override operator fun set(index: Int, value: T) { + throw IllegalStateException() + } + + override operator fun get(index: Int): T? { + return when { + EQEQ(arg0 = index, arg1 = .()) -> .() + else -> null + } + } + + override fun copy(): ArrayMap { + return OneElementArrayMap(value = .(), index = .()) + } + + override operator fun iterator(): Iterator { + return { // BLOCK + local class : Iterator { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + private var notVisited: Boolean + field = true + private get + private set + + override operator fun hasNext(): Boolean { + return .() + } + + override operator fun next(): T { + when { + .() -> { // BLOCK + .( = false) + return .() + } + else -> { // BLOCK + throw NoSuchElementException() + } + } + } + + } + + () + } + } + +} + +internal class ArrayMapImpl : ArrayMap { + private constructor(data: Array) /* primary */ { + super/*ArrayMap*/() + /* () */ + + } + + private var data: Array + field = data + private get + private set + + companion object Companion { + private constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + private const val DEFAULT_SIZE: Int + field = 20 + private get + + private const val INCREASE_K: Int + field = 2 + private get + + } + + constructor() { + this/*ArrayMapImpl*/(data = arrayOfNulls(size = Companion.())) + } + + override var size: Int + field = 0 + override get + private open set + + private fun ensureCapacity(index: Int) { + when { + lessOrEqual(arg0 = .().(), arg1 = index) -> { // BLOCK + .( = .().copyOf(newSize = .().().times(other = Companion.()))) + } + } + } + + override operator fun set(index: Int, value: T) { + .ensureCapacity(index = index) + when { + EQEQ(arg0 = .().get(index = index), arg1 = null) -> { // BLOCK + { // BLOCK + val tmp0_this: ArrayMapImpl = + { // BLOCK + val tmp1: Int = tmp0_this.() + tmp0_this.( = tmp1.inc()) + tmp1 + } + } + } /*~> Unit */ + } + .().set(index = index, value = value) + } + + override operator fun get(index: Int): T? { + return .().getOrNull(index = index) as T? + } + + override fun copy(): ArrayMap { + return ArrayMapImpl(data = .().copyOf()) + } + + override operator fun iterator(): Iterator { + return { // BLOCK + local class : AbstractIterator { + constructor() /* primary */ { + super/*AbstractIterator*/() + /* () */ + + } + + private var index: Int + field = -1 + private get + private set + + protected override fun computeNext() { + { // BLOCK + do// COMPOSITE { + { // BLOCK + val tmp0_this: = + { // BLOCK + val tmp1: Int = tmp0_this.() + tmp0_this.( = tmp1.inc()) + tmp1 + } + } /*~> Unit */ + // } while (when { + less(arg0 = .(), arg1 = .().()) -> EQEQ(arg0 = .().get(index = .()), arg1 = null) + else -> false + }) + } + when { + greaterOrEqual(arg0 = .(), arg1 = .().()) -> { // BLOCK + .done() + } + else -> { // BLOCK + .setNext(value = .().get(index = .()) as T) + } + } + } + + } + + () + } + } + + fun remove(index: Int) { + when { + EQEQ(arg0 = .().get(index = index), arg1 = null).not() -> { // BLOCK + { // BLOCK + val tmp0_this: ArrayMapImpl = + { // BLOCK + val tmp1: Int = tmp0_this.() + tmp0_this.( = tmp1.dec()) + tmp1 + } + } + } /*~> Unit */ + } + .().set(index = index, value = null) + } + + fun entries(): List> { + return .().mapIndexedNotNull>(transform = local fun (index: Int, value: Any?): Entry? { + return when { + EQEQ(arg0 = value, arg1 = null).not() -> Entry(key = index, value = value as T) + else -> null + } + } +) + } + + data class Entry : Entry { + constructor(key: Int, value: T) /* primary */ { + super/*Any*/() + /* () */ + + } + + override val key: Int + field = key + override get + + override val value: T + field = value + override get + + operator fun component1(): Int { + return .() + } + + operator fun component2(): T { + return .() + } + + fun copy(key: Int = .(), value: T = .()): Entry { + return Entry(key = key, value = value) + } + + override fun toString(): String { + return "Entry(" + "key=" + .() + ", " + "value=" + .() + ")" + } + + override fun hashCode(): Int { + var result: Int = .().hashCode() + result = result.times(other = 31).plus(other = when { + EQEQ(arg0 = .(), arg1 = null) -> 0 + else -> .().hashCode() + }) + return result + } + + override operator fun equals(other: Any?): Boolean { + when { + EQEQEQ(arg0 = , arg1 = other) -> return true + } + when { + other !is Entry -> return false + } + val tmp0_other_with_cast: Entry = other as Entry + when { + EQEQ(arg0 = .(), arg1 = tmp0_other_with_cast.()).not() -> return false + } + when { + EQEQ(arg0 = .(), arg1 = tmp0_other_with_cast.()).not() -> return false + } + return true + } + + } + +} diff --git a/compiler/testData/ir/irText/firProblems/ArrayMap.txt b/compiler/testData/ir/irText/firProblems/ArrayMap.txt new file mode 100644 index 00000000000..b11ed6bf1d1 --- /dev/null +++ b/compiler/testData/ir/irText/firProblems/ArrayMap.txt @@ -0,0 +1,851 @@ +FILE fqName: fileName:/ArrayMap.kt + CLASS CLASS name:ArrayMap modality:SEALED visibility:public superTypes:[kotlin.collections.Iterable.ArrayMap>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ArrayMap.ArrayMap> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + CONSTRUCTOR visibility:protected <> () returnType:.ArrayMap.ArrayMap> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:ArrayMap modality:SEALED visibility:public superTypes:[kotlin.collections.Iterable.ArrayMap>]' + PROPERTY name:size visibility:public modality:ABSTRACT [val] + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:.ArrayMap.ArrayMap>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:ABSTRACT [val] + $this: VALUE_PARAMETER name: type:.ArrayMap.ArrayMap> + FUN name:set visibility:public modality:ABSTRACT <> ($this:.ArrayMap.ArrayMap>, index:kotlin.Int, value:T of .ArrayMap) returnType:kotlin.Unit [operator] + $this: VALUE_PARAMETER name: type:.ArrayMap.ArrayMap> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:value index:1 type:T of .ArrayMap + FUN name:get visibility:public modality:ABSTRACT <> ($this:.ArrayMap.ArrayMap>, index:kotlin.Int) returnType:T of .ArrayMap? [operator] + $this: VALUE_PARAMETER name: type:.ArrayMap.ArrayMap> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + FUN name:copy visibility:public modality:ABSTRACT <> ($this:.ArrayMap.ArrayMap>) returnType:.ArrayMap.ArrayMap> + $this: VALUE_PARAMETER name: type:.ArrayMap.ArrayMap> + FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterable.ArrayMap>) returnType:kotlin.collections.Iterator.ArrayMap> [fake_override,operator] + overridden: + public abstract fun iterator (): kotlin.collections.Iterator [operator] declared in kotlin.collections.Iterable + $this: VALUE_PARAMETER name: type:kotlin.collections.Iterable.ArrayMap> + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.collections.Iterable + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in kotlin.collections.Iterable + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in kotlin.collections.Iterable + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:isEmpty visibility:public modality:FINAL <> ($receiver:.ArrayMap<*>) returnType:kotlin.Boolean + $receiver: VALUE_PARAMETER name: type:.ArrayMap<*> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun isEmpty (): kotlin.Boolean declared in ' + CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: CALL 'public abstract fun (): kotlin.Int declared in .ArrayMap' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMap<*> declared in .isEmpty' type=.ArrayMap<*> origin=null + arg1: CONST Int type=kotlin.Int value=0 + FUN name:isNotEmpty visibility:public modality:FINAL <> ($receiver:.ArrayMap<*>) returnType:kotlin.Boolean + $receiver: VALUE_PARAMETER name: type:.ArrayMap<*> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun isNotEmpty (): kotlin.Boolean declared in ' + CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ + $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public abstract fun (): kotlin.Int declared in .ArrayMap' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMap<*> declared in .isNotEmpty' type=.ArrayMap<*> origin=null + arg1: CONST Int type=kotlin.Int value=0 + CLASS OBJECT name:EmptyArrayMap modality:FINAL visibility:internal superTypes:[.ArrayMap] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.EmptyArrayMap + CONSTRUCTOR visibility:private <> () returnType:.EmptyArrayMap [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'protected constructor () [primary] declared in .ArrayMap' + : kotlin.Nothing + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:EmptyArrayMap modality:FINAL visibility:internal superTypes:[.ArrayMap]' + PROPERTY name:size visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.EmptyArrayMap) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.EmptyArrayMap + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .EmptyArrayMap' + CONST Int type=kotlin.Int value=0 + FUN name:set visibility:public modality:OPEN <> ($this:.EmptyArrayMap, index:kotlin.Int, value:kotlin.Nothing) returnType:kotlin.Unit [operator] + overridden: + public abstract fun set (index: kotlin.Int, value: T of .ArrayMap): kotlin.Unit [operator] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.EmptyArrayMap + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:value index:1 type:kotlin.Nothing + BLOCK_BODY + THROW type=kotlin.Nothing + CONSTRUCTOR_CALL 'public constructor () declared in java.lang.IllegalStateException' type=java.lang.IllegalStateException origin=null + FUN name:get visibility:public modality:OPEN <> ($this:.EmptyArrayMap, index:kotlin.Int) returnType:kotlin.Nothing? [operator] + overridden: + public abstract fun get (index: kotlin.Int): T of .ArrayMap? [operator] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.EmptyArrayMap + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Int): kotlin.Nothing? [operator] declared in .EmptyArrayMap' + CONST Null type=kotlin.Nothing? value=null + FUN name:copy visibility:public modality:OPEN <> ($this:.EmptyArrayMap) returnType:.ArrayMap + overridden: + public abstract fun copy (): .ArrayMap.ArrayMap> declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.EmptyArrayMap + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun copy (): .ArrayMap declared in .EmptyArrayMap' + GET_VAR ': .EmptyArrayMap declared in .EmptyArrayMap.copy' type=.EmptyArrayMap origin=null + FUN name:iterator visibility:public modality:OPEN <> ($this:.EmptyArrayMap) returnType:kotlin.collections.Iterator [operator] + overridden: + public abstract fun iterator (): kotlin.collections.Iterator.ArrayMap> [fake_override,operator] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.EmptyArrayMap + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun iterator (): kotlin.collections.Iterator [operator] declared in .EmptyArrayMap' + BLOCK type=.EmptyArrayMap.iterator. origin=OBJECT_LITERAL + CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.collections.Iterator] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.EmptyArrayMap.iterator. + CONSTRUCTOR visibility:public <> () returnType:.EmptyArrayMap.iterator. [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.collections.Iterator]' + FUN name:hasNext visibility:public modality:OPEN <> ($this:.EmptyArrayMap.iterator.) returnType:kotlin.Boolean [operator] + overridden: + public abstract fun hasNext (): kotlin.Boolean [operator] declared in kotlin.collections.Iterator + $this: VALUE_PARAMETER name: type:.EmptyArrayMap.iterator. + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun hasNext (): kotlin.Boolean [operator] declared in .EmptyArrayMap.iterator.' + CONST Boolean type=kotlin.Boolean value=false + FUN name:next visibility:public modality:OPEN <> ($this:.EmptyArrayMap.iterator.) returnType:kotlin.Nothing [operator] + overridden: + public abstract fun next (): T of kotlin.collections.Iterator [operator] declared in kotlin.collections.Iterator + $this: VALUE_PARAMETER name: type:.EmptyArrayMap.iterator. + BLOCK_BODY + THROW type=kotlin.Nothing + CONSTRUCTOR_CALL 'public constructor () declared in java.util.NoSuchElementException' type=java.util.NoSuchElementException origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.collections.Iterator + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in kotlin.collections.Iterator + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in kotlin.collections.Iterator + $this: VALUE_PARAMETER name: type:kotlin.Any + CONSTRUCTOR_CALL 'public constructor () [primary] declared in .EmptyArrayMap.iterator.' type=.EmptyArrayMap.iterator. origin=OBJECT_LITERAL + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:OneElementArrayMap modality:FINAL visibility:internal superTypes:[.ArrayMap.OneElementArrayMap>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.OneElementArrayMap.OneElementArrayMap> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + CONSTRUCTOR visibility:public <> (value:T of .OneElementArrayMap, index:kotlin.Int) returnType:.OneElementArrayMap.OneElementArrayMap> [primary] + VALUE_PARAMETER name:value index:0 type:T of .OneElementArrayMap + VALUE_PARAMETER name:index index:1 type:kotlin.Int + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'protected constructor () [primary] declared in .ArrayMap' + : T of .OneElementArrayMap + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:OneElementArrayMap modality:FINAL visibility:internal superTypes:[.ArrayMap.OneElementArrayMap>]' + PROPERTY name:value visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value type:T of .OneElementArrayMap visibility:private [final] + EXPRESSION_BODY + GET_VAR 'value: T of .OneElementArrayMap declared in .OneElementArrayMap.' type=T of .OneElementArrayMap origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.OneElementArrayMap.OneElementArrayMap>) returnType:T of .OneElementArrayMap + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.OneElementArrayMap.OneElementArrayMap> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): T of .OneElementArrayMap declared in .OneElementArrayMap' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .OneElementArrayMap visibility:private [final]' type=T of .OneElementArrayMap origin=null + receiver: GET_VAR ': .OneElementArrayMap.OneElementArrayMap> declared in .OneElementArrayMap.' type=.OneElementArrayMap.OneElementArrayMap> origin=null + PROPERTY name:index visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:index type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'index: kotlin.Int declared in .OneElementArrayMap.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.OneElementArrayMap.OneElementArrayMap>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:index visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.OneElementArrayMap.OneElementArrayMap> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .OneElementArrayMap' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:index type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .OneElementArrayMap.OneElementArrayMap> declared in .OneElementArrayMap.' type=.OneElementArrayMap.OneElementArrayMap> origin=null + PROPERTY name:size visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.OneElementArrayMap.OneElementArrayMap>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlin.Int declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.OneElementArrayMap.OneElementArrayMap> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .OneElementArrayMap' + CONST Int type=kotlin.Int value=1 + FUN name:set visibility:public modality:OPEN <> ($this:.OneElementArrayMap.OneElementArrayMap>, index:kotlin.Int, value:T of .OneElementArrayMap) returnType:kotlin.Unit [operator] + overridden: + public abstract fun set (index: kotlin.Int, value: T of .ArrayMap): kotlin.Unit [operator] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.OneElementArrayMap.OneElementArrayMap> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:value index:1 type:T of .OneElementArrayMap + BLOCK_BODY + THROW type=kotlin.Nothing + CONSTRUCTOR_CALL 'public constructor () declared in java.lang.IllegalStateException' type=java.lang.IllegalStateException origin=null + FUN name:get visibility:public modality:OPEN <> ($this:.OneElementArrayMap.OneElementArrayMap>, index:kotlin.Int) returnType:T of .OneElementArrayMap? [operator] + overridden: + public abstract fun get (index: kotlin.Int): T of .ArrayMap? [operator] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.OneElementArrayMap.OneElementArrayMap> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Int): T of .OneElementArrayMap? [operator] declared in .OneElementArrayMap' + WHEN type=T of .OneElementArrayMap? origin=IF + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: GET_VAR 'index: kotlin.Int declared in .OneElementArrayMap.get' type=kotlin.Int origin=null + arg1: CALL 'public final fun (): kotlin.Int declared in .OneElementArrayMap' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .OneElementArrayMap.OneElementArrayMap> declared in .OneElementArrayMap.get' type=.OneElementArrayMap.OneElementArrayMap> origin=null + then: CALL 'public final fun (): T of .OneElementArrayMap declared in .OneElementArrayMap' type=T of .OneElementArrayMap origin=GET_PROPERTY + $this: GET_VAR ': .OneElementArrayMap.OneElementArrayMap> declared in .OneElementArrayMap.get' type=.OneElementArrayMap.OneElementArrayMap> origin=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CONST Null type=kotlin.Nothing? value=null + FUN name:copy visibility:public modality:OPEN <> ($this:.OneElementArrayMap.OneElementArrayMap>) returnType:.ArrayMap.OneElementArrayMap> + overridden: + public abstract fun copy (): .ArrayMap.ArrayMap> declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.OneElementArrayMap.OneElementArrayMap> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun copy (): .ArrayMap.OneElementArrayMap> declared in .OneElementArrayMap' + CONSTRUCTOR_CALL 'public constructor (value: T of .OneElementArrayMap, index: kotlin.Int) [primary] declared in .OneElementArrayMap' type=.OneElementArrayMap.OneElementArrayMap> origin=null + : T of .OneElementArrayMap + value: CALL 'public final fun (): T of .OneElementArrayMap declared in .OneElementArrayMap' type=T of .OneElementArrayMap origin=GET_PROPERTY + $this: GET_VAR ': .OneElementArrayMap.OneElementArrayMap> declared in .OneElementArrayMap.copy' type=.OneElementArrayMap.OneElementArrayMap> origin=null + index: CALL 'public final fun (): kotlin.Int declared in .OneElementArrayMap' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .OneElementArrayMap.OneElementArrayMap> declared in .OneElementArrayMap.copy' type=.OneElementArrayMap.OneElementArrayMap> origin=null + FUN name:iterator visibility:public modality:OPEN <> ($this:.OneElementArrayMap.OneElementArrayMap>) returnType:kotlin.collections.Iterator.OneElementArrayMap> [operator] + overridden: + public abstract fun iterator (): kotlin.collections.Iterator.ArrayMap> [fake_override,operator] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.OneElementArrayMap.OneElementArrayMap> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun iterator (): kotlin.collections.Iterator.OneElementArrayMap> [operator] declared in .OneElementArrayMap' + BLOCK type=.OneElementArrayMap.iterator..OneElementArrayMap> origin=OBJECT_LITERAL + CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.collections.Iterator.OneElementArrayMap>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.OneElementArrayMap.iterator..OneElementArrayMap> + CONSTRUCTOR visibility:public <> () returnType:.OneElementArrayMap.iterator..OneElementArrayMap> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.collections.Iterator.OneElementArrayMap>]' + PROPERTY name:notVisited visibility:private modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:notVisited type:kotlin.Boolean visibility:private + EXPRESSION_BODY + CONST Boolean type=kotlin.Boolean value=true + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.OneElementArrayMap.iterator..OneElementArrayMap>) returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:notVisited visibility:private modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.OneElementArrayMap.iterator..OneElementArrayMap> + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Boolean declared in .OneElementArrayMap.iterator.' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:notVisited type:kotlin.Boolean visibility:private' type=kotlin.Boolean origin=null + receiver: GET_VAR ': .OneElementArrayMap.iterator..OneElementArrayMap> declared in .OneElementArrayMap.iterator..' type=.OneElementArrayMap.iterator..OneElementArrayMap> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.OneElementArrayMap.iterator..OneElementArrayMap>, :kotlin.Boolean) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:notVisited visibility:private modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.OneElementArrayMap.iterator..OneElementArrayMap> + VALUE_PARAMETER name: index:0 type:kotlin.Boolean + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:notVisited type:kotlin.Boolean visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .OneElementArrayMap.iterator..OneElementArrayMap> declared in .OneElementArrayMap.iterator..' type=.OneElementArrayMap.iterator..OneElementArrayMap> origin=null + value: GET_VAR ': kotlin.Boolean declared in .OneElementArrayMap.iterator..' type=kotlin.Boolean origin=null + FUN name:hasNext visibility:public modality:OPEN <> ($this:.OneElementArrayMap.iterator..OneElementArrayMap>) returnType:kotlin.Boolean [operator] + overridden: + public abstract fun hasNext (): kotlin.Boolean [operator] declared in kotlin.collections.Iterator + $this: VALUE_PARAMETER name: type:.OneElementArrayMap.iterator..OneElementArrayMap> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun hasNext (): kotlin.Boolean [operator] declared in .OneElementArrayMap.iterator.' + CALL 'private final fun (): kotlin.Boolean declared in .OneElementArrayMap.iterator.' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR ': .OneElementArrayMap.iterator..OneElementArrayMap> declared in .OneElementArrayMap.iterator..hasNext' type=.OneElementArrayMap.iterator..OneElementArrayMap> origin=null + FUN name:next visibility:public modality:OPEN <> ($this:.OneElementArrayMap.iterator..OneElementArrayMap>) returnType:T of .OneElementArrayMap [operator] + overridden: + public abstract fun next (): T of kotlin.collections.Iterator [operator] declared in kotlin.collections.Iterator + $this: VALUE_PARAMETER name: type:.OneElementArrayMap.iterator..OneElementArrayMap> + BLOCK_BODY + WHEN type=kotlin.Unit origin=IF + BRANCH + if: CALL 'private final fun (): kotlin.Boolean declared in .OneElementArrayMap.iterator.' type=kotlin.Boolean origin=GET_PROPERTY + $this: GET_VAR ': .OneElementArrayMap.iterator..OneElementArrayMap> declared in .OneElementArrayMap.iterator..next' type=.OneElementArrayMap.iterator..OneElementArrayMap> origin=null + then: BLOCK type=kotlin.Unit origin=null + CALL 'private final fun (: kotlin.Boolean): kotlin.Unit declared in .OneElementArrayMap.iterator.' type=kotlin.Unit origin=EQ + $this: GET_VAR ': .OneElementArrayMap.iterator..OneElementArrayMap> declared in .OneElementArrayMap.iterator..next' type=.OneElementArrayMap.iterator..OneElementArrayMap> origin=null + : CONST Boolean type=kotlin.Boolean value=false + RETURN type=kotlin.Nothing from='public open fun next (): T of .OneElementArrayMap [operator] declared in .OneElementArrayMap.iterator.' + CALL 'public final fun (): T of .OneElementArrayMap declared in .OneElementArrayMap' type=T of .OneElementArrayMap origin=GET_PROPERTY + $this: GET_VAR ': .OneElementArrayMap.OneElementArrayMap> declared in .OneElementArrayMap.iterator' type=.OneElementArrayMap.OneElementArrayMap> origin=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: BLOCK type=kotlin.Unit origin=null + THROW type=kotlin.Nothing + CONSTRUCTOR_CALL 'public constructor () declared in java.util.NoSuchElementException' type=java.util.NoSuchElementException origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.collections.Iterator + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in kotlin.collections.Iterator + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in kotlin.collections.Iterator + $this: VALUE_PARAMETER name: type:kotlin.Any + CONSTRUCTOR_CALL 'public constructor () [primary] declared in .OneElementArrayMap.iterator.' type=.OneElementArrayMap.iterator..OneElementArrayMap> origin=OBJECT_LITERAL + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS CLASS name:ArrayMapImpl modality:FINAL visibility:internal superTypes:[.ArrayMap.ArrayMapImpl>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ArrayMapImpl.ArrayMapImpl> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] + CONSTRUCTOR visibility:private <> (data:kotlin.Array) returnType:.ArrayMapImpl.ArrayMapImpl> [primary] + VALUE_PARAMETER name:data index:0 type:kotlin.Array + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'protected constructor () [primary] declared in .ArrayMap' + : T of .ArrayMapImpl + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:ArrayMapImpl modality:FINAL visibility:internal superTypes:[.ArrayMap.ArrayMapImpl>]' + PROPERTY name:data visibility:private modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:data type:kotlin.Array visibility:private + EXPRESSION_BODY + GET_VAR 'data: kotlin.Array declared in .ArrayMapImpl.' type=kotlin.Array origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.ArrayMapImpl.ArrayMapImpl>) returnType:kotlin.Array + correspondingProperty: PROPERTY name:data visibility:private modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.ArrayMapImpl> + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Array declared in .ArrayMapImpl' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:data type:kotlin.Array visibility:private' type=kotlin.Array origin=null + receiver: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.' type=.ArrayMapImpl.ArrayMapImpl> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.ArrayMapImpl.ArrayMapImpl>, :kotlin.Array) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:data visibility:private modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.ArrayMapImpl> + VALUE_PARAMETER name: index:0 type:kotlin.Array + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:data type:kotlin.Array visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.' type=.ArrayMapImpl.ArrayMapImpl> origin=null + value: GET_VAR ': kotlin.Array declared in .ArrayMapImpl.' type=kotlin.Array origin=null + CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ArrayMapImpl.Companion + CONSTRUCTOR visibility:private <> () returnType:.ArrayMapImpl.Companion [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' + PROPERTY name:DEFAULT_SIZE visibility:private modality:FINAL [const,val] + FIELD PROPERTY_BACKING_FIELD name:DEFAULT_SIZE type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=20 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.ArrayMapImpl.Companion) returnType:kotlin.Int + correspondingProperty: PROPERTY name:DEFAULT_SIZE visibility:private modality:FINAL [const,val] + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.Companion + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .ArrayMapImpl.Companion' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:DEFAULT_SIZE type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .ArrayMapImpl.Companion declared in .ArrayMapImpl.Companion.' type=.ArrayMapImpl.Companion origin=null + PROPERTY name:INCREASE_K visibility:private modality:FINAL [const,val] + FIELD PROPERTY_BACKING_FIELD name:INCREASE_K type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + CONST Int type=kotlin.Int value=2 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.ArrayMapImpl.Companion) returnType:kotlin.Int + correspondingProperty: PROPERTY name:INCREASE_K visibility:private modality:FINAL [const,val] + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.Companion + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .ArrayMapImpl.Companion' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:INCREASE_K type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .ArrayMapImpl.Companion declared in .ArrayMapImpl.Companion.' type=.ArrayMapImpl.Companion origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CONSTRUCTOR visibility:public <> () returnType:.ArrayMapImpl.ArrayMapImpl> + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'private constructor (data: kotlin.Array) [primary] declared in .ArrayMapImpl' + : T of .ArrayMapImpl + data: CALL 'public final fun arrayOfNulls (size: kotlin.Int): kotlin.Array declared in kotlin' type=kotlin.Array origin=null + : kotlin.Any + size: CALL 'private final fun (): kotlin.Int declared in .ArrayMapImpl.Companion' type=kotlin.Int origin=GET_PROPERTY + $this: GET_OBJECT 'CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' type=.ArrayMapImpl.Companion + PROPERTY name:size visibility:public modality:OPEN [var] + FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=0 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.ArrayMapImpl.ArrayMapImpl>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [var] + overridden: + public abstract fun (): kotlin.Int declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.ArrayMapImpl> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .ArrayMapImpl' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.' type=.ArrayMapImpl.ArrayMapImpl> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:OPEN <> ($this:.ArrayMapImpl.ArrayMapImpl>, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:size visibility:public modality:OPEN [var] + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.ArrayMapImpl> + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.' type=.ArrayMapImpl.ArrayMapImpl> origin=null + value: GET_VAR ': kotlin.Int declared in .ArrayMapImpl.' type=kotlin.Int origin=null + FUN name:ensureCapacity visibility:private modality:FINAL <> ($this:.ArrayMapImpl.ArrayMapImpl>, index:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.ArrayMapImpl> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + WHEN type=kotlin.Unit origin=IF + BRANCH + if: CALL 'public final fun lessOrEqual (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LTEQ + arg0: CALL 'public final fun (): kotlin.Int declared in kotlin.Array' type=kotlin.Int origin=GET_PROPERTY + $this: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.ensureCapacity' type=.ArrayMapImpl.ArrayMapImpl> origin=null + arg1: GET_VAR 'index: kotlin.Int declared in .ArrayMapImpl.ensureCapacity' type=kotlin.Int origin=null + then: BLOCK type=kotlin.Unit origin=null + CALL 'private final fun (: kotlin.Array): kotlin.Unit declared in .ArrayMapImpl' type=kotlin.Unit origin=EQ + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.ensureCapacity' type=.ArrayMapImpl.ArrayMapImpl> origin=null + : CALL 'public final fun copyOf (newSize: kotlin.Int): kotlin.Array [inline] declared in kotlin.collections.ArraysKt' type=kotlin.Array origin=null + : kotlin.Any? + $receiver: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.ensureCapacity' type=.ArrayMapImpl.ArrayMapImpl> origin=null + newSize: CALL 'public final fun times (other: kotlin.Int): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=MUL + $this: CALL 'public final fun (): kotlin.Int declared in kotlin.Array' type=kotlin.Int origin=GET_PROPERTY + $this: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.ensureCapacity' type=.ArrayMapImpl.ArrayMapImpl> origin=null + other: CALL 'private final fun (): kotlin.Int declared in .ArrayMapImpl.Companion' type=kotlin.Int origin=GET_PROPERTY + $this: GET_OBJECT 'CLASS OBJECT name:Companion modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]' type=.ArrayMapImpl.Companion + FUN name:set visibility:public modality:OPEN <> ($this:.ArrayMapImpl.ArrayMapImpl>, index:kotlin.Int, value:T of .ArrayMapImpl) returnType:kotlin.Unit [operator] + overridden: + public abstract fun set (index: kotlin.Int, value: T of .ArrayMap): kotlin.Unit [operator] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.ArrayMapImpl> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:value index:1 type:T of .ArrayMapImpl + BLOCK_BODY + CALL 'private final fun ensureCapacity (index: kotlin.Int): kotlin.Unit declared in .ArrayMapImpl' type=kotlin.Unit origin=null + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.set' type=.ArrayMapImpl.ArrayMapImpl> origin=null + index: GET_VAR 'index: kotlin.Int declared in .ArrayMapImpl.set' type=kotlin.Int origin=null + WHEN type=kotlin.Unit origin=IF + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array [operator] declared in kotlin.Array' type=kotlin.Any? origin=GET_ARRAY_ELEMENT + $this: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.set' type=.ArrayMapImpl.ArrayMapImpl> origin=null + index: GET_VAR 'index: kotlin.Int declared in .ArrayMapImpl.set' type=kotlin.Int origin=null + arg1: CONST Null type=kotlin.Nothing? value=null + then: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + BLOCK type=kotlin.Int origin=null + BLOCK type=kotlin.Int origin=POSTFIX_INCR + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:.ArrayMapImpl.ArrayMapImpl> [val] + GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.set' type=.ArrayMapImpl.ArrayMapImpl> origin=null + BLOCK type=kotlin.Int origin=POSTFIX_INCR + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.Int [val] + CALL 'public open fun (): kotlin.Int declared in .ArrayMapImpl' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp_0: .ArrayMapImpl.ArrayMapImpl> [val] declared in .ArrayMapImpl.set' type=.ArrayMapImpl.ArrayMapImpl> origin=null + CALL 'private open fun (: kotlin.Int): kotlin.Unit declared in .ArrayMapImpl' type=kotlin.Unit origin=POSTFIX_INCR + $this: GET_VAR 'val tmp_0: .ArrayMapImpl.ArrayMapImpl> [val] declared in .ArrayMapImpl.set' type=.ArrayMapImpl.ArrayMapImpl> origin=null + : CALL 'public final fun inc (): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp_1: kotlin.Int [val] declared in .ArrayMapImpl.set' type=kotlin.Int origin=null + GET_VAR 'val tmp_1: kotlin.Int [val] declared in .ArrayMapImpl.set' type=kotlin.Int origin=null + CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit [operator] declared in kotlin.Array' type=kotlin.Unit origin=EQ + $this: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.set' type=.ArrayMapImpl.ArrayMapImpl> origin=null + index: GET_VAR 'index: kotlin.Int declared in .ArrayMapImpl.set' type=kotlin.Int origin=null + value: GET_VAR 'value: T of .ArrayMapImpl declared in .ArrayMapImpl.set' type=T of .ArrayMapImpl origin=null + FUN name:get visibility:public modality:OPEN <> ($this:.ArrayMapImpl.ArrayMapImpl>, index:kotlin.Int) returnType:T of .ArrayMapImpl? [operator] + overridden: + public abstract fun get (index: kotlin.Int): T of .ArrayMap? [operator] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.ArrayMapImpl> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun get (index: kotlin.Int): T of .ArrayMapImpl? [operator] declared in .ArrayMapImpl' + TYPE_OP type=T of .ArrayMapImpl? origin=CAST typeOperand=T of .ArrayMapImpl? + CALL 'public final fun getOrNull (index: kotlin.Int): T of kotlin.collections.ArraysKt.getOrNull? declared in kotlin.collections.ArraysKt' type=kotlin.Any? origin=null + : kotlin.Any? + $receiver: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.get' type=.ArrayMapImpl.ArrayMapImpl> origin=null + index: GET_VAR 'index: kotlin.Int declared in .ArrayMapImpl.get' type=kotlin.Int origin=null + FUN name:copy visibility:public modality:OPEN <> ($this:.ArrayMapImpl.ArrayMapImpl>) returnType:.ArrayMap.ArrayMapImpl> + overridden: + public abstract fun copy (): .ArrayMap.ArrayMap> declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.ArrayMapImpl> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun copy (): .ArrayMap.ArrayMapImpl> declared in .ArrayMapImpl' + CONSTRUCTOR_CALL 'private constructor (data: kotlin.Array) [primary] declared in .ArrayMapImpl' type=.ArrayMapImpl.ArrayMapImpl> origin=null + : T of .ArrayMapImpl + data: CALL 'public final fun copyOf (): kotlin.Array [inline] declared in kotlin.collections.ArraysKt' type=kotlin.Array origin=null + : kotlin.Any? + $receiver: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.copy' type=.ArrayMapImpl.ArrayMapImpl> origin=null + FUN name:iterator visibility:public modality:OPEN <> ($this:.ArrayMapImpl.ArrayMapImpl>) returnType:kotlin.collections.Iterator.ArrayMapImpl> [operator] + overridden: + public abstract fun iterator (): kotlin.collections.Iterator.ArrayMap> [fake_override,operator] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.ArrayMapImpl> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun iterator (): kotlin.collections.Iterator.ArrayMapImpl> [operator] declared in .ArrayMapImpl' + BLOCK type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=OBJECT_LITERAL + CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.collections.AbstractIterator.ArrayMapImpl>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ArrayMapImpl.iterator..ArrayMapImpl> + CONSTRUCTOR visibility:public <> () returnType:.ArrayMapImpl.iterator..ArrayMapImpl> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.collections.AbstractIterator' + : T of .ArrayMapImpl + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name: modality:FINAL visibility:local superTypes:[kotlin.collections.AbstractIterator.ArrayMapImpl>]' + PROPERTY name:index visibility:private modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:index type:kotlin.Int visibility:private + EXPRESSION_BODY + CONST Int type=kotlin.Int value=-1 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.ArrayMapImpl.iterator..ArrayMapImpl>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:index visibility:private modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.iterator..ArrayMapImpl> + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.Int declared in .ArrayMapImpl.iterator.' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:index type:kotlin.Int visibility:private' type=kotlin.Int origin=null + receiver: GET_VAR ': .ArrayMapImpl.iterator..ArrayMapImpl> declared in .ArrayMapImpl.iterator..' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.ArrayMapImpl.iterator..ArrayMapImpl>, :kotlin.Int) returnType:kotlin.Unit + correspondingProperty: PROPERTY name:index visibility:private modality:FINAL [var] + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.iterator..ArrayMapImpl> + VALUE_PARAMETER name: index:0 type:kotlin.Int + BLOCK_BODY + SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:index type:kotlin.Int visibility:private' type=kotlin.Unit origin=null + receiver: GET_VAR ': .ArrayMapImpl.iterator..ArrayMapImpl> declared in .ArrayMapImpl.iterator..' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=null + value: GET_VAR ': kotlin.Int declared in .ArrayMapImpl.iterator..' type=kotlin.Int origin=null + FUN name:computeNext visibility:protected modality:OPEN <> ($this:.ArrayMapImpl.iterator..ArrayMapImpl>) returnType:kotlin.Unit + overridden: + protected abstract fun computeNext (): kotlin.Unit declared in kotlin.collections.AbstractIterator + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.iterator..ArrayMapImpl> + BLOCK_BODY + BLOCK type=kotlin.Unit origin=null + DO_WHILE label=null origin=DO_WHILE_LOOP + body: COMPOSITE type=kotlin.Unit origin=null + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + BLOCK type=kotlin.Int origin=POSTFIX_INCR + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:.ArrayMapImpl.iterator..ArrayMapImpl> [val] + GET_VAR ': .ArrayMapImpl.iterator..ArrayMapImpl> declared in .ArrayMapImpl.iterator..computeNext' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=null + BLOCK type=kotlin.Int origin=POSTFIX_INCR + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlin.Int [val] + CALL 'private final fun (): kotlin.Int declared in .ArrayMapImpl.iterator.' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp_2: .ArrayMapImpl.iterator..ArrayMapImpl> [val] declared in .ArrayMapImpl.iterator..computeNext' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=null + CALL 'private final fun (: kotlin.Int): kotlin.Unit declared in .ArrayMapImpl.iterator.' type=kotlin.Unit origin=POSTFIX_INCR + $this: GET_VAR 'val tmp_2: .ArrayMapImpl.iterator..ArrayMapImpl> [val] declared in .ArrayMapImpl.iterator..computeNext' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=null + : CALL 'public final fun inc (): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR + $this: GET_VAR 'val tmp_3: kotlin.Int [val] declared in .ArrayMapImpl.iterator..computeNext' type=kotlin.Int origin=null + GET_VAR 'val tmp_3: kotlin.Int [val] declared in .ArrayMapImpl.iterator..computeNext' type=kotlin.Int origin=null + condition: WHEN type=kotlin.Boolean origin=ANDAND + BRANCH + if: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT + arg0: CALL 'private final fun (): kotlin.Int declared in .ArrayMapImpl.iterator.' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.iterator..ArrayMapImpl> declared in .ArrayMapImpl.iterator..computeNext' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=null + arg1: CALL 'public final fun (): kotlin.Int declared in kotlin.Array' type=kotlin.Int origin=GET_PROPERTY + $this: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.iterator' type=.ArrayMapImpl.ArrayMapImpl> origin=null + then: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array [operator] declared in kotlin.Array' type=kotlin.Any? origin=GET_ARRAY_ELEMENT + $this: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.iterator' type=.ArrayMapImpl.ArrayMapImpl> origin=null + index: CALL 'private final fun (): kotlin.Int declared in .ArrayMapImpl.iterator.' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.iterator..ArrayMapImpl> declared in .ArrayMapImpl.iterator..computeNext' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=null + arg1: CONST Null type=kotlin.Nothing? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CONST Boolean type=kotlin.Boolean value=false + WHEN type=kotlin.Unit origin=IF + BRANCH + if: CALL 'public final fun greaterOrEqual (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GTEQ + arg0: CALL 'private final fun (): kotlin.Int declared in .ArrayMapImpl.iterator.' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.iterator..ArrayMapImpl> declared in .ArrayMapImpl.iterator..computeNext' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=null + arg1: CALL 'public final fun (): kotlin.Int declared in kotlin.Array' type=kotlin.Int origin=GET_PROPERTY + $this: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.iterator' type=.ArrayMapImpl.ArrayMapImpl> origin=null + then: BLOCK type=kotlin.Unit origin=null + CALL 'protected final fun done (): kotlin.Unit [fake_override] declared in .ArrayMapImpl.iterator.' type=kotlin.Unit origin=null + $this: GET_VAR ': .ArrayMapImpl.iterator..ArrayMapImpl> declared in .ArrayMapImpl.iterator..computeNext' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: BLOCK type=kotlin.Unit origin=null + CALL 'protected final fun setNext (value: T of .ArrayMapImpl): kotlin.Unit [fake_override] declared in .ArrayMapImpl.iterator.' type=kotlin.Unit origin=null + $this: GET_VAR ': .ArrayMapImpl.iterator..ArrayMapImpl> declared in .ArrayMapImpl.iterator..computeNext' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=null + value: TYPE_OP type=T of .ArrayMapImpl origin=CAST typeOperand=T of .ArrayMapImpl + CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array [operator] declared in kotlin.Array' type=kotlin.Any? origin=GET_ARRAY_ELEMENT + $this: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.iterator' type=.ArrayMapImpl.ArrayMapImpl> origin=null + index: CALL 'private final fun (): kotlin.Int declared in .ArrayMapImpl.iterator.' type=kotlin.Int origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.iterator..ArrayMapImpl> declared in .ArrayMapImpl.iterator..computeNext' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=null + FUN FAKE_OVERRIDE name:done visibility:protected modality:FINAL <> ($this:kotlin.collections.AbstractIterator.ArrayMapImpl>) returnType:kotlin.Unit [fake_override] + overridden: + protected final fun done (): kotlin.Unit declared in kotlin.collections.AbstractIterator + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractIterator.ArrayMapImpl> + FUN FAKE_OVERRIDE name:setNext visibility:protected modality:FINAL <> ($this:kotlin.collections.AbstractIterator.ArrayMapImpl>, value:T of .ArrayMapImpl) returnType:kotlin.Unit [fake_override] + overridden: + protected final fun setNext (value: T of kotlin.collections.AbstractIterator): kotlin.Unit declared in kotlin.collections.AbstractIterator + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractIterator.ArrayMapImpl> + VALUE_PARAMETER name:value index:0 type:T of .ArrayMapImpl + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.collections.AbstractIterator + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hasNext visibility:public modality:OPEN <> ($this:kotlin.collections.AbstractIterator.ArrayMapImpl>) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun hasNext (): kotlin.Boolean [operator] declared in kotlin.collections.AbstractIterator + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractIterator.ArrayMapImpl> + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in kotlin.collections.AbstractIterator + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:next visibility:public modality:OPEN <> ($this:kotlin.collections.AbstractIterator.ArrayMapImpl>) returnType:T of .ArrayMapImpl [fake_override,operator] + overridden: + public open fun next (): T of kotlin.collections.AbstractIterator [operator] declared in kotlin.collections.AbstractIterator + $this: VALUE_PARAMETER name: type:kotlin.collections.AbstractIterator.ArrayMapImpl> + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in kotlin.collections.AbstractIterator + $this: VALUE_PARAMETER name: type:kotlin.Any + CONSTRUCTOR_CALL 'public constructor () [primary] declared in .ArrayMapImpl.iterator.' type=.ArrayMapImpl.iterator..ArrayMapImpl> origin=OBJECT_LITERAL + FUN name:remove visibility:public modality:FINAL <> ($this:.ArrayMapImpl.ArrayMapImpl>, index:kotlin.Int) returnType:kotlin.Unit + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.ArrayMapImpl> + VALUE_PARAMETER name:index index:0 type:kotlin.Int + BLOCK_BODY + WHEN type=kotlin.Unit origin=IF + BRANCH + if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ + $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array [operator] declared in kotlin.Array' type=kotlin.Any? origin=GET_ARRAY_ELEMENT + $this: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.remove' type=.ArrayMapImpl.ArrayMapImpl> origin=null + index: GET_VAR 'index: kotlin.Int declared in .ArrayMapImpl.remove' type=kotlin.Int origin=null + arg1: CONST Null type=kotlin.Nothing? value=null + then: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + BLOCK type=kotlin.Int origin=null + BLOCK type=kotlin.Int origin=POSTFIX_DECR + VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:.ArrayMapImpl.ArrayMapImpl> [val] + GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.remove' type=.ArrayMapImpl.ArrayMapImpl> origin=null + BLOCK type=kotlin.Int origin=POSTFIX_DECR + VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlin.Int [val] + CALL 'public open fun (): kotlin.Int declared in .ArrayMapImpl' type=kotlin.Int origin=POSTFIX_DECR + $this: GET_VAR 'val tmp_4: .ArrayMapImpl.ArrayMapImpl> [val] declared in .ArrayMapImpl.remove' type=.ArrayMapImpl.ArrayMapImpl> origin=null + CALL 'private open fun (: kotlin.Int): kotlin.Unit declared in .ArrayMapImpl' type=kotlin.Unit origin=POSTFIX_DECR + $this: GET_VAR 'val tmp_4: .ArrayMapImpl.ArrayMapImpl> [val] declared in .ArrayMapImpl.remove' type=.ArrayMapImpl.ArrayMapImpl> origin=null + : CALL 'public final fun dec (): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_DECR + $this: GET_VAR 'val tmp_5: kotlin.Int [val] declared in .ArrayMapImpl.remove' type=kotlin.Int origin=null + GET_VAR 'val tmp_5: kotlin.Int [val] declared in .ArrayMapImpl.remove' type=kotlin.Int origin=null + CALL 'public final fun set (index: kotlin.Int, value: T of kotlin.Array): kotlin.Unit [operator] declared in kotlin.Array' type=kotlin.Unit origin=EQ + $this: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.remove' type=.ArrayMapImpl.ArrayMapImpl> origin=null + index: GET_VAR 'index: kotlin.Int declared in .ArrayMapImpl.remove' type=kotlin.Int origin=null + value: CONST Null type=kotlin.Nothing? value=null + FUN name:entries visibility:public modality:FINAL <> ($this:.ArrayMapImpl.ArrayMapImpl>) returnType:kotlin.collections.List<.ArrayMapImpl.Entry.ArrayMapImpl>> + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.ArrayMapImpl> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun entries (): kotlin.collections.List<.ArrayMapImpl.Entry.ArrayMapImpl>> declared in .ArrayMapImpl' + CALL 'public final fun mapIndexedNotNull (transform: kotlin.Function2<@[ParameterName(name = 'index')] kotlin.Int, T of kotlin.collections.ArraysKt.mapIndexedNotNull, R of kotlin.collections.ArraysKt.mapIndexedNotNull?>): kotlin.collections.List [inline] declared in kotlin.collections.ArraysKt' type=kotlin.collections.List<.ArrayMapImpl.Entry.ArrayMapImpl>> origin=null + : kotlin.Any? + : .ArrayMapImpl.Entry.ArrayMapImpl> + $receiver: CALL 'private final fun (): kotlin.Array declared in .ArrayMapImpl' type=kotlin.Array origin=GET_PROPERTY + $this: GET_VAR ': .ArrayMapImpl.ArrayMapImpl> declared in .ArrayMapImpl.entries' type=.ArrayMapImpl.ArrayMapImpl> origin=null + transform: FUN_EXPR type=kotlin.Function2<@[ParameterName(name = 'index')] kotlin.Int, kotlin.Any?, .ArrayMapImpl.Entry.ArrayMapImpl>?> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (index:kotlin.Int, value:kotlin.Any?) returnType:.ArrayMapImpl.Entry.ArrayMapImpl>? + VALUE_PARAMETER name:index index:0 type:kotlin.Int + VALUE_PARAMETER name:value index:1 type:kotlin.Any? + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (index: kotlin.Int, value: kotlin.Any?): .ArrayMapImpl.Entry.ArrayMapImpl>? declared in .ArrayMapImpl.entries' + WHEN type=.ArrayMapImpl.Entry.ArrayMapImpl>? origin=IF + BRANCH + if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ + $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: GET_VAR 'value: kotlin.Any? declared in .ArrayMapImpl.entries.' type=kotlin.Any? origin=null + arg1: CONST Null type=kotlin.Nothing? value=null + then: CONSTRUCTOR_CALL 'public constructor (key: kotlin.Int, value: T of .ArrayMapImpl.Entry) [primary] declared in .ArrayMapImpl.Entry' type=.ArrayMapImpl.Entry.ArrayMapImpl> origin=null + : T of .ArrayMapImpl + key: GET_VAR 'index: kotlin.Int declared in .ArrayMapImpl.entries.' type=kotlin.Int origin=null + value: TYPE_OP type=T of .ArrayMapImpl origin=CAST typeOperand=T of .ArrayMapImpl + GET_VAR 'value: kotlin.Any? declared in .ArrayMapImpl.entries.' type=kotlin.Any? origin=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:Entry modality:FINAL visibility:public [data] superTypes:[kotlin.collections.Map.Entry.ArrayMapImpl.Entry>] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] + CONSTRUCTOR visibility:public <> (key:kotlin.Int, value:T of .ArrayMapImpl.Entry) returnType:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> [primary] + VALUE_PARAMETER name:key index:0 type:kotlin.Int + VALUE_PARAMETER name:value index:1 type:T of .ArrayMapImpl.Entry + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Entry modality:FINAL visibility:public [data] superTypes:[kotlin.collections.Map.Entry.ArrayMapImpl.Entry>]' + PROPERTY name:key visibility:public modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:key type:kotlin.Int visibility:private [final] + EXPRESSION_BODY + GET_VAR 'key: kotlin.Int declared in .ArrayMapImpl.Entry.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.ArrayMapImpl.Entry.ArrayMapImpl.Entry>) returnType:kotlin.Int + correspondingProperty: PROPERTY name:key visibility:public modality:OPEN [val] + overridden: + public abstract fun (): K of kotlin.collections.Map.Entry declared in kotlin.collections.Map.Entry + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Int declared in .ArrayMapImpl.Entry' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:key type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null + receiver: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + PROPERTY name:value visibility:public modality:OPEN [val] + FIELD PROPERTY_BACKING_FIELD name:value type:T of .ArrayMapImpl.Entry visibility:private [final] + EXPRESSION_BODY + GET_VAR 'value: T of .ArrayMapImpl.Entry declared in .ArrayMapImpl.Entry.' type=T of .ArrayMapImpl.Entry origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN <> ($this:.ArrayMapImpl.Entry.ArrayMapImpl.Entry>) returnType:T of .ArrayMapImpl.Entry + correspondingProperty: PROPERTY name:value visibility:public modality:OPEN [val] + overridden: + public abstract fun (): V of kotlin.collections.Map.Entry declared in kotlin.collections.Map.Entry + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): T of .ArrayMapImpl.Entry declared in .ArrayMapImpl.Entry' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .ArrayMapImpl.Entry visibility:private [final]' type=T of .ArrayMapImpl.Entry origin=null + receiver: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:.ArrayMapImpl.Entry.ArrayMapImpl.Entry>) returnType:kotlin.Int [operator] + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun component1 (): kotlin.Int [operator] declared in .ArrayMapImpl.Entry' + CALL 'public open fun (): kotlin.Int declared in .ArrayMapImpl.Entry' type=kotlin.Int origin=null + $this: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.component1' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:.ArrayMapImpl.Entry.ArrayMapImpl.Entry>) returnType:T of .ArrayMapImpl.Entry [operator] + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun component2 (): T of .ArrayMapImpl.Entry [operator] declared in .ArrayMapImpl.Entry' + CALL 'public open fun (): T of .ArrayMapImpl.Entry declared in .ArrayMapImpl.Entry' type=T of .ArrayMapImpl.Entry origin=null + $this: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.component2' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:.ArrayMapImpl.Entry.ArrayMapImpl.Entry>, key:kotlin.Int, value:T of .ArrayMapImpl.Entry) returnType:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + VALUE_PARAMETER name:key index:0 type:kotlin.Int + EXPRESSION_BODY + CALL 'public open fun (): kotlin.Int declared in .ArrayMapImpl.Entry' type=kotlin.Int origin=null + $this: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.copy' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + VALUE_PARAMETER name:value index:1 type:T of .ArrayMapImpl.Entry + EXPRESSION_BODY + CALL 'public open fun (): T of .ArrayMapImpl.Entry declared in .ArrayMapImpl.Entry' type=T of .ArrayMapImpl.Entry origin=null + $this: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.copy' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun copy (key: kotlin.Int, value: T of .ArrayMapImpl.Entry): .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry' + CONSTRUCTOR_CALL 'public constructor (key: kotlin.Int, value: T of .ArrayMapImpl.Entry) [primary] declared in .ArrayMapImpl.Entry' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + : T of .ArrayMapImpl.Entry + key: GET_VAR 'key: kotlin.Int declared in .ArrayMapImpl.Entry.copy' type=kotlin.Int origin=null + value: GET_VAR 'value: T of .ArrayMapImpl.Entry declared in .ArrayMapImpl.Entry.copy' type=T of .ArrayMapImpl.Entry origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:.ArrayMapImpl.Entry.ArrayMapImpl.Entry>) returnType:kotlin.String + overridden: + public open fun toString (): kotlin.String [fake_override] declared in kotlin.collections.Map.Entry + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .ArrayMapImpl.Entry' + STRING_CONCATENATION type=kotlin.String + CONST String type=kotlin.String value="Entry(" + CONST String type=kotlin.String value="key=" + CALL 'public open fun (): kotlin.Int declared in .ArrayMapImpl.Entry' type=kotlin.Int origin=null + $this: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.toString' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + CONST String type=kotlin.String value=", " + CONST String type=kotlin.String value="value=" + CALL 'public open fun (): T of .ArrayMapImpl.Entry declared in .ArrayMapImpl.Entry' type=T of .ArrayMapImpl.Entry origin=null + $this: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.toString' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + CONST String type=kotlin.String value=")" + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:.ArrayMapImpl.Entry.ArrayMapImpl.Entry>) returnType:kotlin.Int + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in kotlin.collections.Map.Entry + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + BLOCK_BODY + VAR name:result type:kotlin.Int [var] + CALL 'public open fun hashCode (): kotlin.Int [fake_override] declared in kotlin.Int' type=kotlin.Int origin=null + $this: CALL 'public open fun (): kotlin.Int declared in .ArrayMapImpl.Entry' type=kotlin.Int origin=null + $this: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.hashCode' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + SET_VAR 'var result: kotlin.Int [var] declared in .ArrayMapImpl.Entry.hashCode' type=kotlin.Unit origin=EQ + CALL 'public final fun plus (other: kotlin.Int): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=null + $this: CALL 'public final fun times (other: kotlin.Int): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=null + $this: GET_VAR 'var result: kotlin.Int [var] declared in .ArrayMapImpl.Entry.hashCode' type=kotlin.Int origin=null + other: CONST Int type=kotlin.Int value=31 + other: WHEN type=kotlin.Int origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + arg0: CALL 'public open fun (): T of .ArrayMapImpl.Entry declared in .ArrayMapImpl.Entry' type=T of .ArrayMapImpl.Entry origin=null + $this: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.hashCode' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Int type=kotlin.Int value=0 + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Any' type=kotlin.Int origin=null + $this: CALL 'public open fun (): T of .ArrayMapImpl.Entry declared in .ArrayMapImpl.Entry' type=T of .ArrayMapImpl.Entry origin=null + $this: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.hashCode' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .ArrayMapImpl.Entry' + GET_VAR 'var result: kotlin.Int [var] declared in .ArrayMapImpl.Entry.hashCode' type=kotlin.Int origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:.ArrayMapImpl.Entry.ArrayMapImpl.Entry>, other:kotlin.Any?) returnType:kotlin.Boolean [operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.collections.Map.Entry + $this: VALUE_PARAMETER name: type:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + BLOCK_BODY + WHEN type=kotlin.Unit origin=null + BRANCH + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + arg0: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.equals' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + arg1: GET_VAR 'other: kotlin.Any? declared in .ArrayMapImpl.Entry.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in .ArrayMapImpl.Entry' + CONST Boolean type=kotlin.Boolean value=true + WHEN type=kotlin.Unit origin=null + BRANCH + if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + GET_VAR 'other: kotlin.Any? declared in .ArrayMapImpl.Entry.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in .ArrayMapImpl.Entry' + CONST Boolean type=kotlin.Boolean value=false + VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:.ArrayMapImpl.Entry.ArrayMapImpl.Entry> [val] + TYPE_OP type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=CAST typeOperand=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> + GET_VAR 'other: kotlin.Any? declared in .ArrayMapImpl.Entry.equals' type=kotlin.Any? origin=null + WHEN type=kotlin.Unit origin=null + BRANCH + if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ + $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public open fun (): kotlin.Int declared in .ArrayMapImpl.Entry' type=kotlin.Int origin=null + $this: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.equals' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + arg1: CALL 'public open fun (): kotlin.Int declared in .ArrayMapImpl.Entry' type=kotlin.Int origin=null + $this: GET_VAR 'val tmp_6: .ArrayMapImpl.Entry.ArrayMapImpl.Entry> [val] declared in .ArrayMapImpl.Entry.equals' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in .ArrayMapImpl.Entry' + CONST Boolean type=kotlin.Boolean value=false + WHEN type=kotlin.Unit origin=null + BRANCH + if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ + $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + arg0: CALL 'public open fun (): T of .ArrayMapImpl.Entry declared in .ArrayMapImpl.Entry' type=T of .ArrayMapImpl.Entry origin=null + $this: GET_VAR ': .ArrayMapImpl.Entry.ArrayMapImpl.Entry> declared in .ArrayMapImpl.Entry.equals' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + arg1: CALL 'public open fun (): T of .ArrayMapImpl.Entry declared in .ArrayMapImpl.Entry' type=T of .ArrayMapImpl.Entry origin=null + $this: GET_VAR 'val tmp_6: .ArrayMapImpl.Entry.ArrayMapImpl.Entry> [val] declared in .ArrayMapImpl.Entry.equals' type=.ArrayMapImpl.Entry.ArrayMapImpl.Entry> origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in .ArrayMapImpl.Entry' + CONST Boolean type=kotlin.Boolean value=false + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in .ArrayMapImpl.Entry' + CONST Boolean type=kotlin.Boolean value=true + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in .ArrayMap + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/ir/IrTextTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/ir/IrTextTestGenerated.java index 71b9deee00a..40a9e267a6f 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/ir/IrTextTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/ir/IrTextTestGenerated.java @@ -2110,6 +2110,12 @@ public class IrTextTestGenerated extends AbstractIrTextTest { runTest("compiler/testData/ir/irText/firProblems/AnnotationLoader.kt"); } + @Test + @TestMetadata("ArrayMap.kt") + public void testArrayMap() throws Exception { + runTest("compiler/testData/ir/irText/firProblems/ArrayMap.kt"); + } + @Test @TestMetadata("candidateSymbol.kt") public void testCandidateSymbol() throws Exception {