Commit fd6f61ee authored by Sergio Pérez's avatar Sergio Pérez
Browse files

Map of visible edges for debugging

parent fc7ceba1
Loading
Loading
Loading
Loading
+18 −1
Original line number Diff line number Diff line
@@ -119,8 +119,25 @@ public class EKnife

	private static void run(Args a)
	{

		boolean showIP = false;
		Map<Edge.Type, Boolean> edgeFlags = new HashMap<>();
		edgeFlags.put(Edge.Type.Value, true);
		edgeFlags.put(Edge.Type.ValueStructure, true);
		edgeFlags.put(Edge.Type.ControlFlow, false);
		edgeFlags.put(Edge.Type.Control, true);
		edgeFlags.put(Edge.Type.Flow, true);
		edgeFlags.put(Edge.Type.Input, showIP);
		edgeFlags.put(Edge.Type.Call, showIP);
		edgeFlags.put(Edge.Type.Output, showIP);
		edgeFlags.put(Edge.Type.Summary, false);

		final LAST last = LASTFactory.createLAST(Language.Erlang, a.inputPath, true);
		// DotFactory.createDot(new File("/Users/serperu/Desktop/SlicerOutput/graph.dot"), new EDG(last), edgeFlags);

		final EDG edg = new EDGFactory(last).createEDG();
		// DotFactory.createDot(new File("/Users/serperu/Desktop/SlicerOutput/graph.dot"), edg, edgeFlags);

		final SlicingCriterion slicingCriterion = new SlicingCriterion(a.file, a.line, a.name, a.occurrence);
		final Node SC = edg.getNode(slicingCriterion);
		if (SC == null) {
@@ -133,7 +150,7 @@ public class EKnife
			System.out.println("Warning: no files will be written, as the slice is empty.");
			System.exit(2);
		}
// 		DotFactory.createDot(new File("YOUR_DESIRED_PATH/graphSliced.dot"), edg, SC, slice);
		DotFactory.createDot(new File("/Users/serperu/Desktop/SlicerOutput/graphSliced.dot"), edg, SC, slice, edgeFlags);
		CodeFactory.createCode(Language.Erlang, a.outputFile, edg, slice);
	}