summaryrefslogtreecommitdiff
path: root/chiselFrontend
diff options
context:
space:
mode:
authorSchuyler Eldridge2020-01-22 14:03:47 -0500
committermergify[bot]2020-01-22 19:03:47 +0000
commit993ee4ed8b95e2c78f6fc54ecbd828ac06a32b8b (patch)
tree90f91edddde23b603511dde05ff53f44bcb4f025 /chiselFrontend
parent7341082e3c5b08dc9d1a01937b5aad55e9833603 (diff)
Change when/switch thunk type to Any (#1308)
* Change when thunks return type to Any Changes the type of the thunk for when and WhenContext methods from call-by-name Unit to call-by-name Any. This prevents a warning (-Ywarn-value-discard) where a when thunk is returning something other than Unit that is then discarded, e.g., another WhenContext. Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com> * Change switch thunk return to type to Any Changes the type of switch thunks from call-by-name Unit to call-by-name Any. This prevents a warning (-Ywarn-value-discard) when the internals of a switch block return something other than Unit which is then discarded. Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
Diffstat (limited to 'chiselFrontend')
-rw-r--r--chiselFrontend/src/main/scala/chisel3/When.scala8
1 files changed, 4 insertions, 4 deletions
diff --git a/chiselFrontend/src/main/scala/chisel3/When.scala b/chiselFrontend/src/main/scala/chisel3/When.scala
index 50e13a1f..ea243bbe 100644
--- a/chiselFrontend/src/main/scala/chisel3/When.scala
+++ b/chiselFrontend/src/main/scala/chisel3/When.scala
@@ -28,7 +28,7 @@ object when { // scalastyle:ignore object.name
* }}}
*/
- def apply(cond: => Bool)(block: => Unit)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): WhenContext = { // scalastyle:ignore line.size.limit
+ def apply(cond: => Bool)(block: => Any)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): WhenContext = { // scalastyle:ignore line.size.limit
new WhenContext(sourceInfo, Some(() => cond), block)
}
}
@@ -43,7 +43,7 @@ object when { // scalastyle:ignore object.name
* succeeding elsewhen or otherwise; therefore, this information is
* added by preprocessing the command queue.
*/
-final class WhenContext(sourceInfo: SourceInfo, cond: Option[() => Bool], block: => Unit, firrtlDepth: Int = 0) {
+final class WhenContext(sourceInfo: SourceInfo, cond: Option[() => Bool], block: => Any, firrtlDepth: Int = 0) {
/** This block of logic gets executed if above conditions have been
* false and this condition is true. The lazy argument pattern
@@ -51,7 +51,7 @@ final class WhenContext(sourceInfo: SourceInfo, cond: Option[() => Bool], block:
* declaration and assignment of the Bool node of the predicate in
* the correct place.
*/
- def elsewhen (elseCond: => Bool)(block: => Unit)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): WhenContext = { // scalastyle:ignore line.size.limit
+ def elsewhen (elseCond: => Bool)(block: => Any)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): WhenContext = { // scalastyle:ignore line.size.limit
new WhenContext(sourceInfo, Some(() => elseCond), block, firrtlDepth + 1)
}
@@ -62,7 +62,7 @@ final class WhenContext(sourceInfo: SourceInfo, cond: Option[() => Bool], block:
* assignment of the Bool node of the predicate in the correct
* place.
*/
- def otherwise(block: => Unit)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Unit =
+ def otherwise(block: => Any)(implicit sourceInfo: SourceInfo, compileOptions: CompileOptions): Unit =
new WhenContext(sourceInfo, None, block, firrtlDepth + 1)
/*