summaryrefslogtreecommitdiff
path: root/examples/scala-js/javalib/src/main/scala/java/nio/charset/CoderResult.scala
diff options
context:
space:
mode:
Diffstat (limited to 'examples/scala-js/javalib/src/main/scala/java/nio/charset/CoderResult.scala')
-rw-r--r--examples/scala-js/javalib/src/main/scala/java/nio/charset/CoderResult.scala78
1 files changed, 0 insertions, 78 deletions
diff --git a/examples/scala-js/javalib/src/main/scala/java/nio/charset/CoderResult.scala b/examples/scala-js/javalib/src/main/scala/java/nio/charset/CoderResult.scala
deleted file mode 100644
index fdc63cc..0000000
--- a/examples/scala-js/javalib/src/main/scala/java/nio/charset/CoderResult.scala
+++ /dev/null
@@ -1,78 +0,0 @@
-package java.nio.charset
-
-import scala.annotation.switch
-
-import scala.collection.mutable
-
-import java.nio._
-
-class CoderResult private (kind: Int, _length: Int) {
- import CoderResult._
-
- @inline def isUnderflow(): Boolean = kind == Underflow
- @inline def isOverflow(): Boolean = kind == Overflow
- @inline def isMalformed(): Boolean = kind == Malformed
- @inline def isUnmappable(): Boolean = kind == Unmappable
-
- @inline def isError(): Boolean = isMalformed || isUnmappable
-
- @inline def length(): Int = {
- val l = _length
- if (l < 0)
- throw new UnsupportedOperationException
- l
- }
-
- def throwException(): Unit = (kind: @switch) match {
- case Overflow => throw new BufferOverflowException
- case Underflow => throw new BufferUnderflowException
- case Malformed => throw new MalformedInputException(_length)
- case Unmappable => throw new UnmappableCharacterException(_length)
- }
-}
-
-object CoderResult {
- private final val Underflow = 0
- private final val Overflow = 1
- private final val Malformed = 2
- private final val Unmappable = 3
-
- val OVERFLOW: CoderResult = new CoderResult(Overflow, -1)
- val UNDERFLOW: CoderResult = new CoderResult(Underflow, -1)
-
- private val Malformed1 = new CoderResult(Malformed, 1)
- private val Malformed2 = new CoderResult(Malformed, 2)
- private val Malformed3 = new CoderResult(Malformed, 3)
- private val Malformed4 = new CoderResult(Malformed, 4)
-
- private val uniqueMalformed = mutable.Map.empty[Int, CoderResult]
-
- private val Unmappable1 = new CoderResult(Unmappable, 1)
- private val Unmappable2 = new CoderResult(Unmappable, 2)
- private val Unmappable3 = new CoderResult(Unmappable, 3)
- private val Unmappable4 = new CoderResult(Unmappable, 4)
-
- private val uniqueUnmappable = mutable.Map.empty[Int, CoderResult]
-
- @inline def malformedForLength(length: Int): CoderResult = (length: @switch) match {
- case 1 => Malformed1
- case 2 => Malformed2
- case 3 => Malformed3
- case 4 => Malformed4
- case _ => malformedForLengthImpl(length)
- }
-
- private def malformedForLengthImpl(length: Int): CoderResult =
- uniqueMalformed.getOrElseUpdate(length, new CoderResult(Malformed, length))
-
- @inline def unmappableForLength(length: Int): CoderResult = (length: @switch) match {
- case 1 => Unmappable1
- case 2 => Unmappable2
- case 3 => Unmappable3
- case 4 => Unmappable4
- case _ => unmappableForLengthImpl(length)
- }
-
- private def unmappableForLengthImpl(length: Int): CoderResult =
- uniqueUnmappable.getOrElseUpdate(length, new CoderResult(Unmappable, length))
-}