From 4479c215d4c264e6ccd1148fe3fcf78ca2b13c33 Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Wed, 17 Jun 2015 17:48:18 +0300 Subject: [PATCH] Change return type for `iterator` method of `asList` impls for *Array These objects implement AbstractList that extending MutableCollection. After type propagation `iterator` of AbstractList become MutableIterator, so it cannot be overriden with immutable Iterator --- libraries/stdlib/src/generated/_SpecialJVM.kt | 16 ++++++++-------- .../src/templates/SpecialJVM.kt | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/libraries/stdlib/src/generated/_SpecialJVM.kt b/libraries/stdlib/src/generated/_SpecialJVM.kt index b4502eb4aef..79880f368fe 100644 --- a/libraries/stdlib/src/generated/_SpecialJVM.kt +++ b/libraries/stdlib/src/generated/_SpecialJVM.kt @@ -25,7 +25,7 @@ public fun BooleanArray.asList(): List { override fun size(): Int = this@asList.size() override fun isEmpty(): Boolean = this@asList.isEmpty() override fun contains(o: Any?): Boolean = this@asList.contains(o as Boolean) - override fun iterator(): Iterator = this@asList.iterator() + override fun iterator(): MutableIterator = this@asList.iterator() as MutableIterator override fun get(index: Int): Boolean = this@asList[index] override fun indexOf(o: Any?): Int = this@asList.indexOf(o as Boolean) override fun lastIndexOf(o: Any?): Int = this@asList.lastIndexOf(o as Boolean) @@ -40,7 +40,7 @@ public fun ByteArray.asList(): List { override fun size(): Int = this@asList.size() override fun isEmpty(): Boolean = this@asList.isEmpty() override fun contains(o: Any?): Boolean = this@asList.contains(o as Byte) - override fun iterator(): Iterator = this@asList.iterator() + override fun iterator(): MutableIterator = this@asList.iterator() as MutableIterator override fun get(index: Int): Byte = this@asList[index] override fun indexOf(o: Any?): Int = this@asList.indexOf(o as Byte) override fun lastIndexOf(o: Any?): Int = this@asList.lastIndexOf(o as Byte) @@ -55,7 +55,7 @@ public fun CharArray.asList(): List { override fun size(): Int = this@asList.size() override fun isEmpty(): Boolean = this@asList.isEmpty() override fun contains(o: Any?): Boolean = this@asList.contains(o as Char) - override fun iterator(): Iterator = this@asList.iterator() + override fun iterator(): MutableIterator = this@asList.iterator() as MutableIterator override fun get(index: Int): Char = this@asList[index] override fun indexOf(o: Any?): Int = this@asList.indexOf(o as Char) override fun lastIndexOf(o: Any?): Int = this@asList.lastIndexOf(o as Char) @@ -70,7 +70,7 @@ public fun DoubleArray.asList(): List { override fun size(): Int = this@asList.size() override fun isEmpty(): Boolean = this@asList.isEmpty() override fun contains(o: Any?): Boolean = this@asList.contains(o as Double) - override fun iterator(): Iterator = this@asList.iterator() + override fun iterator(): MutableIterator = this@asList.iterator() as MutableIterator override fun get(index: Int): Double = this@asList[index] override fun indexOf(o: Any?): Int = this@asList.indexOf(o as Double) override fun lastIndexOf(o: Any?): Int = this@asList.lastIndexOf(o as Double) @@ -85,7 +85,7 @@ public fun FloatArray.asList(): List { override fun size(): Int = this@asList.size() override fun isEmpty(): Boolean = this@asList.isEmpty() override fun contains(o: Any?): Boolean = this@asList.contains(o as Float) - override fun iterator(): Iterator = this@asList.iterator() + override fun iterator(): MutableIterator = this@asList.iterator() as MutableIterator override fun get(index: Int): Float = this@asList[index] override fun indexOf(o: Any?): Int = this@asList.indexOf(o as Float) override fun lastIndexOf(o: Any?): Int = this@asList.lastIndexOf(o as Float) @@ -100,7 +100,7 @@ public fun IntArray.asList(): List { override fun size(): Int = this@asList.size() override fun isEmpty(): Boolean = this@asList.isEmpty() override fun contains(o: Any?): Boolean = this@asList.contains(o as Int) - override fun iterator(): Iterator = this@asList.iterator() + override fun iterator(): MutableIterator = this@asList.iterator() as MutableIterator override fun get(index: Int): Int = this@asList[index] override fun indexOf(o: Any?): Int = this@asList.indexOf(o as Int) override fun lastIndexOf(o: Any?): Int = this@asList.lastIndexOf(o as Int) @@ -115,7 +115,7 @@ public fun LongArray.asList(): List { override fun size(): Int = this@asList.size() override fun isEmpty(): Boolean = this@asList.isEmpty() override fun contains(o: Any?): Boolean = this@asList.contains(o as Long) - override fun iterator(): Iterator = this@asList.iterator() + override fun iterator(): MutableIterator = this@asList.iterator() as MutableIterator override fun get(index: Int): Long = this@asList[index] override fun indexOf(o: Any?): Int = this@asList.indexOf(o as Long) override fun lastIndexOf(o: Any?): Int = this@asList.lastIndexOf(o as Long) @@ -130,7 +130,7 @@ public fun ShortArray.asList(): List { override fun size(): Int = this@asList.size() override fun isEmpty(): Boolean = this@asList.isEmpty() override fun contains(o: Any?): Boolean = this@asList.contains(o as Short) - override fun iterator(): Iterator = this@asList.iterator() + override fun iterator(): MutableIterator = this@asList.iterator() as MutableIterator override fun get(index: Int): Short = this@asList[index] override fun indexOf(o: Any?): Int = this@asList.indexOf(o as Short) override fun lastIndexOf(o: Any?): Int = this@asList.lastIndexOf(o as Short) diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/SpecialJVM.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/SpecialJVM.kt index 4af239daa08..3cd1e713263 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/SpecialJVM.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/SpecialJVM.kt @@ -167,7 +167,7 @@ fun specialJVM(): List { override fun size(): Int = this@asList.size() override fun isEmpty(): Boolean = this@asList.isEmpty() override fun contains(o: Any?): Boolean = this@asList.contains(o as T) - override fun iterator(): Iterator = this@asList.iterator() + override fun iterator(): MutableIterator = this@asList.iterator() as MutableIterator override fun get(index: Int): T = this@asList[index] override fun indexOf(o: Any?): Int = this@asList.indexOf(o as T) override fun lastIndexOf(o: Any?): Int = this@asList.lastIndexOf(o as T)