diff options
Diffstat (limited to 'src/compiler/scala/tools/nsc/symtab/classfile/AbstractFileReader.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/classfile/AbstractFileReader.scala | 30 |
1 files changed, 1 insertions, 29 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/AbstractFileReader.scala b/src/compiler/scala/tools/nsc/symtab/classfile/AbstractFileReader.scala index 684ecb3d9e..0163ea5724 100644 --- a/src/compiler/scala/tools/nsc/symtab/classfile/AbstractFileReader.scala +++ b/src/compiler/scala/tools/nsc/symtab/classfile/AbstractFileReader.scala @@ -19,35 +19,7 @@ class AbstractFileReader(val file: AbstractFile) { /** the buffer containing the file */ - val buf: Array[Byte] = file match { - case p:PlainFile => - assert(!file.isDirectory, "cannot read directory '" + this + "'"); - val in = new FileInputStream(p.file); - var rest: Int = p.file.length().toInt; - val bbuf: Array[Byte] = new Array[Byte](rest); - while (rest > 0) { - val res = in.read(bbuf, bbuf.length - rest, rest); - if (res == -1) - throw new IOException("read error"); - rest = rest - res; - } - in.close(); - bbuf - case z:ZipArchive#FileEntry => // zipfileentry - val in = z.getArchive.getInputStream(z.entry) - var rest: Int = z.entry.getSize().toInt; - val buf = new Array[Byte](rest); - while (rest > 0) { - val res = in.read(buf, buf.length - rest, rest); - if (res == -1) - throw new IOException("read error"); - rest = rest - res; - } - in.close(); - buf - case _ => - error("internal error: do not know how to get bytes of "+file) - } + val buf: Array[Byte] = file.toByteArray /** the current input pointer */ |