summaryrefslogtreecommitdiff
path: root/examples/scala-js/javalib/src/main/scala/java/io/StringReader.scala
diff options
context:
space:
mode:
Diffstat (limited to 'examples/scala-js/javalib/src/main/scala/java/io/StringReader.scala')
-rw-r--r--examples/scala-js/javalib/src/main/scala/java/io/StringReader.scala69
1 files changed, 0 insertions, 69 deletions
diff --git a/examples/scala-js/javalib/src/main/scala/java/io/StringReader.scala b/examples/scala-js/javalib/src/main/scala/java/io/StringReader.scala
deleted file mode 100644
index 2ca8f90..0000000
--- a/examples/scala-js/javalib/src/main/scala/java/io/StringReader.scala
+++ /dev/null
@@ -1,69 +0,0 @@
-package java.io
-
-class StringReader(s: String) extends Reader {
-
- private[this] var closed = false
- private[this] var pos = 0
- private[this] var mark = 0
-
- override def close(): Unit = {
- closed = true
- }
-
- override def mark(readAheadLimit: Int): Unit = {
- ensureOpen()
-
- mark = pos
- }
-
- override def markSupported(): Boolean = true
-
- override def read(): Int = {
- ensureOpen()
-
- if (pos < s.length) {
- val res = s.charAt(pos).toInt
- pos += 1
- res
- } else -1
- }
-
- override def read(cbuf: Array[Char], off: Int, len: Int): Int = {
- ensureOpen()
-
- if (off < 0 || len < 0 || len > cbuf.length - off)
- throw new IndexOutOfBoundsException
-
- if (len == 0) 0
- else {
- val count = Math.min(len, s.length - pos)
- var i = 0
- while (i < count) {
- cbuf(off + i) = s.charAt(pos + i)
- i += 1
- }
- pos += count
- count
- }
- }
-
- override def ready(): Boolean = pos < s.length
-
- override def reset(): Unit = {
- ensureOpen()
- pos = mark
- }
-
- override def skip(ns: Long): Long = {
- // Apparently, StringReader.skip allows negative skips
- val count = Math.max(Math.min(ns, s.length - pos).toInt, -pos)
- pos += count
- count.toLong
- }
-
- private def ensureOpen(): Unit = {
- if (closed)
- throw new IOException("Operation on closed stream")
- }
-
-}