classSourceParser
final class SourceParser
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.
Turns PHP source into a statement tree with fully qualified names.
Methods§
public function __construct()public function parse(string $path, string $code): ParsedFileParses source text that was read from the given path.
Parse errors are collected rather than thrown, so the first one can name the file it came from instead of arriving as a bare parser message.
Parameters
$path | string | The path reported in errors and recorded on the result |
$code | string | The source text |
Returns
Throws
SyntaxException When the source is not valid PHPTest cases 383
CallEvaluatorTest::testApplyEffectsKeepsKnownByValueArgumentsAndOpensReferencescallsCallEvaluatorTest::testApplyPrepareHandsBackAHandleLaterCallsFindcallsCallEvaluatorTest::testApplySinkBindsWhatAQueryCallCarriescallsCallEvaluatorTest::testApplySinkHandsBackAHandleNamingThePreparingCallcallsCallEvaluatorTest::testApplySinkHandsBackWhatEachKindOfDatabaseCallHandsBackcallsCallEvaluatorTest::testArgumentsIsCalledWithTheCallItselfcallsCallEvaluatorTest::testBindValuesAttachesVariadicArgumentscallsCallEvaluatorTest::testCallKeyOfTellsOneCallApartFromEveryOthercallsCallEvaluatorTest::testDispatchReadsTheImplementationsTheSourceDeclarescallsCallEvaluatorTest::testDispatchResolvesAcrossTheImplementationsTheSourceDeclarescallsCallEvaluatorTest::testEvaluateAppliesOnlyPossibleCallWritescallsCallEvaluatorTest::testEvaluateFollowsAFreeFunctionOfTheAnalyzedSourcecallsCallEvaluatorTest::testEvaluateFollowsAMethodOfTheAnalyzedSourcecallsCallEvaluatorTest::testEvaluateFollowsAStaticCallOfTheAnalyzedSourcecallsCallEvaluatorTest::testEvaluateFunctionGivesUpOnAFunctionWhoseNameIsNotWrittencallsCallEvaluatorTest::testEvaluateFunctionGivesUpWhenTheNameIsNotWrittencallsCallEvaluatorTest::testEvaluateFunctionHandsBackWhatADatabaseCallHandsBackcallsCallEvaluatorTest::testEvaluateFunctionNamesTheExternalInputItReadscallsCallEvaluatorTest::testEvaluateInstantiationGivesTheDriverItsTypecallsCallEvaluatorTest::testEvaluateMethodFollowsAMethodDeclaredWithoutABodycallsCallEvaluatorTest::testEvaluateMethodFollowsIntoAClassNoExtensionModelscallsCallEvaluatorTest::testEvaluateMethodFollowsIntoAModelledClassOnlyFromItsOwnBodycallsCallEvaluatorTest::testEvaluateMethodGivesUpOnAMethodWhoseNameIsNotWrittencallsCallEvaluatorTest::testEvaluateMethodGivesUpWhenTheNameIsNotWrittencallsCallEvaluatorTest::testEvaluateOfAFirstClassCallableIsAClosurecallsCallEvaluatorTest::testEvaluateReadsExternalInputThroughAFunctioncallsCallEvaluatorTest::testEvaluateRecordsAQueryCallcallsCallEvaluatorTest::testEvaluateRetainsReferenceWritesForAModeledNamespacedFunctioncallsCallEvaluatorTest::testEvaluateStaticGivesUpWhenTheClassIsNotWrittencallsCallEvaluatorTest::testEvaluateStaticGivesUpWhenTheClassOrTheNameIsNotWrittencallsCallEvaluatorTest::testEvaluateStaticHandsBackWhatADatabaseCallHandsBackcallsCallEvaluatorTest::testEvaluateStaticResolvesTheSelfKeywordsToTheEnclosingClasscallsCallEvaluatorTest::testFollowReadsTheSameCallOnceForTheSameArgumentscallsCallEvaluatorTest::testFollowStopsAtRecursioncallsCallEvaluatorTest::testFollowStopsAtTheDepthLimitcallsCallEvaluatorTest::testIsOwnReceiverTellsACallOnItselfApartFromOneOnSomethingElsecallsCallEvaluatorTest::testRecordStatementsIgnoresACallWithoutItsStatementcallsCallEvaluatorTest::testSiteKeyOfNamesTheCallAndTheDatabaseCallcallsCallEvaluatorTest::testSiteKeyOfTellsTwoCallsOnOneLineApartcallsCallEvaluatorTest::testSiteOfNamesWhereTheCallIsWrittencallsCallEvaluatorTest::testTheCallMethodsAreReachedDirectlycallsConstantReaderTest::testConstantNamePrefersTheOneTheNamespaceDeclarescallsConstantReaderTest::testConstantNameReadsTheNamespacedConstantOnlyWhenTheNamespaceDeclaresItcallsConstantReaderTest::testReadClassConstantReadsWhatTheClassDeclarescallsConstantReaderTest::testReadClassConstantTellsAnEnumCaseFromAConstantOfTheEnumcallsConstantReaderTest::testReadConstantResolvesTheKeywordsAndTheDeclarationscallsCalleeReturnsTest::testParametersFallsBackToTheDefaultOfAParameterNotPassedcallsCalleeReturnsTest::testReadDoesNotRememberWhatAnExhaustedBudgetCutShortcallsCalleeReturnsTest::testReadEntersTheCalleeSoACallBackIntoItIsNotFollowedAgaincallsCalleeReturnsTest::testReadReturnsNullFromABodyWithoutAReturncallsCalleeReturnsTest::testReadRunsAMethodInItsOwnClassAndAFunctionInTheCallersClasscallsCalleeReturnsTest::testReadUnitesWhatEveryReturnCanReturncallsCalleeReturnsTest::testReturnedReadsNullFromABareReturncallsCalleeReturnsTest::testReturnedReadsWhatTheReturnDependsOnFromTheStartcallsCalleeReturnsTest::testReturnedUnitesEveryRunOfTheSlicecallsCalleeReturnsTest::testReturnsInFindsEveryReturnOfTheBodyInTheOrderWrittencallsCalleeReturnsTest::testReturnsInLeavesOutTheReturnsOfFunctionsAndClassesDeclaredInTheBodycallsCalleeReturnsTest::testValueOfAnswersACallWithTheSameArgumentsFromMemorycallsCalleeReturnsTest::testValueOfKeepsAbsenceDistinctFromUnresolvedReturnscallsCalleeReturnsTest::testValueOfLeavesAnAbstractMethodAsACallItDidNotFollowcallsCalleeReturnsTest::testValueOfReadsWhatTheCalleeReturnscallsCalleeReturnsTest::testValueOfStopsAtACallAlreadyBeingFollowedcallsCalleeReturnsTest::testValueOfStopsAtTheDepthLimitAndFollowsJustBelowItcallsCalleeReturnsTest::testValueOfStopsOnceTheBudgetIsExhaustedcallsCallerIndexTest::testInstantiatingFindsEveryNewOfTheClasscallsCallerIndexTest::testNamedFindsEveryCallWrittenWithTheNamecallsCallersTest::testInheritorsOfListsTheSubclassesThatInheritTheConstructorcallsCallersTest::testInstantiationsIncludeSubclassesThatInheritTheConstructorcallsCallersTest::testInstantiationsMatchTheClassEachNewIsWrittenWithcallsCallersTest::testInstantiationsReadSelfAndStaticAsTheClassTheyAreWrittenIncallsCallersTest::testOfFindsNoCallersOfAClosurecallsCallersTest::testOfFindsNoCallersOfAMethodWrittenOutsideAnyClasscallsCallersTest::testOfFindsTheCallsWrittenWithAFunctionsNamecallsCallersTest::testOfFindsTheExplicitCallsOfAConstructorAsWellAsTheInstantiationscallsCallersTest::testOfFindsTheInstantiationsOfAClassForItsConstructorcallsCallersTest::testOfFunctionFallsBackToTheWrittenNameOfADeclarationWithoutAResolvedOnecallsCallersTest::testOfFunctionLeavesOutCallsOfAnotherFunctionWithTheSameShortNamecallsCallersTest::testOfFunctionMatchesTheGlobalFunctionACallInANamespaceFallsBackTocallsCallersTest::testOfIsNotPartialWhenEveryCallIsAccountedForcallsCallersTest::testOfKeepsTheCallsThatCanReachTheMethodInTheOrderWrittencallsCallersTest::testOfListsEveryCallerWithoutStoppingAtTheCallerLimitcallsCallersTest::testOfMarksTheCallersPartialWhenACallMightReachTheMethodWithoutThatBeingCertaincallsCallersTest::testOfSkipsClassesAnExtensionModelscallsCallersTest::testReachesCannotTellOnceTheBudgetIsSpentcallsCallersTest::testReachesDecidesWhetherACallCanLandInTheMethodcallsCallersTest::testReachesWorksOutTheReceiverOneCallDeepercallsCallersTest::testRelatedHoldsBetweenAClassAndItsHierarchyInEitherDirectioncallsCallersTest::testRelatedStopsAtAnOverrideBetweenTheReceiverAndTheDeclaringClasscallsCallersTest::testStaticTargetIsTheClassTheLookupStartsFromcallsDeriverTest::testClassOfNamesTheNearestClassANodeIsWrittenIncallsDeriverTest::testNameOfNamesABodyTheWayItIsReportedcallsDeriverTest::testRunKeepsReadingPastTheSearchBudgetOnlyAtDepthZerocallsDeriverTest::testRunReadsTheGoalsAfterRunningEachArrivalForwardcallsDeriverTest::testScopeOfAClosureNamesTheEnclosingBodycallsDeriverTest::testScopeOfNamesTheFileTheBodyAndTheClassOfAPointcallsDeriverTest::testSolveAtExitsDoesNotHandBackWhatItFoundOnceTheBudgetRanOutcallsDeriverTest::testSolveAtExitsEvaluatesTheGoalsInTheScopeOfTheBodycallsDeriverTest::testSolveAtExitsIsRememberedApartFromSolvingAtTheBodycallsDeriverTest::testSolveAtExitsReadsGoalsAtEveryReturnAndAtTheEndcallsDeriverTest::testSolveAtExitsRemembersWhatItFoundForTheSameBodyGoalsAndDepthcallsDeriverTest::testSolveAtExitsTakesACallOfTheBodyItselfAsRecursioncallsDeriverTest::testSolveAtExitsTellsBodiesGoalsAndDepthsApartcallsDeriverTest::testSolveEvaluatesTheGoalsInTheScopeOfTheBodyThePointIsIncallsDeriverTest::testSolveForgetsWhatItFoundOnceTheBudgetRanOutcallsDeriverTest::testSolveGivesOneSolutionPerBranchWithCorrelatedValuescallsDeriverTest::testSolveKeepsTheRunsOfEveryWayInApartWhileTheBudgetAffordsThemcallsDeriverTest::testSolveLeavesAParameterNothingPassesOpenAsAParametercallsDeriverTest::testSolveLeavesAParameterOpenForTheBudgetOnceTheCallsAreTooDeepcallsDeriverTest::testSolveMarksEverySolutionTruncatedWhenCallsWereLeftOutcallsDeriverTest::testSolveMarksTheWaysInJoinedForWantOfBudgetAsCombinedcallsDeriverTest::testSolveReadsAParameterAtEveryCallOfItsBodycallsDeriverTest::testSolveReadsWhatTheGoalsNeedWithTheNamesItWasGivencallsDeriverTest::testSolveRemembersWhatItFoundForTheSamePointGoalsAndDepthcallsDeriverTest::testSolveSharesTheRunsTheBudgetAffordsAmongTheWaysIncallsDeriverTest::testSolveTakesACallOfTheBodyThePointIsInAsRecursioncallsDeriverTest::testSolveTellsPointsGoalsAndDepthsApartcallsDeriverTest::testSolveUnlessSpentGivesNothingOnceTheBudgetIsSpentcallsDeriverTest::testSolveUnlessSpentSolvesWhileTheBudgetLastscallsEntryBinderTest::testArgumentsForFindsTheArgumentPassedForEachParametercallsEntryBinderTest::testBindingsBindEachPropertyOfThisToEveryValueTheClassLeavesItcallsEntryBinderTest::testBindingsLeaveThePropertiesAloneWhereThereIsNoObjectcallsEntryBinderTest::testBindingsLeaveThePropertiesAloneWithoutAReaderOfPropertyWritescallsEntryBinderTest::testBindingsLeaveThePropertiesOpenOnAPathTheBudgetStoppedcallsEntryBinderTest::testDefaultOfIsWhatAParameterHoldsWhenACallLeavesItOutcallsEntryBinderTest::testEvaluateConstantReadsConstantsOfTheClassGivencallsEntryBinderTest::testFromCallersAsksNoMoreThanTheCallerLimitcallsEntryBinderTest::testFromCallersBindsEachArgumentAndFillsInWhatACallLeavesOutcallsEntryBinderTest::testFromCallersCarriesWhetherTheCallerPairedValuesWorkedOutApartcallsEntryBinderTest::testFromCallersCarriesWhetherTheCallerWasCutShortcallsEntryBinderTest::testFromCallersMarksEveryWayInCutShortWhenTheCallersArePartialcallsEntryBinderTest::testFromCallersMarksTheWaysInFoundBeforeTheBudgetRanOutAsCutShortcallsEntryBinderTest::testFromCallersStopsOnceTheBudgetIsSpentcallsEntryBinderTest::testParameterBindingsBindMethodParametersFromCallsOnInstancesOfTheClasscallsEntryBinderTest::testParameterBindingsBlameTheBudgetWhenLookingForCallersSpentItcallsEntryBinderTest::testParameterBindingsFollowEveryCallerOfTheBodycallsEntryBinderTest::testParameterBindingsLeaveAParameterNothingCallsOpencallsEntryBinderTest::testParameterBindingsLeaveAParameterOpenOnceTheBudgetIsSpentcallsEntryBinderTest::testParameterBindingsLeaveEverythingOpenOnAPathTheBudgetStoppedcallsEntryBinderTest::testParameterBindingsLeaveTheParameterOpenAndCutShortWhenNoCallCanBeConfirmedcallsEntryBinderTest::testParameterBindingsLeaveTheParameterOpenWithoutCuttingShortWhenNothingCallsItcallsEntryBinderTest::testParameterBindingsMarkUndefinedLocalsAbsentWithoutAskingCallerscallsEntryBinderTest::testParameterBindingsReadWhatTheTopOfAFileIsDeclaredToHoldcallsEntryBinderTest::testParameterBindingsStopAtTheDepthLimitcallsEntryBinderTest::testParametersOfAreTheNeededParametersWithTheirPositionscallsEntryBinderTest::testParameterValuesReadWhatEveryCallerPassescallsEntryBinderTest::testWithParametersLeavesEveryParameterOpenForTheReasonGivencallsFreeNamesTest::testArrowFunctionLeavesOutItsOwnParameterscallsFreeNamesTest::testReadNamesWhatTheValueDependsOncallsFreeNamesTest::testSinkCallReadsOnlyWhatTheResultDependsOncallsModifiedNamesTest::testCollectWorksTheAnswerOutFromScratchcallsModifiedNamesTest::testOfNamesEverythingAStatementMayAssigncallsModifiedNamesTest::testOwnLeavesOutWhatTheChildrenAssigncallsModifiedNamesTest::testTouchesSaysWhetherAStatementAssignsAnyWantedNamecallsCallbackEffectsTest::testApplyRunsClosureEffectsThroughCapturedAliasesOfItsReceivercallsObjectEffectsTest::testAssignmentsExcludesNestedFunctionsAndClassescallsObjectEffectsTest::testGraphDoesNotTreatClonesAsAliasescallsObjectEffectsTest::testOwnerStopsAtTheEnclosingFunctioncallsObjectEffectsTest::testWritesFollowsAliasesStoredInArraysInsideFunctionScopescallsObjectEffectsTest::testWritesIncludesFileScopeAliasesWithoutCrossingIntoFunctionscallsPropertyWritesTest::testDefaultOfIsTheNearestDeclaredDefaultcallsPropertyWritesTest::testPromotionsAreTheConstructorsPromotingAParameterOfThatNamecallsPropertyWritesTest::testValuesOfCollectsWhatEveryWriterLeavescallsPropertyWritesTest::testValuesOfReadsThePropertyAgainOnceTheFirstReadingIsDonecallsPropertyWritesTest::testValuesOfSkipsTheWritersOnceTheBudgetIsSpentcallsPropertyWritesTest::testWritersOfFindsTheMethodsOfTheClassAndItsAncestorsThatWriteThePropertycallsPropertyWritesTest::testWritesSeesOnlyAssignmentsToThePropertyOfThiscallsAssignmentStepsTest::testDeclarationDefinesWhatAGlobalListsButKeepsLookingPastAnUnsetcallsAssignmentStepsTest::testOverWalksBackOverTheLastAssignmentFirstcallsAssignmentStepsTest::testWithinKeepsConditionalWritesTogethercallsAssignmentStepsTest::testWithinLeavesOutWhatAClosureAssignscallsBackwardSlicerTest::testArriveNamesTheNamedBodyAClosureIsWrittenIncallsBackwardSlicerTest::testBeforeWalksBackOverTheStatementsAheadOfOnecallsBackwardSlicerTest::testLeaveCarriesAFinallyBlockOverItsTryBlockcallsBackwardSlicerTest::testLeaveCarriesPathsOutOfTheirOwnercallsBackwardSlicerTest::testLeaveClosureTakesOnlyTheUseListFromOutsidecallsBackwardSlicerTest::testOutsideIsWhatAClosureTakesFromWhereItIsWrittencallsBackwardSlicerTest::testOverStopsAPathOnceTheBudgetIsSpentcallsBackwardSlicerTest::testOverWalksDeclarationsBlocksLoopsAndConditionAssignmentscallsBackwardSlicerTest::testOwningStatementIsTheStatementAnArmBelongsTocallsBackwardSlicerTest::testSliceFromAnArrowFunctionTakesWhatItCapturesFromWhereItIsWrittencallsBackwardSlicerTest::testSliceFromEndWalksBackFromTheEndOfABodycallsBackwardSlicerTest::testSliceFromKeepsWhatTheCallDependsOnInTheOrderItRunscallsBackwardSlicerTest::testWalkArmsWalksEachArmFromItsEndcallsBackwardSlicerTest::testWalkListStopsOnceEveryPathIsDonecallsBranchArmsTest::testCompletesSaysWhetherTheNextStatementCanRuncallsBranchArmsTest::testIfArmsIncludeTheArmTakenWhenNoConditionHoldscallsBranchArmsTest::testOfKeepsEveryArmWhenNoneFallsThroughcallsBranchArmsTest::testOfKeepsOnlyTheArmsThatFallThroughcallsBranchArmsTest::testSwitchArmsDropTheirBreakAndAddTheArmTakenWhenNoCaseMatchescallsBranchArmsTest::testSwitchArmsWithADefaultHaveNoEmptyArmcallsBranchArmsTest::testTryArmsFollowEachWayOutWithTheFinallyBlockcallsLoopPassesTest::testBindingIsAStepOnlyForAPathThatNeedsTheLoopsVariablescallsLoopPassesTest::testBodyOfIsWhatALoopRepeatscallsLoopPassesTest::testBoundSaysWhetherAPathTookOneOfTheLoopsPassescallsLoopPassesTest::testContinuesSaysWhetherAnotherPassCouldChangeWhatIsNeededcallsLoopPassesTest::testEnteringReadsWhatALoopGoesOverBeforeItsFirstPasscallsLoopPassesTest::testIsLoopRecognisesEveryKindOfLoopcallsLoopPassesTest::testLeaveBodyFollowsAPointInsideALoopBackThroughEarlierPassescallsLoopPassesTest::testPassWalksBackOverOneWholePasscallsLoopPassesTest::testRunsListTheStatementAfterEachNumberOfPassesUpToTheLimitcallsLoopPassesTest::testRunsOfADoWhileAlwaysIncludeAPasscallsLoopPassesTest::testRunsStopOnceAPassCannotChangeWhatIsNeededcallsLoopPassesTest::testRunsTakeExactlyAsManyPassesAsAWrittenOutArrayHasElementscallsLoopPassesTest::testWrittenPassesCountsOnlyAnArrayWrittenOutInFullcallsSliceExecutorTest::testAbandonLeavesOpenEveryNameTheStepsLeftWritecallsSliceExecutorTest::testApplyAssignsAnExpressionAndSplitsOnWhatItWrotecallsSliceExecutorTest::testApplyBindsADeclarationcallsSliceExecutorTest::testApplyEntersAClosureWithoutEvaluatingAnythingcallsSliceExecutorTest::testApplyEntersAnArrowFunctioncallsSliceExecutorTest::testApplyGoesOnFromThePassAForeachReachedOverWhatItFirstReadcallsSliceExecutorTest::testApplyLeavesAnyOtherStatementAsItFoundItcallsSliceExecutorTest::testApplyRunsEveryAlternativeFromItsOwnCopycallsSliceExecutorTest::testApplySplitsAForeachPastItsElementsWithinTheLimitcallsSliceExecutorTest::testApplyStartsAForeachByReadingWhatItGoesOvercallsSliceExecutorTest::testAssignOnceTheBudgetIsSpentcallsSliceExecutorTest::testAssignQuotesWhatItCouldNotFollowcallsSliceExecutorTest::testAssignRunsEveryKindOfAssignmentcallsSliceExecutorTest::testDeclareGlobalTakesTheClassTheNameIsKnownToHoldcallsSliceExecutorTest::testDeclareStaticNeverTakesAClasscallsSliceExecutorTest::testDeclareUnsetClearsOnlyThePlainVariablesItNamescallsSliceExecutorTest::testEnterClosureBindsParametersAndMarksOtherLocalsAbsentcallsSliceExecutorTest::testEnterClosureOfAnArrowFunctionReadsItsParameterTypescallsSliceExecutorTest::testIterateBindsTheValueAndKeyOfOnePasscallsSliceExecutorTest::testIterateOverAnythingElseQuotesTheIteratedKeyAndValuecallsSliceExecutorTest::testIterateWithoutAKeyBindsOnlyTheValuecallsSliceExecutorTest::testRunAbandonsTheStepsLeftOnceTheSearchBudgetIsExhaustedcallsSliceExecutorTest::testRunDropsRunsThatEndUpTheSamecallsSliceExecutorTest::testRunJoinsTheRunsPastTheLimitcallsSliceExecutorTest::testRunSizesTheLimitFromTheBudgetWhenNoneIsGivencallsSliceExecutorTest::testRunSplitsOnATernarySoLaterReadsAgreecallsSliceExecutorTest::testRunWhenClosingReadsOnPastTheSearchBudgetcallsSliceExecutorTest::testRunWhenClosingStopsOnceTheReadingBudgetIsSpentcallsSliceExecutorTest::testRunWithALimitOfOneKeepsTheValuesTogethercallsSliceExecutorTest::testWrittenByAClosureNamesWhatItDefinesForItselfcallsSliceExecutorTest::testWrittenByAForeachNamesItsValueAndItsKeycallsSliceExecutorTest::testWrittenByANodeNamesWhatItAssignsThenTheNamesItListscallsSliceExecutorTest::testWrittenByAStepOfAlternativesNamesWhatEveryAlternativeWritescallsSourceTreeTest::testAnchorOfIsTheStatementANodeIsPartOfcallsSourceTreeTest::testAnchorOfStopsAtAnArrowFunctionWithNoStatementscallsSourceTreeTest::testBodyOfIsTheFunctionANodeIsWrittenIncallsSourceTreeTest::testFileOfNamesTheFileANodeIsWrittenIncallsSourceTreeTest::testIsListedLeavesOutTheArmsOfABranchcallsSourceTreeTest::testListOfReadsTheStatementsEveryKindOfOwnerRunscallsSourceTreeTest::testLocateFindsANestedStatementInTheListThatHoldsItcallsSourceTreeTest::testLocateFindsATopLevelStatementInItsFilecallsReferenceEffectsTest::testAffectedFindsAliasesAcrossStatementsAndCachesTheBodycallsReferenceEffectsTest::testAffectedSharesReferencesAcrossFileScopeSiblingscallsReferenceEffectsTest::testCollectIncludesEscapedCapturesButNotNestedBodiescallsReferenceEffectsTest::testCollectLeavesByValueCapturesAndNestedFunctionsIndependentcallsReferenceEffectsTest::testCollectRetainsByReferenceCapturesInsideTheClosureBodycallsWriteEffectsTest::testArgumentsRetainsWritableArgumentsOnlycallsWriteEffectsTest::testArgumentsUsesReferenceDeclarationsAndNamedArgumentscallsWriteEffectsTest::testAssignmentInvalidatesAliasValuesBeforeWritingTheTargetcallsWriteEffectsTest::testDynamicTargetFindsNestedVariableVariablescallsWriteEffectsTest::testOwnRecognizesUnmodelledWritescallsExpressionEvaluatorTest::testEvaluatecallsExpressionEvaluatorTest::testEvaluateAppendIsCalledWithTheExpressionItselfcallsExpressionEvaluatorTest::testEvaluateAppendStartsFromWhatTheVariableAlreadyHoldscallsExpressionEvaluatorTest::testEvaluateAssignIsCalledWithTheExpressionItselfcallsExpressionEvaluatorTest::testEvaluateAssignWritesIntoTheEnvironmentcallsExpressionEvaluatorTest::testEvaluateCastEndsTheTrailBackToExternalInputcallsExpressionEvaluatorTest::testEvaluateInterpolationIsCalledWithTheExpressionItselfcallsExpressionEvaluatorTest::testEvaluateInterpolationJoinsLiteralPartsAndExpressionscallsExpressionEvaluatorTest::testEvaluateIssetDoesNotEvaluatePredicatescallsExpressionEvaluatorTest::testEvaluateIssetKeepsIntermediateOperandWritescallsExpressionEvaluatorTest::testEvaluateIssetKeepsPossibleOperandEffectscallsExpressionEvaluatorTest::testEvaluateMatchRetainsEarlierConditionEffectsForLaterArmscallsExpressionEvaluatorTest::testEvaluateMatchSeesAssignmentsInTheSubjectAndInTheConditionscallsExpressionEvaluatorTest::testEvaluateOfAMatchKeepsEveryArmcallsExpressionEvaluatorTest::testEvaluateOfAnAppendingAssignmentExtendsTheVariablecallsExpressionEvaluatorTest::testEvaluateOfAnInterpolatedStringJoinsItsPartscallsExpressionEvaluatorTest::testEvaluateOfATernaryKeepsBothBranchescallsExpressionEvaluatorTest::testEvaluateOperandsEvaluatesEveryOperandInPlacecallsExpressionEvaluatorTest::testEvaluateOperatorOfACoalesceKeepsBothSidescallsExpressionEvaluatorTest::testEvaluateOptionalRightKeepsTheUnwrittenAlternativecallsExpressionEvaluatorTest::testEvaluateResultSeesAnAssignmentWrittenInsideTheOperandcallsExpressionEvaluatorTest::testEvaluateSeesAnAssignmentWrittenInsideAnOperatorItDoesNotModelcallsExpressionEvaluatorTest::testEvaluateTernaryHandlesTheShortFormcallsExpressionEvaluatorTest::testEvaluateTernaryIsCalledWithTheExpressionItselfcallsExpressionEvaluatorTest::testEvaluateTernaryKeepsBothBranchesEvenForKnownConditionscallsExpressionEvaluatorTest::testEvaluateTraversesIncludeEffectsBeforeReadingAnotherOperandcallsInterpreterTest::testAnalyzeBindsWhatAnExecuteBindsToTheStatementItsHandleCameFromcallsInterpreterTest::testAnalyzeBindsWhatANullsafeExecuteBindscallsInterpreterTest::testAnalyzeBindsWhatAQueryCallCarriesAlongsideItsStatementcallsInterpreterTest::testAnalyzeGivesEveryCallTheWholeBudgetcallsInterpreterTest::testAnalyzeKeepsWhatEveryCallBindscallsInterpreterTest::testAnalyzeReadsEveryStatementFromTheCallThatIssuesItcallsInterpreterTest::testAnalyzeRecordsNothingAtACallThatOnlyComposesAStatementcallsInterpreterTest::testAnalyzeSpendsNoMoreThanTheBudgetItIsGivencallsInterpreterTest::testAnalyzeWithATinyBudgetStillReportsTheCallcallsInterpreterTest::testArgumentsOfListsTheExpressionsACallPassescallsInterpreterTest::testDeriverForWiresADeriverOverTheFilescallsInterpreterTest::testEvaluatorForWiresAnEvaluatorOverTheFilescallsInterpreterTest::testReceiverOfJoinsEveryWayTheReceiverCanBecallsInterpreterTest::testReceiverOfWorksOutWhatAMethodIsCalledOncallsInterpreterTest::testRecordStatementsFilesTheStatementsOfEveryReadingUnderThePreparedHandlecallsInterpreterTest::testRecordStatementsMarksAStatementCombinedWhenEitherTheTextOrTheReadingIscallsInterpreterTest::testRecordStatementsRecordsACallNothingCouldBeReadFromAsUnreadcallsInterpreterTest::testRecordStatementsSkipsAReadingWithoutTheStatementcallsInterpreterTest::testRecordUnmatchedFilesTheCallUnderItsOwnSinkcallsInterpreterTest::testRecordUnmatchedKeysTheCallByItsFileAndOffsetcallsInterpreterTest::testSinkOfReadsANullsafeCallAndAFunctionCallcallsInterpreterTest::testSinkOfResolvesAStaticCallOnTheEnclosingClasscallsInterpreterTest::testSinkOfTellsADatabaseCallFromAnotherCallOfTheSameNamecallsInterpreterTest::testUnidentifiedCoversANullsafeCallButNotAFunctionCallcallsInterpreterTest::testUnidentifiedIsTrueOnlyForATextCarryingCallOnSomethingUnknowncallsInterpreterTest::testUnreadQuotesTheCallInItsOnlyGapcallsInterpreterTest::testVisitHandsBackNothingForABindingCallWrittenWithoutAReceivercallsInterpreterTest::testVisitHandsBackWhatAnExecuteBindscallsInterpreterTest::testVisitRecordsAStatementAndHandsBackNothingToBindLatercallsInterpreterTest::testVisitRecordsNothingForACallWithoutItsStatementcallsInterpreterTest::testVisitRecordsNothingForADatabaseCallThatTakesNoStatementcallsModelQueriesTest::testSolveKeepsCompilerFlagsAndMultipleOutputscallsReferenceEvaluatorTest::testAssignWritesIntoAnArrayHeldByAVariablecallsReferenceEvaluatorTest::testEvaluatecallsReferenceEvaluatorTest::testReadArrayIsCalledWithTheExpressionItselfcallsReferenceEvaluatorTest::testReadArrayMarksAnUnpackedLiteralIncompletecallsReferenceEvaluatorTest::testReadElementFallsBackToTheOriginOfTheArraycallsReferenceEvaluatorTest::testReadElementIsCalledWithTheExpressionItselfcallsReferenceEvaluatorTest::testReadElementLeavesAGapForAnElementTheArrayDoesNotHoldcallsReferenceEvaluatorTest::testReadElementUnderAKeyThatDidNotResolveQuotesTheGapOfAnArrayKnownOnlyInPartcallsReferenceEvaluatorTest::testReadElementUnderAKeyThatDidNotResolveReadsEveryElementcallsReferenceEvaluatorTest::testReadEnumPropertyNarrowsToOneCaseWhenTheCaseIsKnowncallsReferenceEvaluatorTest::testReadEnumPropertyOnlyAnswersForAnEnumcallsReferenceEvaluatorTest::testReadEnumPropertyReadsCaseNamescallsReferenceEvaluatorTest::testReadEnumPropertyReadsTheCaseTheValueIscallsReferenceEvaluatorTest::testReadInstanceResolvesStaticToTheEnclosingClasscallsReferenceEvaluatorTest::testReadPropertyFallsBackToTheDeclaredTypecallsReferenceEvaluatorTest::testReadPropertyFallsBackToTheDeclaredTypeOfAStaticPropertyTheClassAssignscallsReferenceEvaluatorTest::testReadPropertyIsCalledWithTheExpressionItselfcallsReferenceEvaluatorTest::testReadPropertyPrefersWhatTheBodyAssignedEarliercallsReferenceEvaluatorTest::testReadPropertyReadsTheSettledDefaultOfAStaticPropertycallsSinkFinderTest::testEnclosingBodyFindsTheFunctionACallIsWrittenIncallsSinkFinderTest::testFindAllCollectsEveryDatabaseCallButTheOnesThatComposeAStatementcallsSinkFinderTest::testFindAllFindsNothingWhenEverySinkComposesAStatementcallsSinkFinderTest::testFindAllTakesInTheCallsThatOnlyBindValuescallsSinkFinderTest::testFindCollectsTheCallsWrittenLikeDatabaseCallscallsSinkFinderTest::testFindIgnoresACallWrittenWithoutANamecallsSinkFinderTest::testFindInLooksAtTheNodesItIsGivencallsSinkFinderTest::testNameOfReadsEveryFormOfCallcallsSinkMatcherTest::testClassMatchesFollowsInheritanceDeclaredInTheAnalyzedSourcecallsDeclaredGlobalsTest::testClassOfIsSilentWhenNothingSaysWhatTheGlobalHoldscallsDeclaredGlobalsTest::testClassOfNamesAGlobalAnExtensionDeclarescallsDeclaredGlobalsTest::testCommentsClimbToTheDeclarationTheGlobalIsWrittenIncallsDeclaredGlobalsTest::testDocumentedIsSilentWhenNoTagNamesTheVariablecallsDeclaredGlobalsTest::testDocumentedReadsTheTagOnTheEnclosingDeclarationcallsProgramIndexBuilderTest::testBuildIndexesClassesFunctionsAndConstantscallsProgramIndexBuilderTest::testReadAssignedPropertiesFindsWritesInTheClassBodycallsProgramIndexBuilderTest::testReadClassCollectsConstantsPropertiesAndMethodscallsProgramIndexBuilderTest::testReadClassIsNullForAnAnonymousClasscallsProgramIndexBuilderTest::testReadClassRecordsEnumCasescallsProgramIndexBuilderTest::testReadConstantsCollectsEveryDeclarationcallsProgramIndexBuilderTest::testReadEnumCasesKeepsACaseWithoutABackingValuecallsProgramIndexBuilderTest::testReadMembersReadsTheWholeClassBodyInOnePasscallsProgramIndexBuilderTest::testReadMethodRecordsTheSignaturecallsProgramIndexBuilderTest::testReadParametersSkipsParametersWithoutAPlainNamecallsProgramIndexBuilderTest::testReadParentNamesCollectsExtendedInterfacescallsProgramIndexBuilderTest::testReadParentNamesCollectsImplementedInterfacescallsProgramIndexBuilderTest::testReadPromotedPropertiesOnlyLooksAtTheConstructorcallsProgramIndexBuilderTest::testReadTraitNamesCollectsUsedTraitscallsProgramIndexTest::testFindClassConstantFollowsTheParentClasscallsProgramIndexTest::testFindMethodFollowsTheParentClasscallsProgramIndexTest::testFindPropertyTypeFollowsTheParentClasscallsProgramIndexTest::testImplementationsOfCollectsTheConcreteBodiescallsProgramIndexTest::testIsInstanceOfFollowsParentsAndInterfacescallsProgramIndexTest::testLineageVisitsEachDeclarationOncecallsSourceParserTest::testParseReportsTheFileASyntaxErrorCameFromcallsSourceParserTest::testParseResolvesNamesToTheirFullyQualifiedFormcallsSourceParserTest::testParseReturnsTheStatementsOfTheFilecallsSourceParserTest::testResolveNamesConnectsFileScopeSiblingsForWriteAnalysiscallsBuilderQueriesTest::testStatementsCompilesReceiverAndBindingsDerivedFromTheSameBranchcallsCallbackModelTest::testApplyRunsSourceDeclaredLocalScopescallsCallbackModelTest::testConditionalKeepsBothOutcomesOfWhenAndUnlesscallsModelMetadataTest::testConstantReadsOnlyLiteralDefaultscallsModelMetadataTest::testGuardDefaultsRejectsUnknownMetadataAndImplicitEagerLoadscallsModelMetadataTest::testGuardExplainsTheSpecificUnmodelledModelEffectcallsModelMetadataTest::testGuardLeavesHooksTraitsAndMutableMetadataOpencallsModelMetadataTest::testPropertyPrefersTheNearestDeclarationcallsModelMetadataTest::testRecognizesFrameworkAuthenticationModelsWithoutLoadingVendorCodecallsModelMetadataTest::testStateKeepsStandardEmptyDefaultsAndFactoryTraitsClosedcallsModelMetadataTest::testStateReadsInheritedTableKeyAndSoftDeletescallsModelMetadataTest::testStateRejectsCustomizingAttributesAndUnknownTableConventionscallsAnalyzerTest::testEntriesOfIsCalledWithTheParsedFilescalls
Called from 1
Calls 6
- new
Collectingline 47 - method-call
Parser::parse()line 48 - method-call
Collecting::getErrors()line 49 - new SyntaxException line 52
- new ParsedFile line 58
- method-call SourceParser::resolveNames() line 58
public function resolveNames(array<array-key, Stmt> $statements): list<Stmt>The statements with every name resolved and every parent link connected.
Parameters
$statements | array<array-key, Stmt> |
Returns
list<Stmt>Test cases 1
Called from 1
Calls 1
- method-call
NodeTraverser::traverse()line 70
Private surface 2§
Implementation details, listed for orientation only.
private Parser $parserprivate NodeTraverser $traverserTest cases 388§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 5
SourceParserTest::testParseReportsTheFileASyntaxErrorCameFromcallsSourceParserTest::testParseResolvesNamesToTheirFullyQualifiedFormcallsSourceParserTest::testParseReturnsTheStatementsOfTheFilecallsSourceParserTest::testResolveNamesConnectsFileScopeSiblingsForWriteAnalysiscallsSourceParserTest::testResolveNamesKeepsOnlyStatementscalls
Other tests reaching this symbol 383
CatalogCommandTestcallsCallEvaluatorTest::testApplyEffectsKeepsKnownByValueArgumentsAndOpensReferencescallsCallEvaluatorTest::testApplyPrepareHandsBackAHandleLaterCallsFindcallsCallEvaluatorTest::testApplySinkBindsWhatAQueryCallCarriescallsCallEvaluatorTest::testApplySinkHandsBackAHandleNamingThePreparingCallcallsCallEvaluatorTest::testApplySinkHandsBackWhatEachKindOfDatabaseCallHandsBackcallsCallEvaluatorTest::testArgumentsIsCalledWithTheCallItselfcallsCallEvaluatorTest::testBindValuesAttachesVariadicArgumentscallsCallEvaluatorTest::testCallKeyOfTellsOneCallApartFromEveryOthercallsCallEvaluatorTest::testDispatchReadsTheImplementationsTheSourceDeclarescallsCallEvaluatorTest::testDispatchResolvesAcrossTheImplementationsTheSourceDeclarescallsCallEvaluatorTest::testEvaluateAppliesOnlyPossibleCallWritescallsCallEvaluatorTest::testEvaluateFollowsAFreeFunctionOfTheAnalyzedSourcecallsCallEvaluatorTest::testEvaluateFollowsAMethodOfTheAnalyzedSourcecallsCallEvaluatorTest::testEvaluateFollowsAStaticCallOfTheAnalyzedSourcecallsCallEvaluatorTest::testEvaluateFunctionGivesUpOnAFunctionWhoseNameIsNotWrittencallsCallEvaluatorTest::testEvaluateFunctionGivesUpWhenTheNameIsNotWrittencallsCallEvaluatorTest::testEvaluateFunctionHandsBackWhatADatabaseCallHandsBackcallsCallEvaluatorTest::testEvaluateFunctionNamesTheExternalInputItReadscallsCallEvaluatorTest::testEvaluateInstantiationGivesTheDriverItsTypecallsCallEvaluatorTest::testEvaluateMethodFollowsAMethodDeclaredWithoutABodycallsCallEvaluatorTest::testEvaluateMethodFollowsIntoAClassNoExtensionModelscallsCallEvaluatorTest::testEvaluateMethodFollowsIntoAModelledClassOnlyFromItsOwnBodycallsCallEvaluatorTest::testEvaluateMethodGivesUpOnAMethodWhoseNameIsNotWrittencallsCallEvaluatorTest::testEvaluateMethodGivesUpWhenTheNameIsNotWrittencallsCallEvaluatorTest::testEvaluateOfAFirstClassCallableIsAClosurecallsCallEvaluatorTest::testEvaluateReadsExternalInputThroughAFunctioncallsCallEvaluatorTest::testEvaluateRecordsAQueryCallcallsCallEvaluatorTest::testEvaluateRetainsReferenceWritesForAModeledNamespacedFunctioncallsCallEvaluatorTest::testEvaluateStaticGivesUpWhenTheClassIsNotWrittencallsCallEvaluatorTest::testEvaluateStaticGivesUpWhenTheClassOrTheNameIsNotWrittencallsCallEvaluatorTest::testEvaluateStaticHandsBackWhatADatabaseCallHandsBackcallsCallEvaluatorTest::testEvaluateStaticResolvesTheSelfKeywordsToTheEnclosingClasscallsCallEvaluatorTest::testFollowReadsTheSameCallOnceForTheSameArgumentscallsCallEvaluatorTest::testFollowStopsAtRecursioncallsCallEvaluatorTest::testFollowStopsAtTheDepthLimitcallsCallEvaluatorTest::testIsOwnReceiverTellsACallOnItselfApartFromOneOnSomethingElsecallsCallEvaluatorTest::testRecordStatementsIgnoresACallWithoutItsStatementcallsCallEvaluatorTest::testSiteKeyOfNamesTheCallAndTheDatabaseCallcallsCallEvaluatorTest::testSiteKeyOfTellsTwoCallsOnOneLineApartcallsCallEvaluatorTest::testSiteOfNamesWhereTheCallIsWrittencallsCallEvaluatorTest::testTheCallMethodsAreReachedDirectlycallsConstantReaderTest::testConstantNamePrefersTheOneTheNamespaceDeclarescallsConstantReaderTest::testConstantNameReadsTheNamespacedConstantOnlyWhenTheNamespaceDeclaresItcallsConstantReaderTest::testReadClassConstantReadsWhatTheClassDeclarescallsConstantReaderTest::testReadClassConstantTellsAnEnumCaseFromAConstantOfTheEnumcallsConstantReaderTest::testReadConstantResolvesTheKeywordsAndTheDeclarationscallsCalleeReturnsTest::testParametersFallsBackToTheDefaultOfAParameterNotPassedcallsCalleeReturnsTest::testReadDoesNotRememberWhatAnExhaustedBudgetCutShortcallsCalleeReturnsTest::testReadEntersTheCalleeSoACallBackIntoItIsNotFollowedAgaincallsCalleeReturnsTest::testReadReturnsNullFromABodyWithoutAReturncallsCalleeReturnsTest::testReadRunsAMethodInItsOwnClassAndAFunctionInTheCallersClasscallsCalleeReturnsTest::testReadUnitesWhatEveryReturnCanReturncallsCalleeReturnsTest::testReturnedReadsNullFromABareReturncallsCalleeReturnsTest::testReturnedReadsWhatTheReturnDependsOnFromTheStartcallsCalleeReturnsTest::testReturnedUnitesEveryRunOfTheSlicecallsCalleeReturnsTest::testReturnsInFindsEveryReturnOfTheBodyInTheOrderWrittencallsCalleeReturnsTest::testReturnsInLeavesOutTheReturnsOfFunctionsAndClassesDeclaredInTheBodycallsCalleeReturnsTest::testValueOfAnswersACallWithTheSameArgumentsFromMemorycallsCalleeReturnsTest::testValueOfKeepsAbsenceDistinctFromUnresolvedReturnscallsCalleeReturnsTest::testValueOfLeavesAnAbstractMethodAsACallItDidNotFollowcallsCalleeReturnsTest::testValueOfReadsWhatTheCalleeReturnscallsCalleeReturnsTest::testValueOfStopsAtACallAlreadyBeingFollowedcallsCalleeReturnsTest::testValueOfStopsAtTheDepthLimitAndFollowsJustBelowItcallsCalleeReturnsTest::testValueOfStopsOnceTheBudgetIsExhaustedcallsCallerIndexTest::testInstantiatingFindsEveryNewOfTheClasscallsCallerIndexTest::testNamedFindsEveryCallWrittenWithTheNamecallsCallersTest::testInheritorsOfListsTheSubclassesThatInheritTheConstructorcallsCallersTest::testInstantiationsIncludeSubclassesThatInheritTheConstructorcallsCallersTest::testInstantiationsMatchTheClassEachNewIsWrittenWithcallsCallersTest::testInstantiationsReadSelfAndStaticAsTheClassTheyAreWrittenIncallsCallersTest::testOfFindsNoCallersOfAClosurecallsCallersTest::testOfFindsNoCallersOfAMethodWrittenOutsideAnyClasscallsCallersTest::testOfFindsTheCallsWrittenWithAFunctionsNamecallsCallersTest::testOfFindsTheExplicitCallsOfAConstructorAsWellAsTheInstantiationscallsCallersTest::testOfFindsTheInstantiationsOfAClassForItsConstructorcallsCallersTest::testOfFunctionFallsBackToTheWrittenNameOfADeclarationWithoutAResolvedOnecallsCallersTest::testOfFunctionLeavesOutCallsOfAnotherFunctionWithTheSameShortNamecallsCallersTest::testOfFunctionMatchesTheGlobalFunctionACallInANamespaceFallsBackTocallsCallersTest::testOfIsNotPartialWhenEveryCallIsAccountedForcallsCallersTest::testOfKeepsTheCallsThatCanReachTheMethodInTheOrderWrittencallsCallersTest::testOfListsEveryCallerWithoutStoppingAtTheCallerLimitcallsCallersTest::testOfMarksTheCallersPartialWhenACallMightReachTheMethodWithoutThatBeingCertaincallsCallersTest::testOfSkipsClassesAnExtensionModelscallsCallersTest::testReachesCannotTellOnceTheBudgetIsSpentcallsCallersTest::testReachesDecidesWhetherACallCanLandInTheMethodcallsCallersTest::testReachesWorksOutTheReceiverOneCallDeepercallsCallersTest::testRelatedHoldsBetweenAClassAndItsHierarchyInEitherDirectioncallsCallersTest::testRelatedStopsAtAnOverrideBetweenTheReceiverAndTheDeclaringClasscallsCallersTest::testStaticTargetIsTheClassTheLookupStartsFromcallsDeriverTest::testClassOfNamesTheNearestClassANodeIsWrittenIncallsDeriverTest::testNameOfNamesABodyTheWayItIsReportedcallsDeriverTest::testRunKeepsReadingPastTheSearchBudgetOnlyAtDepthZerocallsDeriverTest::testRunReadsTheGoalsAfterRunningEachArrivalForwardcallsDeriverTest::testScopeOfAClosureNamesTheEnclosingBodycallsDeriverTest::testScopeOfNamesTheFileTheBodyAndTheClassOfAPointcallsDeriverTest::testSolveAtExitsDoesNotHandBackWhatItFoundOnceTheBudgetRanOutcallsDeriverTest::testSolveAtExitsEvaluatesTheGoalsInTheScopeOfTheBodycallsDeriverTest::testSolveAtExitsIsRememberedApartFromSolvingAtTheBodycallsDeriverTest::testSolveAtExitsReadsGoalsAtEveryReturnAndAtTheEndcallsDeriverTest::testSolveAtExitsRemembersWhatItFoundForTheSameBodyGoalsAndDepthcallsDeriverTest::testSolveAtExitsTakesACallOfTheBodyItselfAsRecursioncallsDeriverTest::testSolveAtExitsTellsBodiesGoalsAndDepthsApartcallsDeriverTest::testSolveEvaluatesTheGoalsInTheScopeOfTheBodyThePointIsIncallsDeriverTest::testSolveForgetsWhatItFoundOnceTheBudgetRanOutcallsDeriverTest::testSolveGivesOneSolutionPerBranchWithCorrelatedValuescallsDeriverTest::testSolveKeepsTheRunsOfEveryWayInApartWhileTheBudgetAffordsThemcallsDeriverTest::testSolveLeavesAParameterNothingPassesOpenAsAParametercallsDeriverTest::testSolveLeavesAParameterOpenForTheBudgetOnceTheCallsAreTooDeepcallsDeriverTest::testSolveMarksEverySolutionTruncatedWhenCallsWereLeftOutcallsDeriverTest::testSolveMarksTheWaysInJoinedForWantOfBudgetAsCombinedcallsDeriverTest::testSolveReadsAParameterAtEveryCallOfItsBodycallsDeriverTest::testSolveReadsWhatTheGoalsNeedWithTheNamesItWasGivencallsDeriverTest::testSolveRemembersWhatItFoundForTheSamePointGoalsAndDepthcallsDeriverTest::testSolveSharesTheRunsTheBudgetAffordsAmongTheWaysIncallsDeriverTest::testSolveTakesACallOfTheBodyThePointIsInAsRecursioncallsDeriverTest::testSolveTellsPointsGoalsAndDepthsApartcallsDeriverTest::testSolveUnlessSpentGivesNothingOnceTheBudgetIsSpentcallsDeriverTest::testSolveUnlessSpentSolvesWhileTheBudgetLastscallsEntryBinderTest::testArgumentsForFindsTheArgumentPassedForEachParametercallsEntryBinderTest::testBindingsBindEachPropertyOfThisToEveryValueTheClassLeavesItcallsEntryBinderTest::testBindingsLeaveThePropertiesAloneWhereThereIsNoObjectcallsEntryBinderTest::testBindingsLeaveThePropertiesAloneWithoutAReaderOfPropertyWritescallsEntryBinderTest::testBindingsLeaveThePropertiesOpenOnAPathTheBudgetStoppedcallsEntryBinderTest::testDefaultOfIsWhatAParameterHoldsWhenACallLeavesItOutcallsEntryBinderTest::testEvaluateConstantReadsConstantsOfTheClassGivencallsEntryBinderTest::testFromCallersAsksNoMoreThanTheCallerLimitcallsEntryBinderTest::testFromCallersBindsEachArgumentAndFillsInWhatACallLeavesOutcallsEntryBinderTest::testFromCallersCarriesWhetherTheCallerPairedValuesWorkedOutApartcallsEntryBinderTest::testFromCallersCarriesWhetherTheCallerWasCutShortcallsEntryBinderTest::testFromCallersMarksEveryWayInCutShortWhenTheCallersArePartialcallsEntryBinderTest::testFromCallersMarksTheWaysInFoundBeforeTheBudgetRanOutAsCutShortcallsEntryBinderTest::testFromCallersStopsOnceTheBudgetIsSpentcallsEntryBinderTest::testParameterBindingsBindMethodParametersFromCallsOnInstancesOfTheClasscallsEntryBinderTest::testParameterBindingsBlameTheBudgetWhenLookingForCallersSpentItcallsEntryBinderTest::testParameterBindingsFollowEveryCallerOfTheBodycallsEntryBinderTest::testParameterBindingsLeaveAParameterNothingCallsOpencallsEntryBinderTest::testParameterBindingsLeaveAParameterOpenOnceTheBudgetIsSpentcallsEntryBinderTest::testParameterBindingsLeaveEverythingOpenOnAPathTheBudgetStoppedcallsEntryBinderTest::testParameterBindingsLeaveTheParameterOpenAndCutShortWhenNoCallCanBeConfirmedcallsEntryBinderTest::testParameterBindingsLeaveTheParameterOpenWithoutCuttingShortWhenNothingCallsItcallsEntryBinderTest::testParameterBindingsMarkUndefinedLocalsAbsentWithoutAskingCallerscallsEntryBinderTest::testParameterBindingsReadWhatTheTopOfAFileIsDeclaredToHoldcallsEntryBinderTest::testParameterBindingsStopAtTheDepthLimitcallsEntryBinderTest::testParametersOfAreTheNeededParametersWithTheirPositionscallsEntryBinderTest::testParameterValuesReadWhatEveryCallerPassescallsEntryBinderTest::testWithParametersLeavesEveryParameterOpenForTheReasonGivencallsFreeNamesTest::testArrowFunctionLeavesOutItsOwnParameterscallsFreeNamesTest::testReadNamesWhatTheValueDependsOncallsFreeNamesTest::testSinkCallReadsOnlyWhatTheResultDependsOncallsModifiedNamesTest::testCollectWorksTheAnswerOutFromScratchcallsModifiedNamesTest::testOfNamesEverythingAStatementMayAssigncallsModifiedNamesTest::testOwnLeavesOutWhatTheChildrenAssigncallsModifiedNamesTest::testTouchesSaysWhetherAStatementAssignsAnyWantedNamecallsCallbackEffectsTest::testApplyRunsClosureEffectsThroughCapturedAliasesOfItsReceivercallsObjectEffectsTest::testAssignmentsExcludesNestedFunctionsAndClassescallsObjectEffectsTest::testGraphDoesNotTreatClonesAsAliasescallsObjectEffectsTest::testOwnerStopsAtTheEnclosingFunctioncallsObjectEffectsTest::testWritesFollowsAliasesStoredInArraysInsideFunctionScopescallsObjectEffectsTest::testWritesIncludesFileScopeAliasesWithoutCrossingIntoFunctionscallsPropertyWritesTest::testDefaultOfIsTheNearestDeclaredDefaultcallsPropertyWritesTest::testPromotionsAreTheConstructorsPromotingAParameterOfThatNamecallsPropertyWritesTest::testValuesOfCollectsWhatEveryWriterLeavescallsPropertyWritesTest::testValuesOfReadsThePropertyAgainOnceTheFirstReadingIsDonecallsPropertyWritesTest::testValuesOfSkipsTheWritersOnceTheBudgetIsSpentcallsPropertyWritesTest::testWritersOfFindsTheMethodsOfTheClassAndItsAncestorsThatWriteThePropertycallsPropertyWritesTest::testWritesSeesOnlyAssignmentsToThePropertyOfThiscallsAssignmentStepsTest::testDeclarationDefinesWhatAGlobalListsButKeepsLookingPastAnUnsetcallsAssignmentStepsTest::testOverWalksBackOverTheLastAssignmentFirstcallsAssignmentStepsTest::testWithinKeepsConditionalWritesTogethercallsAssignmentStepsTest::testWithinLeavesOutWhatAClosureAssignscallsBackwardSlicerTest::testArriveNamesTheNamedBodyAClosureIsWrittenIncallsBackwardSlicerTest::testBeforeWalksBackOverTheStatementsAheadOfOnecallsBackwardSlicerTest::testLeaveCarriesAFinallyBlockOverItsTryBlockcallsBackwardSlicerTest::testLeaveCarriesPathsOutOfTheirOwnercallsBackwardSlicerTest::testLeaveClosureTakesOnlyTheUseListFromOutsidecallsBackwardSlicerTest::testOutsideIsWhatAClosureTakesFromWhereItIsWrittencallsBackwardSlicerTest::testOverStopsAPathOnceTheBudgetIsSpentcallsBackwardSlicerTest::testOverWalksDeclarationsBlocksLoopsAndConditionAssignmentscallsBackwardSlicerTest::testOwningStatementIsTheStatementAnArmBelongsTocallsBackwardSlicerTest::testSliceFromAnArrowFunctionTakesWhatItCapturesFromWhereItIsWrittencallsBackwardSlicerTest::testSliceFromEndWalksBackFromTheEndOfABodycallsBackwardSlicerTest::testSliceFromKeepsWhatTheCallDependsOnInTheOrderItRunscallsBackwardSlicerTest::testWalkArmsWalksEachArmFromItsEndcallsBackwardSlicerTest::testWalkListStopsOnceEveryPathIsDonecallsBranchArmsTest::testCompletesSaysWhetherTheNextStatementCanRuncallsBranchArmsTest::testIfArmsIncludeTheArmTakenWhenNoConditionHoldscallsBranchArmsTest::testOfKeepsEveryArmWhenNoneFallsThroughcallsBranchArmsTest::testOfKeepsOnlyTheArmsThatFallThroughcallsBranchArmsTest::testSwitchArmsDropTheirBreakAndAddTheArmTakenWhenNoCaseMatchescallsBranchArmsTest::testSwitchArmsWithADefaultHaveNoEmptyArmcallsBranchArmsTest::testTryArmsFollowEachWayOutWithTheFinallyBlockcallsLoopPassesTest::testBindingIsAStepOnlyForAPathThatNeedsTheLoopsVariablescallsLoopPassesTest::testBodyOfIsWhatALoopRepeatscallsLoopPassesTest::testBoundSaysWhetherAPathTookOneOfTheLoopsPassescallsLoopPassesTest::testContinuesSaysWhetherAnotherPassCouldChangeWhatIsNeededcallsLoopPassesTest::testEnteringReadsWhatALoopGoesOverBeforeItsFirstPasscallsLoopPassesTest::testIsLoopRecognisesEveryKindOfLoopcallsLoopPassesTest::testLeaveBodyFollowsAPointInsideALoopBackThroughEarlierPassescallsLoopPassesTest::testPassWalksBackOverOneWholePasscallsLoopPassesTest::testRunsListTheStatementAfterEachNumberOfPassesUpToTheLimitcallsLoopPassesTest::testRunsOfADoWhileAlwaysIncludeAPasscallsLoopPassesTest::testRunsStopOnceAPassCannotChangeWhatIsNeededcallsLoopPassesTest::testRunsTakeExactlyAsManyPassesAsAWrittenOutArrayHasElementscallsLoopPassesTest::testWrittenPassesCountsOnlyAnArrayWrittenOutInFullcallsSliceExecutorTest::testAbandonLeavesOpenEveryNameTheStepsLeftWritecallsSliceExecutorTest::testApplyAssignsAnExpressionAndSplitsOnWhatItWrotecallsSliceExecutorTest::testApplyBindsADeclarationcallsSliceExecutorTest::testApplyEntersAClosureWithoutEvaluatingAnythingcallsSliceExecutorTest::testApplyEntersAnArrowFunctioncallsSliceExecutorTest::testApplyGoesOnFromThePassAForeachReachedOverWhatItFirstReadcallsSliceExecutorTest::testApplyLeavesAnyOtherStatementAsItFoundItcallsSliceExecutorTest::testApplyRunsEveryAlternativeFromItsOwnCopycallsSliceExecutorTest::testApplySplitsAForeachPastItsElementsWithinTheLimitcallsSliceExecutorTest::testApplyStartsAForeachByReadingWhatItGoesOvercallsSliceExecutorTest::testAssignOnceTheBudgetIsSpentcallsSliceExecutorTest::testAssignQuotesWhatItCouldNotFollowcallsSliceExecutorTest::testAssignRunsEveryKindOfAssignmentcallsSliceExecutorTest::testDeclareGlobalTakesTheClassTheNameIsKnownToHoldcallsSliceExecutorTest::testDeclareStaticNeverTakesAClasscallsSliceExecutorTest::testDeclareUnsetClearsOnlyThePlainVariablesItNamescallsSliceExecutorTest::testEnterClosureBindsParametersAndMarksOtherLocalsAbsentcallsSliceExecutorTest::testEnterClosureOfAnArrowFunctionReadsItsParameterTypescallsSliceExecutorTest::testIterateBindsTheValueAndKeyOfOnePasscallsSliceExecutorTest::testIterateOverAnythingElseQuotesTheIteratedKeyAndValuecallsSliceExecutorTest::testIterateWithoutAKeyBindsOnlyTheValuecallsSliceExecutorTest::testRunAbandonsTheStepsLeftOnceTheSearchBudgetIsExhaustedcallsSliceExecutorTest::testRunDropsRunsThatEndUpTheSamecallsSliceExecutorTest::testRunJoinsTheRunsPastTheLimitcallsSliceExecutorTest::testRunSizesTheLimitFromTheBudgetWhenNoneIsGivencallsSliceExecutorTest::testRunSplitsOnATernarySoLaterReadsAgreecallsSliceExecutorTest::testRunWhenClosingReadsOnPastTheSearchBudgetcallsSliceExecutorTest::testRunWhenClosingStopsOnceTheReadingBudgetIsSpentcallsSliceExecutorTest::testRunWithALimitOfOneKeepsTheValuesTogethercallsSliceExecutorTest::testWrittenByAClosureNamesWhatItDefinesForItselfcallsSliceExecutorTest::testWrittenByAForeachNamesItsValueAndItsKeycallsSliceExecutorTest::testWrittenByANodeNamesWhatItAssignsThenTheNamesItListscallsSliceExecutorTest::testWrittenByAStepOfAlternativesNamesWhatEveryAlternativeWritescallsSourceTreeTest::testAnchorOfIsTheStatementANodeIsPartOfcallsSourceTreeTest::testAnchorOfStopsAtAnArrowFunctionWithNoStatementscallsSourceTreeTest::testBodyOfIsTheFunctionANodeIsWrittenIncallsSourceTreeTest::testFileOfNamesTheFileANodeIsWrittenIncallsSourceTreeTest::testIsListedLeavesOutTheArmsOfABranchcallsSourceTreeTest::testListOfReadsTheStatementsEveryKindOfOwnerRunscallsSourceTreeTest::testLocateFindsANestedStatementInTheListThatHoldsItcallsSourceTreeTest::testLocateFindsATopLevelStatementInItsFilecallsReferenceEffectsTest::testAffectedFindsAliasesAcrossStatementsAndCachesTheBodycallsReferenceEffectsTest::testAffectedSharesReferencesAcrossFileScopeSiblingscallsReferenceEffectsTest::testCollectIncludesEscapedCapturesButNotNestedBodiescallsReferenceEffectsTest::testCollectLeavesByValueCapturesAndNestedFunctionsIndependentcallsReferenceEffectsTest::testCollectRetainsByReferenceCapturesInsideTheClosureBodycallsWriteEffectsTest::testArgumentsRetainsWritableArgumentsOnlycallsWriteEffectsTest::testArgumentsUsesReferenceDeclarationsAndNamedArgumentscallsWriteEffectsTest::testAssignmentInvalidatesAliasValuesBeforeWritingTheTargetcallsWriteEffectsTest::testDynamicTargetFindsNestedVariableVariablescallsWriteEffectsTest::testOwnRecognizesUnmodelledWritescallsExpressionEvaluatorTest::testEvaluatecallsExpressionEvaluatorTest::testEvaluateAppendIsCalledWithTheExpressionItselfcallsExpressionEvaluatorTest::testEvaluateAppendStartsFromWhatTheVariableAlreadyHoldscallsExpressionEvaluatorTest::testEvaluateAssignIsCalledWithTheExpressionItselfcallsExpressionEvaluatorTest::testEvaluateAssignWritesIntoTheEnvironmentcallsExpressionEvaluatorTest::testEvaluateCastEndsTheTrailBackToExternalInputcallsExpressionEvaluatorTest::testEvaluateInterpolationIsCalledWithTheExpressionItselfcallsExpressionEvaluatorTest::testEvaluateInterpolationJoinsLiteralPartsAndExpressionscallsExpressionEvaluatorTest::testEvaluateIssetDoesNotEvaluatePredicatescallsExpressionEvaluatorTest::testEvaluateIssetKeepsIntermediateOperandWritescallsExpressionEvaluatorTest::testEvaluateIssetKeepsPossibleOperandEffectscallsExpressionEvaluatorTest::testEvaluateMatchRetainsEarlierConditionEffectsForLaterArmscallsExpressionEvaluatorTest::testEvaluateMatchSeesAssignmentsInTheSubjectAndInTheConditionscallsExpressionEvaluatorTest::testEvaluateOfAMatchKeepsEveryArmcallsExpressionEvaluatorTest::testEvaluateOfAnAppendingAssignmentExtendsTheVariablecallsExpressionEvaluatorTest::testEvaluateOfAnInterpolatedStringJoinsItsPartscallsExpressionEvaluatorTest::testEvaluateOfATernaryKeepsBothBranchescallsExpressionEvaluatorTest::testEvaluateOperandsEvaluatesEveryOperandInPlacecallsExpressionEvaluatorTest::testEvaluateOperatorOfACoalesceKeepsBothSidescallsExpressionEvaluatorTest::testEvaluateOptionalRightKeepsTheUnwrittenAlternativecallsExpressionEvaluatorTest::testEvaluateResultSeesAnAssignmentWrittenInsideTheOperandcallsExpressionEvaluatorTest::testEvaluateSeesAnAssignmentWrittenInsideAnOperatorItDoesNotModelcallsExpressionEvaluatorTest::testEvaluateTernaryHandlesTheShortFormcallsExpressionEvaluatorTest::testEvaluateTernaryIsCalledWithTheExpressionItselfcallsExpressionEvaluatorTest::testEvaluateTernaryKeepsBothBranchesEvenForKnownConditionscallsExpressionEvaluatorTest::testEvaluateTraversesIncludeEffectsBeforeReadingAnotherOperandcallsInterpreterTest::testAnalyzeBindsWhatAnExecuteBindsToTheStatementItsHandleCameFromcallsInterpreterTest::testAnalyzeBindsWhatANullsafeExecuteBindscallsInterpreterTest::testAnalyzeBindsWhatAQueryCallCarriesAlongsideItsStatementcallsInterpreterTest::testAnalyzeGivesEveryCallTheWholeBudgetcallsInterpreterTest::testAnalyzeKeepsWhatEveryCallBindscallsInterpreterTest::testAnalyzeReadsEveryStatementFromTheCallThatIssuesItcallsInterpreterTest::testAnalyzeRecordsNothingAtACallThatOnlyComposesAStatementcallsInterpreterTest::testAnalyzeSpendsNoMoreThanTheBudgetItIsGivencallsInterpreterTest::testAnalyzeWithATinyBudgetStillReportsTheCallcallsInterpreterTest::testArgumentsOfListsTheExpressionsACallPassescallsInterpreterTest::testDeriverForWiresADeriverOverTheFilescallsInterpreterTest::testEvaluatorForWiresAnEvaluatorOverTheFilescallsInterpreterTest::testReceiverOfJoinsEveryWayTheReceiverCanBecallsInterpreterTest::testReceiverOfWorksOutWhatAMethodIsCalledOncallsInterpreterTest::testRecordStatementsFilesTheStatementsOfEveryReadingUnderThePreparedHandlecallsInterpreterTest::testRecordStatementsMarksAStatementCombinedWhenEitherTheTextOrTheReadingIscallsInterpreterTest::testRecordStatementsRecordsACallNothingCouldBeReadFromAsUnreadcallsInterpreterTest::testRecordStatementsSkipsAReadingWithoutTheStatementcallsInterpreterTest::testRecordUnmatchedFilesTheCallUnderItsOwnSinkcallsInterpreterTest::testRecordUnmatchedKeysTheCallByItsFileAndOffsetcallsInterpreterTest::testSinkOfReadsANullsafeCallAndAFunctionCallcallsInterpreterTest::testSinkOfResolvesAStaticCallOnTheEnclosingClasscallsInterpreterTest::testSinkOfTellsADatabaseCallFromAnotherCallOfTheSameNamecallsInterpreterTest::testUnidentifiedCoversANullsafeCallButNotAFunctionCallcallsInterpreterTest::testUnidentifiedIsTrueOnlyForATextCarryingCallOnSomethingUnknowncallsInterpreterTest::testUnreadQuotesTheCallInItsOnlyGapcallsInterpreterTest::testVisitHandsBackNothingForABindingCallWrittenWithoutAReceivercallsInterpreterTest::testVisitHandsBackWhatAnExecuteBindscallsInterpreterTest::testVisitRecordsAStatementAndHandsBackNothingToBindLatercallsInterpreterTest::testVisitRecordsNothingForACallWithoutItsStatementcallsInterpreterTest::testVisitRecordsNothingForADatabaseCallThatTakesNoStatementcallsModelQueriesTest::testSolveKeepsCompilerFlagsAndMultipleOutputscallsReferenceEvaluatorTest::testAssignWritesIntoAnArrayHeldByAVariablecallsReferenceEvaluatorTest::testEvaluatecallsReferenceEvaluatorTest::testReadArrayIsCalledWithTheExpressionItselfcallsReferenceEvaluatorTest::testReadArrayMarksAnUnpackedLiteralIncompletecallsReferenceEvaluatorTest::testReadElementFallsBackToTheOriginOfTheArraycallsReferenceEvaluatorTest::testReadElementIsCalledWithTheExpressionItselfcallsReferenceEvaluatorTest::testReadElementLeavesAGapForAnElementTheArrayDoesNotHoldcallsReferenceEvaluatorTest::testReadElementUnderAKeyThatDidNotResolveQuotesTheGapOfAnArrayKnownOnlyInPartcallsReferenceEvaluatorTest::testReadElementUnderAKeyThatDidNotResolveReadsEveryElementcallsReferenceEvaluatorTest::testReadEnumPropertyNarrowsToOneCaseWhenTheCaseIsKnowncallsReferenceEvaluatorTest::testReadEnumPropertyOnlyAnswersForAnEnumcallsReferenceEvaluatorTest::testReadEnumPropertyReadsCaseNamescallsReferenceEvaluatorTest::testReadEnumPropertyReadsTheCaseTheValueIscallsReferenceEvaluatorTest::testReadInstanceResolvesStaticToTheEnclosingClasscallsReferenceEvaluatorTest::testReadPropertyFallsBackToTheDeclaredTypecallsReferenceEvaluatorTest::testReadPropertyFallsBackToTheDeclaredTypeOfAStaticPropertyTheClassAssignscallsReferenceEvaluatorTest::testReadPropertyIsCalledWithTheExpressionItselfcallsReferenceEvaluatorTest::testReadPropertyPrefersWhatTheBodyAssignedEarliercallsReferenceEvaluatorTest::testReadPropertyReadsTheSettledDefaultOfAStaticPropertycallsSinkFinderTest::testEnclosingBodyFindsTheFunctionACallIsWrittenIncallsSinkFinderTest::testFindAllCollectsEveryDatabaseCallButTheOnesThatComposeAStatementcallsSinkFinderTest::testFindAllFindsNothingWhenEverySinkComposesAStatementcallsSinkFinderTest::testFindAllTakesInTheCallsThatOnlyBindValuescallsSinkFinderTest::testFindCollectsTheCallsWrittenLikeDatabaseCallscallsSinkFinderTest::testFindIgnoresACallWrittenWithoutANamecallsSinkFinderTest::testFindInLooksAtTheNodesItIsGivencallsSinkFinderTest::testNameOfReadsEveryFormOfCallcallsSinkMatcherTest::testClassMatchesFollowsInheritanceDeclaredInTheAnalyzedSourcecallsDeclaredGlobalsTest::testClassOfIsSilentWhenNothingSaysWhatTheGlobalHoldscallsDeclaredGlobalsTest::testClassOfNamesAGlobalAnExtensionDeclarescallsDeclaredGlobalsTest::testCommentsClimbToTheDeclarationTheGlobalIsWrittenIncallsDeclaredGlobalsTest::testDocumentedIsSilentWhenNoTagNamesTheVariablecallsDeclaredGlobalsTest::testDocumentedReadsTheTagOnTheEnclosingDeclarationcallsProgramIndexBuilderTest::testBuildIndexesClassesFunctionsAndConstantscallsProgramIndexBuilderTest::testReadAssignedPropertiesFindsWritesInTheClassBodycallsProgramIndexBuilderTest::testReadClassCollectsConstantsPropertiesAndMethodscallsProgramIndexBuilderTest::testReadClassIsNullForAnAnonymousClasscallsProgramIndexBuilderTest::testReadClassRecordsEnumCasescallsProgramIndexBuilderTest::testReadConstantsCollectsEveryDeclarationcallsProgramIndexBuilderTest::testReadEnumCasesKeepsACaseWithoutABackingValuecallsProgramIndexBuilderTest::testReadMembersReadsTheWholeClassBodyInOnePasscallsProgramIndexBuilderTest::testReadMethodRecordsTheSignaturecallsProgramIndexBuilderTest::testReadParametersSkipsParametersWithoutAPlainNamecallsProgramIndexBuilderTest::testReadParentNamesCollectsExtendedInterfacescallsProgramIndexBuilderTest::testReadParentNamesCollectsImplementedInterfacescallsProgramIndexBuilderTest::testReadPromotedPropertiesOnlyLooksAtTheConstructorcallsProgramIndexBuilderTest::testReadTraitNamesCollectsUsedTraitscallsProgramIndexTest::testFindClassConstantFollowsTheParentClasscallsProgramIndexTest::testFindMethodFollowsTheParentClasscallsProgramIndexTest::testFindPropertyTypeFollowsTheParentClasscallsProgramIndexTest::testImplementationsOfCollectsTheConcreteBodiescallsProgramIndexTest::testIsInstanceOfFollowsParentsAndInterfacescallsProgramIndexTest::testLineageVisitsEachDeclarationOncecallsBuilderQueriesTest::testStatementsCompilesReceiverAndBindingsDerivedFromTheSameBranchcallsCallbackModelTest::testApplyRunsSourceDeclaredLocalScopescallsCallbackModelTest::testConditionalKeepsBothOutcomesOfWhenAndUnlesscallsCallModelTestcallsModelMetadataTest::testConstantReadsOnlyLiteralDefaultscallsModelMetadataTest::testGuardDefaultsRejectsUnknownMetadataAndImplicitEagerLoadscallsModelMetadataTest::testGuardExplainsTheSpecificUnmodelledModelEffectcallsModelMetadataTest::testGuardLeavesHooksTraitsAndMutableMetadataOpencallsModelMetadataTest::testPropertyPrefersTheNearestDeclarationcallsModelMetadataTest::testRecognizesFrameworkAuthenticationModelsWithoutLoadingVendorCodecallsModelMetadataTest::testStateKeepsStandardEmptyDefaultsAndFactoryTraitsClosedcallsModelMetadataTest::testStateReadsInheritedTableKeyAndSoftDeletescallsModelMetadataTest::testStateRejectsCustomizingAttributesAndUnknownTableConventionscallsAnalyzerTest::testEntriesOfIsCalledWithTheParsedFilescallsJsonReporterTestcallsTextReporterTestcalls