summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/transform/patmat
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2014-04-21 20:55:49 +0200
committerJason Zaugg <jzaugg@gmail.com>2014-04-21 20:55:49 +0200
commit781545287a0d9b2170e1db2402327c649ed26f8b (patch)
tree33d21ea92ea348647e8b9071d2e5f8352c20f994 /src/compiler/scala/tools/nsc/transform/patmat
parentd573db8006a0de06c8e1a5d960f74d8270cb1ab6 (diff)
parent33a914a2ba4018eb6e8bc85577cb0f1290c28c02 (diff)
downloadscala-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
Diffstat (limited to 'src/compiler/scala/tools/nsc/transform/patmat')
-rw-r--r--src/compiler/scala/tools/nsc/transform/patmat/Logic.scala11
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")