diff options
| author | Albert Magyar | 2020-04-04 13:21:13 -0700 |
|---|---|---|
| committer | Albert Magyar | 2020-04-06 12:32:21 -0700 |
| commit | 329f3c40f4626fd5c4b7d16f304a9fa3b3e4f573 (patch) | |
| tree | f86df96e9471723485bc90a7c701fdb497ec2e73 /src | |
| parent | bc83b4d11588e21cde591acff944ea419bec1fa5 (diff) | |
* Remove deprecated 'Gender' methods/aliases
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/scala/firrtl/Utils.scala | 37 | ||||
| -rw-r--r-- | src/main/scala/firrtl/WIR.scala | 19 | ||||
| -rw-r--r-- | src/main/scala/firrtl/package.scala | 23 |
3 files changed, 4 insertions, 75 deletions
diff --git a/src/main/scala/firrtl/Utils.scala b/src/main/scala/firrtl/Utils.scala index d75c504a..db3c8d3e 100644 --- a/src/main/scala/firrtl/Utils.scala +++ b/src/main/scala/firrtl/Utils.scala @@ -522,11 +522,6 @@ object Utils extends LazyLogging { case SourceFlow => Input case SinkFlow => Output } - @deprecated("Migrate from 'Gender' to 'Flow. This method will be removed in 1.3", "1.2") - def to_gender(d: Direction): Gender = d match { - case Input => MALE - case Output => FEMALE - } def to_flow(d: Direction): Flow = d match { case Input => SourceFlow case Output => SinkFlow @@ -583,38 +578,6 @@ object Utils extends LazyLogging { case ex: WSubAccess => kind(ex.expr) case ex => ExpKind } - @deprecated("Migrate from 'Gender' to 'Flow'. This method will be removed in 1.3", "1.2") - def gender(e: Expression): Gender = e match { - case ex: WRef => ex.gender - case ex: WSubField => ex.gender - case ex: WSubIndex => ex.gender - case ex: WSubAccess => ex.gender - case ex: DoPrim => MALE - case ex: UIntLiteral => MALE - case ex: SIntLiteral => MALE - case ex: Mux => MALE - case ex: ValidIf => MALE - case WInvalid => MALE - case ex => throwInternalError(s"gender: shouldn't be here - $e") - } - @deprecated("Migrate from 'Gender' to 'Flow'. This method will be removed in 1.3", "1.2") - def get_gender(s: Statement): Gender = s match { - case sx: DefWire => BIGENDER - case sx: DefRegister => BIGENDER - case sx: WDefInstance => MALE - case sx: DefNode => MALE - case sx: DefInstance => MALE - case sx: DefMemory => MALE - case sx: Block => UNKNOWNGENDER - case sx: Connect => UNKNOWNGENDER - case sx: PartialConnect => UNKNOWNGENDER - case sx: Stop => UNKNOWNGENDER - case sx: Print => UNKNOWNGENDER - case sx: IsInvalid => UNKNOWNGENDER - case EmptyStmt => UNKNOWNGENDER - } - @deprecated("Migrate from 'Gender' to 'Flow'. This method will be removed in 1.3", "1.2") - def get_gender(p: Port): Gender = if (p.direction == Input) MALE else FEMALE def flow(e: Expression): Flow = e match { case ex: WRef => ex.flow case ex: WSubField => ex.flow diff --git a/src/main/scala/firrtl/WIR.scala b/src/main/scala/firrtl/WIR.scala index eb4a665f..3ed02fd0 100644 --- a/src/main/scala/firrtl/WIR.scala +++ b/src/main/scala/firrtl/WIR.scala @@ -26,18 +26,7 @@ case object SinkFlow extends Flow case object DuplexFlow extends Flow case object UnknownFlow extends Flow -private[firrtl] trait GenderFromFlow { this: Expression => - val flow: Flow - @deprecated("Migrate from 'Gender' to 'Flow'. This method will be removed in 1.3.", "1.2") - def gender: Gender = flow match { - case SourceFlow => MALE - case SinkFlow => FEMALE - case DuplexFlow => BIGENDER - case UnknownFlow => UNKNOWNGENDER - } -} - -case class WRef(name: String, tpe: Type, kind: Kind, flow: Flow) extends Expression with GenderFromFlow { +case class WRef(name: String, tpe: Type, kind: Kind, flow: Flow) extends Expression { def serialize: String = name def mapExpr(f: Expression => Expression): Expression = this def mapType(f: Type => Type): Expression = this.copy(tpe = f(tpe)) @@ -62,7 +51,7 @@ object WRef { /** Creates a WRef from an arbitrary string name */ def apply(n: String, t: Type = UnknownType, k: Kind = ExpKind): WRef = new WRef(n, t, k, UnknownFlow) } -case class WSubField(expr: Expression, name: String, tpe: Type, flow: Flow) extends Expression with GenderFromFlow { +case class WSubField(expr: Expression, name: String, tpe: Type, flow: Flow) extends Expression { def serialize: String = s"${expr.serialize}.$name" def mapExpr(f: Expression => Expression): Expression = this.copy(expr = f(expr)) def mapType(f: Type => Type): Expression = this.copy(tpe = f(tpe)) @@ -75,7 +64,7 @@ object WSubField { def apply(expr: Expression, n: String): WSubField = new WSubField(expr, n, field_type(expr.tpe, n), UnknownFlow) def apply(expr: Expression, name: String, tpe: Type): WSubField = new WSubField(expr, name, tpe, UnknownFlow) } -case class WSubIndex(expr: Expression, value: Int, tpe: Type, flow: Flow) extends Expression with GenderFromFlow { +case class WSubIndex(expr: Expression, value: Int, tpe: Type, flow: Flow) extends Expression { def serialize: String = s"${expr.serialize}[$value]" def mapExpr(f: Expression => Expression): Expression = this.copy(expr = f(expr)) def mapType(f: Type => Type): Expression = this.copy(tpe = f(tpe)) @@ -84,7 +73,7 @@ case class WSubIndex(expr: Expression, value: Int, tpe: Type, flow: Flow) extend def foreachType(f: Type => Unit): Unit = f(tpe) def foreachWidth(f: Width => Unit): Unit = Unit } -case class WSubAccess(expr: Expression, index: Expression, tpe: Type, flow: Flow) extends Expression with GenderFromFlow { +case class WSubAccess(expr: Expression, index: Expression, tpe: Type, flow: Flow) extends Expression { def serialize: String = s"${expr.serialize}[${index.serialize}]" def mapExpr(f: Expression => Expression): Expression = this.copy(expr = f(expr), index = f(index)) def mapType(f: Type => Type): Expression = this.copy(tpe = f(tpe)) diff --git a/src/main/scala/firrtl/package.scala b/src/main/scala/firrtl/package.scala index c0f48bf0..ec715979 100644 --- a/src/main/scala/firrtl/package.scala +++ b/src/main/scala/firrtl/package.scala @@ -15,27 +15,4 @@ package object firrtl { @deprecated("Use firrtl.stage.TargetDirAnnotation", "1.2") val TargetDirAnnotation = firrtl.options.TargetDirAnnotation - - @deprecated("Use Flow instead of Gender. This trait will be removed in 1.3", "1.2") - trait Gender - - @deprecated("Use SourceFlow instead of MALE. This case object will be removed in 1.3", "1.2") - case object MALE extends Gender - - @deprecated("Use SinkFlow instead of FEMALE. This case object will be removed in 1.3", "1.2") - case object FEMALE extends Gender - - @deprecated("Use DuplexFlow instead of BIGENDER. This case object will be removed in 1.3", "1.2") - case object BIGENDER extends Gender - - @deprecated("Use UnknownFlow instead of UNKNOWNGENDER. This case object will be removed in 1.3", "1.2") - case object UNKNOWNGENDER extends Gender - - @deprecated("Please migrate from 'Gender' to 'Flow'. This implicit conversion will be removed in 1.3", "1.2") - implicit def genderToFlow(gender: Gender): Flow = gender match { - case MALE => SourceFlow - case FEMALE => SinkFlow - case BIGENDER => DuplexFlow - case UNKNOWNGENDER => UnknownFlow - } } |
