diff options
Diffstat (limited to 'examples/scala-js/javalanglib/src/main/scala/java/lang/Short.scala')
-rw-r--r-- | examples/scala-js/javalanglib/src/main/scala/java/lang/Short.scala | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/examples/scala-js/javalanglib/src/main/scala/java/lang/Short.scala b/examples/scala-js/javalanglib/src/main/scala/java/lang/Short.scala deleted file mode 100644 index 135fe12..0000000 --- a/examples/scala-js/javalanglib/src/main/scala/java/lang/Short.scala +++ /dev/null @@ -1,73 +0,0 @@ -package java.lang - -/* This is a hijacked class. Its instances are primitive numbers. - * Constructors are not emitted. - */ -final class Short private () extends Number with Comparable[Short] { - - def this(value: scala.Short) = this() - def this(s: String) = this() - - @inline override def shortValue(): scala.Short = - this.asInstanceOf[scala.Short] - - @inline override def byteValue(): scala.Byte = shortValue.toByte - @inline def intValue(): scala.Int = shortValue.toInt - @inline def longValue(): scala.Long = shortValue.toLong - @inline def floatValue(): scala.Float = shortValue.toFloat - @inline def doubleValue(): scala.Double = shortValue.toDouble - - @inline override def equals(that: Any): scala.Boolean = - this eq that.asInstanceOf[AnyRef] - - @inline override def hashCode(): Int = - shortValue - - @inline override def compareTo(that: Short): Int = - Short.compare(shortValue, that.shortValue) - - @inline override def toString(): String = - Short.toString(shortValue) - -} - -object Short { - final val TYPE = classOf[scala.Short] - final val SIZE = 16 - - /* MIN_VALUE and MAX_VALUE should be 'final val's. But it is impossible to - * write a proper Short literal in Scala, that would both considered a Short - * and a constant expression (optimized as final val). - * Since vals and defs are binary-compatible (although they're not strictly - * speaking source-compatible, because of stability), we implement them as - * defs. Source-compatibility is not an issue because user code is compiled - * against the JDK .class files anyway. - */ - def MIN_VALUE: scala.Short = -32768 - def MAX_VALUE: scala.Short = 32767 - - @inline def valueOf(shortValue: scala.Short): Short = new Short(shortValue) - @inline def valueOf(s: String): Short = valueOf(parseShort(s)) - - @inline def valueOf(s: String, radix: Int): Short = - valueOf(parseShort(s, radix)) - - @inline def parseShort(s: String): scala.Short = parseShort(s, 10) - - def parseShort(s: String, radix: Int): scala.Short = { - val r = Integer.parseInt(s, radix) - if (r < MIN_VALUE || r > MAX_VALUE) - throw new NumberFormatException(s"""For input string: "$s"""") - else - r.toShort - } - - @inline def toString(s: scala.Short): String = - "" + s - - @inline def compare(x: scala.Short, y: scala.Short): scala.Int = - x - y - - def reverseBytes(i: scala.Short): scala.Short = - (((i >>> 8) & 0xff) + ((i & 0xff) << 8)).toShort -} |