// FIR_IDENTICAL import java.util.Enumeration fun java.util.Enumeration.iterator() = object: Iterator { override fun hasNext(): Boolean = hasMoreElements() override fun next() = nextElement() } interface MyIterator { operator fun hasNext() : Boolean operator fun next() : T } operator fun T?.iterator() = object : MyIterator { var hasNext = this@iterator != null private set override fun hasNext() = hasNext override fun next() : T { if (hasNext) { hasNext = false return this@iterator!! } throw java.util.NoSuchElementException() } } fun main() { val i : Int? = 1 for (x in i) { System.out.println(x) } }