blob: 25cf73995aba93e5f52184f76ba997a944b18b64 [file] [log] [blame]
package org.checkerframework.dataflow.cfg.playground;
import org.checkerframework.dataflow.analysis.Analysis;
import org.checkerframework.dataflow.cfg.JavaSource2CFGDOT;
import org.checkerframework.dataflow.constantpropagation.Constant;
import org.checkerframework.dataflow.constantpropagation.ConstantPropagationStore;
import org.checkerframework.dataflow.constantpropagation.ConstantPropagationTransfer;
public class ConstantPropagationPlayground {
/**
* Run constant propagation for a specific file and create a PDF of the CFG
* in the end.
*/
public static void main(String[] args) {
/* Configuration: change as appropriate */
String inputFile = "cfg-input.java"; // input file name and path
String outputFileName = "cfg"; // output file name and path (without
// extension)
String method = "test"; // name of the method to analyze
String clazz = "Test"; // name of the class to consider
// run the analysis and create a PDF file
ConstantPropagationTransfer transfer = new ConstantPropagationTransfer();
// TODO: correct processing environment
Analysis<Constant, ConstantPropagationStore, ConstantPropagationTransfer> analysis = new Analysis<>(
null, transfer);
JavaSource2CFGDOT.generateDOTofCFG(inputFile, outputFileName, method,
clazz, true, analysis);
}
}