From e6a712b255d94e1b4d8b1c10db523100db25c721 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Sat, 16 Jan 2016 18:43:17 -0800 Subject: Allow Wire() to be called from parameterized functions Accomplish this by avoiding default-null parameters on the apply methods. --- src/main/scala/Chisel/Data.scala | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/main/scala/Chisel/Data.scala b/src/main/scala/Chisel/Data.scala index c72c7dfc..7927db86 100644 --- a/src/main/scala/Chisel/Data.scala +++ b/src/main/scala/Chisel/Data.scala @@ -104,7 +104,16 @@ abstract class Data(dirArg: Direction) extends HasId { } object Wire { - def apply[T <: Data](t: T = null, init: T = null): T = { + def apply[T <: Data](t: T): T = + makeWire(t, null.asInstanceOf[T]) + + def apply[T <: Data](dummy: Int = 0, init: T): T = + makeWire(null.asInstanceOf[T], init) + + def apply[T <: Data](t: T, init: T): T = + makeWire(t, init) + + private def makeWire[T <: Data](t: T, init: T): T = { val x = Reg.makeType(t, null.asInstanceOf[T], init) pushCommand(DefWire(x)) if (init != null) { -- cgit v1.2.3