aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSchuyler Eldridge2020-05-11 19:12:19 -0400
committerSchuyler Eldridge2020-05-13 15:57:19 -0400
commitd3ab7e2db66fe3a63778f427dad6c08f64695ba5 (patch)
tree3ee2f08a7371fced5ad88588968e19896a467540 /src
parentc8dcdacf313f19a4d0238be694478a325432edd4 (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>
Diffstat (limited to 'src')
-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>")
+ )
+ )
}