From f11a0f03511c6380faec7f012eb1314007ca4823 Mon Sep 17 00:00:00 2001 From: Schuyler Eldridge Date: Wed, 19 Dec 2018 16:50:01 -0500 Subject: Add IdentityTransform This adds an identity transform that applies an identity function to some CircuitState, i.e., it just returns the original CircuitState. This is useful for transform generators that may, for edge cases, generate an empty transform sequence. Other classes (e.g., Compiler) have explicit or implicit requirements that a transform sequence is non-empty. Signed-off-by: Schuyler Eldridge --- .../scala/firrtl/transforms/IdentityTransform.scala | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/main/scala/firrtl/transforms/IdentityTransform.scala (limited to 'src') diff --git a/src/main/scala/firrtl/transforms/IdentityTransform.scala b/src/main/scala/firrtl/transforms/IdentityTransform.scala new file mode 100644 index 00000000..a39ca4b7 --- /dev/null +++ b/src/main/scala/firrtl/transforms/IdentityTransform.scala @@ -0,0 +1,17 @@ +// See LICENSE for license details. + +package firrtl.transforms + +import firrtl.{CircuitForm, CircuitState, Transform} + +/** Transform that applies an identity function. This returns an unmodified [[CircuitState]]. + * @param form the input and output [[CircuitForm]] + */ +class IdentityTransform(form: CircuitForm) extends Transform { + + final override def inputForm: CircuitForm = form + final override def outputForm: CircuitForm = form + + final def execute(state: CircuitState): CircuitState = state + +} -- cgit v1.2.3