data_flow library

A deterministic semantic data-flow analysis library and CLI tool for Dart.

Computes reaching definitions (inputs), variable reassignments (mutations), and liveness (outputs) for arbitrary code slices to enable safe, pure "Extract Method" refactorings with Dart 3 Records.

Classes

ControlFlowEscape
Represents a control flow escape found inside an extracted code block.
ControlFlowEscapeType
Identifies control flow jumps/escapes that affect functional extraction.
DataFlowAnalyzer
Main programmatic analyzer that computes reaching definitions, mutations, and live outputs for a code slice using Dart's resolved AST.
DataFlowResult
The comprehensive result of data-flow extraction analysis.
VariableUsage
Represents the usage of a variable across data-flow bounds.