aboutsummaryrefslogtreecommitdiff
path: root/test/test/InterfaceEntryPointTest.scala
Commit message (Collapse)AuthorAgeFilesLines
* Create dotty-lib.jar for run testsFelix Mulder2016-11-221-2/+13
|
* normalize paths for testsMartijn Hoekstra2016-09-071-1/+1
|
* Add a `dotty-interfaces` packageGuillaume Martres2016-02-281-0/+61
We introduce a new entry point for the compiler in `dotty.tools.dotc.Driver`: ``` def process(args: Array[String], simple: interfaces.SimpleReporter, callback: interfaces.CompilerCallback): interfaces.ReporterResult ``` Except for `args` which is just an array, the argument types and return type of this method are Java interfaces defined in a new package called `dotty-interfaces` which has a stable ABI. This means that you can programmatically run a compiler with a custom reporter and callbacks without having to recompile it against every version of dotty: you only need to have `dotty-interfaces` present at compile-time and call the `process` method using Java reflection. See `test/test/InterfaceEntryPointTest.scala` for a concrete example. This design is based on discussions with the IntelliJ IDEA Scala plugin team. Thanks to Nikolay Tropin for the discussions and his PR proposal (see #1011).