diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2014-04-21 20:55:49 +0200 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2014-04-21 20:55:49 +0200 |
commit | 781545287a0d9b2170e1db2402327c649ed26f8b (patch) | |
tree | 33d21ea92ea348647e8b9071d2e5f8352c20f994 | |
parent | d573db8006a0de06c8e1a5d960f74d8270cb1ab6 (diff) | |
parent | 33a914a2ba4018eb6e8bc85577cb0f1290c28c02 (diff) | |
download | scala-781545287a0d9b2170e1db2402327c649ed26f8b.tar.gz scala-781545287a0d9b2170e1db2402327c649ed26f8b.tar.bz2 scala-781545287a0d9b2170e1db2402327c649ed26f8b.zip |
Merge pull request #3687 from smarter/fix_analysisBudget_off
SI-8520 Fix -Dscalac.patmat.analysisBudget=off
-rw-r--r-- | src/compiler/scala/tools/nsc/transform/patmat/Logic.scala | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/patmat/Logic.scala b/src/compiler/scala/tools/nsc/transform/patmat/Logic.scala index ffd3a30d3a..fde0aca584 100644 --- a/src/compiler/scala/tools/nsc/transform/patmat/Logic.scala +++ b/src/compiler/scala/tools/nsc/transform/patmat/Logic.scala @@ -162,11 +162,18 @@ trait Logic extends Debugging { // to govern how much time we spend analyzing matches for unreachability/exhaustivity object AnalysisBudget { - private val budgetProp = scala.sys.Prop[Int]("scalac.patmat.analysisBudget") + private val budgetProp = scala.sys.Prop[String]("scalac.patmat.analysisBudget") private val budgetOff = "off" val max: Int = { val DefaultBudget = 256 - budgetProp.option.getOrElse(if (budgetProp.get.equalsIgnoreCase("off")) Integer.MAX_VALUE else DefaultBudget) + budgetProp.option match { + case Some(`budgetOff`) => + Integer.MAX_VALUE + case Some(x) => + x.toInt + case None => + DefaultBudget + } } abstract class Exception(val advice: String) extends RuntimeException("CNF budget exceeded") |