summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala
diff options
context:
space:
mode:
authorSom Snytt <som.snytt@gmail.com>2013-07-25 12:05:08 -0700
committerSom Snytt <som.snytt@gmail.com>2013-08-21 17:03:03 -0700
commit26ad989f49640693c78e7af42abae3d75cf36f68 (patch)
tree0a06bed77e9538d21f8cc31704db3799773323be /src/compiler/scala/tools/nsc/settings/ScalaSettings.scala
parent508ee772ff211d290e0fadc81d8cea70595b7984 (diff)
downloadscala-26ad989f49640693c78e7af42abae3d75cf36f68.tar.gz
scala-26ad989f49640693c78e7af42abae3d75cf36f68.tar.bz2
scala-26ad989f49640693c78e7af42abae3d75cf36f68.zip
SI-7622 -Xgenerate-phase-graph is an info option
-Xgenerate-phase-graph is comparable to -Xshow-phases. The knowledge about what is an info-only option is refactored to Settings, which also knows which group of options comprise the optimiser set.
Diffstat (limited to 'src/compiler/scala/tools/nsc/settings/ScalaSettings.scala')
-rw-r--r--src/compiler/scala/tools/nsc/settings/ScalaSettings.scala6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala b/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala
index 32f0571e83..90f7672293 100644
--- a/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala
+++ b/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala
@@ -41,6 +41,12 @@ trait ScalaSettings extends AbsScalaSettings
/** Enabled under -optimise. */
def optimiseSettings = List[BooleanSetting](inline, inlineHandlers, Xcloselim, Xdce, YconstOptimization)
+ /** If any of these settings is enabled, the compiler should print a message and exit. */
+ def infoSettings = List[Setting](help, Xhelp, Yhelp, showPlugins, showPhases, genPhaseGraph)
+
+ /** Is an info setting set? */
+ def isInfo = infoSettings exists (_.isSetByUser)
+
/** Internal use - syntax enhancements. */
private class EnableSettings[T <: BooleanSetting](val s: T) {
def enabling(toEnable: List[BooleanSetting]): s.type = s withPostSetHook (_ => toEnable foreach (_.value = s.value))