Interface CodeEdge<G extends CodeGraph<G,N,E>,N extends CodeNode<G,N,E>,E extends CodeEdge<G,N,E>>
-
- Type Parameters:
G
- the type of theCodeGraph
s this list can be used inN
- the type of theCodeNode
s in this listE
- the type of theCodeEdge
s in this list
- All Superinterfaces:
java.lang.Comparable<E>
,Edge<G,N,E>
- All Known Implementing Classes:
Edge
,FalseEdge
,SequentialEdge
,TrueEdge
public interface CodeEdge<G extends CodeGraph<G,N,E>,N extends CodeNode<G,N,E>,E extends CodeEdge<G,N,E>> extends Edge<G,N,E>, java.lang.Comparable<E>
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
isUnconditional()
Yieldstrue
if and only if this edge represent unconditional execution flow between its bounds.E
newInstance(N source, N destination)
Builds a new instance of this edge, connecting the given nodes.-
Methods inherited from interface it.unive.lisa.util.datastructures.graph.Edge
accept, getDestination, getSource
-
-
-
-
Method Detail
-
isUnconditional
boolean isUnconditional()
Yieldstrue
if and only if this edge represent unconditional execution flow between its bounds. This means that (i) it could be simplified if one of the nodes connected to it is simplified (i.e., removed from the graph), and (ii) the graph containing it can avoid storing the edge if its bounds are subsequent.- Returns:
- whether or not this edge can be simplified
-
-