package accrue.analysis;

import polyglot.frontend.Topics;
import polyglot.main.Report;

/**
 * Analysis topics for Accrue
 */
public class AnalysisTopics extends Topics {
    public static final String ACCRUE = "accrue";
    public static final String REGISTRAR = "registrar";
    public static final String NULL_ANALYSIS = "nullanalysis";
    public static final String PRECISE_EX_ANALYSIS = "preciseex";
    public static final String POINTSTO = "pointsto";
    public static final String POINTSTOGRAPH = "pointstograph";
    public static final String DEFUSE = "defuse";
    public static final String POST_DOMINATOR = "postdom";
    public static final String DOMINATOR = "dom";
    public static final String CTLDEP = "ctldep";
    public static final String ANTIDEP = "antidep";
    public static final String READ_WRITE_SETS_ANALYSIS = "readwritesets";

    static {
        Report.topics.add(ACCRUE);
        Report.topics.add(REGISTRAR);
        Report.topics.add(NULL_ANALYSIS);
        Report.topics.add(POINTSTO);
        Report.topics.add(POINTSTOGRAPH);
        Report.topics.add(PRECISE_EX_ANALYSIS);
        Report.topics.add(DEFUSE);
        Report.topics.add(POST_DOMINATOR);
        Report.topics.add(DOMINATOR);
        Report.topics.add(CTLDEP);
        Report.topics.add(ANTIDEP);
        Report.topics.add(READ_WRITE_SETS_ANALYSIS);
    }
}
