class PurityAnalysis extends SceneTransformer {
  private static final Logger logger = LoggerFactory.getLogger(PurityAnalysis.class);

  public PurityAnalysis(Singletons.Global g) {
  }

  public static PurityAnalysis v() {
    return G.v().soot_jimple_toolkits_annotation_purity_PurityAnalysis();
  }

  @Override
  protected void internalTransform(String phaseName, Map<String, String> options) {<FILL_FUNCTION_BODY>}
}

    PurityOptions opts = new PurityOptions(options);

    logger.debug("[AM] Analysing purity");
    final Scene sc = Scene.v();

    // launch the analysis
    new PurityInterproceduralAnalysis(sc.getCallGraph(), sc.getEntryPoints().iterator(), opts);
  
<methods>public non-sealed void <init>() ,public final void transform(java.lang.String, Map<java.lang.String,java.lang.String>) ,public final void transform(java.lang.String) ,public final void transform() <variables>