diff options
Diffstat (limited to 'src/main/scala/firrtl/options/DependencyManager.scala')
| -rw-r--r-- | src/main/scala/firrtl/options/DependencyManager.scala | 9 |
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]] */ |
