Auxiliary libraries for Scala Native runtime providing essential runtime support including boxed types, concurrent collections, and utility functions
—
Comprehensive boxing/unboxing utilities with arithmetic, bitwise, and logical operators for primitive types. The BoxesRunTime object provides runtime support for Scala's unified type system, handling type coercion and operations on boxed primitive values.
import scala.runtime.{BoxesRunTime, BoxedUnit}Converts primitive values to their corresponding boxed (object) representations.
object BoxesRunTime {
def boxToBoolean(v: Boolean): java.lang.Boolean
def boxToCharacter(v: Char): java.lang.Character
def boxToByte(v: Byte): java.lang.Byte
def boxToShort(v: Short): java.lang.Short
def boxToInteger(v: Int): java.lang.Integer
def boxToLong(v: Long): java.lang.Long
def boxToFloat(v: Float): java.lang.Float
def boxToDouble(v: Double): java.lang.Double
}Extracts primitive values from their boxed representations, returning default values for null inputs.
object BoxesRunTime {
def unboxToBoolean(o: java.lang.Object): Boolean
def unboxToChar(o: java.lang.Object): Char
def unboxToByte(o: java.lang.Object): Byte
def unboxToShort(o: java.lang.Object): Short
def unboxToInt(o: java.lang.Object): Int
def unboxToLong(o: java.lang.Object): Long
def unboxToFloat(o: java.lang.Object): Float
def unboxToDouble(o: java.lang.Object): Double
}Performs arithmetic operations on boxed numeric values with automatic type promotion.
object BoxesRunTime {
def add(arg1: java.lang.Object, arg2: java.lang.Object): java.lang.Object
def subtract(arg1: java.lang.Object, arg2: java.lang.Object): java.lang.Object
def multiply(arg1: java.lang.Object, arg2: java.lang.Object): java.lang.Object
def divide(arg1: java.lang.Object, arg2: java.lang.Object): java.lang.Object
def takeModulo(arg1: java.lang.Object, arg2: java.lang.Object): java.lang.Object
def negate(arg: java.lang.Object): java.lang.Object
def positive(arg: java.lang.Object): java.lang.Object
}Performs bitwise operations on integral boxed values.
object BoxesRunTime {
def takeAnd(arg1: java.lang.Object, arg2: java.lang.Object): java.lang.Object
def takeOr(arg1: java.lang.Object, arg2: java.lang.Object): java.lang.Object
def takeXor(arg1: java.lang.Object, arg2: java.lang.Object): java.lang.Object
def complement(arg: java.lang.Object): java.lang.Object
def shiftSignedLeft(arg1: java.lang.Object, arg2: java.lang.Object): java.lang.Object
def shiftSignedRight(arg1: java.lang.Object, arg2: java.lang.Object): java.lang.Object
def shiftLogicalRight(arg1: java.lang.Object, arg2: java.lang.Object): java.lang.Object
}Performs logical operations on boolean boxed values.
object BoxesRunTime {
def takeConditionalAnd(arg1: java.lang.Object, arg2: java.lang.Object): java.lang.Object
def takeConditionalOr(arg1: java.lang.Object, arg2: java.lang.Object): java.lang.Object
def takeNot(arg: java.lang.Object): java.lang.Object
}Performs comparison operations on boxed values with proper type handling.
object BoxesRunTime {
def equals(x: java.lang.Object, y: java.lang.Object): Boolean
def testEqual(arg1: java.lang.Object, arg2: java.lang.Object): java.lang.Object
def testNotEqual(arg1: java.lang.Object, arg2: java.lang.Object): java.lang.Object
def testLessThan(arg1: java.lang.Object, arg2: java.lang.Object): java.lang.Object
def testLessOrEqualThan(arg1: java.lang.Object, arg2: java.lang.Object): java.lang.Object
def testGreaterThan(arg1: java.lang.Object, arg2: java.lang.Object): java.lang.Object
def testGreaterOrEqualThan(arg1: java.lang.Object, arg2: java.lang.Object): java.lang.Object
}Checks types and converts between different numeric representations.
object BoxesRunTime {
def isBoxedNumber(arg: java.lang.Object): Boolean
def isBoxedNumberOrBoolean(arg: java.lang.Object): Boolean
def toCharacter(arg: java.lang.Object): java.lang.Character
def toByte(arg: java.lang.Object): java.lang.Byte
def toShort(arg: java.lang.Object): java.lang.Short
def toInteger(arg: java.lang.Object): java.lang.Integer
def toLong(arg: java.lang.Object): java.lang.Long
def toFloat(arg: java.lang.Object): java.lang.Float
def toDouble(arg: java.lang.Object): java.lang.Double
}import scala.runtime.BoxesRunTime
// Basic boxing and unboxing
val x = 42
val boxed = BoxesRunTime.boxToInteger(x)
val unboxed = BoxesRunTime.unboxToInt(boxed)
// Arithmetic operations
val a = BoxesRunTime.boxToInteger(10)
val b = BoxesRunTime.boxToInteger(5)
val sum = BoxesRunTime.add(a, b)
val difference = BoxesRunTime.subtract(a, b)
val product = BoxesRunTime.multiply(a, b)
// Comparison operations
val isEqual = BoxesRunTime.equals(a, b)
val isLess = BoxesRunTime.testLessThan(a, b)
// Type conversion
val asDouble = BoxesRunTime.toDouble(a)
val asFloat = BoxesRunTime.toFloat(a)class BoxedUnit extends java.io.Serializable {
override def equals(that: Any): Boolean
override def hashCode(): Int
override def toString: String
}
object BoxedUnit {
def UNIT: BoxedUnit // Note: Implementation uses `???` - not functional
def TYPE: Class[Unit]
}Install with Tessl CLI
npx tessl i tessl/maven-org-scala-native--auxlib-native0-5-3