classCandidateQuery
final class CandidateQuery
Restricted visibility: declared "@visibility parent" and "@visibility Deriver". Code outside that scope must not name this declaration.
Runs one query through the fixed stage order: select the target, open a query context, place the demand, collect the candidates. Nothing here selects definitions, reads storage or constructs a candidate itself.
Methods§
public function __construct(
private DefinitionIndex $index,
private EvaluatorConfig $configuration,
private Evaluators $evaluators,
private Snapshot $snapshot,
)Receives the captured declarations and settings for one evaluation.
Parameters
$index | DefinitionIndex | |
$configuration | EvaluatorConfig | |
$evaluators | Evaluators | |
$snapshot | Snapshot |
public function derive(Query $query): CandidateCollectionDerives only the selected observation and its dependencies.
Parameters
$query | Query |
Returns
Test cases 100
BranchEvaluatorTest::testAnInterruptedSingletonDoesNotPruneTheOtherBranchcallsBranchEvaluatorTest::testDecliningABranchEvaluatorRetainsDefaultAlternativescallsBranchEvaluatorTest::testEveryBranchRetainsTheAcceptedEvaluatorAndUnknownDependencyEvidencecallsBranchEvaluatorTest::testPrunesOnlyExcludedBranchescallsBranchEvaluatorTest::testReplacesBranchSemanticsWithoutDemandingTheConditioncallsBranchEvaluatorTest::testStopsOpeningDependenciesAfterBothTruthscallsCallableIdentityTest::testCallSelectorsFindClosuresInEveryCaseSensitivePathcallsCallableIdentityTest::testClosuresAtTheSameOffsetInDistinctPathsDoNotShareBodiescallsCallableIdentityTest::testScriptQueriesKeepCaseSensitiveCapturedPathsDistinctcallsCallableReplacementTest::testDirectReplacementDemandsOnlyItsSelectedParametercallsCallableReplacementTest::testReplacesTheSelectedCallableBeforeItsBodycallsCallPathTest::testDepthBudgetRetainsAnUnfinishedPathInsteadOfUnrestrictedCandidatescallsCallPathTest::testDeriveUsesOnlyMatchingInvocationContextscallsCallPathTest::testRepeatedQueriesKeepPathIdentityAndCallEvidenceSeparatecallsCallPathTest::testReplacesTheTargetWithItsSelectedLazyInputscallsCallPathTest::testUnresolvedDispatchRetainsThePathBoundarycallsCandidateControlTest::testAnApplicationEvaluatorCanChooseToEvaluateAConditionalcallsCandidateControlTest::testCandidatesDoNotDemandPredicatescallsCandidateControlTest::testEvidenceContainsOnlyTheSelectedValueBranchcallsCandidateControlTest::testForeachKeysStayPairedWithTheirValuescallsCandidateControlTest::testLoopCarriedValuesRetainAnUpdateWithoutDeterminingIterationCountscallsCandidateControlTest::testUnusedTypedPredicateArgumentsDoNotOpenTheirValuescallsCandidateEvidenceTest::testE01E02OuterCallersDisambiguateAnIdenticalInnerSitecallsCandidateEvidenceTest::testE03EqualValuesKeepBothCallerscallsCandidateEvidenceTest::testE07E08IndependentQueriesKeepTheirOwnEvidencecallsCandidateEvidenceTest::testE09LiteralHasExactUtf8AndCrlfSourceCoordinatescallsCandidateResultTest::testT06UncalledParameterDoesNotTakeItsDefaultcallsCandidateResultTest::testT12SqlExampleKeepsDefaultAndUnresolvedBranchescallsCandidateResultTest::testThrowOnlyDoesNotManufactureNullcallsEvaluationLifetimeTest::testCandidateResultsAreNotRetainedAfterTheCallerDropsThemcallsEvaluationLifetimeTest::testIndependentQueriesEvaluateTheirDependenciesAgaincallsEvaluationLifetimeTest::testOneQueryMemoizesItsSharedDependencycallsExtensionFailureTest::testMicroEvaluatorFailuresPropagateWithTheirIdentitycallsFairEvaluationTest::testAnUnresolvedBranchDoesNotPreventAConcreteSiblingcallsFairEvaluationTest::testExplicitInputsReceiveWorkBeforeAnExpensiveInputFinishescallsFairEvaluationTest::testShortAlternativesSurviveAnExpensiveSiblingAndKeepItsRemaindercallsFairEvaluationTest::testShortDependencyAlternativesSurviveAnExpensiveSiblingcallsFairEvaluationTest::testWaitingDependenciesRetainCorrelationAcrossRepeatedReadscallsFiniteCandidatesTest::testATypeBoundDoesNotInventMissingWitnessescallsFiniteCandidatesTest::testStopsAtCompleteDomaincallsFiniteCandidatesTest::testTypedTruthStillRejectsInvalidStrictInputscallsLoopPruningTest::testDefaultCandidatesDoNotInspectLoopBoundscallsLoopPruningTest::testDefaultLoopCandidatesRetainConditionalBodyReturnscallsLoopPruningTest::testLoopCountDoesNotMultiplyCandidateExpansioncallsLoopPruningTest::testPrunesWithoutOpeningDiscardedCandidatescallsPreparedDependenciesTest::testCapturedInputsDoNotCompileUnrelatedFunctionsAndQueriesReuseTheirGraphscallsPreparedDependenciesTest::testGlobalInputsCompileOnlyScriptsWhichCanSupplyTheRequestedNamecallsSessionContractTest::testFileOrderDoesNotChangeSnapshotOrSemanticResultcallsStandardConstantsTest::testDoesNotInventAValueForAnUnresolvedConstantcallsStandardConstantsTest::testResolvesConstantsWithoutUsingHostDefinitionscallsCandidateCollectionTest::testCountIncludesPartialCandidatescallsCandidateCollectionTest::testForCallerRetainsSameContextAmbiguitycallsCandidateCollectionTest::testGetIteratorCannotChangeTheCollectioncallsCandidateCollectionTest::testGetIteratorReturnsCandidateRecordscallsCandidateCollectionTest::testOffsetExistsIncludesCandidatesWithNullValuescallsCandidateCollectionTest::testOffsetGetRejectsMissingAndNonIntegerOffsetscallsCandidateCollectionTest::testOffsetGetReturnsTheSameCandidatesAsIterationcallsCandidateCollectionTest::testOffsetSetRejectsAppendcallsCandidateCollectionTest::testOffsetSetRejectsReplacementcallsCandidateCollectionTest::testOffsetUnsetRejectsRemovalcallsArgumentDemandTest::testDemandEvaluatesOnlyTheSelectionParametercallsCallEvaluationTest::testDemandUsesActualBindingsBeforeSelectingAPlancallsCallsTest::testInvokePreservesCallDependenciescallsCallsTest::testMissingPreservesCallDependenciescallsDemandTest::testFramesKeepExplicitBindingsOutOfOtherQueriescallsDemandTest::testObserveProjectsADemandedArrayEntrycallsDemandTest::testProjectAppliesThePathOfTheTargetToTheSelectedValuecallsDemandTest::testReturnsRetainsConditionalImplementationscallsDemandTest::testSelectKeepsAMissingSymbolAsAnUnexpandedReferencecallsDemandTest::testTupleKeepsTheSelectedNamescallsEvaluatorTest::testBoundedKeepsTheSameEvidenceWhenReusedcallsEvaluatorTest::testExpressionUsesTheSameCallbackAndCastRulescallsArrayConstructionTest::testChainPreservesAppendAfterAnExplicitKeycallsArrayConstructionTest::testChoicesLimitRetainsFixedArrayEntriescallsArrayConstructionTest::testChoicesPreservesCorrelationBetweenArrayEntriescallsOriginsTest::testBindingEvidenceRetainsActualAndFormalRelationcallsOriginsTest::testCallersKeepsActualsCorrelatedcallsOriginsTest::testPropertyCollectsOrdinaryWritescallsStorageTest::testDeclarationKeepsTheSelectedStorageOrigincallsStorageTest::testReachingKeepsTheSelectedStorageOrigincallsBodyIndexTest::testReturnsPreservesTheDefinitionBeforeFinallycallsCallbacksTest::testCollectFiltersUsingTheCapturedPredicatecallsDeclarationCoercionTest::testAcceptUsesDeclaredSemanticscallsDeclarationCoercionTest::testCallableUsesDeclaredSemanticscallsDeclarationCoercionTest::testCoerceUsesDeclaredSemanticscallsFinalizersTest::testApplyUsesConditionalFinallyCompletioncallsCapturesTest::testAtRetainsTheDefinitionAtClosureCreationcallsCapturesTest::testValueFindsALexicalCaptureWithoutInvokingTheCallbackcallsElementsTest::testMutatePreservesNestedCompoundAndUnsetcallsPropertyEffectsTest::testAddressUsesTheObservedAllocationcallsPropertyEffectsTest::testEffectUsesTheObservedAllocationcallsPropertyEffectsTest::testIncomingUsesTheObservedAllocationcallsPropertyEffectsTest::testSelectedUsesTheObservedAllocationcallsVisibilityTest::testDeclarationMetadataRetainsAccessLevelscallsLowererTest::testParametersUsesTheDeclarationFileModeAcrossCallerFilescallsCandidateCollectorTest::testCollectKeepsOneSymbolicCandidateSeparateFromEnumerationcallsCandidateCollectorTest::testCollectRetainsTheRequestedSourceRangeAtTheEvidenceRootcallsCandidateCollectorTest::testCollectRetainsTheUnresolvedInputIdentitycallsCandidateQueryTest::testDeriveBuildsTheCandidatesFromOneContextPerQuerycallsCandidateQueryTest::testDeriveUsesTheCandidateContractByDefaultcalls
Called from 1
Calls 10
- function-call
microtimeline 38 - method-call TargetResolution::resolve() line 39
- new TargetResolution line 39
- new Context line 40
- method-call Query::budget() line 40
- method-call Query::scope() line 41
- method-call CandidateCollector::collect() line 43
- new CandidateCollector line 43
- method-call Evaluator::evaluate() line 43
- new Evaluator line 43
Private surface 4§
Implementation details, listed for orientation only.
private DefinitionIndex $indexprivate EvaluatorConfig $configurationprivate Evaluators $evaluatorsprivate Snapshot $snapshotTest cases 111§
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 109
BranchEvaluatorTest::testAnInterruptedSingletonDoesNotPruneTheOtherBranchcallsBranchEvaluatorTest::testDecliningABranchEvaluatorRetainsDefaultAlternativescallsBranchEvaluatorTest::testEveryBranchRetainsTheAcceptedEvaluatorAndUnknownDependencyEvidencecallsBranchEvaluatorTest::testPrunesOnlyExcludedBranchescallsBranchEvaluatorTest::testReplacesBranchSemanticsWithoutDemandingTheConditioncallsBranchEvaluatorTest::testStopsOpeningDependenciesAfterBothTruthscallsCallableIdentityTest::testCallSelectorsFindClosuresInEveryCaseSensitivePathcallsCallableIdentityTest::testClosuresAtTheSameOffsetInDistinctPathsDoNotShareBodiescallsCallableIdentityTest::testScriptQueriesKeepCaseSensitiveCapturedPathsDistinctcallsCallableReplacementTest::testDirectReplacementDemandsOnlyItsSelectedParametercallsCallableReplacementTest::testReplacesTheSelectedCallableBeforeItsBodycallsCallPathTest::testDepthBudgetRetainsAnUnfinishedPathInsteadOfUnrestrictedCandidatescallsCallPathTest::testDeriveUsesOnlyMatchingInvocationContextscallsCallPathTest::testRepeatedQueriesKeepPathIdentityAndCallEvidenceSeparatecallsCallPathTest::testReplacesTheTargetWithItsSelectedLazyInputscallsCallPathTest::testUnresolvedDispatchRetainsThePathBoundarycallsCandidateControlTest::testAnApplicationEvaluatorCanChooseToEvaluateAConditionalcallsCandidateControlTest::testCandidatesDoNotDemandPredicatescallsCandidateControlTest::testEvidenceContainsOnlyTheSelectedValueBranchcallsCandidateControlTest::testForeachKeysStayPairedWithTheirValuescallsCandidateControlTest::testLoopCarriedValuesRetainAnUpdateWithoutDeterminingIterationCountscallsCandidateControlTest::testUnusedTypedPredicateArgumentsDoNotOpenTheirValuescallsCandidateEvidenceTest::testE01E02OuterCallersDisambiguateAnIdenticalInnerSitecallsCandidateEvidenceTest::testE03EqualValuesKeepBothCallerscallsCandidateEvidenceTest::testE07E08IndependentQueriesKeepTheirOwnEvidencecallsCandidateEvidenceTest::testE09LiteralHasExactUtf8AndCrlfSourceCoordinatescallsCandidateResultTest::testT06UncalledParameterDoesNotTakeItsDefaultcallsCandidateResultTest::testT12SqlExampleKeepsDefaultAndUnresolvedBranchescallsCandidateResultTest::testThrowOnlyDoesNotManufactureNullcallsEvaluationLifetimeTest::testCandidateResultsAreNotRetainedAfterTheCallerDropsThemcallsEvaluationLifetimeTest::testIndependentQueriesEvaluateTheirDependenciesAgaincallsEvaluationLifetimeTest::testOneQueryMemoizesItsSharedDependencycallsExtensionFailureTest::testMicroEvaluatorFailuresPropagateWithTheirIdentitycallsFairEvaluationTest::testAnUnresolvedBranchDoesNotPreventAConcreteSiblingcallsFairEvaluationTest::testExplicitInputsReceiveWorkBeforeAnExpensiveInputFinishescallsFairEvaluationTest::testShortAlternativesSurviveAnExpensiveSiblingAndKeepItsRemaindercallsFairEvaluationTest::testShortDependencyAlternativesSurviveAnExpensiveSiblingcallsFairEvaluationTest::testWaitingDependenciesRetainCorrelationAcrossRepeatedReadscallsFiniteCandidatesTest::testATypeBoundDoesNotInventMissingWitnessescallsFiniteCandidatesTest::testStopsAtCompleteDomaincallsFiniteCandidatesTest::testTypedTruthStillRejectsInvalidStrictInputscallsLoopPruningTest::testDefaultCandidatesDoNotInspectLoopBoundscallsLoopPruningTest::testDefaultLoopCandidatesRetainConditionalBodyReturnscallsLoopPruningTest::testLoopCountDoesNotMultiplyCandidateExpansioncallsLoopPruningTest::testPrunesWithoutOpeningDiscardedCandidatescallsPreparedDependenciesTest::testCapturedInputsDoNotCompileUnrelatedFunctionsAndQueriesReuseTheirGraphscallsPreparedDependenciesTest::testGlobalInputsCompileOnlyScriptsWhichCanSupplyTheRequestedNamecallsSessionContractTest::testFileOrderDoesNotChangeSnapshotOrSemanticResultcallsStandardConstantsTest::testDoesNotInventAValueForAnUnresolvedConstantcallsStandardConstantsTest::testResolvesConstantsWithoutUsingHostDefinitionscallsCandidateCollectionTest::testCountIncludesPartialCandidatescallsCandidateCollectionTest::testForCallerRetainsSameContextAmbiguitycallsCandidateCollectionTest::testGetIteratorCannotChangeTheCollectioncallsCandidateCollectionTest::testGetIteratorReturnsCandidateRecordscallsCandidateCollectionTest::testOffsetExistsIncludesCandidatesWithNullValuescallsCandidateCollectionTest::testOffsetGetRejectsMissingAndNonIntegerOffsetscallsCandidateCollectionTest::testOffsetGetReturnsTheSameCandidatesAsIterationcallsCandidateCollectionTest::testOffsetSetRejectsAppendcallsCandidateCollectionTest::testOffsetSetRejectsReplacementcallsCandidateCollectionTest::testOffsetUnsetRejectsRemovalcallsArgumentDemandTest::testDemandEvaluatesOnlyTheSelectionParametercallsCallEvaluationTest::testDemandUsesActualBindingsBeforeSelectingAPlancallsCallsTest::testInvokePreservesCallDependenciescallsCallsTest::testMissingPreservesCallDependenciescallsDemandTest::testFramesKeepExplicitBindingsOutOfOtherQueriescallsDemandTest::testObserveProjectsADemandedArrayEntrycallsDemandTest::testProjectAppliesThePathOfTheTargetToTheSelectedValuecallsDemandTest::testReturnsRetainsConditionalImplementationscallsDemandTest::testSelectKeepsAMissingSymbolAsAnUnexpandedReferencecallsDemandTest::testTupleKeepsTheSelectedNamescallsEvaluatorTest::testBoundedKeepsTheSameEvidenceWhenReusedcallsEvaluatorTest::testExpressionUsesTheSameCallbackAndCastRulescallsArrayConstructionTest::testChainPreservesAppendAfterAnExplicitKeycallsArrayConstructionTest::testChoicesLimitRetainsFixedArrayEntriescallsArrayConstructionTest::testChoicesPreservesCorrelationBetweenArrayEntriescallsOriginsTest::testBindingEvidenceRetainsActualAndFormalRelationcallsOriginsTest::testCallersKeepsActualsCorrelatedcallsOriginsTest::testPropertyCollectsOrdinaryWritescallsStorageTest::testDeclarationKeepsTheSelectedStorageOrigincallsStorageTest::testReachingKeepsTheSelectedStorageOrigincallsBodyIndexTest::testReturnsPreservesTheDefinitionBeforeFinallycallsCallbacksTest::testCollectFiltersUsingTheCapturedPredicatecallsDeclarationCoercionTest::testAcceptUsesDeclaredSemanticscallsDeclarationCoercionTest::testCallableUsesDeclaredSemanticscallsDeclarationCoercionTest::testCoerceUsesDeclaredSemanticscallsFinalizersTest::testApplyUsesConditionalFinallyCompletioncallsCapturesTest::testAtRetainsTheDefinitionAtClosureCreationcallsCapturesTest::testValueFindsALexicalCaptureWithoutInvokingTheCallbackcallsElementsTest::testMutatePreservesNestedCompoundAndUnsetcallsPropertyEffectsTest::testAddressUsesTheObservedAllocationcallsPropertyEffectsTest::testEffectUsesTheObservedAllocationcallsPropertyEffectsTest::testIncomingUsesTheObservedAllocationcallsPropertyEffectsTest::testSelectedUsesTheObservedAllocationcallsVisibilityTest::testDeclarationMetadataRetainsAccessLevelscallsPropertyWriteIndexTest::testContainsFindsNestedElementWritescallsPropertyWriteIndexTest::testOwnersExcludesUnrelatedBodiescallsLowererTest::testParametersUsesTheDeclarationFileModeAcrossCallerFilescallsCandidateCollectorTest::testCollectKeepsOneSymbolicCandidateSeparateFromEnumerationcallsCandidateCollectorTest::testCollectRetainsTheRequestedSourceRangeAtTheEvidenceRootcallsCandidateCollectorTest::testCollectRetainsTheUnresolvedInputIdentitycallsObservationRootTest::testOfIdentifiesTheTargetAboveTheValueForestcallsExpressionResolutionTest::testExpressionRejectsAnUncapturedRangecallsSelectorResolutionTest::testCallAtSelectsAnExactCallAmongCallsOnTheSameLinecallsSelectorResolutionTest::testResolveBindsSymbolSelectorscallsSelectorResolutionTest::testResolveRejectsUnsupportedOrMissingTargetscallsTargetResolutionTest::testResolveBindsEverySupportedQueryFormToItsOwnerAndSelectioncallsTargetResolutionTest::testResolveRejectsAReferenceFromAnotherSnapshotcallsSnapshotIdentityTest::testIdDependsOnlyOnSourcesEvaluatorsEnvironmentAndTargetcallsSnapshotIdentityTest::testSnapshotPublishesTheIdentityWithTheDeclarationDiagnosticscalls