diff --git a/src/main/scala/leon/utils/FilesWatcher.scala b/src/main/scala/leon/utils/FilesWatcher.scala index 7972e7695721237e7b79e1e304bfb9849e6bfac9..7a25c7ee9b1ca2ee3a2edc6a4c4b1e8108c8e92a 100644 --- a/src/main/scala/leon/utils/FilesWatcher.scala +++ b/src/main/scala/leon/utils/FilesWatcher.scala @@ -1,9 +1,8 @@ /* Copyright 2009-2014 EPFL, Lausanne */ package leon +package utils -import leon.utils._ -import solvers.SolverFactory import java.io.File import java.nio.file._ import scala.collection.JavaConversions._ @@ -15,16 +14,15 @@ case class FilesWatcher(ctx: LeonContext, files: Seq[File]) { val dirs = toWatch.map(_.getParentFile) def onChange(body: => Unit): Unit = { - val watcher = FileSystems.getDefault().newWatchService() - val paths = dirs.map(_.toPath.register(watcher, StandardWatchEventKinds.ENTRY_MODIFY)) - + val watcher = FileSystems.getDefault.newWatchService() + dirs foreach (_.toPath.register(watcher, StandardWatchEventKinds.ENTRY_MODIFY)) var lastHashes = toWatch.map(md5file) body ctx.reporter.info("Waiting for source changes...") while (true) { - var key = watcher.take() + val key = watcher.take() val events = key.pollEvents() @@ -47,20 +45,20 @@ case class FilesWatcher(ctx: LeonContext, files: Seq[File]) { } def md5file(f: File): String = { - var buffer = new Array[Byte](1024) - val md = MessageDigest.getInstance("MD5"); + val buffer = new Array[Byte](1024) + val md = MessageDigest.getInstance("MD5") try { val is = Files.newInputStream(f.toPath) - var read = 0; + var read = 0 do { - read = is.read(buffer); + read = is.read(buffer) if (read > 0) { md.update(buffer, 0, read) } - } while (read != -1); + } while (read != -1) is.close() - val bytes = md.digest(); + val bytes = md.digest() ("%0" + (bytes.length << 1) + "X").format(new BigInteger(1, bytes)); } catch { case _: RuntimeException =>