InteractiveDriver

class InteractiveDriver(val settings: List[String]) extends Driver

A Driver subclass designed to be used from IDEs

Companion
object
class Driver
class Object
trait Matchable
class Any

Value members

Concrete methods

All the trees for this project.

All the trees for this project.

This includes the trees of the sources of this project, along with the trees that are found on this project's classpath.

All the trees for this project that contain id.

All the trees for this project that contain id.

This includes the trees of the sources of this project, along with the trees that are found on this project's classpath.

def close(uri: URI): Unit
def run(uri: URI, sourceCode: String): List[Diagnostic]
def run(uri: URI, source: SourceFile): List[Diagnostic]

The trees for all the source files in this project.

The trees for all the source files in this project.

This includes the trees for the buffers that are presently open in the IDE, and the trees from the target directory.

The trees for all the source files in this project that contain id.

The trees for all the source files in this project that contain id.

This includes the trees for the buffers that are presently open in the IDE, and the trees from the target directory.

override def sourcesRequired: Boolean
Definition Classes

Inherited methods

def main(args: Array[String]): Unit
Inherited from
Driver
def process(args: Array[String], rootCtx: Context): Reporter

Entry point to the compiler using a custom Context.

Entry point to the compiler using a custom Context.

In most cases, you do not need a custom Context and should instead use one of the other overloads of process. However, the other overloads cannot be overridden, instead you should override this one which they call internally.

Usage example: https://github.com/lampepfl/dotty/tree/master/compiler/test/dotty/tools/dotc/EntryPointsTest.scala.disabled in method runCompilerWithContext

Value Params
args

Arguments to pass to the compiler.

rootCtx

The root Context to use.

Returns

The Reporter used. Use Reporter#hasErrors to check if compilation succeeded.

Inherited from
Driver
final def process(args: Array[String]): Reporter

Entry point to the compiler with no optional arguments.

Entry point to the compiler with no optional arguments.

This overload is provided for compatibility reasons: the RawCompiler of sbt expects this method to exist and calls it using reflection. Keeping it means that we can change the other overloads without worrying about breaking compatibility with sbt.

Inherited from
Driver
final def process(args: Array[String], reporter: Reporter, callback: CompilerCallback): Reporter

Principal entry point to the compiler.

Principal entry point to the compiler.

Usage example: https://github.com/lampepfl/dotty/tree/master/compiler/test/dotty/tools/dotc/EntryPointsTest.scala.disabled in method runCompiler

Value Params
args

Arguments to pass to the compiler.

callback

Used to execute custom code during the compilation process. No callbacks will be executed if this is null.

reporter

Used to log errors, warnings, and info messages. The default reporter is used if this is null.

Returns

The Reporter used. Use Reporter#hasErrors to check if compilation succeeded.

Inherited from
Driver
final def process(args: Array[String], simple: SimpleReporter, callback: CompilerCallback): ReporterResult

Entry point to the compiler that can be conveniently used with Java reflection.

Entry point to the compiler that can be conveniently used with Java reflection.

This entry point can easily be used without depending on the dotty package, you only need to depend on dotty-interfaces and call this method using reflection. This allows you to write code that will work against multiple versions of dotty without recompilation.

The trade-off is that you can only pass a SimpleReporter to this method and not a normal Reporter which is more powerful.

Usage example: https://github.com/lampepfl/dotty/tree/master/compiler/test/dotty/tools/dotc/InterfaceEntryPointTest.scala

Value Params
args

Arguments to pass to the compiler.

callback

Used to execute custom code during the compilation process. No callbacks will be executed if this is null.

simple

Used to log errors, warnings, and info messages. The default reporter is used if this is null.

Inherited from
Driver
def setup(args: Array[String], rootCtx: Context): Option[(List[AbstractFile], Context)]

Setup context with initialized settings from CLI arguments, then check if there are any settings that would change the default behaviour of the compiler.

Setup context with initialized settings from CLI arguments, then check if there are any settings that would change the default behaviour of the compiler.

Returns

If there is no setting like -help preventing us from continuing compilation, this method returns a list of files to compile and an updated Context. If compilation should be interrupted, this method returns None.

Inherited from
Driver

Concrete fields