diff options
-rw-r--r-- | src/compiler/scala/tools/nsc/dependencies/Changes.scala | 1 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala | 6 |
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 |