class IntCell { var value: Int field = value get set constructor(value: Int) /* primary */ { super/*Any*/() /* () */ } } interface IReceiver { operator fun IntCell.hasNext(): Boolean { return greater(arg0 = .(), arg1 = 0) } operator fun FiveTimes.iterator(): IntCell { return IntCell(value = 5) } operator fun IntCell.next(): Int { return { // BLOCK val tmp_0: IntCell = { // BLOCK val tmp_1: Int = tmp_0.() tmp_0.( = tmp_1.dec()) tmp_1 } } } } object FiveTimes { private constructor() /* primary */ { super/*Any*/() /* () */ } } fun IReceiver.test() { { // BLOCK val tmp_2: IntCell = (, FiveTimes).iterator() while ((, tmp_2).hasNext()) { // BLOCK val i: Int = (, tmp_2).next() { // BLOCK println(message = i) } } } }