 
                        
        
                        
        xsbti.compile.ScalaCompiler Maven / Gradle / Ivy
                 Go to download
                
        
                    Show more of this group  Show more artifacts with this name
Show all versions of compiler-interface Show documentation
                Show all versions of compiler-interface Show documentation
Incremental compiler of Scala
                
            package xsbti.compile;
import xsbti.AnalysisCallback;
import xsbti.Logger;
import xsbti.Maybe;
import xsbti.Reporter;
import java.io.File;
/**
* Interface to a Scala compiler.
*/
public interface ScalaCompiler
{
	/**
	 * The `ScalaInstance` used by this compiler.
	 */
	ScalaInstance scalaInstance();
	/**
	 * The `ClasspathOptions` used by this compiler.
	 */
	ClasspathOptions classpathOptions();
	/**
	 * Recompile the subset of `sources` impacted by `changes` and collect new APIs.
	 *
	 * @param sources  All the sources of the project.
	 * @param changes  The changes that have been detected at the previous step.
	 * @param callback The callback to which the extracted information should be reported.
	 * @param log      Logger to use for compilation.
	 * @param reporter The reporter to which errors and warnings should be reported during compilation.
	 * @param progress Where to report the file being currently compiled.
	 * @param compiler The actual compiler that will perform the compilation step.
	 */
	void compile(File[] sources, DependencyChanges changes, AnalysisCallback callback, Logger log, Reporter reporter, CompileProgress progress, CachedCompiler compiler);
	/**
	 * Recompile the subset of `sources` impacted by `changes` and collect new APIs.
	 *
	 * @param sources     All the sources of the project.
	 * @param changes     The changes that have been detected at the previous step.
	 * @param options     Arguments to give to the compiler (-Xfatal-warnings, ...).
	 * @param output      Location where generated class files should be put.
	 * @param callback    The callback to which the extracted information should be reported.
	 * @param reporter    The reporter to which errors and warnings should be reported during compilation.
	 * @param cache       The cache from where we retrieve the compiler to use.
	 * @param log         Logger to use for compilation.
	 * @param progressOpt The `CompileProgress` to use to report the file being compile.
	 */
	void compile(File[] sources, DependencyChanges changes, String[] options, Output output, AnalysisCallback callback, Reporter reporter, GlobalsCache cache, Logger log, Maybe progressOpt);
}
 © 2015 - 2025 Weber Informatics LLC | Privacy Policy