Class GlobalDataFlow

java.lang.Object
org.openrewrite.analysis.dataflow.global.GlobalDataFlow

public class GlobalDataFlow extends Object
Plan:

  1. Build an exhaustive flow graph that includes all methods, from all arguments, to all arguments, and to all return values. Don't discriminate at all. This is a superset graph of data flow. It will include all possible paths.
  2. Connect this graph together after finding all of the valid source nodes.
  3. Walk the graph from all sources, pruning all paths were DataFlowSpec.isAdditionalFlowStep(org.openrewrite.analysis.dataflow.DataFlowNode, org.openrewrite.analysis.dataflow.DataFlowNode) returns false, and where DataFlowSpec.isSink(DataFlowNode) returns false.