aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala
diff options
context:
space:
mode:
authorRichard Lin2018-06-11 15:05:36 -0700
committerJack Koenig2018-06-11 15:05:36 -0700
commitf0beb8e9efb57dc4aef08103426bd28cf8445147 (patch)
tree138ea0d62e9bea6601ca2e9ce99f7e1051e643b3 /src/main/scala
parent535d8025412a64471d8cc9c315505a8e2cbddbe0 (diff)
Allow escaped single quotes in RawParams (#820)
Escape raw params using \'
Diffstat (limited to 'src/main/scala')
-rw-r--r--src/main/scala/firrtl/Visitor.scala2
-rw-r--r--src/main/scala/firrtl/ir/IR.scala2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/main/scala/firrtl/Visitor.scala b/src/main/scala/firrtl/Visitor.scala
index 64249c11..f47d7ee3 100644
--- a/src/main/scala/firrtl/Visitor.scala
+++ b/src/main/scala/firrtl/Visitor.scala
@@ -92,7 +92,7 @@ class Visitor(infoMode: InfoMode) extends FIRRTLBaseVisitor[FirrtlNode] {
case (int, null, null, null) => IntParam(name, string2BigInt(int.getText))
case (null, str, null, null) => StringParam(name, visitStringLit(str))
case (null, null, dbl, null) => DoubleParam(name, dbl.getText.toDouble)
- case (null, null, null, raw) => RawStringParam(name, raw.getText.tail.init) // Remove "\'"s
+ case (null, null, null, raw) => RawStringParam(name, raw.getText.tail.init.replace("\\'", "'")) // Remove "\'"s
case _ => throwInternalError(s"visiting impossible parameter ${ctx.getText}")
}
}
diff --git a/src/main/scala/firrtl/ir/IR.scala b/src/main/scala/firrtl/ir/IR.scala
index fc741b28..faebc7b8 100644
--- a/src/main/scala/firrtl/ir/IR.scala
+++ b/src/main/scala/firrtl/ir/IR.scala
@@ -526,7 +526,7 @@ case class StringParam(name: String, value: StringLit) extends Param {
* @note Firrtl doesn't guarantee anything about this String being legal in any backend
*/
case class RawStringParam(name: String, value: String) extends Param {
- override def serialize: String = super.serialize + s"'$value'"
+ override def serialize: String = super.serialize + s"'${value.replace("'", "\\'")}'"
}
/** Base class for modules */