aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorAlbert Chen2021-05-21 15:27:17 -0700
committerGitHub2021-05-21 22:27:17 +0000
commit15309c972cd9bc2d95437af9aef9875aa169b37e (patch)
tree0b9e0830c0febddc846dedc515ecc507168324b9 /src/test
parentd35248c8efc8c7afb1b99ddea631be5e6537d46d (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.scala21
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"))
)
)
}