classTerminator
final class Terminator
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.
Explicit control transfer, including pending completion through finally.
Properties§
public TerminatorKind $kindpublic string $operand = ''public list<int> $targets = []public int $handlerDepth = 0Methods§
public function __construct(
public TerminatorKind $kind,
public string $operand = '',
public list<int> $targets = [],
public int $handlerDepth = 0,
)Parameters
$kind | TerminatorKind | kind |
$operand | string | operand |
$targets | list<int> | targets |
$handlerDepth | int | handlerDepth |
Test cases 183§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 1
TerminatorTestcalls
Other tests reaching this symbol 182
ResultRefTestcallsSnapshotTestcallsStatisticsTestcallsDeriverConfigTestcallsArrayFunctionsTestcallsFunctionEvaluatorTestcallsLibraryTestcallsScalarFunctionsTestcallsTypePredicatesTestcallsCallDecisionTestcallsCallDescriptionTestcallsCallDescriptorTestcallsEvaluatorsTestcallsActionTestcallsExpressionTestcallsPlanActionsTestcallsPlanCompilerTestcallsSemanticPlanTestcallsParameterTestcallsSignatureTestcallsLatticeTestcallsFrontierTestcallsAllocationTestcallsArgumentBindingTestcallsArgumentOrderTestcallsCallableCheckTestcallsCallExecutorTestcallsCallResolutionTestcallsBindingTestcallsCaptureTestcallsExternalBodyTestcallsInputsTestcallsAccessTestcallsInvocationTestcallsMethodInvocationTestcallsInvocationTestcallsSignaturesTestcallsParameterBindingTest::testDefaultArgumentRetainsAnOmittedMarkerWithoutEnforcingAnAbsentTypecallsPassedArgumentTestcallsArgumentsTestcallsCreationTestcallsEntryPropertiesTestcallsMethodsTestcallsModesTestcallsResolutionTestcallsTransferTestcallsUnpackTestcallsTypeBindingTestcallsTypeCheckTestcallsUnknownCallTestcallsAlternativeTestcallsAssessmentTestcallsCompletionTestcallsExceptionalTestcallsClassNamesTestcallsConstraintsTestcallsContextTestcallsCollectionCallsTestcallsHandlerTestcallsIterationStepTestcallsIteratorCursorTestcallsLoopConvergenceTestcallsStateJoinTestcallsUnwindingTestcallsCellTestcallsComponentsTestcallsDiscoveryTest::testInstructionsFollowsArgumentsAndReferenceLocationsThroughRepeatedDependenciescallsDiscoveryTest::testInstructionsStopsOnlyAfterExceedingTheNodeBudgetcallsTableTestcallsEvaluatorTest::testBlockDropsAStableHeaderWithoutALoopTestAsSubsumedcallsEvaluatorTest::testBlockPreservesNormalAndExceptionalResidualsWhenWorkIsExhaustedcallsEvaluatorTest::testBlockSkipsUndemandedInstructionscallsEvaluatorTest::testBranchAtAStableLoopHeaderKeepsOnlyTheExitPathcallsEvaluatorTest::testBranchEliminatesAContradictedConstantPathcallsEvaluatorTest::testBranchForksMemoryAndRetainsUniqueControllingEvidencecallsEvaluatorTest::testTerminateCompleteJumpUnwindsOnlyTheExitedRegioncallsEvaluatorTest::testTerminateDistinguishesReferenceAndValueReturnscallsEvaluatorTest::testTerminateJumpRecordsThePredecessorAndUsesTheFirstTargetcallsEvaluatorTest::testTerminateLeaveTryKeepsOuterHandlersAndResumesAtTheRegionContinuationcallsEvaluatorTest::testTerminateLeaveTryRunsFinallyBeforeContinuingcallsEvaluatorTest::testTerminateResidualCompletesWithTheBoundaryValueAndAnUnknownThrowablecallsEvaluatorTest::testTerminateResumeRestoresTheSavedCompletionAndRemovesItsHandlercallsEvaluatorTest::testTerminateResumeWithoutASavedCompletionReturnsNullcallsEvaluatorTest::testTerminateUsesTheAlreadyEvaluatedReturnRegistercallsHavocTestcallsInstructionTransferTestcallsLocationTestcallsMemoryTestcallsSlotReferenceTestcallsObservationCollectorTest::testRepeatedRecognizesAControlFlowCyclecallsPathTestcallsProtocolTestcallsReaderTestcallsStringsTestcallsTransferTestcallsConversionsTestcallsCountableCallsTestcallsScalarErrorsTestcallsStateTestcallsEvaluationTestcallsInvocationTestcallsIsolationTest::testDependenciesHonorsTheRemainingInstructionBudgetcallsDerivationTestcallsExplanationTestcallsCallableTransferTestcallsCompoundAssignmentTestcallsConstantTransferTest::testInitializerChecksDeclaredTypesAndConstructsEnumIdentitycallsConstantTransferTest::testInitializerPropagatesFailureBeforeEnforcingTheConstantTypecallsIntrinsicTransferTestcallsMemoryStepTestcallsObjectAccessTestcallsPropertyAccessCheckTestcallsPropertyMagicTestcallsPropertyReferenceTestcallsPropertyTransferTestcallsPureStepTestcallsReferenceAssignmentTestcallsProjectionTestcallsBudgetTestcallsEntryPointTestcallsObservationTestcallsQueryScopeTestcallsReturnQueryTestcallsStateQueryTestcallsTupleQueryTestcallsValueQueryTestcallsArithmeticTestcallsArraysTestcallsComparisonTestcallsOperationsTestcallsTargetProfileTestcallsTermTestcallsDerivationResultTestcallsQueryExecutionTestcallsResultAssessmentTestcallsValueGraphTestcallsAggregateLoweringTestcallsAssignmentLoweringTestcallsCallLoweringTestcallsConditionalLoweringTestcallsDestructuringLoweringTestcallsExceptionLoweringTestcallsGotoLoweringTestcallsLoopLoweringTestcallsMatchLoweringTestcallsStaticLoweringTestcallsSwitchLoweringTestcallsCallableSourceTestcallsIndexerTestcallsIndexTestcallsClassDeclarationTestcallsPropertyDeclarationTestcallsSymbolRefTestcallsCompositionTestcallsMembersTestcallsPropertyScopeTestcallsEffectInspectionTestcallsExpressionLoweringTestcallsArgumentTestcallsBasicBlockTestcallsCallableGraphTestcallsCatchTargetTestcallsExceptionRegionTestcallsExpressionRefTestcallsInstructionTestcallsParameterTestcallsPointRefTestcallsAccessTestcallsDispatchTestcallsInstructionEmitterTest::testEndPreservesTheReturnOperandcallsInstructionEmitterTest::testJumpDoesNotReplaceAnExistingCompletioncallsLowererTestcallsLoweringScopeTestcallsStatementLoweringTestcallsCallObservationsTestcallsQueryValidationTest::testOwnerAllowsEquivalentNamedOwnersWithinACorrelatedTuplecallsQueryValidationTest::testOwnerCannotCombineExpressionsFromDifferentInvocationscallsQueryValidationTest::testOwnerCannotFoldDifferentScriptPathsIntoTheSameTuplecallsQueryValidationTest::testOwnerRejectsAnEmptyTupleAtAnOtherwiseValidPointcallsQueryValidationTest::testOwnerResolvesEachSupportedObservationFormcallsQueryValidationTest::testReferenceRejectsEveryMismatchedIdentityComponentcallsDeriverTestcalls
Relations§
Instantiated in 33
- new Deriver\Deriver\Evaluator\Call\Plan\PlanActions::apply() packages/deriver/src/Deriver/Evaluator/Call/Plan/PlanActions.php:43
- new Deriver\Deriver\Evaluator\Call\Plan\PlanCompiler::compile() packages/deriver/src/Deriver/Evaluator/Call/Plan/PlanCompiler.php:63
- new Deriver\Deriver\Evaluator\Call\Plan\PlanCompiler::compile() packages/deriver/src/Deriver/Evaluator/Call/Plan/PlanCompiler.php:72
- new Deriver\Deriver\Evaluator\Call\Plan\PlanCompiler::choice() packages/deriver/src/Deriver/Evaluator/Call/Plan/PlanCompiler.php:129
- new Deriver\Deriver\Evaluator\Call\Plan\PlanCompiler::choice() packages/deriver/src/Deriver/Evaluator/Call/Plan/PlanCompiler.php:132
- new Deriver\Deriver\Evaluator\Call\Plan\PlanCompiler::choice() packages/deriver/src/Deriver/Evaluator/Call/Plan/PlanCompiler.php:135
- new Deriver\Deriver\Evaluator\Execution\Call\Native\Signatures::graph() packages/deriver/src/Deriver/Evaluator/Execution/Call/Native/Signatures.php:73
- new Deriver\Deriver\Evaluator\Invocation\Callback::value() packages/deriver/src/Deriver/Evaluator/Invocation/Callback.php:54
- new Deriver\Deriver\Evaluator\Invocation\Origin::call() packages/deriver/src/Deriver/Evaluator/Invocation/Origin.php:37
- new Deriver\Deriver\Lowerer\Control\ConditionalLowering::choice() packages/deriver/src/Deriver/Lowerer/Control/ConditionalLowering.php:116
- new Deriver\Deriver\Lowerer\Control\ExceptionLowering::lower() packages/deriver/src/Deriver/Lowerer/Control/ExceptionLowering.php:48
- new Deriver\Deriver\Lowerer\Control\ExceptionLowering::lower() packages/deriver/src/Deriver/Lowerer/Control/ExceptionLowering.php:53
- new Deriver\Deriver\Lowerer\Control\ExceptionLowering::lower() packages/deriver/src/Deriver/Lowerer/Control/ExceptionLowering.php:59
- new Deriver\Deriver\Lowerer\Control\GotoLowering::jump() packages/deriver/src/Deriver/Lowerer/Control/GotoLowering.php:48
- new Deriver\Deriver\Lowerer\Control\GotoLowering::resolve() packages/deriver/src/Deriver/Lowerer/Control/GotoLowering.php:64
- new Deriver\Deriver\Lowerer\Control\GotoLowering::resolve() packages/deriver/src/Deriver/Lowerer/Control/GotoLowering.php:71
- new Deriver\Deriver\Lowerer\Control\GotoLowering::unwind() packages/deriver/src/Deriver/Lowerer/Control/GotoLowering.php:112
- new Deriver\Deriver\Lowerer\Control\LoopLowering::lower() packages/deriver/src/Deriver/Lowerer/Control/LoopLowering.php:49
- new Deriver\Deriver\Lowerer\Control\LoopLowering::completion() packages/deriver/src/Deriver/Lowerer/Control/LoopLowering.php:149
- new Deriver\Deriver\Lowerer\Control\StaticLowering::lower() packages/deriver/src/Deriver/Lowerer/Control/StaticLowering.php:39
- new Deriver\Deriver\Lowerer\Control\SwitchLowering::lower() packages/deriver/src/Deriver/Lowerer/Control/SwitchLowering.php:46
- new Deriver\Deriver\Lowerer\ExpressionLowering::computed() packages/deriver/src/Deriver/Lowerer/ExpressionLowering.php:176
- new Deriver\Deriver\Lowerer\InstructionEmitter::jump() packages/deriver/src/Deriver/Lowerer/InstructionEmitter.php:146
- new Deriver\Deriver\Lowerer\InstructionEmitter::finish() packages/deriver/src/Deriver/Lowerer/InstructionEmitter.php:158
- new Deriver\Deriver\Lowerer\Lowerer::compile() packages/deriver/src/Deriver/Lowerer/Lowerer.php:47
- new Deriver\Deriver\Lowerer\Lowerer::compile() packages/deriver/src/Deriver/Lowerer/Lowerer.php:49
- new Deriver\Deriver\Lowerer\Lowerer::expression() packages/deriver/src/Deriver/Lowerer/Lowerer.php:116
- new Deriver\Deriver\Lowerer\OrderLowering::binary() packages/deriver/src/Deriver/Lowerer/OrderLowering.php:37
- new Deriver\Deriver\Lowerer\OrderLowering::binary() packages/deriver/src/Deriver/Lowerer/OrderLowering.php:40
- new Deriver\Deriver\Lowerer\OrderLowering::binary() packages/deriver/src/Deriver/Lowerer/OrderLowering.php:43
- new Deriver\Deriver\Lowerer\StatementLowering::lower() packages/deriver/src/Deriver/Lowerer/StatementLowering.php:40
- new Deriver\Deriver\Lowerer\StatementLowering::lower() packages/deriver/src/Deriver/Lowerer/StatementLowering.php:44
- new Deriver\Deriver\Lowerer\StatementLowering::conditional() packages/deriver/src/Deriver/Lowerer/StatementLowering.php:77
Type declarations 4
- type Deriver\Deriver\Evaluator\Execution\Evaluator packages/deriver/src/Deriver/Evaluator/Execution/Evaluator.php:234
- type Deriver\Deriver\Evaluator\Execution\Evaluator packages/deriver/src/Deriver/Evaluator/Execution/Evaluator.php:272
- type Deriver\Deriver\Lowerer\Graph\BasicBlock packages/deriver/src/Deriver/Lowerer/Graph/BasicBlock.php:23
- type Deriver\Deriver\Lowerer\InstructionEmitter packages/deriver/src/Deriver/Lowerer/InstructionEmitter.php:134