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

Applies property type, visibility, initialization, and implicit call semantics.

Properties§

public Evaluator $machine

Methods§

public function __construct(public Evaluator $machine)

Parameters

$machineEvaluatorShared evaluator for defaults and magic methods
public function transfer(
    CallableGraph $caller,
    Instruction $instruction,
    State $state,
    PropertySlot $slot,
    Location $address,
): list<State>

Applies an operation after resolving access, default initialization, and receiver checks.

Parameters

$callerCallableGraphExecuting graph
$instructionInstructionStorage operation
$stateStateAccessible path
$slotPropertySlotProperty context
$addressLocationProperty storage

Returns

list<State> Normal or exceptional alternatives
Called from 2
Calls 13
public function write(
    CallableGraph $caller,
    Instruction $instruction,
    State $state,
    PropertySlot $slot,
    Location $address,
): list<State>
public function initialize(
    CallableGraph $caller,
    Instruction $instruction,
    State $state,
    PropertySlot $slot,
    Location $address,
): list<State>

Evaluates a static property's default once in each memory state.

Parameters

$callerCallableGraphExecuting callable
$instructionInstructionPending property access
$stateStateUninitialized static storage
$slotPropertySlotCaptured declaration
$addressLocationStatic property address

Returns

list<State> Initialized access results
Called from 1
Calls 9
public function error(State $state, string $class): State

Produces an exceptional path without performing the invalid write.

Parameters

$stateStateInput path
$classstringThrowable type

Returns

State Exceptional state
Test cases 1
Called from 8
Calls 4
public function uncertain(
    CallableGraph $caller,
    Instruction $instruction,
    State $state,
    PropertySlot $slot,
    Location $address,
): list<State>|null

Retains the possibility that an unknown call unset a declared property.

Parameters

$callerCallableGraphExecuting graph
$instructionInstructionProperty operation
$stateStateInput path
$slotPropertySlotProperty contract
$addressLocationProperty storage

Returns

list<State>|null Initialized and absent alternatives, or a known presence
Test cases 2
Called from 1
Calls 7

Test cases 42§

Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.

Dedicated tests 6
Other tests reaching this symbol 36

Relations§

Instantiated in 5
Method calls 5