summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorHubert Plociniczak <hubert.plociniczak@epfl.ch>2010-01-26 13:38:38 +0000
committerHubert Plociniczak <hubert.plociniczak@epfl.ch>2010-01-26 13:38:38 +0000
commitd90d03d55acc133a6cc3700ab0ce9296410fe5fe (patch)
tree4779e3c5e45359ddb4d568745ceee4edf164f66d /src/compiler
parent589adb95631064f827207542d33b8e05605a46df (diff)
downloadscala-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.scala17
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