classCompletion
final class Completion
Restricted visibility: declared "@visibility Deriver\Deriver\Evaluator" and "@visibility Deriver\Deriver\Evaluator\Execution". Code outside that scope must not name this declaration.
A pending completion that a finally block can resume or replace.
Properties§
public CompletionKind $kind = CompletionKind::Normalpublic Term|null $value = nullpublic int $target = 0public int $depth = 0Methods§
public function __construct(
public CompletionKind $kind = CompletionKind::Normal,
public Term|null $value = null,
public int $target = 0,
public int $depth = 0,
)Parameters
$kind | CompletionKind | kind |
$value | Term|null | value |
$target | int | target |
$depth | int | depth |
Calls 1
- class-const CompletionKind::Normal() line 24
Test cases 185§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 1
CompletionTestcalls
Other tests reaching this symbol 184
ResultRefTestcallsSnapshotTestcallsStatisticsTestcallsDeriverConfigTestcallsArrayFunctionsTestcallsFunctionEvaluatorTestcallsLibraryTestcallsScalarFunctionsTestcallsTypePredicatesTestcallsCallDecisionTestcallsCallDescriptionTestcallsCallDescriptorTestcallsEvaluatorsTestcallsActionTestcallsExpressionTestcallsPlanCompilerTestcallsSemanticPlanTestcallsParameterTestcallsSignatureTestcallsLatticeTestcallsFrontierTestcallsAllocationTestcallsArgumentBindingTestcallsArgumentOrderTestcallsCallExecutorTestcallsCallResolutionTestcallsBindingTestcallsCaptureTestcallsEffectsTestcallsExternalBodyTestcallsInputsTestcallsAccessTestcallsInvocationTestcallsMethodInvocationTestcallsInvocationTestcallsPropertiesTestcallsParameterBindingTestcallsPassedArgumentTestcallsArgumentsTestcallsCreationTestcallsEntryPropertiesTestcallsMethodsTestcallsModesTestcallsResolutionTestcallsTransferTestcallsUnpackTestcallsTypeBindingTestcallsTypeCheckTestcallsUnknownCallTestcallsAlternativeTestcallsAssessmentTestcallsCompletionKindTest::testResumingAJumpClearsItsPendingCompletioncallsExceptionalTestcallsClassNamesTestcallsConstraintsTestcallsContextTestcallsCollectionCallsTest::testCompletePublishesResultsWithoutReplacingExceptionscallsExceptionChainTest::testUnwindLeavesUnrelatedCompletionsUnchangedcallsExceptionChainTest::testUnwindLinksNativeFailuresWhilePreservingTheThrownObjectcallsHandlerPhaseTest::testEnteringFinallyRetainsTheSavedCompletioncallsHandlerTestcallsIterationStepTestcallsIteratorCursorTestcallsLoopConvergenceTestcallsPathJoinTest::testJoinWidensCompletedReturnValuesWithoutComparingRegisterscallsResidualPathsTestcallsStateJoinTest::testCompletedHavocsLateExceptionsThatCannotBeJoinedcallsStateJoinTest::testCompletedIncludesLateReturnsAfterThePartitionLimitcallsStateJoinTest::testCompletedKeepsNormalAndExceptionalGroupsIndependentAtTheExactLimitcallsStateJoinTest::testCompletedRetainsUnobservedExceptionalStateFromLaterPartitionscallsStateJoinTest::testLimitPassesCompletedResidualsThroughcallsUnwindingTest::testResumePopsRegionsWithoutFinallyBeforeLeavingTheCallablecallsUnwindingTest::testResumeSavesThePendingCompletionBeforeEnteringFinallycallsUnwindingTest::testResumeStopsAtTheJumpDepthAndDoesNotRepeatAnActiveFinallycallsUnwindingTest::testRoutesPreservesNonthrowingPathsWhileResumingTheirJumpscallsUnwindingTest::testThrowRoutesKeepsAnOuterHandlerWhenTheCompletionStopsAtItsDepthcallsUnwindingTest::testThrowRoutesPartitionsOrderedCatchesAndSavesOnlyTheRemainingThrowForFinallycallsCellTestcallsComponentsTestcallsTableTestcallsDependenciesTestcallsEvaluatorTest::testExecuteDoesNotReexecuteAnAlreadyCompletedEntrycallsEvaluatorTest::testReturnedCoercesSharedCellsAndRetainsReferenceIdentitycallsEvaluatorTest::testReturnedEnforcesTheDeclaredReturnTypecallsEvaluatorTest::testReturnedKeepsExceptionsOutsideReturnTypeValidationcallsEvaluatorTest::testReturnedKeepsThePreCoercionCellOnAnUncertainTypeErrorcallsEvaluatorTest::testReturnedResolvesLateStaticTypesAgainstTheBoundReceiverClasscallsEvaluatorTest::testReturnedValidatesFinalValuesUnderTheDeclaringFileModecallsEvaluatorTest::testTerminateResumeRestoresTheSavedCompletionAndRemovesItsHandlercallsHavocTestcallsInstructionTransferTestcallsLocationTestcallsMemoryTestcallsSlotReferenceTestcallsStateStorageTestcallsObservationCollectorTest::testCompletionExportsOnlyEscapingPreObservationExceptionscallsObservationCollectorTest::testCompletionKeepsTheExceptionalStateAtTheThrowcallsObservationCollectorTest::testCompletionSelectsReturnSymbolsAndScopeWithoutDuplicatingRecursiveRootscallsPathTestcallsProtocolTestcallsReaderTestcallsTransferTestcallsCallablePredicateTestcallsConversionsTest::testReturnedPreservesThrownCompletionsWithoutCheckingTheirReturnRegistercallsCountableCallsTestcallsScalarErrorsTestcallsStateTestcallsCompletionRecordTest::testIdSeparatesReturnAndExceptionCorrelationscallsCompletionRecordTest::testInstantiateKeepsSealedEffectsConservativecallsCompletionRecordTest::testInstantiateRebasesLocalWritesAndPreservesUnrelatedCellscallsEvaluationTest::testRunChargesMemoizedWorkOnlyWhenItFitsTheRemainingBudgetcallsEvaluationTest::testRunReplaysAvailableApproximationsWithoutExecutingAgaincallsEvaluationTest::testSealRetainsTheBoundedKnownOutcomeBeforeResidualscallsInvocationTestcallsDerivationTestcallsExplanationTestcallsCallableTransferTestcallsCompoundAssignmentTestcallsConstantTransferTestcallsExternalTransferTestcallsIntrinsicTransferTestcallsMemoryStepTestcallsObjectAccessTestcallsPropertyAccessCheckTestcallsPropertyMagicTestcallsPropertyReferenceTestcallsPropertyTransferTestcallsPureStepTestcallsReferenceAssignmentTestcallsProjectionTestcallsBudgetTestcallsEntryPointTestcallsObservationTestcallsQueryScopeTestcallsReturnQueryTestcallsStateQueryTestcallsTupleQueryTestcallsValueQueryTestcallsArithmeticTestcallsArraysTestcallsComparisonTestcallsOperationsTestcallsTargetProfileTestcallsTermTestcallsDerivationResultTestcallsQueryExecutionTestcallsResultAssessmentTestcallsValueGraphTestcallsAggregateLoweringTestcallsAssignmentLoweringTestcallsCallLoweringTestcallsConditionalLoweringTestcallsDestructuringLoweringTestcallsExceptionLoweringTestcallsGotoLoweringTestcallsLoopLoweringTestcallsMatchLoweringTestcallsStaticLoweringTestcallsSwitchLoweringTestcallsCallableSourceTestcallsIndexerTestcallsIndexTestcallsClassDeclarationTestcallsPropertyDeclarationTestcallsSymbolRefTestcallsEffectInspectionTestcallsExpressionLoweringTestcallsArgumentTestcallsBasicBlockTestcallsCallableGraphTestcallsCatchTargetTestcallsExceptionRegionTestcallsExpressionRefTestcallsInstructionTestcallsParameterTestcallsPointRefTestcallsTerminatorTestcallsDispatchTestcallsInstructionEmitterTestcallsLowererTestcallsLoweringScopeTestcallsStatementLoweringTestcallsCallObservationsTestcallsDeriverTestcalls
Relations§
Instantiated in 75
- new Deriver\Deriver\Evaluator\Execution\BatchObservations::instruction() packages/deriver/src/Deriver/Evaluator/Execution/BatchObservations.php:84
- new Deriver\Deriver\Evaluator\Execution\Call\Allocation::apply() packages/deriver/src/Deriver/Evaluator/Execution/Call/Allocation.php:58
- new Deriver\Deriver\Evaluator\Execution\Call\ArgumentBinding::bind() packages/deriver/src/Deriver/Evaluator/Execution/Call/ArgumentBinding.php:89
- new Deriver\Deriver\Evaluator\Execution\Call\CallExecutor::symbol() packages/deriver/src/Deriver/Evaluator/Execution/Call/CallExecutor.php:136
- new Deriver\Deriver\Evaluator\Execution\Call\Contract\Effects::apply() packages/deriver/src/Deriver/Evaluator/Execution/Call/Contract/Effects.php:50
- new Deriver\Deriver\Evaluator\Execution\Call\Member\Invocation::error() packages/deriver/src/Deriver/Evaluator/Execution/Call/Member/Invocation.php:133
- new Deriver\Deriver\Evaluator\Execution\Call\ParameterBinding::bind() packages/deriver/src/Deriver/Evaluator/Execution/Call/ParameterBinding.php:58
- new Deriver\Deriver\Evaluator\Execution\Call\ParameterBinding::bind() packages/deriver/src/Deriver/Evaluator/Execution/Call/ParameterBinding.php:66
- new Deriver\Deriver\Evaluator\Execution\Call\ParameterBinding::bind() packages/deriver/src/Deriver/Evaluator/Execution/Call/ParameterBinding.php:74
- new Deriver\Deriver\Evaluator\Execution\Call\ParameterBinding::bind() packages/deriver/src/Deriver/Evaluator/Execution/Call/ParameterBinding.php:78
- new Deriver\Deriver\Evaluator\Execution\Call\ParameterBinding::variadic() packages/deriver/src/Deriver/Evaluator/Execution/Call/ParameterBinding.php:113
- new Deriver\Deriver\Evaluator\Execution\Call\ParameterBinding::variadic() packages/deriver/src/Deriver/Evaluator/Execution/Call/ParameterBinding.php:131
- new Deriver\Deriver\Evaluator\Execution\Call\Preparation\Arguments::read() packages/deriver/src/Deriver/Evaluator/Execution/Call/Preparation/Arguments.php:76
- new Deriver\Deriver\Evaluator\Execution\Call\Preparation\Arguments::computed() packages/deriver/src/Deriver/Evaluator/Execution/Call/Preparation/Arguments.php:114
- new Deriver\Deriver\Evaluator\Execution\Call\Preparation\Transfer::apply() packages/deriver/src/Deriver/Evaluator/Execution/Call/Preparation/Transfer.php:44
- new Deriver\Deriver\Evaluator\Execution\Call\Preparation\Transfer::apply() packages/deriver/src/Deriver/Evaluator/Execution/Call/Preparation/Transfer.php:59
- new Deriver\Deriver\Evaluator\Execution\Call\Preparation\Unpack::apply() packages/deriver/src/Deriver/Evaluator/Execution/Call/Preparation/Unpack.php:44
- new Deriver\Deriver\Evaluator\Execution\Call\Preparation\Unpack::boundary() packages/deriver/src/Deriver/Evaluator/Execution/Call/Preparation/Unpack.php:103
- new Deriver\Deriver\Evaluator\Execution\Call\UnknownCall::apply() packages/deriver/src/Deriver/Evaluator/Execution/Call/UnknownCall.php:51
- new Deriver\Deriver\Evaluator\Execution\Control\ExceptionChain::unwind() packages/deriver/src/Deriver/Evaluator/Execution/Control/ExceptionChain.php:42
- new Deriver\Deriver\Evaluator\Execution\Control\PathJoin::join() packages/deriver/src/Deriver/Evaluator/Execution/Control/PathJoin.php:74
- new Deriver\Deriver\Evaluator\Execution\Control\PathJoin::structure() packages/deriver/src/Deriver/Evaluator/Execution/Control/PathJoin.php:155
- new Deriver\Deriver\Evaluator\Execution\Control\ResidualPaths::complete() packages/deriver/src/Deriver/Evaluator/Execution/Control/ResidualPaths.php:69
- new Deriver\Deriver\Evaluator\Execution\Control\ResidualPaths::complete() packages/deriver/src/Deriver/Evaluator/Execution/Control/ResidualPaths.php:71
- new Deriver\Deriver\Evaluator\Execution\Control\StateJoin::completed() packages/deriver/src/Deriver/Evaluator/Execution/Control/StateJoin.php:274
- new Deriver\Deriver\Evaluator\Execution\Control\Unwinding::resume() packages/deriver/src/Deriver/Evaluator/Execution/Control/Unwinding.php:41
- new Deriver\Deriver\Evaluator\Execution\Control\Unwinding::resume() packages/deriver/src/Deriver/Evaluator/Execution/Control/Unwinding.php:48
- new Deriver\Deriver\Evaluator\Execution\Control\Unwinding::routes() packages/deriver/src/Deriver/Evaluator/Execution/Control/Unwinding.php:73
- new Deriver\Deriver\Evaluator\Execution\Control\Unwinding::routes() packages/deriver/src/Deriver/Evaluator/Execution/Control/Unwinding.php:80
- new Deriver\Deriver\Evaluator\Execution\Control\Unwinding::throwRoutes() packages/deriver/src/Deriver/Evaluator/Execution/Control/Unwinding.php:114
- new Deriver\Deriver\Evaluator\Execution\Control\Unwinding::throwRoutes() packages/deriver/src/Deriver/Evaluator/Execution/Control/Unwinding.php:123
- new Deriver\Deriver\Evaluator\Execution\Control\Unwinding::throwRoutes() packages/deriver/src/Deriver/Evaluator/Execution/Control/Unwinding.php:129
- new Deriver\Deriver\Evaluator\Execution\Evaluator::returned() packages/deriver/src/Deriver/Evaluator/Execution/Evaluator.php:129
- new Deriver\Deriver\Evaluator\Execution\Evaluator::returned() packages/deriver/src/Deriver/Evaluator/Execution/Evaluator.php:136
- new Deriver\Deriver\Evaluator\Execution\Evaluator::step() packages/deriver/src/Deriver/Evaluator/Execution/Evaluator.php:218
- new Deriver\Deriver\Evaluator\Execution\Evaluator::terminate() packages/deriver/src/Deriver/Evaluator/Execution/Evaluator.php:237
- new Deriver\Deriver\Evaluator\Execution\Evaluator::terminate() packages/deriver/src/Deriver/Evaluator/Execution/Evaluator.php:253
- new Deriver\Deriver\Evaluator\Execution\Evaluator::terminate() packages/deriver/src/Deriver/Evaluator/Execution/Evaluator.php:256
- new Deriver\Deriver\Evaluator\Execution\Evaluator::terminate() packages/deriver/src/Deriver/Evaluator/Execution/Evaluator.php:258
- new Deriver\Deriver\Evaluator\Execution\Evaluator::terminate() packages/deriver/src/Deriver/Evaluator/Execution/Evaluator.php:261
- new Deriver\Deriver\Evaluator\Execution\InstructionTransfer::unpack() packages/deriver/src/Deriver/Evaluator/Execution/InstructionTransfer.php:123
- new Deriver\Deriver\Evaluator\Execution\InstructionTransfer::unpack() packages/deriver/src/Deriver/Evaluator/Execution/InstructionTransfer.php:129
- new Deriver\Deriver\Evaluator\Execution\InstructionTransfer::boundary() packages/deriver/src/Deriver/Evaluator/Execution/InstructionTransfer.php:236
- new Deriver\Deriver\Evaluator\Execution\InstructionTransfer::other() packages/deriver/src/Deriver/Evaluator/Execution/InstructionTransfer.php:259
- new Deriver\Deriver\Evaluator\Execution\Memory\Slots\SlotReference::apply() packages/deriver/src/Deriver/Evaluator/Execution/Memory/Slots/SlotReference.php:52
- new Deriver\Deriver\Evaluator\Execution\ObservationCollector::instruction() packages/deriver/src/Deriver/Evaluator/Execution/ObservationCollector.php:70
- new Deriver\Deriver\Evaluator\Execution\Offset\ReadCandidates::apply() packages/deriver/src/Deriver/Evaluator/Execution/Offset/ReadCandidates.php:44
- new Deriver\Deriver\Evaluator\Execution\Offset\Transfer::result() packages/deriver/src/Deriver/Evaluator/Execution/Offset/Transfer.php:141
- new Deriver\Deriver\Evaluator\Execution\Offset\Transfer::boundary() packages/deriver/src/Deriver/Evaluator/Execution/Offset/Transfer.php:159
- new Deriver\Deriver\Evaluator\Execution\Operation\Conversions::string() packages/deriver/src/Deriver/Evaluator/Execution/Operation/Conversions.php:84
- new Deriver\Deriver\Evaluator\Execution\Operation\Conversions::string() packages/deriver/src/Deriver/Evaluator/Execution/Operation/Conversions.php:88
- new Deriver\Deriver\Evaluator\Execution\Operation\Conversions::returned() packages/deriver/src/Deriver/Evaluator/Execution/Operation/Conversions.php:182
- new Deriver\Deriver\Evaluator\Execution\Operation\CountableCalls::apply() packages/deriver/src/Deriver/Evaluator/Execution/Operation/CountableCalls.php:44
- new Deriver\Deriver\Evaluator\Execution\Operation\ScalarErrors::paths() packages/deriver/src/Deriver/Evaluator/Execution/Operation/ScalarErrors.php:52
- new Deriver\Deriver\Evaluator\Execution\Operation\ScalarErrors::split() packages/deriver/src/Deriver/Evaluator/Execution/Operation/ScalarErrors.php:73
- new Deriver\Deriver\Evaluator\Execution\Operation\ScalarErrors::unary() packages/deriver/src/Deriver/Evaluator/Execution/Operation/ScalarErrors.php:161
- new Deriver\Deriver\Evaluator\Execution\State::__construct() packages/deriver/src/Deriver/Evaluator/Execution/State.php:130
- new Deriver\Deriver\Evaluator\Execution\Summary\CompletionRecord::instantiate() packages/deriver/src/Deriver/Evaluator/Execution/Summary/CompletionRecord.php:47
- new Deriver\Deriver\Evaluator\Execution\Transfer\CompoundAssignment::apply() packages/deriver/src/Deriver/Evaluator/Execution/Transfer/CompoundAssignment.php:47
- new Deriver\Deriver\Evaluator\Execution\Transfer\ConstantTransfer::member() packages/deriver/src/Deriver/Evaluator/Execution/Transfer/ConstantTransfer.php:88
- new Deriver\Deriver\Evaluator\Execution\Transfer\ConstantTransfer::finish() packages/deriver/src/Deriver/Evaluator/Execution/Transfer/ConstantTransfer.php:104
- new Deriver\Deriver\Evaluator\Execution\Transfer\ConstantTransfer::initializer() packages/deriver/src/Deriver/Evaluator/Execution/Transfer/ConstantTransfer.php:139
- new Deriver\Deriver\Evaluator\Execution\Transfer\ExternalTransfer::random() packages/deriver/src/Deriver/Evaluator/Execution/Transfer/ExternalTransfer.php:60
- new Deriver\Deriver\Evaluator\Execution\Transfer\ExternalTransfer::random() packages/deriver/src/Deriver/Evaluator/Execution/Transfer/ExternalTransfer.php:73
- new Deriver\Deriver\Evaluator\Execution\Transfer\ExternalTransfer::random() packages/deriver/src/Deriver/Evaluator/Execution/Transfer/ExternalTransfer.php:78
- new Deriver\Deriver\Evaluator\Execution\Transfer\PropertyAccessCheck::apply() packages/deriver/src/Deriver/Evaluator/Execution/Transfer/PropertyAccessCheck.php:48
- new Deriver\Deriver\Evaluator\Execution\Transfer\PropertyAccessCheck::apply() packages/deriver/src/Deriver/Evaluator/Execution/Transfer/PropertyAccessCheck.php:55
- new Deriver\Deriver\Evaluator\Execution\Transfer\PropertyReference::increment() packages/deriver/src/Deriver/Evaluator/Execution/Transfer/PropertyReference.php:95
- new Deriver\Deriver\Evaluator\Execution\Transfer\PropertyReference::increment() packages/deriver/src/Deriver/Evaluator/Execution/Transfer/PropertyReference.php:104
- new Deriver\Deriver\Evaluator\Execution\Transfer\PropertyReference::bind() packages/deriver/src/Deriver/Evaluator/Execution/Transfer/PropertyReference.php:131
- new Deriver\Deriver\Evaluator\Execution\Transfer\PropertyReference::bind() packages/deriver/src/Deriver/Evaluator/Execution/Transfer/PropertyReference.php:140
- new Deriver\Deriver\Evaluator\Execution\Transfer\PropertyTransfer::write() packages/deriver/src/Deriver/Evaluator/Execution/Transfer/PropertyTransfer.php:134
- new Deriver\Deriver\Evaluator\Execution\Transfer\PropertyTransfer::error() packages/deriver/src/Deriver/Evaluator/Execution/Transfer/PropertyTransfer.php:184
- new Deriver\Deriver\Evaluator\Execution\Transfer\ReferenceAssignment::apply() packages/deriver/src/Deriver/Evaluator/Execution/Transfer/ReferenceAssignment.php:52
- new Deriver\Deriver\Evaluator\Execution\Transfer\ReferenceAssignment::apply() packages/deriver/src/Deriver/Evaluator/Execution/Transfer/ReferenceAssignment.php:58