summaryrefslogtreecommitdiff
path: root/src/interactive/scala/tools/nsc/interactive/Global.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-12-06 12:16:14 +0100
committerJason Zaugg <jzaugg@gmail.com>2013-12-06 12:16:14 +0100
commit2ea8aad5bc63582b563bb999c96e980597a84084 (patch)
treebd1542c3e653ef13304624a23cbc6d1ee1b09633 /src/interactive/scala/tools/nsc/interactive/Global.scala
parente0c2c14cd80fffa3f8af0836e55a5b8ca8c53d27 (diff)
parent7d4109486b2266f8491d3473f43555dec6e996ee (diff)
downloadscala-2ea8aad5bc63582b563bb999c96e980597a84084.tar.gz
scala-2ea8aad5bc63582b563bb999c96e980597a84084.tar.bz2
scala-2ea8aad5bc63582b563bb999c96e980597a84084.zip
Merge commit '7d41094' into merge/2.10.x-and-pr-3209-to-master
Conflicts: src/interactive/scala/tools/nsc/interactive/CompilerControl.scala
Diffstat (limited to 'src/interactive/scala/tools/nsc/interactive/Global.scala')
-rw-r--r--src/interactive/scala/tools/nsc/interactive/Global.scala7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/interactive/scala/tools/nsc/interactive/Global.scala b/src/interactive/scala/tools/nsc/interactive/Global.scala
index 6b46a3b6dc..467a210cab 100644
--- a/src/interactive/scala/tools/nsc/interactive/Global.scala
+++ b/src/interactive/scala/tools/nsc/interactive/Global.scala
@@ -1134,7 +1134,7 @@ class Global(settings: Settings, _reporter: Reporter, projectName: String = "")
}
/** Implements CompilerControl.askLoadedTyped */
- private[interactive] def waitLoadedTyped(source: SourceFile, response: Response[Tree], onSameThread: Boolean = true) {
+ private[interactive] def waitLoadedTyped(source: SourceFile, response: Response[Tree], keepLoaded: Boolean = false, onSameThread: Boolean = true) {
getUnit(source) match {
case Some(unit) =>
if (unit.isUpToDate) {
@@ -1152,7 +1152,10 @@ class Global(settings: Settings, _reporter: Reporter, projectName: String = "")
case None =>
debugLog("load unit and type")
try reloadSources(List(source))
- finally waitLoadedTyped(source, response, onSameThread)
+ finally {
+ waitLoadedTyped(source, response, onSameThread)
+ if (!keepLoaded) removeUnitOf(source)
+ }
}
}