use of org.eclipse.ceylon.compiler.java.launcher.Main.ExitState in project ceylon by eclipse.
the class JavaCompilerImpl method compile.
@SuppressWarnings("deprecation")
@Override
public boolean compile(CompilerOptions options, CompilationListener listener) {
CeyloncTool compiler = new CeyloncTool();
CompilationListenerAdapter diagnosticListener = new CompilationListenerAdapter(listener);
Writer writer = options.getOutWriter();
if (!options.isVerbose() && writer == null) {
// make the tool shut the hell up
writer = new NullWriter();
}
JavacFileManager fileManager = compiler.getStandardFileManager(writer, diagnosticListener, null, null);
Iterable<? extends JavaFileObject> compilationUnits = fileManager.getJavaFileObjectsFromFiles(options.getFiles());
CeyloncTaskImpl compilerTask = compiler.getTask(null, fileManager, diagnosticListener, translateOptions(options), options.getModules(), compilationUnits);
compilerTask.setTaskListener(diagnosticListener);
ExitState state = compilerTask.call2();
// print any helpful info if required
if (options.isVerbose() && state.abortingException != null)
state.abortingException.printStackTrace();
return state.ceylonState == CeylonState.OK;
}
Aggregations