// SPDX-License-Identifier: Apache-2.0 package firrtl import firrtl.stage.TransformManager.TransformDependency /** This trait helps ease migration from old [[firrtl.CircuitForm CircuitForm]] specification of dependencies to * Dependency API specification of dependencies. This trait implements deprecated, abstract [[Transform]] methods * (`inputForm` and `outputForm`) for you and sets default values for dependencies: * * - `prerequisites` are empty * - `optionalPrerequisites` are empty * - `optionalPrerequisiteOf` are empty * - all transforms are invalidated * * For more information, see: https://bit.ly/2Voppre */ trait DependencyAPIMigration { this: Transform => @deprecated("Use Dependency API methods for equivalent functionality. See: https://bit.ly/2Voppre", "FIRRTL 1.3") final override def inputForm: CircuitForm = UnknownForm @deprecated("Use Dependency API methods for equivalent functionality. See: https://bit.ly/2Voppre", "FIRRTL 1.3") final override def outputForm: CircuitForm = UnknownForm override def prerequisites: Seq[TransformDependency] = Seq.empty override def optionalPrerequisites: Seq[TransformDependency] = Seq.empty override def optionalPrerequisiteOf: Seq[TransformDependency] = Seq.empty override def invalidates(a: Transform): Boolean = true }