diff options
| author | Albert Chen | 2021-05-21 15:27:17 -0700 |
|---|---|---|
| committer | GitHub | 2021-05-21 22:27:17 +0000 |
| commit | 15309c972cd9bc2d95437af9aef9875aa169b37e (patch) | |
| tree | 0b9e0830c0febddc846dedc515ecc507168324b9 /src/test | |
| parent | d35248c8efc8c7afb1b99ddea631be5e6537d46d (diff) | |
Fix renaming of local targets in InlineInstances (#2238)
* add more inline renaming test cases
* InlineInstances: fix renaming for local targets
* run scalafmt
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/scala/firrtlTests/InlineInstancesTests.scala | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/test/scala/firrtlTests/InlineInstancesTests.scala b/src/test/scala/firrtlTests/InlineInstancesTests.scala index cc7257d2..b54db7cc 100644 --- a/src/test/scala/firrtlTests/InlineInstancesTests.scala +++ b/src/test/scala/firrtlTests/InlineInstancesTests.scala @@ -380,8 +380,12 @@ class InlineInstancesTests extends LowTransformSpec { execute(input, check, Seq(inline("Inline"))) } - case class DummyAnno(target: ReferenceTarget) extends SingleTargetAnnotation[ReferenceTarget] { - override def duplicate(n: ReferenceTarget): Annotation = DummyAnno(n) + case class DummyAnno(targets: CompleteTarget*) extends Annotation { + override def update(renames: RenameMap): Seq[Annotation] = { + Seq(DummyAnno(targets.flatMap { t => + renames.get(t).getOrElse(Seq(t)) + }: _*)) + } } "annotations" should "be renamed" in { val input = @@ -573,6 +577,9 @@ class InlineInstancesTests extends LowTransformSpec { val nestedNotInlined = inlined.instOf("bar", "NestedNoInline") val innerNestedInlined = nestedNotInlined.instOf("foo", "NestedInline") + val inlineModuleTarget = top.copy(module = "Inline") + val nestedInlineModuleTarget = top.copy(module = "NestedInline") + executeWithAnnos( input, check, @@ -586,7 +593,10 @@ class InlineInstancesTests extends LowTransformSpec { DummyAnno(nestedNotInlined.ref("a")), DummyAnno(nestedNotInlined.ref("b")), DummyAnno(innerNestedInlined.ref("a")), - DummyAnno(innerNestedInlined.ref("b")) + DummyAnno(innerNestedInlined.ref("b")), + DummyAnno(inlineModuleTarget.instOf("bar", "NestedNoInline")), + DummyAnno(inlineModuleTarget.ref("a"), inlineModuleTarget.ref("b")), + DummyAnno(nestedInlineModuleTarget.ref("a")) ), Seq( DummyAnno(top.ref("i_a")), @@ -596,7 +606,10 @@ class InlineInstancesTests extends LowTransformSpec { DummyAnno(top.instOf("i_bar", "NestedNoInline").ref("a")), DummyAnno(top.instOf("i_bar", "NestedNoInline").ref("b")), DummyAnno(top.instOf("i_bar", "NestedNoInline").ref("foo_a")), - DummyAnno(top.instOf("i_bar", "NestedNoInline").ref("foo_b")) + DummyAnno(top.instOf("i_bar", "NestedNoInline").ref("foo_b")), + DummyAnno(top.instOf("i_bar", "NestedNoInline")), + DummyAnno(top.ref("i_a"), top.ref("i_b")), + DummyAnno(top.ref("i_foo_a"), top.copy(module = "NestedNoInline").ref("foo_a")) ) ) } |
