blob: 69fff2775017b82ba56d1ddda7d971b29ebe4b89 [file] [log] [blame]
package org.checkerframework.checker.testchecker.wholeprograminference;
import java.util.LinkedHashSet;
import org.checkerframework.common.basetype.BaseTypeChecker;
import org.checkerframework.common.basetype.BaseTypeVisitor;
import org.checkerframework.common.value.ValueChecker;
/**
* Checker for a simple type system to test whole-program inference. Uses the Value Checker as a
* subchecker to ensure that generated files contain annotations both from this checker and from the
* Value Checker, to make certain that subchecker outputs aren't overwritten.
*/
public class WholeProgramInferenceTestChecker extends BaseTypeChecker {
@Override
protected BaseTypeVisitor<?> createSourceVisitor() {
return new WholeProgramInferenceTestVisitor(this);
}
@Override
protected LinkedHashSet<Class<? extends BaseTypeChecker>> getImmediateSubcheckerClasses() {
LinkedHashSet<Class<? extends BaseTypeChecker>> checkers =
super.getImmediateSubcheckerClasses();
checkers.add(ValueChecker.class);
return checkers;
}
}