diff options
-rw-r--r-- | src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala b/src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala index 8368990cde..2e300af012 100644 --- a/src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala +++ b/src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala @@ -66,11 +66,13 @@ class RefinedBuildManager(val settings: Settings) extends Changes with BuildMana } def update(added: Set[AbstractFile], removed: Set[AbstractFile]) { - removeFiles(removed) - update(added) + sources --= removed + val changes = new mutable.HashMap[Symbol, List[Change]] + for (f <- removed; sym <- definitions(f)) + changes += sym -> List(Removed(Class(sym.fullNameString))) + update(added ++ invalidated(removed, changes)) } - /** The given files have been modified by the user. Recompile * them and all files that depend on them. Only files that * have been previously added as source files are recompiled. |