aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSchuyler Eldridge2020-05-11 19:12:19 -0400
committerSchuyler Eldridge2020-06-25 13:46:56 -0400
commit72ab5ef044dc79e12a3af29770349a33193415d4 (patch)
tree4c28b5fcd4c1ce87f10176fa49366f9efff27aa2
parent006df5b102df6252f004fce6800394691a1b1e74 (diff)
Add --change-name-case <lower|upper> option
Adds an options to the FIRRTL compiler command line to schedule the LowerCaseNames and UpperCaseNames transforms. Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
-rw-r--r--src/main/scala/firrtl/stage/FirrtlAnnotations.scala13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/main/scala/firrtl/stage/FirrtlAnnotations.scala b/src/main/scala/firrtl/stage/FirrtlAnnotations.scala
index 5be84bb9..1604e92e 100644
--- a/src/main/scala/firrtl/stage/FirrtlAnnotations.scala
+++ b/src/main/scala/firrtl/stage/FirrtlAnnotations.scala
@@ -193,7 +193,18 @@ object RunFirrtlTransformAnnotation extends HasShellOptions {
s"Unknown error when instantiating class $txName", e) }),
helpText = "Run these transforms during compilation",
shortOption = Some("fct"),
- helpValueName = Some("<package>.<class>") ) )
+ helpValueName = Some("<package>.<class>") ),
+ new ShellOption[String](
+ longOption = "change-name-case",
+ toAnnotationSeq = _ match {
+ case "lower" => Seq(RunFirrtlTransformAnnotation(new firrtl.features.LowerCaseNames))
+ case "upper" => Seq(RunFirrtlTransformAnnotation(new firrtl.features.UpperCaseNames))
+ case a => throw new OptionsException(s"Unknown case '$a'. Did you misspell it?")
+ },
+ helpText = "Convert all FIRRTL names to a specific case",
+ helpValueName = Some("<lower|upper>")
+ )
+ )
}