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.
- 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.
- SignatureSynthesizer
- Synthesizes idiomatic Dart method signatures with Dart 3 Records.
- VariableUsage
- Represents the usage of a variable across data-flow bounds.
Enums
- ControlFlowEscapeType
- Identifies control flow jumps/escapes that affect functional extraction.