From b9bec1c70879297e41e9c0d2aafdf36c7e571c96 Mon Sep 17 00:00:00 2001 From: Iulian Dragos Date: Thu, 30 Jul 2009 14:42:37 +0000 Subject: Small refactoring to remove code duplication. --- .../scala/tools/nsc/interactive/RefinedBuildManager.scala | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 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 2e300af012..4211ce8119 100644 --- a/src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala +++ b/src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala @@ -59,18 +59,21 @@ class RefinedBuildManager(val settings: Settings) extends Changes with BuildMana /** Remove the given files from the managed build process. */ def removeFiles(files: Set[AbstractFile]) { sources --= files + update(invalidatedByRemove(files)) + } + + /** Return the set of invalidated files caused by removing the given files. + */ + private def invalidatedByRemove(files: Set[AbstractFile]): Set[AbstractFile] = { val changes = new mutable.HashMap[Symbol, List[Change]] for (f <- files; sym <- definitions(f)) changes += sym -> List(Removed(Class(sym.fullNameString))) - update(invalidated(files, changes)) + invalidated(files, changes) } def update(added: Set[AbstractFile], removed: Set[AbstractFile]) { 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)) + update(added ++ invalidatedByRemove(removed)) } /** The given files have been modified by the user. Recompile -- cgit v1.2.3