Loading src/main/java/tfm/exec/CFGLog.java +6 −1 Original line number Diff line number Diff line Loading @@ -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 Loading src/main/java/tfm/exec/GraphLog.java +4 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ public abstract class GraphLog<G extends Graph<?>, V extends VoidVisitor<?>> { G graph; V visitor; protected String pngName; public GraphLog() { } Loading Loading @@ -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; } src/main/java/tfm/exec/Main.java +1 −1 Original line number Diff line number Diff line Loading @@ -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; Loading src/main/java/tfm/exec/PDGLog.java +11 −4 Original line number Diff line number Diff line Loading @@ -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(); } } src/main/java/tfm/exec/SDGLog.java +5 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
src/main/java/tfm/exec/CFGLog.java +6 −1 Original line number Diff line number Diff line Loading @@ -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 Loading
src/main/java/tfm/exec/GraphLog.java +4 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,8 @@ public abstract class GraphLog<G extends Graph<?>, V extends VoidVisitor<?>> { G graph; V visitor; protected String pngName; public GraphLog() { } Loading Loading @@ -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; }
src/main/java/tfm/exec/Main.java +1 −1 Original line number Diff line number Diff line Loading @@ -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; Loading
src/main/java/tfm/exec/PDGLog.java +11 −4 Original line number Diff line number Diff line Loading @@ -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(); } }
src/main/java/tfm/exec/SDGLog.java +5 −0 Original line number Diff line number Diff line Loading @@ -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