mirror of https://github.com/sbt/sbt.git
Use a mutable Set for `alreadySeen`.
This commit is contained in:
parent
57e1b84997
commit
4fd24198d0
|
|
@ -192,7 +192,7 @@ class ClassStamper private[sbt] (
|
|||
): Option[Digest] =
|
||||
val builder = Set.newBuilder[Digest]
|
||||
analyses.foreach: analysis =>
|
||||
internalStamp(builder, javaClassName, analysis, Set.empty, log)
|
||||
internalStamp(builder, javaClassName, analysis, mutable.Set.empty, log)
|
||||
val digests = builder.result().toSeq.sorted
|
||||
// log.debug(s"test: transitiveStamp($javaClassName, $extraHashes) = $digests")
|
||||
if digests.nonEmpty then Some(Digest.sha256Hash(digests ++ extraHashes*))
|
||||
|
|
@ -202,7 +202,7 @@ class ClassStamper private[sbt] (
|
|||
builder: mutable.Builder[Digest, Set[Digest]],
|
||||
javaClassName: String,
|
||||
analysis: Analysis,
|
||||
alreadySeen: Set[String],
|
||||
alreadySeen: mutable.Set[String],
|
||||
log: Logger,
|
||||
): Unit =
|
||||
import analysis.relations
|
||||
|
|
@ -216,7 +216,7 @@ class ClassStamper private[sbt] (
|
|||
relations
|
||||
.internalClassDeps(className)
|
||||
.foreach: otherCN =>
|
||||
internalStamp(newBuilder, otherCN, analysis, alreadySeen + javaClassName, log)
|
||||
internalStamp(newBuilder, otherCN, analysis, alreadySeen, log)
|
||||
// log.debug(s" internalStamp: internalDeps: $className = $internalDeps")
|
||||
relations
|
||||
.externalDeps(className)
|
||||
|
|
@ -247,7 +247,8 @@ class ClassStamper private[sbt] (
|
|||
else
|
||||
stamps.get(javaClassName) match
|
||||
case Some(xs) => builder ++= xs
|
||||
case _ =>
|
||||
case _ =>
|
||||
alreadySeen += javaClassName
|
||||
// Note: internalClassDeps uses Scala-encoded class name for companion objects
|
||||
val classNames = relations.productClassName.reverse(javaClassName)
|
||||
classNames.foreach(internalStamp0)
|
||||
|
|
|
|||
Loading…
Reference in New Issue