From c3a56da40a790d252dbfbfa50783f73bdd45ecaa Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Wed, 9 Sep 2009 23:34:26 +0000 Subject: Unbreaking the plugin. --- src/compiler/scala/tools/nsc/Settings.scala | 1 + src/compiler/scala/tools/nsc/transform/UnCurry.scala | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/compiler/scala/tools/nsc/Settings.scala b/src/compiler/scala/tools/nsc/Settings.scala index 2452b3adbf..45da880c7c 100644 --- a/src/compiler/scala/tools/nsc/Settings.scala +++ b/src/compiler/scala/tools/nsc/Settings.scala @@ -749,6 +749,7 @@ trait ScalacSettings { val assemrefs = StringSetting ("-Xassem-path", "path", "List of assemblies referenced by the program (only relevant with -target:msil)", ".").dependsOn(target, "msil") val Xchecknull = BooleanSetting ("-Xcheck-null", "Emit warning on selection of nullable reference") val checkInit = BooleanSetting ("-Xcheckinit", "Add runtime checks on field accessors. Uninitialized accesses result in an exception being thrown.") + val noassertions = BooleanSetting ("-Xdisable-assertions", "Generate no assertions and assumptions") val elideLevel = IntSetting ("-Xelide-level", "Generate calls to @elidable-marked methods only method priority is greater than argument.", elidable.ASSERTION, None, elidable.byName.get(_)) val Xexperimental = BooleanSetting ("-Xexperimental", "Enable experimental extensions") diff --git a/src/compiler/scala/tools/nsc/transform/UnCurry.scala b/src/compiler/scala/tools/nsc/transform/UnCurry.scala index 32a66c321f..d1c06cd87a 100644 --- a/src/compiler/scala/tools/nsc/transform/UnCurry.scala +++ b/src/compiler/scala/tools/nsc/transform/UnCurry.scala @@ -543,9 +543,11 @@ abstract class UnCurry extends InfoTransform with TypingTransformers { treeCopy.UnApply(tree, fn1, args1) case Apply(fn, args) => + // XXX settings.noassertions.value temporarily retained to avoid + // breakage until a reasonable interface is settled upon. def elideFunctionCall(sym: Symbol) = sym != null && (sym.elisionLevel match { - case Some(x) => x < settings.elideLevel.value + case Some(x) => (x < settings.elideLevel.value) || settings.noassertions.value case _ => false }) if (elideFunctionCall(fn.symbol)) { -- cgit v1.2.3