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

Resolves property storage using object identity and lexical declaration scope.

Properties§

public Context $context

Methods§

public function __construct(public Context $context)

Parameters

$contextContextDeclaration world
public function address(Instruction $instruction, State $state): Location

Locates a property without merging unrelated allocations.

Parameters

$instructionInstructionProperty-address instruction
$stateStatePath memory

Returns

Location Property address
Called from 1
Calls 13
public function slot(string $class, string $scope, string $property): string
public function prepare(
    State $state,
    string $root,
    string $slot,
    Term $receiver,
    PropertyDeclaration|null $property,
): void

Registers live declaration constraints and an external receiver's initial field value.

Parameters

$stateStateCurrent path
$rootstringStorage root
$slotstringDeclared storage key
$receiverTermEvaluated receiver
$propertyPropertyDeclaration|nullCaptured declaration
Test cases 3
Called from 1
Calls 7
public function symbolic(State $state, Term $receiver): bool

Recognizes an object supplied from outside the analysis whose identity stays stable along the path.

Parameters

$stateStateCurrent path
$receiverTermEvaluated receiver

Returns

bool Whether unread fields hold the object's initial, declared-type state
Test cases 1
Called from 1
Calls 7
public function receiverClass(Instruction $instruction, Term $receiver, State $state): string

Separates lexical static names, runtime class strings, and object classes.

Parameters

$instructionInstructionAccess syntax and lexical scope
$receiverTermEvaluated class or object operand
$stateStateRuntime called class

Returns

string Lookup class or an unresolved empty name
Test cases 1
Called from 1
Calls 5

Test cases 43§

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 37

Relations§

Instantiated in 2
Method calls 2