diff options
| author | Schuyler Eldridge | 2020-04-22 19:55:32 -0400 |
|---|---|---|
| committer | GitHub | 2020-04-22 19:55:32 -0400 |
| commit | 65360f886f9b92438d1b6fe609120b34ebb413cf (patch) | |
| tree | 073ebe73d43e652af1f71a08d34cc30a421c4dbb /src/main/scala/firrtl/DependencyAPIMigration.scala | |
| parent | 8653fd628f83c1bcb329dd37844ddfdb8f4cf206 (diff) | |
| parent | 184d40095179a9f49dd21e73e2c02b998bac5c00 (diff) | |
Merge pull request #1534 from freechipsproject/deprecate-transform-2
Trait-base Dependency API Migration
Diffstat (limited to 'src/main/scala/firrtl/DependencyAPIMigration.scala')
| -rw-r--r-- | src/main/scala/firrtl/DependencyAPIMigration.scala | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/main/scala/firrtl/DependencyAPIMigration.scala b/src/main/scala/firrtl/DependencyAPIMigration.scala new file mode 100644 index 00000000..8dabe849 --- /dev/null +++ b/src/main/scala/firrtl/DependencyAPIMigration.scala @@ -0,0 +1,38 @@ +// See LICENSE for license details. + +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 + * - `dependents` 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 dependents: Seq[TransformDependency] = Seq.empty + + override def invalidates(a: Transform): Boolean = true + +} |
