summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-05-21 15:03:34 +0000
committerPaul Phillips <paulp@improving.org>2011-05-21 15:03:34 +0000
commit2a32395ff25386444520c602393fa3d16078344a (patch)
tree6c2de5e05095aa1c1636057794bf118d8ad32d32
parent83703d1e446b77899bbf45d77c213fee0aa69ab7 (diff)
downloadscala-2a32395ff25386444520c602393fa3d16078344a.tar.gz
scala-2a32395ff25386444520c602393fa3d16078344a.tar.bz2
scala-2a32395ff25386444520c602393fa3d16078344a.zip
Wow, ZipEntry#getTime is expensive! So that's h...
Wow, ZipEntry#getTime is expensive! So that's how I gave back all my ZipArchive gains. No review.
-rw-r--r--src/compiler/scala/tools/nsc/io/ZipArchive.scala17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/compiler/scala/tools/nsc/io/ZipArchive.scala b/src/compiler/scala/tools/nsc/io/ZipArchive.scala
index 6e4998738e..00827393bd 100644
--- a/src/compiler/scala/tools/nsc/io/ZipArchive.scala
+++ b/src/compiler/scala/tools/nsc/io/ZipArchive.scala
@@ -102,8 +102,6 @@ abstract class ZipArchive(override val file: JFile) extends AbstractFile with Eq
else newDir(dirs, parentPath, null)
}
val dir = new DirEntry(path)
- if (zipEntry != null)
- dir.lastModified = zipEntry.getTime()
parent.entries(baseName(path)) = dir
dirs(path) = dir
dir
@@ -111,12 +109,7 @@ abstract class ZipArchive(override val file: JFile) extends AbstractFile with Eq
protected def getDir(dirs: mutable.Map[String, DirEntry], entry: ZipEntry): DirEntry = {
val name = entry.getName
if (entry.isDirectory) {
- if (dirs contains name) {
- val existing = dirs(name)
- if (existing.lastModified <= 0)
- existing.lastModified = entry.getTime()
- existing
- }
+ if (dirs contains name) dirs(name)
else newDir(dirs, name, entry)
}
else {
@@ -140,12 +133,12 @@ final class FileZipArchive(file: JFile) extends ZipArchive(file) {
if (zipEntry.isDirectory) dir
else {
class FileEntry() extends Entry(zipEntry.getName) {
- override def getArchive = zipFile
- override def input = getArchive getInputStream zipEntry
- override def sizeOption = Some(zipEntry.getSize().toInt)
+ override def getArchive = zipFile
+ override def lastModified = zipEntry.getTime()
+ override def input = getArchive getInputStream zipEntry
+ override def sizeOption = Some(zipEntry.getSize().toInt)
}
val f = new FileEntry()
- f.lastModified = zipEntry.getTime()
dir.entries(f.name) = f
}
}