Commit bb3acd94 authored by Javier Costa's avatar Javier Costa
Browse files

Slicing

parent f7e163f7
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -34,9 +34,14 @@ public class CFGLog extends GraphLog<CFGGraph, CFGVisitor> {

    @Override
    public void generatePNGs() throws IOException {
        this.generatePNGs("cfg");
    }

    @Override
    public void generatePNGs(String pngName) throws IOException {
        Graphviz.fromString(graph.toGraphvizRepresentation())
                .render(Format.PNG)
                .toFile(new File("./out/cfg.png"));
                .toFile(new File("./out/" + pngName + ".png"));
    }

    @Override
+4 −0
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@ public abstract class GraphLog<G extends Graph<?>, V extends VoidVisitor<?>> {
    G graph;
    V visitor;

    protected String pngName;

    public GraphLog() {

    }
@@ -49,5 +51,7 @@ public abstract class GraphLog<G extends Graph<?>, V extends VoidVisitor<?>> {

    public abstract void generatePNGs() throws IOException;

    public abstract void generatePNGs(String pngName) throws IOException;

    public abstract void openVisualRepresentation() throws IOException;
}
+1 −1
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@ import java.util.Optional;

public class Main {

    public static final String PROGRAM = Utils.PROGRAMS_FOLDER + "pdg/Example1.java";
    public static final String PROGRAM = Utils.PROGRAMS_FOLDER + "pdg/Example2.java";
    public static final String METHOD = "";
    public static final String GRAPH = GraphLog.PDG;

+11 −4
Original line number Diff line number Diff line
@@ -53,23 +53,30 @@ public class PDGLog extends GraphLog<PDGGraph, PDGCFGVisitor> {

    @Override
    public void generatePNGs() throws IOException {
        this.generatePNGs("program");
    }

    @Override
    public void generatePNGs(String pngName) throws IOException {
        this.pngName = pngName;

        if (visitor != null) {
            Graphviz.fromString(this.visitor.getCfgGraph().toGraphvizRepresentation())
                    .render(Format.PNG)
                    .toFile(new File("./out/pdg-cfg.png"));
                    .toFile(new File("./out/" + pngName + "-cfg.png"));
        }

        Graphviz.fromString(graph.toGraphvizRepresentation())
                .render(Format.PNG)
                .toFile(new File("./out/pdg.png"));
                .toFile(new File("./out/" + pngName + "-pdg.png"));
    }

    @Override
    public void openVisualRepresentation() throws IOException {
        if (visitor != null) {
            new ProcessBuilder(Arrays.asList("xdg-open", "./out/pdg-cfg.png")).start();
            new ProcessBuilder(Arrays.asList("xdg-open", "./out/" + pngName + "-cfg.png")).start();
        }

        new ProcessBuilder(Arrays.asList("xdg-open", "./out/pdg.png")).start();
        new ProcessBuilder(Arrays.asList("xdg-open", "./out/" + pngName + "-pdg.png")).start();
    }
}
+5 −0
Original line number Diff line number Diff line
@@ -22,6 +22,11 @@ public class SDGLog extends GraphLog<SDGGraph, SDGVisitor> {

    }

    @Override
    public void generatePNGs(String pngName) throws IOException {

    }

    @Override
    public void openVisualRepresentation() throws IOException {

Loading