diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2015-01-01 18:47:42 -0800 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2015-01-01 18:47:42 -0800 |
commit | 3fafbc204fe2ce94e64c6893e74e3855dc875ae8 (patch) | |
tree | 75850fb0122d94dbfe8cf2e3e3dbbd2ea409e7c4 /src | |
parent | 409b2805e0f6263b4e64197bc09ae58202d45f5e (diff) | |
parent | 5c296a419c32d8d76dbfebd091a98e3934da3e89 (diff) | |
download | scala-3fafbc204fe2ce94e64c6893e74e3855dc875ae8.tar.gz scala-3fafbc204fe2ce94e64c6893e74e3855dc875ae8.tar.bz2 scala-3fafbc204fe2ce94e64c6893e74e3855dc875ae8.zip |
Merge pull request #4222 from gbasler/topic/patmat-unit-tests-rebasedv2.11.5
Add unit tests for Tseitin CNF conversion and implement missing `equals` method for `Sym`.
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/transform/patmat/Logic.scala | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/patmat/Logic.scala b/src/compiler/scala/tools/nsc/transform/patmat/Logic.scala index 9f24d5122a..da6527bc0b 100644 --- a/src/compiler/scala/tools/nsc/transform/patmat/Logic.scala +++ b/src/compiler/scala/tools/nsc/transform/patmat/Logic.scala @@ -122,9 +122,20 @@ trait Logic extends Debugging { // symbols are propositions final class Sym private[PropositionalLogic] (val variable: Var, val const: Const) extends Prop { + + override def equals(other: scala.Any): Boolean = other match { + case that: Sym => this.variable == that.variable && + this.const == that.const + case _ => false + } + + override def hashCode(): Int = { + variable.hashCode * 41 + const.hashCode + } + private val id: Int = Sym.nextSymId - override def toString = variable + "=" + const + "#" + id + override def toString = s"$variable=$const#$id" } object Sym { |