classRequest
final class Request
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.
Internal operation context with dependencies evaluated by the shared search.
Properties§
public Evaluator $enginepublic Frame $framepublic ?Instruction $instructionpublic int $depthpublic ?string $function = nullpublic ?Site $site = nullMethods§
public function __construct(
public Evaluator $engine,
public Frame $frame,
public ?Instruction $instruction,
public int $depth,
public ?string $function = null,
public ?Site $site = null,
)Captures one evaluation site without evaluating its children.
Parameters
$engine | Evaluator | |
$frame | Frame | |
$instruction | ?Instruction | |
$depth | int | |
$function | ?string | |
$site | ?Site |
Throws
EvaluationContractException If no operation site is suppliedCalls 1
public function name(): stringReturns the resolved function name or exact operation name.
Returns
stringTest cases 2
Called from 2
Calls 3
- method-call Request::instruction() line 41
- function-call
strtolowerline 41 - function-call
ltrimline 41
public function operation(): stringIdentifies a registered operation without exposing its graph representation.
Returns
stringTest cases 1
Called from 1
Calls 1
- method-call Request::instruction() line 49
public function source(): SourceRefLocates the selected operation or declaration in captured source.
Returns
Test cases 1
Called from 2
Calls 1
- method-call Request::instruction() line 57
public function input(int|string $key): TermEvaluates only the requested operand or direct argument.
Parameters
$key | int|string |
Returns
Throws
EvaluationContractException If the evaluator requests an absent inputTest cases 3
Called from 2
Calls 2
- method-call Evaluator::value() line 66
- method-call Request::register() line 66
public function truth(int|string $key): TermDemands only boolean possibilities, separately from complete value inputs.
Parameters
$key | int|string |
Returns
Test cases 1
Called from 1
Calls 3
- method-call Truth::value() line 74
- new Truth line 74
- method-call Request::register() line 74
public function register(int|string $key): stringSelects an instruction input without demanding it.
Parameters
$key | int|string |
Returns
stringThrows
EvaluationContractException If the input is absentTest cases 1
Called from 2
Calls 2
- method-call Request::instruction() line 83
- new EvaluationContractException line 94
public function instruction(): InstructionSupplies an instruction only to built-ins that evaluate instructions.
Returns
Throws
EvaluationContractException If the built-in receives another kind of siteTest cases 1
Called from 9
- method-call Deriver\Deriver\Evaluator\CallEvaluation::evaluate() packages/deriver/src/Deriver/Evaluator/CallEvaluation.php:44
- method-call Deriver\Deriver\Evaluator\Micro\InstructionEvaluator::evaluate() packages/deriver/src/Deriver/Evaluator/Micro/InstructionEvaluator.php:25
- method-call Deriver\Deriver\Evaluator\Micro\Request::name() packages/deriver/src/Deriver/Evaluator/Micro/Request.php:41
- method-call Deriver\Deriver\Evaluator\Micro\Request::operation() packages/deriver/src/Deriver/Evaluator/Micro/Request.php:49
- method-call Deriver\Deriver\Evaluator\Micro\Request::source() packages/deriver/src/Deriver/Evaluator/Micro/Request.php:57
- method-call Deriver\Deriver\Evaluator\Micro\Request::register() packages/deriver/src/Deriver/Evaluator/Micro/Request.php:83
- method-call Deriver\Deriver\Evaluator\Predicate\Truth::evaluate() packages/deriver/src/Deriver/Evaluator/Predicate/Truth.php:66
- method-call Deriver\Deriver\Evaluator\Predicate\Truth::iteration() packages/deriver/src/Deriver/Evaluator/Predicate/Truth.php:104
- method-call Deriver\Deriver\Evaluator\Predicate\Truth::iteration() packages/deriver/src/Deriver/Evaluator/Predicate/Truth.php:107
Calls 1
Private surface 1§
Implementation details, listed for orientation only.
private array<int|string, Term> $inputs = []Test cases 19§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 8
RequestTest::testInputMemoizesADemandedNamedArgumentWithoutOpeningItsSiblingcallsRequestTest::testInputsRetainsOnlyDemandedOperandscallsRequestTest::testInstructionKeepsInstructionAndSiteDemandsDistinctcallsRequestTest::testNameNormalizesResolvedFunctionsWithoutChangingOperatorscallsRequestTest::testOperationKeepsInstructionAndSiteDemandsDistinctcallsRequestTest::testRegisterRejectsAbsentInputsWithoutExpandingSourcecallsRequestTest::testSourceKeepsInstructionAndSiteDemandsDistinctcallsRequestTest::testTruthKeepsInstructionAndSiteDemandsDistinctcalls
Other tests reaching this symbol 11
CallEvaluationTest::testEvaluateSelectsBuiltInFunctionSemanticscallsConfiguredEvaluatorTest::testEvaluateDeclinesOutsideItsSourceRangeWithoutRunningTheCallbackcallsConfiguredEvaluatorTest::testEvaluatePreservesTheCauseOfCallbackFailurecallsDispatchTest::testEvaluateContinuesToTheBuiltinWithFreshInputEvidenceAfterDecliningcallsInstructionEvaluatorTest::testEvaluateComposesStoredValuesWithOrdinaryArithmeticcallsMicroEvaluatorTest::testEvaluateAcceptsBothInstructionAndFunctionImplementationscallsReturnEvaluatorTest::testEvaluateKeepsConditionalDefinitionsInTheFallbackcallsBranchTest::testEvaluateRequiresNoInstructionOrInputForDefaultSelectioncallsTruthTest::testEvaluatePropagatesNegationToTheBooleanDemandcallsTruthTest::testIterationExcludesTheBodyOfAKnownEmptyIterablecallsMicroEvaluatorConversionTest::testConvertAdaptsInternalInstructionsToPublicOperationscalls
Relations§
Instantiated in 7
- new Deriver\Deriver\Evaluator\Evaluator::instruction() packages/deriver/src/Deriver/Evaluator/Evaluator.php:80
- new Deriver\Deriver\Evaluator\Expression\DefinitionEvaluator::evaluate() packages/deriver/src/Deriver/Evaluator/Expression/DefinitionEvaluator.php:36
- new Deriver\Deriver\Evaluator\Invocation\Bodies::select() packages/deriver/src/Deriver/Evaluator/Invocation/Bodies.php:35
- new Deriver\Deriver\Evaluator\Micro\Dispatch::evaluate() packages/deriver/src/Deriver/Evaluator/Micro/Dispatch.php:25
- new Deriver\Deriver\Evaluator\Micro\ReturnEvaluator::select() packages/deriver/src/Deriver/Evaluator/Micro/ReturnEvaluator.php:34
- new Deriver\Deriver\Evaluator\Predicate\Branch::condition() packages/deriver/src/Deriver/Evaluator/Predicate/Branch.php:44
- new Deriver\Deriver\Evaluator\Predicate\Truth::definition() packages/deriver/src/Deriver/Evaluator/Predicate/Truth.php:55
Method calls 14
- method-call Deriver\Deriver\Evaluator\CallEvaluation::evaluate() packages/deriver/src/Deriver/Evaluator/CallEvaluation.php:44
- method-call Deriver\Deriver\Evaluator\Micro\ConfiguredEvaluator::evaluate() packages/deriver/src/Deriver/Evaluator/Micro/ConfiguredEvaluator.php:45
- method-call Deriver\Deriver\Evaluator\Micro\ConfiguredEvaluator::evaluate() packages/deriver/src/Deriver/Evaluator/Micro/ConfiguredEvaluator.php:46
- method-call Deriver\Deriver\Evaluator\Micro\ConfiguredEvaluator::evaluate() packages/deriver/src/Deriver/Evaluator/Micro/ConfiguredEvaluator.php:47
- method-call Deriver\Deriver\Evaluator\Micro\ConfiguredEvaluator::evaluate() packages/deriver/src/Deriver/Evaluator/Micro/ConfiguredEvaluator.php:60
- method-call Deriver\Deriver\Evaluator\Micro\InstructionEvaluator::evaluate() packages/deriver/src/Deriver/Evaluator/Micro/InstructionEvaluator.php:25
- method-call Deriver\Deriver\Evaluator\Predicate\Branch::evaluate() packages/deriver/src/Deriver/Evaluator/Predicate/Branch.php:55
- method-call Deriver\Deriver\Evaluator\Predicate\Truth::evaluate() packages/deriver/src/Deriver/Evaluator/Predicate/Truth.php:66
- method-call Deriver\Deriver\Evaluator\Predicate\Truth::iteration() packages/deriver/src/Deriver/Evaluator/Predicate/Truth.php:104
- method-call Deriver\Deriver\Evaluator\Predicate\Truth::iteration() packages/deriver/src/Deriver/Evaluator/Predicate/Truth.php:107
- method-call Deriver\Deriver\MicroEvaluatorConversion::convert() packages/deriver/src/Deriver/MicroEvaluatorConversion.php:30
- method-call Deriver\Deriver\MicroEvaluatorConversion::convert() packages/deriver/src/Deriver/MicroEvaluatorConversion.php:30
- method-call Deriver\Deriver\MicroEvaluatorConversion::convert() packages/deriver/src/Deriver/MicroEvaluatorConversion.php:30
- method-call Deriver\Deriver\MicroEvaluatorConversion::convert() packages/deriver/src/Deriver/MicroEvaluatorConversion.php:30
Type declarations 10
- type Deriver\Deriver\Evaluator\CallEvaluation packages/deriver/src/Deriver/Evaluator/CallEvaluation.php:41
- type Deriver\Deriver\Evaluator\Micro\ConfiguredEvaluator packages/deriver/src/Deriver/Evaluator/Micro/ConfiguredEvaluator.php:43
- type Deriver\Deriver\Evaluator\Micro\Dispatch packages/deriver/src/Deriver/Evaluator/Micro/Dispatch.php:22
- type Deriver\Deriver\Evaluator\Micro\InstructionEvaluator packages/deriver/src/Deriver/Evaluator/Micro/InstructionEvaluator.php:21
- type Deriver\Deriver\Evaluator\Micro\MicroEvaluator packages/deriver/src/Deriver/Evaluator/Micro/MicroEvaluator.php:22
- type Deriver\Deriver\Evaluator\Micro\ReturnEvaluator packages/deriver/src/Deriver/Evaluator/Micro/ReturnEvaluator.php:41
- type Deriver\Deriver\Evaluator\Predicate\Branch packages/deriver/src/Deriver/Evaluator/Predicate/Branch.php:53
- type Deriver\Deriver\Evaluator\Predicate\Truth packages/deriver/src/Deriver/Evaluator/Predicate/Truth.php:64
- type Deriver\Deriver\Evaluator\Predicate\Truth packages/deriver/src/Deriver/Evaluator/Predicate/Truth.php:98
- type Deriver\Deriver\MicroEvaluatorConversion::convert() packages/deriver/src/Deriver/MicroEvaluatorConversion.php:30