final class StringJoining
Restricted visibility: declared "@visibility Deriver\Deriver\Evaluator" and "@visibility Deriver\Deriver\Evaluator\Execution". Code outside that scope must not name this declaration.

Joins known array shapes and known heads of symbolic merges without losing string fragments around unknown elements.

Properties§

public Evaluator $machine

Methods§

public function __construct(public Evaluator $machine)

Parameters

$machineEvaluatorShared conversions and method calls
public function apply(
    CallableGraph $caller,
    Instruction $instruction,
    State $state,
    list<Term> $values,
): list<State>|null

Parameters

$callerCallableGraphEvaluator frame
$instructionInstructionIntrinsic destination
$stateStateBound inputs
$valueslist<Term>Separator and array

Returns

list<State>|null Converted results, or a case for the ordinary intrinsic
Called from 1
Calls 11
public function partial(
    CallableGraph $caller,
    Instruction $instruction,
    State $state,
    Term $separator,
    array{Term, Term} $split,
): list<State>

Joins the known head exactly when the appended source is empty, and otherwise keeps it before an explicit residual for the source.

Parameters

$callerCallableGraphEvaluator frame
$instructionInstructionIntrinsic destination
$stateStateBound inputs
$separatorTermString separator
$splitarray{Term, Term}Closed integer-keyed head and appended source

Returns

list<State> Exact, partial, and exceptional results
Called from 1
Calls 10
public function suffix(
    CallableGraph $caller,
    Instruction $instruction,
    State $state,
    Term $separator,
    array{Term, Term} $split,
): list<State>

Keeps known trailing entries after a symbolic unpack, including the empty-prefix case.

Parameters

$callerCallableGraphEvaluator frame
$instructionInstructionIntrinsic destination
$stateStateBound inputs
$separatorTermString separator
$splitarray{Term, Term}Unknown prefix and known suffix

Returns

list<State> Exact, partial, and exceptional paths
Called from 1
Calls 12

Relations§

Instantiated in 1
Method calls 1