198 lines
7.0 KiB
Kotlin
198 lines
7.0 KiB
Kotlin
/*
|
|
* Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
|
*/
|
|
|
|
// Auto-generated file. DO NOT EDIT!
|
|
// Generated by org.jetbrains.kotlin.generators.builtins.numbers.primitives.JsCharGenerator
|
|
|
|
package kotlin
|
|
|
|
// Char is a magic class.
|
|
// Char is defined as a regular class, but we lower it as a value class.
|
|
// See [org.jetbrains.kotlin.ir.backend.js.utils.JsInlineClassesUtils.isClassInlineLike] for explanation.
|
|
|
|
/** Represents a 16-bit Unicode character. */
|
|
public class Char
|
|
@kotlin.internal.LowPriorityInOverloadResolution
|
|
internal constructor(private val value: Int) : Comparable<Char> {
|
|
@SinceKotlin("1.5")
|
|
@WasExperimental(ExperimentalStdlibApi::class)
|
|
public constructor(code: UShort) : this(code.toInt())
|
|
|
|
/**
|
|
* Compares this value with the specified value for order.
|
|
*
|
|
* Returns zero if this value is equal to the specified other value, a negative number if it's less than other,
|
|
* or a positive number if it's greater than other.
|
|
*/
|
|
@kotlin.internal.IntrinsicConstEvaluation
|
|
public override fun compareTo(other: Char): Int =
|
|
value - other.value
|
|
|
|
/** Adds the other Int value to this value resulting a Char. */
|
|
@kotlin.internal.IntrinsicConstEvaluation
|
|
public operator fun plus(other: Int): Char =
|
|
(value + other).toChar()
|
|
|
|
/** Subtracts the other Char value from this value resulting an Int. */
|
|
@kotlin.internal.IntrinsicConstEvaluation
|
|
public operator fun minus(other: Char): Int =
|
|
value - other.value
|
|
|
|
/** Subtracts the other Int value from this value resulting a Char. */
|
|
@kotlin.internal.IntrinsicConstEvaluation
|
|
public operator fun minus(other: Int): Char =
|
|
(value - other).toChar()
|
|
|
|
/**
|
|
* Returns this value incremented by one.
|
|
*
|
|
* @sample samples.misc.Builtins.inc
|
|
*/
|
|
public operator fun inc(): Char =
|
|
(value + 1).toChar()
|
|
|
|
/**
|
|
* Returns this value decremented by one.
|
|
*
|
|
* @sample samples.misc.Builtins.dec
|
|
*/
|
|
public operator fun dec(): Char =
|
|
(value - 1).toChar()
|
|
|
|
/** Creates a range from this value to the specified [other] value. */
|
|
public operator fun rangeTo(other: Char): CharRange =
|
|
CharRange(this, other)
|
|
|
|
/**
|
|
* Creates a range from this value up to but excluding the specified [other] value.
|
|
*
|
|
* If the [other] value is less than or equal to `this` value, then the returned range is empty.
|
|
*/
|
|
@SinceKotlin("1.9")
|
|
@WasExperimental(ExperimentalStdlibApi::class)
|
|
public operator fun rangeUntil(other: Char): CharRange =
|
|
this until other
|
|
|
|
/** Returns the value of this character as a `Byte`. */
|
|
@Deprecated("Conversion of Char to Number is deprecated. Use Char.code property instead.", ReplaceWith("this.code.toByte()"))
|
|
@DeprecatedSinceKotlin(warningSince = "1.5")
|
|
@kotlin.internal.IntrinsicConstEvaluation
|
|
public fun toByte(): Byte =
|
|
value.toByte()
|
|
|
|
/** Returns the value of this character as a `Char`. */
|
|
@kotlin.internal.IntrinsicConstEvaluation
|
|
public fun toChar(): Char =
|
|
this
|
|
|
|
/** Returns the value of this character as a `Short`. */
|
|
@Deprecated("Conversion of Char to Number is deprecated. Use Char.code property instead.", ReplaceWith("this.code.toShort()"))
|
|
@DeprecatedSinceKotlin(warningSince = "1.5")
|
|
@kotlin.internal.IntrinsicConstEvaluation
|
|
public fun toShort(): Short =
|
|
value.toShort()
|
|
|
|
/** Returns the value of this character as a `Int`. */
|
|
@Deprecated("Conversion of Char to Number is deprecated. Use Char.code property instead.", ReplaceWith("this.code"))
|
|
@DeprecatedSinceKotlin(warningSince = "1.5")
|
|
@kotlin.internal.IntrinsicConstEvaluation
|
|
public fun toInt(): Int =
|
|
value
|
|
|
|
/** Returns the value of this character as a `Long`. */
|
|
@Deprecated("Conversion of Char to Number is deprecated. Use Char.code property instead.", ReplaceWith("this.code.toLong()"))
|
|
@DeprecatedSinceKotlin(warningSince = "1.5")
|
|
@kotlin.internal.IntrinsicConstEvaluation
|
|
public fun toLong(): Long =
|
|
value.toLong()
|
|
|
|
/** Returns the value of this character as a `Float`. */
|
|
@Deprecated("Conversion of Char to Number is deprecated. Use Char.code property instead.", ReplaceWith("this.code.toFloat()"))
|
|
@DeprecatedSinceKotlin(warningSince = "1.5")
|
|
@kotlin.internal.IntrinsicConstEvaluation
|
|
public fun toFloat(): Float =
|
|
value.toFloat()
|
|
|
|
/** Returns the value of this character as a `Double`. */
|
|
@Deprecated("Conversion of Char to Number is deprecated. Use Char.code property instead.", ReplaceWith("this.code.toDouble()"))
|
|
@DeprecatedSinceKotlin(warningSince = "1.5")
|
|
@kotlin.internal.IntrinsicConstEvaluation
|
|
public fun toDouble(): Double =
|
|
value.toDouble()
|
|
|
|
// TODO implicit usages of toString and valueOf must be covered in DCE
|
|
@kotlin.internal.IntrinsicConstEvaluation
|
|
@Suppress("JS_NAME_PROHIBITED_FOR_OVERRIDE")
|
|
@JsName("toString")
|
|
public override fun toString(): String {
|
|
return js("String").fromCharCode(value).unsafeCast<String>()
|
|
}
|
|
|
|
@kotlin.internal.IntrinsicConstEvaluation
|
|
public override fun equals(other: Any?): Boolean {
|
|
if (other !is Char) return false
|
|
return this.value == other.value
|
|
}
|
|
|
|
public override fun hashCode(): Int =
|
|
value
|
|
|
|
public companion object {
|
|
/**
|
|
* The minimum value of a character code unit.
|
|
*/
|
|
@SinceKotlin("1.3")
|
|
public const val MIN_VALUE: Char = '\u0000'
|
|
|
|
/**
|
|
* The maximum value of a character code unit.
|
|
*/
|
|
@SinceKotlin("1.3")
|
|
public const val MAX_VALUE: Char = '\uFFFF'
|
|
|
|
/**
|
|
* The minimum value of a Unicode high-surrogate code unit.
|
|
*/
|
|
public const val MIN_HIGH_SURROGATE: Char = '\uD800'
|
|
|
|
/**
|
|
* The maximum value of a Unicode high-surrogate code unit.
|
|
*/
|
|
public const val MAX_HIGH_SURROGATE: Char = '\uDBFF'
|
|
|
|
/**
|
|
* The minimum value of a Unicode low-surrogate code unit.
|
|
*/
|
|
public const val MIN_LOW_SURROGATE: Char = '\uDC00'
|
|
|
|
/**
|
|
* The maximum value of a Unicode low-surrogate code unit.
|
|
*/
|
|
public const val MAX_LOW_SURROGATE: Char = '\uDFFF'
|
|
|
|
/**
|
|
* The minimum value of a Unicode surrogate code unit.
|
|
*/
|
|
public const val MIN_SURROGATE: Char = MIN_HIGH_SURROGATE
|
|
|
|
/**
|
|
* The maximum value of a Unicode surrogate code unit.
|
|
*/
|
|
public const val MAX_SURROGATE: Char = MAX_LOW_SURROGATE
|
|
|
|
/**
|
|
* The number of bytes used to represent a Char in a binary form.
|
|
*/
|
|
@SinceKotlin("1.3")
|
|
public const val SIZE_BYTES: Int = 2
|
|
|
|
/**
|
|
* The number of bits used to represent a Char in a binary form.
|
|
*/
|
|
@SinceKotlin("1.3")
|
|
public const val SIZE_BITS: Int = 16
|
|
}
|
|
}
|