blob: 92533292b3135eec7cf554cb7ded8710647ff96d [file] [log] [blame]
package org.checkerframework.framework.flow;
import java.util.List;
import java.util.Set;
import javax.lang.model.element.AnnotationMirror;
import javax.lang.model.element.VariableElement;
import javax.lang.model.type.TypeMirror;
import org.checkerframework.common.basetype.BaseTypeChecker;
import org.checkerframework.framework.type.GenericAnnotatedTypeFactory;
import org.checkerframework.javacutil.Pair;
/** The default org.checkerframework.dataflow analysis used in the Checker Framework. */
public class CFAnalysis extends CFAbstractAnalysis<CFValue, CFStore, CFTransfer> {
public CFAnalysis(
BaseTypeChecker checker,
GenericAnnotatedTypeFactory<CFValue, CFStore, CFTransfer, CFAnalysis> factory,
List<Pair<VariableElement, CFValue>> fieldValues) {
super(checker, factory, fieldValues);
}
@Override
public CFStore createEmptyStore(boolean sequentialSemantics) {
return new CFStore(this, sequentialSemantics);
}
@Override
public CFStore createCopiedStore(CFStore s) {
return new CFStore(s);
}
@Override
public CFValue createAbstractValue(Set<AnnotationMirror> annotations, TypeMirror underlyingType) {
return defaultCreateAbstractValue(this, annotations, underlyingType);
}
}