Writes files to dynamicClasspath.
Writes files to dynamicClasspath. Needed for loading cached classes.
Compiles a blob of bytes and spits of a list of classfiles
Either the statements that were parsed or the error message
Encapsulates (almost) all the ickiness of Scalac so it doesn't leak into the rest of the codebase. Makes use of a good amount of mutable state for things like the log-output-forwarder or compiler-plugin-output because These things are hard-coded into Scalac and can't be passed in from run to run.
Turns source-strings into the bytes of classfiles, possibly more than one classfile per source-string (e.g. inner classes, or lambdas). Also lets you query source strings using an in-built presentation compiler