CompilerLifecycleManager

class CompilerLifecycleManager(rtCacheDir: Option[Path], headFrame: => Frame, dependencyCompleteOpt: => Option[String => (Int, Seq[String])], classPathWhitelist: Set[Seq[String]], initialClassLoader: ClassLoader) extends CompilerLifecycleManager

Wraps up the Compiler and Pressy, ensuring that they get properly initialized before use. Mostly deals with ensuring the object lifecycles are properly dealt with; Compiler and Pressy are the ones which deal with the compiler's nasty APIs

Exposes a simple API where you can just call methods like compilerClass configureCompiler any-how and not worry about ensuring the necessary compiler objects are initialized, or worry about initializing them more than necessary

class CompilerLifecycleManager
class Object
trait Matchable
class Any

Value members

Concrete methods

def addToClasspath(classFiles: ClassFiles): Unit
def compileClass(processed: Output, printer: Printer, fileName: String): Option[Output]
def complete(offset: Int, previousImports: String, snippet: String): (Int, Seq[String], Seq[String])
def configureCompiler(callback: Compiler => Unit): Unit
def forceInit(): Unit
def init(): Unit
def init(force: Boolean): Unit
def preConfigureCompiler(callback: FreshContext => Unit): Unit
def preprocess(fileName: String): Preprocessor
def scalaVersion: String
def shutdownPressy(): Unit