scala.tools.nsc.interactive.Main.scala Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of scala-compiler Show documentation
Show all versions of scala-compiler Show documentation
Compiler for the SubScript extension of the Scala Programming Language
/* NSC -- new Scala compiler
* Copyright 2005-2013 LAMP/EPFL
* @author Martin Odersky
*/
package scala.tools
package nsc
package interactive
/** The main class for NSC, a compiler for the programming
* language Scala.
*/
object Main extends nsc.MainClass {
override def processSettingsHook(): Boolean = {
if (this.settings.Yidedebug) {
this.settings.Xprintpos.value = true
this.settings.Yrangepos.value = true
val compiler = new interactive.Global(this.settings, this.reporter)
import compiler.{ reporter => _, _ }
val sfs = command.files map getSourceFile
val reloaded = new interactive.Response[Unit]
askReload(sfs, reloaded)
reloaded.get.right.toOption match {
case Some(ex) => reporter.cancelled = true // Causes exit code to be non-0
case None => reporter.reset() // Causes other compiler errors to be ignored
}
askShutdown
false
}
else true
}
}