A graph for building CFGs, DFGs, CDFGs, SCGs, etc.
This graph is language and weaver agnostic. In fact,
it may contain custom nodes and edges not associated
with any language or weaver.
Note that this graph maintains a map from function names
to their respective nodes. While this is useful for
efficiency and for transformations to target the intended
nodes, a precaution must be taken:
Initializing, cloning, or deserializing nodes does not
necessarily update the function map. Take that into account
when manipulating the graph, favoring functions such as
FlowGraph.addFunction.
A graph for building CFGs, DFGs, CDFGs, SCGs, etc.
This graph is language and weaver agnostic. In fact, it may contain custom nodes and edges not associated with any language or weaver.
Note that this graph maintains a map from function names to their respective nodes. While this is useful for efficiency and for transformations to target the intended nodes, a precaution must be taken: