aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlbert Magyar2020-04-04 13:21:13 -0700
committerAlbert Magyar2020-04-06 12:32:21 -0700
commit329f3c40f4626fd5c4b7d16f304a9fa3b3e4f573 (patch)
treef86df96e9471723485bc90a7c701fdb497ec2e73 /src
parentbc83b4d11588e21cde591acff944ea419bec1fa5 (diff)
* Remove deprecated 'Gender' methods/aliases
Diffstat (limited to 'src')
-rw-r--r--src/main/scala/firrtl/Utils.scala37
-rw-r--r--src/main/scala/firrtl/WIR.scala19
-rw-r--r--src/main/scala/firrtl/package.scala23
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
- }
}