summaryrefslogtreecommitdiff
path: root/coreMacros/src
diff options
context:
space:
mode:
authorducky2016-11-09 16:03:21 -0800
committerducky2016-11-21 12:48:10 -0800
commitd46b9acd557d2fe6ffe27f43ee72cd9b2a22f65d (patch)
treef78e5d95f54e03dca6a8563b04bf1314ff6189c4 /coreMacros/src
parentbb1cb894f6f1c88e0d60de1501e86d68de7c0f76 (diff)
Add bounds generation to range macro transform
Diffstat (limited to 'coreMacros/src')
-rw-r--r--coreMacros/src/main/scala/chisel3/internal/RangeTransform.scala18
1 files changed, 12 insertions, 6 deletions
diff --git a/coreMacros/src/main/scala/chisel3/internal/RangeTransform.scala b/coreMacros/src/main/scala/chisel3/internal/RangeTransform.scala
index ff5ba953..d90492cd 100644
--- a/coreMacros/src/main/scala/chisel3/internal/RangeTransform.scala
+++ b/coreMacros/src/main/scala/chisel3/internal/RangeTransform.scala
@@ -86,11 +86,17 @@ class RangeTransform(val c: Context) {
c.abort(c.enclosingPosition, s"Unused characters in range specifier: '$unused'")
}
- // TODO: FINISH THIS!
-
- c.warning(c.enclosingPosition, s"$startInclusive ${showRaw(minArg)} ${showRaw(maxArg)} $endInclusive")
-
- q"_root_.chisel3.internal.firrtl"
-
+ val startBound = if (startInclusive) {
+ q"_root_.chisel3.internal.firrtl.Closed($minArg)"
+ } else {
+ q"_root_.chisel3.internal.firrtl.Open($minArg)"
+ }
+ val endBound = if (endInclusive) {
+ q"_root_.chisel3.internal.firrtl.Closed($maxArg)"
+ } else {
+ q"_root_.chisel3.internal.firrtl.Open($maxArg)"
+ }
+
+ q"($startBound, $endBound)"
}
}