diff options
| author | Andrew Waterman | 2015-08-31 10:34:48 -0700 |
|---|---|---|
| committer | Andrew Waterman | 2015-08-31 11:05:45 -0700 |
| commit | 0cc0090d353570b1c6e1ee65d25be7626635bf0e (patch) | |
| tree | 5c3c547c26f4ae33178687b2a0fd87f9d922c340 /src | |
| parent | fb1bebfe2807cf5b1fd842b4418b91bdf1ce2296 (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.scala | 9 |
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) |
