summaryrefslogtreecommitdiff
path: root/src/main/scala/chisel3/util/TransitName.scala
diff options
context:
space:
mode:
authorAdam Izraelevitz2020-07-29 20:48:31 -0700
committerGitHub2020-07-29 20:48:31 -0700
commit164490c8fbf132ca65644d05d6ff8d0d7a3beb20 (patch)
tree862750b85dca5b8496c40c24b3a4e5e67c268bd4 /src/main/scala/chisel3/util/TransitName.scala
parent8aeb39b9b3755ccd0e3aa600b813ed4220ac72d8 (diff)
Improved Chisel Naming via Compiler Plugins + Prefixing (#1448)
Added prefixing and a compiler plugin to improve naming. Only works for Scala 2.12 and above. Co-authored-by: Jack Koenig <koenig@sifive.com>
Diffstat (limited to 'src/main/scala/chisel3/util/TransitName.scala')
-rw-r--r--src/main/scala/chisel3/util/TransitName.scala8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main/scala/chisel3/util/TransitName.scala b/src/main/scala/chisel3/util/TransitName.scala
index 3b9a3869..992f48d2 100644
--- a/src/main/scala/chisel3/util/TransitName.scala
+++ b/src/main/scala/chisel3/util/TransitName.scala
@@ -43,7 +43,9 @@ object TransitName {
* @return the `from` parameter
*/
def apply[T<:HasId](from: T, to: HasId): T = {
- from.addPostnameHook((given_name: String) => {to.suggestName(given_name)})
+ // To transit a name, we need to hook on both the suggestName and autoSeed mechanisms
+ from.addSuggestPostnameHook((given_name: String) => {to.suggestName(given_name)})
+ from.addAutoPostnameHook((given_name: String) => {to.autoSeed(given_name)})
from
}
@@ -55,7 +57,9 @@ object TransitName {
* @return the `from` parameter
*/
def withSuffix[T<:HasId](suffix: String)(from: T, to: HasId): T = {
- from.addPostnameHook((given_name: String) => {to.suggestName(given_name + suffix)})
+ // To transit a name, we need to hook on both the suggestName and autoSeed mechanisms
+ from.addSuggestPostnameHook((given_name: String) => {to.suggestName(given_name + suffix)})
+ from.addAutoPostnameHook((given_name: String) => {to.autoSeed(given_name + suffix)})
from
}