summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2009-07-31 13:48:08 +0000
committerIulian Dragos <jaguarul@gmail.com>2009-07-31 13:48:08 +0000
commitbd1e6e09342412a042cf7582124e90e12720e2ba (patch)
treeb7051b6c6ac958b05c0427c46cf91db265a9fce1
parent8444d6e22bc2ab8018bbe49e35d31ad8d3ccd38e (diff)
downloadscala-bd1e6e09342412a042cf7582124e90e12720e2ba.tar.gz
scala-bd1e6e09342412a042cf7582124e90e12720e2ba.tar.bz2
scala-bd1e6e09342412a042cf7582124e90e12720e2ba.zip
Build manager now clones only symbols that were...
Build manager now clones only symbols that were compiled in the last run (fixes a crash in mixin).
-rw-r--r--src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala b/src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala
index 6ae1ce9121..325fe586db 100644
--- a/src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala
+++ b/src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala
@@ -96,7 +96,7 @@ class RefinedBuildManager(val settings: Settings) extends Changes with BuildMana
}
}
println("Changes: " + changesOf)
- updateDefinitions
+ updateDefinitions(files)
update(invalidated(files, changesOf))
}
@@ -172,8 +172,8 @@ class RefinedBuildManager(val settings: Settings) extends Changes with BuildMana
}
/** Update the map of definitions per source file */
- private def updateDefinitions {
- for ((src, localDefs) <- compiler.dependencyAnalysis.definitions) {
+ private def updateDefinitions(files: Set[AbstractFile]) {
+ for (src <- files; val localDefs = compiler.dependencyAnalysis.definitions(src)) {
definitions(src) = (localDefs map (_.cloneSymbol))
}
this.references = compiler.dependencyAnalysis.references