FILE: forLoopChecker.kt public final class NotRange1 : R|kotlin/Any| { public constructor(): R|NotRange1| { super() } } public abstract class NotRange2 : R|kotlin/Any| { public constructor(): R|NotRange2| { super() } public abstract operator fun iterator(): R|kotlin/Unit| } public abstract class ImproperIterator1 : R|kotlin/Any| { public constructor(): R|ImproperIterator1| { super() } public abstract operator fun hasNext(): R|kotlin/Boolean| } public abstract class NotRange3 : R|kotlin/Any| { public constructor(): R|NotRange3| { super() } public abstract operator fun iterator(): R|ImproperIterator1| } public abstract class ImproperIterator2 : R|kotlin/Any| { public constructor(): R|ImproperIterator2| { super() } public abstract operator fun next(): R|kotlin/Boolean| } public abstract class NotRange4 : R|kotlin/Any| { public constructor(): R|NotRange4| { super() } public abstract operator fun iterator(): R|ImproperIterator2| } public abstract class ImproperIterator3 : R|kotlin/Any| { public constructor(): R|ImproperIterator3| { super() } public abstract operator fun hasNext(): R|kotlin/Int| public abstract operator fun next(): R|kotlin/Int| } public abstract class NotRange5 : R|kotlin/Any| { public constructor(): R|NotRange5| { super() } public abstract operator fun iterator(): R|ImproperIterator3| } public abstract class AmbiguousHasNextIterator : R|kotlin/Any| { public constructor(): R|AmbiguousHasNextIterator| { super() } public abstract operator fun hasNext(): R|kotlin/Boolean| public final val hasNext: R|kotlin/Boolean| public get(): R|kotlin/Boolean| { ^ Boolean(false) } public abstract operator fun next(): R|kotlin/Int| } public abstract class NotRange6 : R|kotlin/Any| { public constructor(): R|NotRange6| { super() } public abstract operator fun iterator(): R|AmbiguousHasNextIterator| } public abstract class ImproperIterator4 : R|kotlin/Any| { public constructor(): R|ImproperIterator4| { super() } public final val hasNext: R|kotlin/Int| public get(): R|kotlin/Int| { ^ Int(1) } public abstract operator fun next(): R|kotlin/Int| } public abstract class NotRange7 : R|kotlin/Any| { public constructor(): R|NotRange7| { super() } public abstract operator fun iterator(): R|ImproperIterator3| } public abstract class GoodIterator : R|kotlin/Any| { public constructor(): R|GoodIterator| { super() } public abstract operator fun hasNext(): R|kotlin/Boolean| public abstract operator fun next(): R|kotlin/Int| } public abstract class Range0 : R|kotlin/Any| { public constructor(): R|Range0| { super() } public abstract operator fun iterator(): R|GoodIterator| } public abstract class Range1 : R|kotlin/Any| { public constructor(): R|Range1| { super() } public abstract operator fun iterator(): R|kotlin/collections/Iterator| } public abstract class ImproperIterator5 : R|kotlin/Any| { public constructor(): R|ImproperIterator5| { super() } public abstract val R|kotlin/String|.hasNext: R|kotlin/Boolean| public get(): R|kotlin/Boolean| public abstract operator fun next(): R|kotlin/Int| } public abstract class ImproperIterator6 : R|kotlin/Any| { public constructor(): R|ImproperIterator6| { super() } public abstract fun hasNext(): R|kotlin/Boolean| public abstract fun next(): R|kotlin/Int| } public abstract class NotRange8 : R|kotlin/Any| { public constructor(): R|NotRange8| { super() } public abstract operator fun iterator(): R|ImproperIterator5| } public abstract class NotRange9 : R|kotlin/Any| { public constructor(): R|NotRange9| { super() } public abstract fun iterator(): R|ImproperIterator6| } public final fun test(notRange1: R|NotRange1|, notRange2: R|NotRange2|, notRange3: R|NotRange3|, notRange4: R|NotRange4|, notRange5: R|NotRange5|, notRange6: R|NotRange6|, notRange7: R|NotRange7|, notRange8: R|NotRange8|, notRange9: R|NotRange9|, range0: R|Range0|, range1: R|Range1|): R|kotlin/Unit| { { lval : = R|/notRange1|.#() while(R|/|.#()) { lval i: = R|/|.#() { } } } { lval : R|kotlin/Unit| = R|/notRange2|.R|/NotRange2.iterator|() while(R|/|.#()) { lval i: = R|/|.#() { } } } { lval : R|ImproperIterator1| = R|/notRange3|.R|/NotRange3.iterator|() while(R|/|.R|/ImproperIterator1.hasNext|()) { lval i: = R|/|.#() { } } } { lval : R|ImproperIterator2| = R|/notRange4|.R|/NotRange4.iterator|() while(R|/|.#()) { lval i: R|kotlin/Boolean| = R|/|.R|/ImproperIterator2.next|() { } } } { lval : R|ImproperIterator3| = R|/notRange5|.R|/NotRange5.iterator|() while(R|/|.R|/ImproperIterator3.hasNext#|()) { lval i: R|kotlin/Int| = R|/|.R|/ImproperIterator3.next|() { } } } { lval : R|AmbiguousHasNextIterator| = R|/notRange6|.R|/NotRange6.iterator|() while(R|/|.R|/AmbiguousHasNextIterator.hasNext|()) { lval i: R|kotlin/Int| = R|/|.R|/AmbiguousHasNextIterator.next|() { } } } { lval : R|ImproperIterator3| = R|/notRange7|.R|/NotRange7.iterator|() while(R|/|.R|/ImproperIterator3.hasNext#|()) { lval i: R|kotlin/Int| = R|/|.R|/ImproperIterator3.next|() { } } } { lval : R|ImproperIterator5| = R|/notRange8|.R|/NotRange8.iterator|() while(R|/|.#()) { lval i: R|kotlin/Int| = R|/|.R|/ImproperIterator5.next|() { } } } { lval : R|ImproperIterator6| = R|/notRange9|.R|/NotRange9.iterator#|() while(R|/|.R|/ImproperIterator6.hasNext#|()) { lval i: R|kotlin/Int| = R|/|.R|/ImproperIterator6.next#|() { } } } { lval : R|GoodIterator| = R|/range0|.R|/Range0.iterator|() while(R|/|.R|/GoodIterator.hasNext|()) { lval i: R|kotlin/Int| = R|/|.R|/GoodIterator.next|() { } } } { lval : R|kotlin/collections/Iterator| = R|/range1|.R|/Range1.iterator|() while(R|/|.R|SubstitutionOverride|()) { lval i: R|kotlin/Int| = R|/|.R|SubstitutionOverride|() { } } } }