final class EntryPoint
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.

A declared application entry and its explicitly supplied initial inputs.

Properties give the receiver object its initial state. Each key names a declared instance property as seen from the entry method's class; unspecified properties stay symbolic values of their declared types, and a supplied value must satisfy the declared type.

Declaring an entrydoctest
(new \Deriver\Deriver\Evaluator\Request\EntryPoint('App\\run'))->symbol // => 'App\\run'
Supplying the receiver's initial property valuesdoctest
$entry = new \Deriver\Deriver\Evaluator\Request\EntryPoint('App\\Repository::find', properties: ['order' => \Deriver\Deriver\Evaluator\Term::constant('name')]);
    $entry->properties['order']->native() // => 'name'

Properties§

public string $symbol
public array<int|string, Term> $arguments = []
public Term|null $receiver = null
public array<string, Term> $properties = []
public array<string, Term> $captures = []
public bool $symbolicArguments = false

Methods§

public function __construct(
    public string $symbol,
    public array<int|string, Term> $arguments = [],
    public Term|null $receiver = null,
    public array<string, Term> $properties = [],
    public array<string, Term> $captures = [],
    public bool $symbolicArguments = false,
)

Parameters

$symbolstringFully qualified callable or script identity
$argumentsarray<int|string, Term>Positional or named initial values
$receiverTerm|nullInitial receiver identity, if supplied
$propertiesarray<string, Term>Initial receiver property values keyed by property name
$capturesarray<string, Term>Explicit lexical captures for closure entries; omitted captures remain symbolic and undeclared names are rejected at derivation
$symbolicArgumentsboolWhether omitted parameters range over all valid inputs, including enum cases

Throws

InvalidInputException If a property key is not a PHP property name
Calls 4

Test cases 169§

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

Dedicated tests 2
Other tests reaching this symbol 167

Relations§

Instantiated in 2
Type declarations 1