Function sequant::eval::detail::emit_build_cell

Function Documentation

inline CellId sequant::eval::detail::emit_build_cell(CellTableInputs const &in, std::size_t vid, container::svector<std::pair<LoopKey, int>> const &path, container::svector<std::wstring> const &path_spaces, container::svector<ScopeBlock const*> const &block_stack, CellBuildState &st)

Builds and registers the Build cell for value vid at the current scope (path / path_spaces / block_stack): sliced via slicing_instance for each of its own carried positions; partial_over = the level.key() of every block on block_stack (its enclosing blocks, innermost included) that lists (vid, AccumulateSum) among its own outputs &#8212; so a value with a genuine BuildStep gets the same treatment as one synthesized for an escape with no in-block form of its own; residency flags via set_residency_flags. A sliced mode whose position matches no enclosing instance is recorded whole and reported in CellTable::unresolved. Returns the new cell’s id.