summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2009-02-27 16:46:06 +0000
committerPaul Phillips <paulp@improving.org>2009-02-27 16:46:06 +0000
commit07ee2ba75f22244b5d07fb54365f00b5e0d6f796 (patch)
tree8f5815195d7740319abcf0e7b8e8e1077de83198
parent228225c5387fb51c46faddd503a1d94b60a5a609 (diff)
downloadscala-07ee2ba75f22244b5d07fb54365f00b5e0d6f796.tar.gz
scala-07ee2ba75f22244b5d07fb54365f00b5e0d6f796.tar.bz2
scala-07ee2ba75f22244b5d07fb54365f00b5e0d6f796.zip
Created separate -Xprint-icode setting so using...
Created separate -Xprint-icode setting so using -Xprint:all doesn't fill the current directory with usually unwanted .icode files.
-rw-r--r--src/compiler/scala/tools/nsc/Global.scala5
-rw-r--r--src/compiler/scala/tools/nsc/Settings.scala2
2 files changed, 4 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/Global.scala b/src/compiler/scala/tools/nsc/Global.scala
index bb17780dab..31f3c03963 100644
--- a/src/compiler/scala/tools/nsc/Global.scala
+++ b/src/compiler/scala/tools/nsc/Global.scala
@@ -687,9 +687,10 @@ class Global(var settings: Settings, var reporter: Reporter) extends SymbolTable
val startTime = currentTime
phase = globalPhase
globalPhase.run
+ if (settings.writeICode.value && globalPhase.id >= icodePhase.id)
+ writeICode()
if (settings.print contains globalPhase.name)
- if (globalPhase.id >= icodePhase.id) writeICode()
- else if (settings.Xshowtrees.value) nodePrinters.printAll()
+ if (settings.Xshowtrees.value) nodePrinters.printAll()
else printAllUnits()
if (settings.printLate.value && globalPhase.name == "cleanup")
printAllUnits()
diff --git a/src/compiler/scala/tools/nsc/Settings.scala b/src/compiler/scala/tools/nsc/Settings.scala
index 479e0e81f0..c6e69b7cfd 100644
--- a/src/compiler/scala/tools/nsc/Settings.scala
+++ b/src/compiler/scala/tools/nsc/Settings.scala
@@ -119,6 +119,7 @@ class Settings(error: String => Unit) {
val require = MultiStringSetting("-Xplugin-require", "plugin", "Abort unless a plugin is available")
val pluginsDir = StringSetting ("-Xpluginsdir", "path", "Location to find compiler plugins", pluginsDirDefault)
val print = PhasesSetting ("-Xprint", "Print out program after")
+ val writeICode = BooleanSetting ("-Xprint-icode", "Log internal icode to *.icode files").hideToIDE
val Xprintpos = BooleanSetting ("-Xprint-pos", "Print tree positions (as offsets)").hideToIDE
val printtypes = BooleanSetting ("-Xprint-types", "Print tree types (debugging option)").hideToIDE
val prompt = BooleanSetting ("-Xprompt", "Display a prompt after each error (debugging option)").hideToIDE
@@ -128,7 +129,6 @@ class Settings(error: String => Unit) {
val showPhases = BooleanSetting ("-Xshow-phases", "Print a synopsis of compiler phases").hideToIDE
val genPhaseGraph = StringSetting ("-Xgenerate-phase-graph", "filename", "Generate the phase graphs (outputs .dot files) to filenameX.dot", "").hideToIDE
val sourceReader = StringSetting ("-Xsource-reader", "classname", "Specify a custom method for reading source files", "scala.tools.nsc.io.SourceReader").hideToIDE
-// val migrate2_7_2 = BooleanSetting ("-Xmigrate-to-2.7.2", "Issue warning messages to help in migration to 2.7.2")
val future = BooleanSetting ("-Xfuture", "Turn on future language features")
val Yhelp = BooleanSetting ("-Y", "Print a synopsis of private options").hideToIDE