Loading sdg-core/src/main/java/tfm/arcs/Arc.java +8 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,14 @@ public abstract class Arc extends DefaultEdge { throw new UnsupportedOperationException("Not a DataDependencyArc"); } public boolean isInterproceduralInputArc() { return false; } public boolean isInterproceduralOutputArc() { return false; } /** @see CallArc */ public final boolean isCallArc() { return this instanceof CallArc; Loading sdg-core/src/main/java/tfm/arcs/sdg/CallArc.java +11 −2 Original line number Diff line number Diff line Loading @@ -2,15 +2,24 @@ package tfm.arcs.sdg; import org.jgrapht.io.Attribute; import org.jgrapht.io.DefaultAttribute; import tfm.arcs.Arc; import java.util.Map; public class CallArc extends Arc { public class CallArc extends InterproceduralArc { @Override public Map<String, Attribute> getDotAttributes() { Map<String, Attribute> map = super.getDotAttributes(); map.put("style", DefaultAttribute.createAttribute("dashed")); return map; } @Override public boolean isInterproceduralInputArc() { return true; } @Override public boolean isInterproceduralOutputArc() { return false; } } sdg-core/src/main/java/tfm/arcs/sdg/InterproceduralArc.java 0 → 100644 +15 −0 Original line number Diff line number Diff line package tfm.arcs.sdg; import tfm.arcs.Arc; public abstract class InterproceduralArc extends Arc { protected InterproceduralArc() { super(); } @Override public abstract boolean isInterproceduralInputArc(); @Override public abstract boolean isInterproceduralOutputArc(); } sdg-core/src/main/java/tfm/arcs/sdg/ParameterInOutArc.java +15 −2 Original line number Diff line number Diff line Loading @@ -2,15 +2,28 @@ package tfm.arcs.sdg; import org.jgrapht.io.Attribute; import org.jgrapht.io.DefaultAttribute; import tfm.arcs.Arc; import tfm.nodes.GraphNode; import tfm.nodes.type.NodeType; import java.util.Map; public class ParameterInOutArc extends Arc { public class ParameterInOutArc extends InterproceduralArc { @Override public Map<String, Attribute> getDotAttributes() { Map<String, Attribute> map = super.getDotAttributes(); map.put("style", DefaultAttribute.createAttribute("dashed")); return map; } @Override public boolean isInterproceduralInputArc() { return ((GraphNode<?>) getSource()).getNodeType() == NodeType.ACTUAL_IN && ((GraphNode<?>) getTarget()).getNodeType() == NodeType.FORMAL_IN; } @Override public boolean isInterproceduralOutputArc() { return ((GraphNode<?>) getSource()).getNodeType() == NodeType.FORMAL_OUT && ((GraphNode<?>) getTarget()).getNodeType() == NodeType.ACTUAL_OUT; } } sdg-core/src/main/java/tfm/arcs/sdg/SummaryArc.java +14 −1 Original line number Diff line number Diff line Loading @@ -2,15 +2,28 @@ package tfm.arcs.sdg; import org.jgrapht.io.Attribute; import org.jgrapht.io.DefaultAttribute; import tfm.arcs.Arc; import java.util.Map; <<<<<<< HEAD:sdg-core/src/main/java/tfm/arcs/sdg/SummaryArc.java public class SummaryArc extends Arc { ======= public class ReturnArc extends InterproceduralArc { >>>>>>> 303de98... Created the SDG's ClassicSlicingAlgorithm:sdg-core/src/main/java/tfm/arcs/sdg/ReturnArc.java @Override public Map<String, Attribute> getDotAttributes() { Map<String, Attribute> map = super.getDotAttributes(); map.put("style", DefaultAttribute.createAttribute("bold")); return map; } @Override public boolean isInterproceduralInputArc() { return false; } @Override public boolean isInterproceduralOutputArc() { return true; } } Loading
sdg-core/src/main/java/tfm/arcs/Arc.java +8 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,14 @@ public abstract class Arc extends DefaultEdge { throw new UnsupportedOperationException("Not a DataDependencyArc"); } public boolean isInterproceduralInputArc() { return false; } public boolean isInterproceduralOutputArc() { return false; } /** @see CallArc */ public final boolean isCallArc() { return this instanceof CallArc; Loading
sdg-core/src/main/java/tfm/arcs/sdg/CallArc.java +11 −2 Original line number Diff line number Diff line Loading @@ -2,15 +2,24 @@ package tfm.arcs.sdg; import org.jgrapht.io.Attribute; import org.jgrapht.io.DefaultAttribute; import tfm.arcs.Arc; import java.util.Map; public class CallArc extends Arc { public class CallArc extends InterproceduralArc { @Override public Map<String, Attribute> getDotAttributes() { Map<String, Attribute> map = super.getDotAttributes(); map.put("style", DefaultAttribute.createAttribute("dashed")); return map; } @Override public boolean isInterproceduralInputArc() { return true; } @Override public boolean isInterproceduralOutputArc() { return false; } }
sdg-core/src/main/java/tfm/arcs/sdg/InterproceduralArc.java 0 → 100644 +15 −0 Original line number Diff line number Diff line package tfm.arcs.sdg; import tfm.arcs.Arc; public abstract class InterproceduralArc extends Arc { protected InterproceduralArc() { super(); } @Override public abstract boolean isInterproceduralInputArc(); @Override public abstract boolean isInterproceduralOutputArc(); }
sdg-core/src/main/java/tfm/arcs/sdg/ParameterInOutArc.java +15 −2 Original line number Diff line number Diff line Loading @@ -2,15 +2,28 @@ package tfm.arcs.sdg; import org.jgrapht.io.Attribute; import org.jgrapht.io.DefaultAttribute; import tfm.arcs.Arc; import tfm.nodes.GraphNode; import tfm.nodes.type.NodeType; import java.util.Map; public class ParameterInOutArc extends Arc { public class ParameterInOutArc extends InterproceduralArc { @Override public Map<String, Attribute> getDotAttributes() { Map<String, Attribute> map = super.getDotAttributes(); map.put("style", DefaultAttribute.createAttribute("dashed")); return map; } @Override public boolean isInterproceduralInputArc() { return ((GraphNode<?>) getSource()).getNodeType() == NodeType.ACTUAL_IN && ((GraphNode<?>) getTarget()).getNodeType() == NodeType.FORMAL_IN; } @Override public boolean isInterproceduralOutputArc() { return ((GraphNode<?>) getSource()).getNodeType() == NodeType.FORMAL_OUT && ((GraphNode<?>) getTarget()).getNodeType() == NodeType.ACTUAL_OUT; } }
sdg-core/src/main/java/tfm/arcs/sdg/SummaryArc.java +14 −1 Original line number Diff line number Diff line Loading @@ -2,15 +2,28 @@ package tfm.arcs.sdg; import org.jgrapht.io.Attribute; import org.jgrapht.io.DefaultAttribute; import tfm.arcs.Arc; import java.util.Map; <<<<<<< HEAD:sdg-core/src/main/java/tfm/arcs/sdg/SummaryArc.java public class SummaryArc extends Arc { ======= public class ReturnArc extends InterproceduralArc { >>>>>>> 303de98... Created the SDG's ClassicSlicingAlgorithm:sdg-core/src/main/java/tfm/arcs/sdg/ReturnArc.java @Override public Map<String, Attribute> getDotAttributes() { Map<String, Attribute> map = super.getDotAttributes(); map.put("style", DefaultAttribute.createAttribute("bold")); return map; } @Override public boolean isInterproceduralInputArc() { return false; } @Override public boolean isInterproceduralOutputArc() { return true; } }