Skip to content

Commit

Permalink
fixed bad html characters from appearing in printf port names (#26)
Browse files Browse the repository at this point in the history
- use a simple number as cell reference for printf port name
- escape to html parens and angle brackets in port display names
  • Loading branch information
chick authored Oct 1, 2019
1 parent 6c1b995 commit 7a25721
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 6 deletions.
2 changes: 1 addition & 1 deletion src/main/scala/dotvisualizer/dotnodes/PrintfNode.scala
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ case class PrintfArgument(name: String, override val absoluteName: String, conne
val parentOpt : Option[DotNode] = None // doesn't need to know parent
def render: String = {
s"""
|<TR><TD PORT="$name">$name</TD></TR>
|<TR><TD PORT="$connectTarget">$name</TD></TR>
""".stripMargin
}
}
16 changes: 11 additions & 5 deletions src/main/scala/dotvisualizer/transforms/MakeOneDiagram.scala
Original file line number Diff line number Diff line change
Expand Up @@ -286,14 +286,20 @@ class MakeOneDiagram extends Transform {
val printfNode = PrintfNode(nodeName, printf.string.serialize, Some(moduleNode))

printf.args.foreach { arg =>
val displayName = arg.serialize
val connectTarget = s"${printfNode.absoluteName}:$displayName"
val processedARg = processExpression(arg)

val port = printfNode.addArgument(displayName, connectTarget, processedARg)
val displayName = arg.serialize
.replaceAll("[<]", "&lt;")
.replaceAll("[>]", "&gt;")
.replaceAll("[(]", "&#40;")
.replaceAll("[)]", "&#41;")
val connectCode = s"${displayName.hashCode.abs}"
val connectTarget = s"${printfNode.absoluteName}:$connectCode"
val processedArg = processExpression(arg)

val port = printfNode.addArgument(displayName, connectCode, processedArg)
nameToNode(connectTarget) = port

moduleNode.connect(connectTarget, processedARg)
moduleNode.connect(connectTarget, processedArg)
}
printfNode.finish()

Expand Down

0 comments on commit 7a25721

Please sign in to comment.