diff --git a/compile/inc/src/main/scala/sbt/inc/SourceInfo.scala b/compile/inc/src/main/scala/sbt/inc/SourceInfo.scala index c58396cbd..ff4727ae9 100644 --- a/compile/inc/src/main/scala/sbt/inc/SourceInfo.scala +++ b/compile/inc/src/main/scala/sbt/inc/SourceInfo.scala @@ -27,12 +27,13 @@ object SourceInfos val emptyInfo: SourceInfo = makeInfo(Nil, Nil) def makeInfo(reported: Seq[Problem], unreported: Seq[Problem]): SourceInfo = new MSourceInfo(reported, unreported) + def merge(infos: Traversable[SourceInfos]): SourceInfos = (SourceInfos.empty /: infos)(_ ++ _) } private final class MSourceInfos(val allInfos: Map[File, SourceInfo]) extends SourceInfos { def ++(o: SourceInfos) = new MSourceInfos(allInfos ++ o.allInfos) def --(sources: Iterable[File]) = new MSourceInfos(allInfos -- sources) - def groupBy[K](f: (File) => K): Map[K, SourceInfos] = allInfos.groupBy(item => f(item._1)) map { group => (group._1, new MSourceInfos(group._2)) } + def groupBy[K](f: File => K): Map[K, SourceInfos] = allInfos groupBy (x => f(x._1)) map { x => (x._1, new MSourceInfos(x._2)) } def add(file: File, info: SourceInfo) = new MSourceInfos(allInfos + ((file, info))) def get(file:File) = allInfos.getOrElse(file, SourceInfos.emptyInfo) }