Commit 7a8d9076 authored by Javier Costa's avatar Javier Costa
Browse files

SDGLog

parent 3e27b98f
Loading
Loading
Loading
Loading
+1 −6
Original line number Diff line number Diff line
@@ -16,12 +16,7 @@ public class CFGLog extends GraphLog<CFGGraph, CFGVisitor> {

    @Override
    public void visit(Node node) {
        this.graph = new CFGGraph() {
            @Override
            protected String getRootNodeData() {
                return "Start";
            }
        };
        this.graph = new CFGGraph();

        this.visitor = new CFGVisitor(graph);

+1 −6
Original line number Diff line number Diff line
@@ -18,12 +18,7 @@ public class PDGLog extends GraphLog<PDGGraph, PDGCFGVisitor> {

    @Override
    void visit(com.github.javaparser.ast.Node node) {
        this.graph = new PDGGraph() {
            @Override
            protected String getRootNodeData() {
                return "Entry";
            }
        };
        this.graph = new PDGGraph();

        this.visitor = new PDGCFGVisitor(graph);

+29 −0
Original line number Diff line number Diff line
package tfm.exec;

import com.github.javaparser.ast.Node;
import tfm.graphs.SDGGraph;
import tfm.visitors.SDGVisitor;

import java.io.IOException;

public class SDGLog extends GraphLog<SDGGraph, SDGVisitor> {

    @Override
    void visit(Node node) {
        SDGGraph sdgGraph = new SDGGraph();

        SDGVisitor sdgVisitor = new SDGVisitor(sdgGraph);

        node.accept(sdgVisitor, null);
    }

    @Override
    void generatePNGs() throws IOException {

    }

    @Override
    void openVisualRepresentation() throws IOException {

    }
}
+7 −0
Original line number Diff line number Diff line
@@ -3,14 +3,21 @@ package tfm.visitors;
import com.github.javaparser.ast.body.MethodDeclaration;
import com.github.javaparser.ast.visitor.VoidVisitorAdapter;
import tfm.graphs.PDGGraph;
import tfm.graphs.SDGGraph;

import java.util.ArrayList;
import java.util.List;

public class SDGVisitor extends VoidVisitorAdapter<Void> {

    SDGGraph sdgGraph;

    List<PDGGraph> allPDGs = new ArrayList<>();

    public SDGVisitor(SDGGraph sdgGraph) {
        this.sdgGraph = sdgGraph;
    }

    @Override
    public void visit(MethodDeclaration methodDeclaration, Void ignored) {
        if (!methodDeclaration.getBody().isPresent())