diff options
| author | Schuyler Eldridge | 2019-11-07 12:33:22 -0500 |
|---|---|---|
| committer | Schuyler Eldridge | 2019-11-14 13:47:03 -0500 |
| commit | b076ac8fb482d2ef694f5b941cd8d72a2d9761ef (patch) | |
| tree | 5d8221340400fadc8742888d7b435d18ceeab7ba /src/main/scala/firrtl/options | |
| parent | 4d80f5d41a6cd05838999b7b64389fc053325a18 (diff) | |
Use getName instead of getSimpleName
This changes uses of `getSimpleName` to `getName`. The former throws
idiotic exceptions under Java 8, e.g., `getSimpleName` will fail if
used on a class inside an object.
This fixes a bug where any call to the `name` method of a custom
transform defined inside an object (or in an environment wrapping
things in objects like a REPL) will throw a malformed class name
exception. E.g., if you do this and run with `-ll info` or your custom
transform deletes annotations.
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
Diffstat (limited to 'src/main/scala/firrtl/options')
| -rw-r--r-- | src/main/scala/firrtl/options/DependencyManager.scala | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/main/scala/firrtl/options/DependencyManager.scala b/src/main/scala/firrtl/options/DependencyManager.scala index 1de8095b..604a1b10 100644 --- a/src/main/scala/firrtl/options/DependencyManager.scala +++ b/src/main/scala/firrtl/options/DependencyManager.scala @@ -291,7 +291,7 @@ trait DependencyManager[A, B <: TransformLike[A] with DependencyAPI[B]] extends val nodes = (prerequisiteGraph + dependentsGraph + invalidateGraph + otherDependents) .getVertices - .map(v => s"""${transformName(v)} [label="${v.getClass.getSimpleName}"]""") + .map(v => s"""${transformName(v)} [label="${v.getClass.getName}"]""") s"""|digraph DependencyManager { | graph [rankdir=BT] @@ -315,8 +315,8 @@ trait DependencyManager[A, B <: TransformLike[A] with DependencyAPI[B]] extends def rec(pm: DependencyManager[A, B], cm: Seq[String], tab: String = "", id: Int = 0): (String, Int) = { var offset = id - val targets = pm._targets.toSeq.map(_.getSimpleName).mkString(", ") - val state = pm._currentState.toSeq.map(_.getSimpleName).mkString(", ") + val targets = pm._targets.toSeq.map(_.getName).mkString(", ") + val state = pm._currentState.toSeq.map(_.getName).mkString(", ") val header = s"""|${tab}subgraph cluster_$id { |$tab label="targets: $targets\\nstate: $state" @@ -331,7 +331,7 @@ trait DependencyManager[A, B <: TransformLike[A] with DependencyAPI[B]] extends case a => val name = s"""${transformName(a, "_" + id)}""" sorted += name - s"""$tab $name [label="${a.getClass.getSimpleName}"]""" + s"""$tab $name [label="${a.getClass.getName}"]""" }.mkString("\n") (Seq(header, body, s"$tab}").mkString("\n"), offset) |
