Move jet.runtime.ArrayIterator to package "kotlin.jvm.internal"

This commit is contained in:
Alexander Udalov
2014-02-13 20:23:19 +04:00
parent 9d9d73268a
commit 19acc8c6c4
9 changed files with 161 additions and 265 deletions
@@ -0,0 +1,41 @@
/*
* Copyright 2010-2013 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.jet.generators.builtins.arrayIterators
import org.jetbrains.jet.generators.builtins.IteratorKind
import org.jetbrains.jet.generators.builtins.generateBuiltIns.*
import java.io.PrintWriter
class GenerateArrayIterators(out: PrintWriter) : BuiltInsSourceGenerator(out) {
override fun getPackage() = "kotlin.jvm.internal"
override fun generateBody() {
for (kind in IteratorKind.values()) {
val s = kind.capitalized
out.println("private class Array${s}Iterator(private val array: ${s}Array) : ${s}Iterator() {")
out.println(" private var index = 0")
out.println(" override fun hasNext() = index < array.size")
out.println(" override fun next$s() = array[index++]")
out.println("}")
out.println()
}
for (kind in IteratorKind.values()) {
val s = kind.capitalized
out.println("public fun iterator(array: ${s}Array): ${s}Iterator = Array${s}Iterator(array)")
}
}
}
@@ -18,6 +18,19 @@ package org.jetbrains.jet.generators.builtins
import org.jetbrains.jet.generators.builtins.ProgressionKind.*
enum class IteratorKind {
BYTE
CHAR
SHORT
INT
LONG
FLOAT
DOUBLE
BOOLEAN
val capitalized: String get() = name().toLowerCase().capitalize()
}
enum class ProgressionKind {
BYTE
CHAR
@@ -16,6 +16,7 @@
package org.jetbrains.jet.generators.builtins.generateBuiltIns
import org.jetbrains.jet.generators.builtins.arrayIterators.*
import org.jetbrains.jet.generators.builtins.functions.*
import org.jetbrains.jet.generators.builtins.iterators.*
import org.jetbrains.jet.generators.builtins.progressionIterators.*
@@ -58,6 +59,7 @@ fun generateBuiltIns(generate: (File, (PrintWriter) -> BuiltInsSourceGenerator)
}
generate(File(BUILT_INS_DIR, "Iterators.kt")) { GenerateIterators(it) }
generate(File(RUNTIME_JVM_DIR, "jvm/internal/ArrayIterators.kt")) { GenerateArrayIterators(it) }
generate(File(BUILT_INS_DIR, "ProgressionIterators.kt")) { GenerateProgressionIterators(it) }
generate(File(BUILT_INS_DIR, "Progressions.kt")) { GenerateProgressions(it) }
generate(File(BUILT_INS_DIR, "Ranges.kt")) { GenerateRanges(it) }
@@ -16,22 +16,10 @@
package org.jetbrains.jet.generators.builtins.iterators
import org.jetbrains.jet.generators.builtins.IteratorKind
import org.jetbrains.jet.generators.builtins.generateBuiltIns.*
import java.io.PrintWriter
enum class IteratorKind {
BYTE
CHAR
SHORT
INT
LONG
FLOAT
DOUBLE
BOOLEAN
val capitalized: String get() = name().toLowerCase().capitalize()
}
class GenerateIterators(out: PrintWriter) : BuiltInsSourceGenerator(out) {
override fun generateBody() {
for (kind in IteratorKind.values()) {