summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Waterman2015-08-31 10:34:48 -0700
committerAndrew Waterman2015-08-31 11:05:45 -0700
commit0cc0090d353570b1c6e1ee65d25be7626635bf0e (patch)
tree5c3c547c26f4ae33178687b2a0fd87f9d922c340 /src
parentfb1bebfe2807cf5b1fd842b4418b91bdf1ce2296 (diff)
Fix Namespace bug
A mangled name may itself conflict with another name.
Diffstat (limited to 'src')
-rw-r--r--src/main/scala/Chisel/Builder.scala9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/main/scala/Chisel/Builder.scala b/src/main/scala/Chisel/Builder.scala
index 6598959a..668a2bcd 100644
--- a/src/main/scala/Chisel/Builder.scala
+++ b/src/main/scala/Chisel/Builder.scala
@@ -14,9 +14,12 @@ private class Namespace(parent: Option[Namespace], keywords: Set[String]) {
}
def name(elem: String): String = {
- val res = if(this contains elem) rename(elem) else elem
- names += res
- res
+ if (this contains elem) {
+ name(rename(elem))
+ } else {
+ names += elem
+ elem
+ }
}
def child(kws: Set[String]): Namespace = new Namespace(Some(this), kws)