diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/scala/firrtl/annotations/AnnotationUtils.scala | 6 | ||||
| -rw-r--r-- | src/test/scala/firrtlTests/AnnotationTests.scala | 8 |
2 files changed, 9 insertions, 5 deletions
diff --git a/src/main/scala/firrtl/annotations/AnnotationUtils.scala b/src/main/scala/firrtl/annotations/AnnotationUtils.scala index 1cdb7d18..ab580e88 100644 --- a/src/main/scala/firrtl/annotations/AnnotationUtils.scala +++ b/src/main/scala/firrtl/annotations/AnnotationUtils.scala @@ -43,9 +43,8 @@ object AnnotationUtils { def toNamed(s: String): Named = tokenize(s) match { case Seq(n) => CircuitName(n) - case Seq(c, m) => ModuleName(m, CircuitName(c)) - case Seq(c, m) => ModuleName(m, CircuitName(c)) - case Seq(c, m, x) => ComponentName(x, ModuleName(m, CircuitName(c))) + case Seq(c, ".", m) => ModuleName(m, CircuitName(c)) + case Seq(c, ".", m, ".", x) => ComponentName(x, ModuleName(m, CircuitName(c))) } /** Given a serialized component/subcomponent reference, subindex, subaccess, @@ -85,4 +84,3 @@ object AnnotationUtils { } else error(s"Cannot convert $s into an expression.") } } - diff --git a/src/test/scala/firrtlTests/AnnotationTests.scala b/src/test/scala/firrtlTests/AnnotationTests.scala index c8a90729..7b7e7839 100644 --- a/src/test/scala/firrtlTests/AnnotationTests.scala +++ b/src/test/scala/firrtlTests/AnnotationTests.scala @@ -158,7 +158,7 @@ class AnnotationTests extends AnnotationSpec with Matchers { | module Top : | input clk: Clock | input in: UInt<3> - | mem m: + | mem m: | data-type => {a: UInt<4>, b: UInt<4>[2]} | depth => 8 | write-latency => 1 @@ -496,4 +496,10 @@ class AnnotationTests extends AnnotationSpec with Matchers { resultAnno should not contain (anno("y", mod = "Child_1")) resultAnno should not contain (manno("Child_1")) } + + "AnnotationUtils.toNamed" should "invert Named.serialize" in { + val x = ComponentName("component", ModuleName("module", CircuitName("circuit"))) + val y = AnnotationUtils.toNamed(x.serialize) + require(x == y) + } } |
