summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHubert Plociniczak <hubert.plociniczak@epfl.ch>2009-12-10 14:42:46 +0000
committerHubert Plociniczak <hubert.plociniczak@epfl.ch>2009-12-10 14:42:46 +0000
commitf8d6169dd378c7ebed25d811b28eda2572287931 (patch)
tree98e9b62c42075f576e8e7074fa7151948d2917f8 /src
parente4fded72109ac35f8d74f36e51f882d0b85460d2 (diff)
downloadscala-f8d6169dd378c7ebed25d811b28eda2572287931.tar.gz
scala-f8d6169dd378c7ebed25d811b28eda2572287931.tar.bz2
scala-f8d6169dd378c7ebed25d811b28eda2572287931.zip
Closes #2559
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/dependencies/Changes.scala1
-rw-r--r--src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala6
2 files changed, 6 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/dependencies/Changes.scala b/src/compiler/scala/tools/nsc/dependencies/Changes.scala
index e459494ab6..3340eeb842 100644
--- a/src/compiler/scala/tools/nsc/dependencies/Changes.scala
+++ b/src/compiler/scala/tools/nsc/dependencies/Changes.scala
@@ -173,6 +173,7 @@ abstract class Changes {
cs.toList
}
def removeChangeSet(sym: Symbol): Change = Removed(toEntity(sym))
+ def changeChangeSet(sym: Symbol, msg: String): Change = Changed(toEntity(sym))(msg)
private def toEntity(sym: Symbol): Entity =
if (sym.isClass) Class(sym.fullNameString)
diff --git a/src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala b/src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala
index a79089c424..b445ec245e 100644
--- a/src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala
+++ b/src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala
@@ -126,7 +126,11 @@ class RefinedBuildManager(val settings: Settings) extends Changes with BuildMana
case Some(oldSym) =>
changesOf(oldSym) = changeSet(oldSym, sym)
case _ =>
- // a new top level definition, no need to process
+ // a new top level definition
+ changesOf(sym) =
+ sym.info.parents.filter(_.typeSymbol hasFlag Flags.SEALED).map(
+ p => changeChangeSet(p.typeSymbol,
+ sym+" extends a sealed "+p.typeSymbol))
}
}
// Create a change for the top level classes that were removed