blob: dd01819da9533183f59f9519fb6fb7f7cc0d372d [file] [log] [blame]
package org.checkerframework.framework.test;
import java.util.Collections;
import java.util.List;
import javax.tools.Diagnostic;
import javax.tools.JavaFileObject;
/** CompilationResult represents the output of the compiler after it is run. */
public class CompilationResult {
private final boolean compiledWithoutError;
private final String javacOutput;
private final Iterable<? extends JavaFileObject> javaFileObjects;
private final List<Diagnostic<? extends JavaFileObject>> diagnostics;
CompilationResult(
boolean compiledWithoutError,
String javacOutput,
Iterable<? extends JavaFileObject> javaFileObjects,
List<Diagnostic<? extends JavaFileObject>> diagnostics) {
this.compiledWithoutError = compiledWithoutError;
this.javacOutput = javacOutput;
this.javaFileObjects = javaFileObjects;
this.diagnostics = Collections.unmodifiableList(diagnostics);
}
/**
* Returns whether or not compilation succeeded without errors or exceptions.
*
* @return whether or not compilation succeeded without errors or exceptions
*/
public boolean compiledWithoutError() {
return compiledWithoutError;
}
/**
* Returns all of the output from the compiler.
*
* @return all of the output from the compiler
*/
public String getJavacOutput() {
return javacOutput;
}
/**
* Returns the list of Java files passed to the compiler.
*
* @return the list of Java files passed to the compiler
*/
public Iterable<? extends JavaFileObject> getJavaFileObjects() {
return javaFileObjects;
}
/**
* Returns the diagnostics reported by the compiler.
*
* @return the diagnostics reported by the compiler
*/
public List<Diagnostic<? extends JavaFileObject>> getDiagnostics() {
return diagnostics;
}
}