From 6148dff45ac80067b86b8e34102dfc315334821e Mon Sep 17 00:00:00 2001 From: Miles Sabin Date: Thu, 30 Jul 2009 14:14:25 +0000 Subject: When both updating and removing, don't build tw... When both updating and removing, don't build twice. --- .../scala/tools/nsc/interactive/RefinedBuildManager.scala | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src') 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. -- cgit v1.2.3