
org.checkerframework.dataflow.cfg.playground.BusyExpressionPlayground Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dataflow-shaded Show documentation
Show all versions of dataflow-shaded Show documentation
dataflow-shaded is a dataflow framework based on the javac compiler.
It differs from the org.checkerframework:dataflow artifact in two ways.
First, the packages in this artifact have been renamed to org.checkerframework.shaded.*.
Second, unlike the dataflow artifact, this artifact contains the dependencies it requires.
package org.checkerframework.dataflow.cfg.playground;
import org.checkerframework.dataflow.analysis.BackwardAnalysis;
import org.checkerframework.dataflow.analysis.BackwardAnalysisImpl;
import org.checkerframework.dataflow.analysis.UnusedAbstractValue;
import org.checkerframework.dataflow.busyexpr.BusyExprStore;
import org.checkerframework.dataflow.busyexpr.BusyExprTransfer;
import org.checkerframework.dataflow.cfg.visualize.CFGVisualizeLauncher;
import org.checkerframework.dataflow.cfg.visualize.CFGVisualizeOptions;
/**
* The playground for busy expression analysis. As an example, try {@code
* dataflow/manual/examples/BusyExprSimple.java}.
*/
public class BusyExpressionPlayground {
/** Class cannot be instantiated. */
private BusyExpressionPlayground() {
throw new AssertionError("Class BusyExpressionPlayground cannot be instantiated.");
}
/**
* Run busy expression analysis on a file.
*
* @param args command-line arguments
*/
public static void main(String[] args) {
// Parse the arguments.
CFGVisualizeOptions config = CFGVisualizeOptions.parseArgs(args);
// Run the analysis and create a PDF file
BusyExprTransfer transfer = new BusyExprTransfer();
BackwardAnalysis backwardAnalysis =
new BackwardAnalysisImpl<>(transfer);
CFGVisualizeLauncher.performAnalysis(config, backwardAnalysis);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy