Extracts GenServer state access patterns, callbacks, and reply semantics from module IR.
Summary
Functions
Adds GenServer-specific edges (state flow, state pass, call reply) to a graph.
Classifies a function definition as a GenServer callback type.
Extracts the return value expression from a GenServer callback.
Extracts the state parameter node from a GenServer callback.
Functions
Adds GenServer-specific edges (state flow, state pass, call reply) to a graph.
@spec classify_callback(Reach.IR.Node.t()) :: atom() | nil
Classifies a function definition as a GenServer callback type.
@spec extract_return_info(Reach.IR.Node.t()) :: {atom(), Reach.IR.Node.t() | nil, Reach.IR.Node.t() | nil} | nil
Extracts the return value expression from a GenServer callback.
@spec extract_state_param(Reach.IR.Node.t()) :: Reach.IR.Node.t() | nil
Extracts the state parameter node from a GenServer callback.