diff options
author | Hubert Plociniczak <hubert.plociniczak@epfl.ch> | 2010-01-26 13:38:38 +0000 |
---|---|---|
committer | Hubert Plociniczak <hubert.plociniczak@epfl.ch> | 2010-01-26 13:38:38 +0000 |
commit | d90d03d55acc133a6cc3700ab0ce9296410fe5fe (patch) | |
tree | 4779e3c5e45359ddb4d568745ceee4edf164f66d /src/compiler | |
parent | 589adb95631064f827207542d33b8e05605a46df (diff) | |
download | scala-d90d03d55acc133a6cc3700ab0ce9296410fe5fe.tar.gz scala-d90d03d55acc133a6cc3700ab0ce9296410fe5fe.tar.bz2 scala-d90d03d55acc133a6cc3700ab0ce9296410fe5fe.zip |
Hack for the refined build manager to print inf...
Hack for the refined build manager to print info in a deterministic way.
No review.
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala b/src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala index 209c38e0c2..d07f34421f 100644 --- a/src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala +++ b/src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala @@ -111,7 +111,7 @@ class RefinedBuildManager(val settings: Settings) extends Changes with BuildMana (from.hasFlag(Flags.MODULE) == to.hasFlag(Flags.MODULE)) // For testing purposes only, order irrelevant for compilation - def toStringSorted(set: Set[AbstractFile]): String = { + def toStringSet(set: Set[AbstractFile]): String = { val s = (set.toList).sort(_.name < _.name) s.mkString("Set(", ", ", ")") } @@ -119,7 +119,7 @@ class RefinedBuildManager(val settings: Settings) extends Changes with BuildMana def update0(files: Set[AbstractFile]): Unit = if (!files.isEmpty) { deleteClassfiles(files) val run = compiler.newRun() - compiler.inform("compiling " + toStringSorted(files)) + compiler.inform("compiling " + toStringSet(files)) buildingFiles(files) run.compileFiles(files.toList) @@ -127,8 +127,17 @@ class RefinedBuildManager(val settings: Settings) extends Changes with BuildMana return } - // Use linked hash map to improve determinism required for testing purposes - val changesOf = new mutable.LinkedHashMap[Symbol, List[Change]] + // Deterministic behaviour required by partest + val changesOf = new mutable.HashMap[Symbol, List[Change]] { + override def toString: String = { + val syms = toList.sort(_._1.fullNameString < _._1.fullNameString) + val changesOrdered = syms.map(entry => { + val list = entry._2.sort(_.toString < _.toString) + entry._1.toString + " -> " + list.mkString("List(", ", ", ")") + }) + changesOrdered.mkString("Map(", ", ", ")") + } + } val additionalDefs: mutable.HashSet[AbstractFile] = mutable.HashSet.empty val defs = compiler.dependencyAnalysis.definitions |