Rearrange kotlin-stdlib-js library sources
Move kotlin.* api inside kotlin directory. Update copyright paths.
This commit is contained in:
committed by
Stanislav Erokhin
parent
57e47d1830
commit
00b23a0fe9
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2010-2016 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 kotlin
|
||||
|
||||
public class Enum<T : Enum<T>> : Comparable<Enum<T>> {
|
||||
@JsName("name$") private var _name: String = ""
|
||||
@JsName("ordinal$") private var _ordinal: Int = 0
|
||||
|
||||
val name: String
|
||||
get() = _name
|
||||
|
||||
val ordinal: Int
|
||||
get() = _ordinal
|
||||
|
||||
override fun compareTo(other: Enum<T>) = ordinal.compareTo(other.ordinal)
|
||||
|
||||
override fun equals(other: Any?) = this === other
|
||||
|
||||
override fun hashCode(): Int = js("Kotlin.identityHashCode")(this)
|
||||
|
||||
override fun toString() = name
|
||||
|
||||
companion object
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Copyright 2010-2016 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.
|
||||
*/
|
||||
|
||||
// a package is omitted to get declarations directly under the module
|
||||
|
||||
@PublishedApi
|
||||
external internal fun <T> Array(size: Int): Array<T>
|
||||
|
||||
@JsName("newArray")
|
||||
fun <T> newArray(size: Int, initValue: T) = fillArrayVal(Array<T>(size), initValue)
|
||||
|
||||
@JsName("newArrayF")
|
||||
inline fun <T> arrayWithFun(size: Int, init: (Int) -> T) = fillArrayFun(Array<T>(size), init)
|
||||
|
||||
@JsName("fillArray")
|
||||
inline fun <T> fillArrayFun(array: Array<T>, init: (Int) -> T): Array<T> {
|
||||
for (i in 0..array.size - 1) {
|
||||
array[i] = init(i)
|
||||
}
|
||||
return array
|
||||
}
|
||||
|
||||
@JsName("booleanArray")
|
||||
fun booleanArray(size: Int, init: dynamic): Array<Boolean> {
|
||||
val result: dynamic = Array<Boolean>(size)
|
||||
result.`$type$` = "BooleanArray"
|
||||
return when (init) {
|
||||
null, true -> fillArrayVal(result, false)
|
||||
false -> result
|
||||
else -> fillArrayFun<Boolean>(result, init)
|
||||
}
|
||||
}
|
||||
|
||||
@JsName("booleanArrayF")
|
||||
inline fun booleanArrayWithFun(size: Int, init: (Int) -> Boolean): Array<Boolean> = fillArrayFun(booleanArray(size, false), init)
|
||||
|
||||
@JsName("charArray")
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
fun charArray(size: Int, init: dynamic): Array<Char> {
|
||||
val result = js("new Uint16Array(size)")
|
||||
result.`$type$` = "CharArray"
|
||||
return when (init) {
|
||||
null, true, false -> result // For consistency
|
||||
else -> fillArrayFun<Char>(result, init)
|
||||
}
|
||||
}
|
||||
|
||||
@JsName("charArrayF")
|
||||
inline fun charArrayWithFun(size: Int, init: (Int) -> Char): Array<Char> {
|
||||
val array = charArray(size, null)
|
||||
for (i in 0..array.size - 1) {
|
||||
val value = init(i)
|
||||
js("array[i] = value;")
|
||||
}
|
||||
return array
|
||||
}
|
||||
|
||||
@JsName("untypedCharArrayF")
|
||||
inline fun untypedCharArrayWithFun(size: Int, init: (Int) -> Char): Array<Char> {
|
||||
val array = Array<Char>(size)
|
||||
for (i in 0..array.size - 1) {
|
||||
val value = init(i)
|
||||
js("array[i] = value;")
|
||||
}
|
||||
return array
|
||||
}
|
||||
|
||||
@JsName("longArray")
|
||||
fun longArray(size: Int, init: dynamic): Array<Long> {
|
||||
val result: dynamic = Array<Long>(size)
|
||||
result.`$type$` = "LongArray"
|
||||
return when (init) {
|
||||
null, true -> fillArrayVal(result, 0L)
|
||||
false -> result
|
||||
else -> fillArrayFun<Long>(result, init)
|
||||
}
|
||||
}
|
||||
|
||||
@JsName("longArrayF")
|
||||
inline fun longArrayWithFun(size: Int, init: (Int) -> Long): Array<Long> = fillArrayFun(longArray(size, false), init)
|
||||
|
||||
private fun <T> fillArrayVal(array: Array<T>, initValue: T): Array<T> {
|
||||
for (i in 0..array.size - 1) {
|
||||
array[i] = initValue
|
||||
}
|
||||
return array
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
/*
|
||||
* Copyright 2010-2016 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 kotlin.js.internal
|
||||
|
||||
@JsName("Error")
|
||||
public external open class JsError(message: String?)
|
||||
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
* Copyright 2010-2016 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.
|
||||
*/
|
||||
@file:Suppress("WRONG_EXTERNAL_DECLARATION")
|
||||
package kotlin.js
|
||||
|
||||
import kotlin.annotation.AnnotationTarget.*
|
||||
|
||||
@Retention(AnnotationRetention.BINARY)
|
||||
@Target(CLASS, FUNCTION, PROPERTY, CONSTRUCTOR, PROPERTY_GETTER, PROPERTY_SETTER)
|
||||
internal external annotation class JsName(val name: String)
|
||||
|
||||
internal external annotation class native
|
||||
|
||||
external fun js(code: String): dynamic
|
||||
@@ -0,0 +1,113 @@
|
||||
/*
|
||||
* Copyright 2010-2016 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 kotlin.js.internal
|
||||
|
||||
@JsName("DoubleCompanionObject")
|
||||
private object DoubleCompanionObject {
|
||||
@JsName("MIN_VALUE")
|
||||
val MIN_VALUE: Double = js("Number.MIN_VALUE")
|
||||
|
||||
@JsName("MAX_VALUE")
|
||||
val MAX_VALUE: Double = js("Number.MAX_VALUE")
|
||||
|
||||
@JsName("POSITIVE_INFINITY")
|
||||
val POSITIVE_INFINITY: Double = js("Number.POSITIVE_INFINITY")
|
||||
|
||||
@JsName("NEGATIVE_INFINITY")
|
||||
val NEGATIVE_INFINITY: Double = js("Number.NEGATIVE_INFINITY")
|
||||
|
||||
@JsName("NaN")
|
||||
val NaN: Double = js("Number.NaN")
|
||||
}
|
||||
|
||||
@JsName("FloatCompanionObject")
|
||||
private object FloatCompanionObject {
|
||||
@JsName("MIN_VALUE")
|
||||
val MIN_VALUE: Float = js("Number.MIN_VALUE")
|
||||
|
||||
@JsName("MAX_VALUE")
|
||||
val MAX_VALUE: Float = js("Number.MAX_VALUE")
|
||||
|
||||
@JsName("POSITIVE_INFINITY")
|
||||
val POSITIVE_INFINITY: Float = js("Number.POSITIVE_INFINITY")
|
||||
|
||||
@JsName("NEGATIVE_INFINITY")
|
||||
val NEGATIVE_INFINITY: Float = js("Number.NEGATIVE_INFINITY")
|
||||
|
||||
@JsName("NaN")
|
||||
val NaN: Float = js("Number.NaN")
|
||||
}
|
||||
|
||||
@JsName("IntCompanionObject")
|
||||
private object IntCompanionObject {
|
||||
@JsName("MIN_VALUE")
|
||||
val MIN_VALUE: Int = -2147483647 - 1
|
||||
|
||||
@JsName("MAX_VALUE")
|
||||
val MAX_VALUE: Int = 2147483647
|
||||
}
|
||||
|
||||
@JsName("LongCompanionObject")
|
||||
private object LongCompanionObject {
|
||||
@JsName("MIN_VALUE")
|
||||
val MIN_VALUE: Long = js("Kotlin.Long.MIN_VALUE")
|
||||
|
||||
@JsName("MAX_VALUE")
|
||||
val MAX_VALUE: Long = js("Kotlin.Long.MAX_VALUE")
|
||||
}
|
||||
|
||||
@JsName("ShortCompanionObject")
|
||||
private object ShortCompanionObject {
|
||||
@JsName("MIN_VALUE")
|
||||
val MIN_VALUE: Short = -32768
|
||||
|
||||
@JsName("MAX_VALUE")
|
||||
val MAX_VALUE: Short = 32767
|
||||
}
|
||||
|
||||
@JsName("ByteCompanionObject")
|
||||
private object ByteCompanionObject {
|
||||
@JsName("MIN_VALUE")
|
||||
val MIN_VALUE: Byte = -128
|
||||
|
||||
@JsName("MAX_VALUE")
|
||||
val MAX_VALUE: Byte = 127
|
||||
}
|
||||
|
||||
@JsName("CharCompanionObject")
|
||||
private object CharCompanionObject {
|
||||
@JsName("MIN_HIGH_SURROGATE")
|
||||
public const val MIN_HIGH_SURROGATE: Char = '\uD800'
|
||||
|
||||
@JsName("MAX_HIGH_SURROGATE")
|
||||
public const val MAX_HIGH_SURROGATE: Char = '\uDBFF'
|
||||
|
||||
@JsName("MIN_LOW_SURROGATE")
|
||||
public const val MIN_LOW_SURROGATE: Char = '\uDC00'
|
||||
|
||||
@JsName("MAX_LOW_SURROGATE")
|
||||
public const val MAX_LOW_SURROGATE: Char = '\uDFFF'
|
||||
|
||||
@JsName("MIN_SURROGATE")
|
||||
public const val MIN_SURROGATE: Char = MIN_HIGH_SURROGATE
|
||||
|
||||
@JsName("MAX_SURROGATE")
|
||||
public const val MAX_SURROGATE: Char = MAX_LOW_SURROGATE
|
||||
}
|
||||
|
||||
private object StringCompanionObject {}
|
||||
|
||||
Reference in New Issue
Block a user