From c81e94b5dd39cf86abd0145fc93e0999f57a548c Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Thu, 31 Mar 2011 05:58:01 +0000 Subject: Some minor sensibility improvements to previous... Some minor sensibility improvements to previous patch, and tearing out some obsolete pieces of scalap. No review. --- .../scala/tools/nsc/MainGenericRunner.scala | 14 +- src/compiler/scala/tools/nsc/ScalaDoc.scala | 31 ++-- src/scalap/scala/tools/scalap/Main.scala | 203 +++++++-------------- 3 files changed, 89 insertions(+), 159 deletions(-) (limited to 'src') diff --git a/src/compiler/scala/tools/nsc/MainGenericRunner.scala b/src/compiler/scala/tools/nsc/MainGenericRunner.scala index 7ead4cce4a..f2d4bacb35 100644 --- a/src/compiler/scala/tools/nsc/MainGenericRunner.scala +++ b/src/compiler/scala/tools/nsc/MainGenericRunner.scala @@ -19,7 +19,7 @@ import GenericRunnerCommand._ * sources for the code to run: pre-compiled code, a script file, * or interactive entry. */ -object MainGenericRunner { +class MainGenericRunner { def errorFn(ex: Throwable): Boolean = { ex.printStackTrace() false @@ -29,11 +29,6 @@ object MainGenericRunner { false } - def main(args: Array[String]) { - if (!process(args)) - sys.exit(1) - } - def process(args: Array[String]): Boolean = { val command = new GenericRunnerCommand(args.toList, (x: String) => errorFn(x)) import command.{ settings, howToRun, thingToRun } @@ -88,3 +83,10 @@ object MainGenericRunner { } } } + +object MainGenericRunner extends MainGenericRunner { + def main(args: Array[String]) { + if (!process(args)) + sys.exit(1) + } +} diff --git a/src/compiler/scala/tools/nsc/ScalaDoc.scala b/src/compiler/scala/tools/nsc/ScalaDoc.scala index dddb027e23..da31ca833d 100644 --- a/src/compiler/scala/tools/nsc/ScalaDoc.scala +++ b/src/compiler/scala/tools/nsc/ScalaDoc.scala @@ -8,19 +8,10 @@ package scala.tools.nsc import java.io.File.pathSeparator import scala.tools.nsc.doc.DocFactory -import scala.tools.nsc.reporters.{Reporter, ConsoleReporter} -import scala.tools.nsc.util.FakePos //{Position} +import scala.tools.nsc.reporters.ConsoleReporter +import scala.tools.nsc.util.FakePos import Properties.msilLibPath -class ScaladocCommand(arguments: List[String], settings: doc.Settings) extends CompilerCommand(arguments, settings) { - override def cmdName = "scaladoc" - override def usageMsg = ( - createUsageMsg("where possible scaladoc", false, x => x.isStandard && settings.isScaladocSpecific(x.name)) + - "\n\nStandard scalac options also available:" + - createUsageMsg(x => x.isStandard && !settings.isScaladocSpecific(x.name)) - ) -} - /** The main class for scaladoc, a front-end for the Scala compiler * that generates documentation from source files. */ @@ -35,12 +26,10 @@ class ScalaDoc { // symbols just because there was an error override def hasErrors = false } - val command = new ScaladocCommand(args.toList, docSettings) + val command = new ScalaDoc.Command(args.toList, docSettings) if (docSettings.version.value) reporter.info(null, versionMsg, true) - else if (docSettings.help.value) - reporter.info(null, command.usageMsg, true) else if (docSettings.Xhelp.value) reporter.info(null, command.xusageMsg, true) else if (docSettings.Yhelp.value) @@ -49,12 +38,13 @@ class ScalaDoc { reporter.warning(null, "Plugins are not available when using Scaladoc") else if (docSettings.showPhases.value) reporter.warning(null, "Phases are restricted when using Scaladoc") + else if (docSettings.help.value || command.files.isEmpty) + reporter.info(null, command.usageMsg, true) else try { if (docSettings.target.value == "msil") msilLibPath foreach (x => docSettings.assemrefs.value += (pathSeparator + x)) - if (command.files.isEmpty) reporter.info(null, command.usageMsg, true) - else new DocFactory(reporter, docSettings) document command.files + new DocFactory(reporter, docSettings) document command.files } catch { case ex @ FatalError(msg) => @@ -70,6 +60,15 @@ class ScalaDoc { } object ScalaDoc extends ScalaDoc { + class Command(arguments: List[String], settings: doc.Settings) extends CompilerCommand(arguments, settings) { + override def cmdName = "scaladoc" + override def usageMsg = ( + createUsageMsg("where possible scaladoc", false, x => x.isStandard && settings.isScaladocSpecific(x.name)) + + "\n\nStandard scalac options also available:" + + createUsageMsg(x => x.isStandard && !settings.isScaladocSpecific(x.name)) + ) + } + def main(args: Array[String]): Unit = sys exit { if (process(args)) 0 else 1 } diff --git a/src/scalap/scala/tools/scalap/Main.scala b/src/scalap/scala/tools/scalap/Main.scala index 2a2716ba20..7546fd99ae 100644 --- a/src/scalap/scala/tools/scalap/Main.scala +++ b/src/scalap/scala/tools/scalap/Main.scala @@ -5,50 +5,33 @@ ** */ - package scala.tools.scalap -import java.io.{PrintStream, OutputStreamWriter, ByteArrayOutputStream} +import java.io.{ PrintStream, OutputStreamWriter, ByteArrayOutputStream } import scalax.rules.scalasig._ import tools.nsc.util.{ ClassPath, JavaClassPath } import tools.util.PathResolver import ClassPath.DefaultJavaContext -import tools.nsc.io.{PlainFile, AbstractFile} +import tools.nsc.io.{ PlainFile, AbstractFile } /**The main object used to execute scalap on the command-line. * * @author Matthias Zenger, Stephane Micheloud, Burak Emir, Ilya Sergey */ -object Main { - val SCALA_SIG = "ScalaSig" +class Main { + val SCALA_SIG = "ScalaSig" val SCALA_SIG_ANNOTATION = "Lscala/reflect/ScalaSignature;" - val BYTES_VALUE = "bytes" + val BYTES_VALUE = "bytes" - val versionMsg = "Scala classfile decoder " + - Properties.versionString + " -- " + - Properties.copyrightString + "\n" + val versionMsg = "Scala classfile decoder %s -- %s\n".format(Properties.versionString, Properties.copyrightString) /**Verbose program run? */ var verbose = false var printPrivates = false - /**Prints usage information for scalap. - */ - def usage { - Console.println("usage: scalap {