aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/options/DependencyManager.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/firrtl/options/DependencyManager.scala')
-rw-r--r--src/main/scala/firrtl/options/DependencyManager.scala9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main/scala/firrtl/options/DependencyManager.scala b/src/main/scala/firrtl/options/DependencyManager.scala
index 910d44bb..ee6a7404 100644
--- a/src/main/scala/firrtl/options/DependencyManager.scala
+++ b/src/main/scala/firrtl/options/DependencyManager.scala
@@ -167,8 +167,13 @@ trait DependencyManager[A, B <: TransformLike[A] with DependencyAPI[B]] extends
blacklist = _currentState,
/* Explore all invalidated transforms **EXCEPT** the current transform! */
- extractor = (p: B) => v.filter(p.invalidates).map(oToD(_)).toSet - oToD(p)))
- .reverse
+ extractor = (p: B) => {
+ val filtered = new LinkedHashSet[Dependency[B]]
+ filtered ++= v.filter(p.invalidates).map(oToD(_))
+ filtered -= oToD(p)
+ filtered
+ })
+ ).reverse
}
/** Wrap a possible [[CyclicException]] thrown by a thunk in a [[DependencyManagerException]] */