classCallSite
final class CallSite
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.
Where in the analyzed source a statement is issued.
Constants§
public const UNMATCHED = 'unmatched'The sink reported for a database call whose receiver could not be identified.
Properties§
public string $filepublic int $linepublic string $functionpublic string $sinkMethods§
public function __construct(
public string $file,
public int $line,
public string $function,
public string $sink,
)Parameters
$file | string | The path the statement was found in, relative to the analysis root |
$line | int | The line the call is written on |
$function | string | The enclosing function, as `Class::method`, `function` or `{main}` |
$sink | string | The identifier of the database call that was matched |
public function display(): stringThe site written the way an editor jumps to it.
Returns
stringTest cases 1
Test cases 252§
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 250
CatalogCommandTestcallsCallEvaluatorTestcallsEntryFactoryTest::testBindPlaceholdersLeavesAPlaceholderNothingWasBoundToEmptycallsEntryFactoryTest::testBindPlaceholdersLinesValuesUpByNamecallsEntryFactoryTest::testBindPlaceholdersLinesValuesUpByPositioncallsEntryFactoryTest::testBindPlaceholdersPrefersAValueBoundUnderTheNumberAsANamecallsEntryFactoryTest::testBindPlaceholdersReadsANumberedPlaceholderByPositioncallsEntryFactoryTest::testBuildGivesTwoIndistinguishableStatementsDistinctIdentifierscallsEntryFactoryTest::testBuildKeepsAnUndeterminedReadingBesideAResolvedOnecallsEntryFactoryTest::testBuildKeepsBothReadingsOfTheSameCallcallsEntryFactoryTest::testBuildNamesALoneStatementAsItsOwnReadingWouldcallsEntryFactoryTest::testBuildNumbersEachFurtherTwinOnceMorecallsEntryFactoryTest::testBuildOneCarriesTheCallsThatWereFollowedcallsEntryFactoryTest::testBuildOneReadsTheStatementKindTheCallImpliescallsEntryFactoryTest::testBuildOneRecordsWhetherTheAlternativesAreOnesTheCodeCanReachcallsEntryFactoryTest::testBuildOneReportsAStatementBoundWithTheWrongNumberOfValuescallsEntryFactoryTest::testBuildReportsAStatementBoundWithTheWrongNumberOfValuescallsEntryFactoryTest::testBuildSharesSearchCompletionAcrossEveryCandidatecallsEntryFactoryTest::testBuildTurnsRecordsIntoEntriescallsEntryFactoryTest::testCountMismatchCountsValuesBoundByPositionAndByNamecallsEntryFactoryTest::testCountMismatchReportsAStatementBoundWithTheWrongNumberOfValuescallsEntryFactoryTest::testCountMismatchStaysQuietWhenNothingWasBoundcallsEntryFactoryTest::testCountMismatchStaysQuietWhenTheCallSiteHasAlternativescallsEntryFactoryTest::testCountMismatchStaysQuietWhenTheCountsAgreecallsEntryFactoryTest::testFindingsAreEmptyForAResolvedStatementcallsEntryFactoryTest::testFindingsNeverCallAFullyResolvedStatementUnresolvedcallsEntryFactoryTest::testFindingsReportACallNotAnalyzedWithoutClaimingALimitCutItShortcallsEntryFactoryTest::testFindingsReportADynamicStatementcallsEntryFactoryTest::testFindingsReportAnIncompleteSearchOnceEvenWhenALimitAlsoCutItShortcallsEntryFactoryTest::testFindingsReportAReadingALimitCutShortAlongsideAWrongCountcallsEntryFactoryTest::testFindingsReportAStatementBoundWithTheWrongNumberOfValuescallsEntryFactoryTest::testFindingsReportAStatementThatDidNotResolveAtAllcallsEntryFactoryTest::testFindingsReportExternalInputcallsEntryFactoryTest::testFindingsReportExternalInputOnceHoweverManyValuesCarryItcallsEntryFactoryTest::testFindingsReportThatTheSearchDidNotClosecallsEntryFactoryTest::testGroupBySiteKeepsTheCallsApartcallsEntryFactoryTest::testMergeFoldsTwoReadingsOfTheSameStatementcallsEntryFactoryTest::testMergeKeepsTwoStatementsApartWhenTheirKeyAndTextRunTogethercallsEntryFactoryTest::testNotAnalyzedReasonSaysTheAnalysisStoppedBeforeReadingTheCallcallsEntryFactoryTest::testNotAnalyzedReasonSaysTheReceiverCouldNotBeIdentifiedcallsEntryFactoryTest::testRenumberKeepsEverythingButTheIdentifiercallsExpressionEvaluatorTestcallsInterpreterTest::testRecordUnmatchedFilesTheCallUnderItsOwnSinkcallsQueryRecordTest::testAbsorbPreservesCombinationUncertaintyInEitherOrdercallsQueryRecordTest::testAbsorbTakesOverValuesTheOtherReadingAloneHascallsQueryRecordTest::testAbsorbTakesTheUnionOfBothReadingscallsQueryRecordTest::testBindKeepsValuesByPositionAndByNamecallsQueryRecordTest::testBindOneWritesAPositionCountedFromOnecallsQueryRecordTest::testBindOneWritesUnderThePositionOrTheNamecallsQueryRecordTest::testIsBoundAfterAbsorbOnlyWhenEitherReadingWasBoundcallsQueryRecordTest::testIsBoundAfterASingleValueIsBoundcallsQueryRecordTest::testIsBoundOnlyAfterSomethingWasBoundcallsQueryRecordTest::testIsTruncatedIsFalseAndCombinedIsFalseUnlessToldOtherwisecallsQueryRecordTest::testIsTruncatedOnceEitherReadingWasCutShortcallsQueryRecordTest::testIsTruncatedOnlyWhenABoundCutTheSearchShortcallsQueryRecordTest::testNamedIsEmptyUntilSomethingIsBoundByNamecallsQueryRecordTest::testPositionalIsOrderedByPositioncallsQueryRecordTest::testPositionalKeepsAValueAtThePositionItWasBoundTocallsStatementRecorderTest::testFilePreparedFilesAStatementUnderItsHandlecallsStatementRecorderTest::testRecordKeepsAStatementUncombinedAndWholeUnlessToldOtherwisecallsStatementRecorderTest::testRecordKeepsTheStatementcallsValueBinderTest::testBindOneRecordAppendsAValueWhoseNameDidNotResolvecallsValueBinderTest::testBindOneRecordDoesNothingWhenTheCallBindsNothingcallsValueBinderTest::testBindOneRecordIgnoresAValuesArgumentThatDidNotResolvecallsValueBinderTest::testBindOneRecordLeavesAnArrayOfValuesThatDidNotResolveUnboundEvenWhenValuesCouldBeListedcallsValueBinderTest::testBindOneRecordNeedsBothTheNameAndTheValueOfASingleBindcallsValueBinderTest::testBindOneRecordReadsAnArrayOfValuescallsValueBinderTest::testBindOneRecordReadsOneNamedValuecallsValueBinderTest::testBindOneRecordReadsVariadicValuescallsValueBinderTest::testBindOneRecordReadsVariadicValuesWithoutAlsoReadingOneNamedValuecallsValueBinderTest::testBindValuesReachesEveryStatementcallsValueBinderTest::testOpenRecordsFindsTheStatementsAHandleStandsForcallsCatalogEntryTest::testFirstGapIsTheFirstOneOrNothingWhenThereIsNonecallsCatalogEntryTest::testHasFindingLooksForOneRulecallsCatalogEntryTest::testIsExactWhenNothingIsLeftOpencallsCatalogEntryTest::testPartsAreTheRunsAndGapsTheStatementIsKnownIncallsCatalogEntryTest::testResolutionReadsHowFarTheAnalyzerGotcallsCatalogEntryTest::testSearchClosedOnlyWhenTheResolutionIsClosedAndNoBoundCutItShortcallsCatalogEntryTest::testSeverityIsInformationalWithoutFindingscallsCatalogEntryTest::testSeverityIsTheHighestOfTheFindingscallsCatalogEntryTest::testSqlWritesThePatternWithItsGapscallsCatalogEntryTest::testTheAlternativesAreMarkedAsReachableOrNotcallsCatalogTest::testEntriesAreReturnedInTheOrderTheyWereGivencallsCatalogTest::testFilterKeepsOnlyWhatTheTestAcceptscallsCatalogTest::testFindLooksUpAStatementByItsIdentifiercallsCatalogTest::testGetIteratorWalksTheStatementscallsCatalogTest::testSortedOrdersByWhereTheStatementIsIssuedcallsEntryIdentityTest::testComputeIgnoresTheLineNumbercallsEntryIdentityTest::testComputeIsAsLongAsItSaysItIscallsEntryIdentityTest::testComputeIsStableForTheSameStatementcallsEntryIdentityTest::testComputeSeparatesDifferentStatementsAndSitescallsEntryIdentityTest::testComputeSeparatesStatementsItCannotOtherwiseTellApartcallsCatalogFilterTest::testApplyKeepsEverythingWhenTheFilterIsEmptycallsCatalogFilterTest::testApplyKeepsOnlyTheMatchingStatementscallsCatalogFilterTest::testMatchesFunctionAcceptsTheShortNameOrTheQualifiedOnecallsCatalogFilterTest::testMatchesFunctionHandlesAFreeFunctioncallsCatalogFilterTest::testMatchesFunctionIgnoresALeadingBackslashOnEitherSidecallsCatalogFilterTest::testMatchesKindComparesTheStatementKindcallsCatalogFilterTest::testMatchesNamespaceComparesThePrefixOfTheEnclosingFunctioncallsCatalogFilterTest::testMatchesNamespaceIgnoresALeadingBackslashOnEitherSidecallsCatalogFilterTest::testMatchesPathAcceptsADirectoryWrittenWithATrailingSlashcallsCatalogFilterTest::testMatchesPathAcceptsAPatternOrADirectorycallsCatalogFilterTest::testMatchesRequiresEveryGivenCriterioncallsCatalogFilterTest::testMatchesSeverityKeepsWhatIsAtLeastAsSeverecallsCatalogFilterTest::testMatchesSinkComparesTheCallIdentifiercallsCatalogFilterTest::testMatchesTableIgnoresCasecallsCallModelTestcallsAnalyzerTest::testACallOnSomethingThatCouldNotBeNamedIsReportedAsUnmatchedcallsAnalyzerTest::testAHandleReachedThroughAGlobalIsRecognisedWhenSomethingSaysWhatItIscallsAnalyzerTest::testSortRecordsIsCalledWithTheEntriescallsCatalogIndexTest::testAlongsideCountsTheTablesNamedWithOnecallsCatalogIndexTest::testByClassAndByNamespaceOrderNamesWithoutRegardToCasecallsCatalogIndexTest::testByClassGroupsMethodsUnderTheirClasscallsCatalogIndexTest::testByDirectoryGroupsFilesUnderTheirDirectorycallsCatalogIndexTest::testByFileIsInPathOrdercallsCatalogIndexTest::testByFunctionKeepsTheOrderFunctionsAreMetcallsCatalogIndexTest::testByNamespaceListsTheGlobalNamespaceFirstcallsCatalogIndexTest::testByRuleListsTheMostReportedRuleFirstcallsCatalogIndexTest::testByTableBreaksTiesByNamecallsCatalogIndexTest::testByTableListsTheMostNamedTableFirstcallsCatalogIndexTest::testEntriesAreInReportingOrdercallsCatalogIndexTest::testFunctionsOfCountsMostFirstcallsCatalogIndexTest::testHotspotsKeepCountingPastAStatementNothingWasReportedOncallsCatalogIndexTest::testHotspotsRankFunctionsByWhatWasReportedcallsCatalogIndexTest::testTablesOfCountsMostNamedFirstcallsCatalogIndexTest::testUsageCountsReadsWritesSchemaAndAttentioncallsCatalogIndexTest::testUsageOfCountsTruncateAsASchemaChangecallsCatalogIndexTest::testUsageOfTellsAReadFromAnotherStatementThatChangesNoRowcallsCatalogStatisticsTest::testAtLeastCountsTheStatementsWorthLookingAtcallsCatalogStatisticsTest::testByKindCountsTheKindsMostFirstcallsCatalogStatisticsTest::testByResolutionAccountsForEveryStatementUnderEveryResolutioncallsCatalogStatisticsTest::testByRuleCountsTheFindingsMostFirstcallsCatalogStatisticsTest::testFilesSayWhatWasFoundInEachOfThemcallsCatalogStatisticsTest::testFindingsCountsEveryFindingOfEveryStatementcallsCatalogStatisticsTest::testFlaggedListsTheReportedStatementsWorstFirstcallsCatalogStatisticsTest::testOpenCountsTheStatementsWhoseSearchDidNotClosecallsCatalogStatisticsTest::testResolvedCountsTheStatementsWithNoGapscallsCatalogStatisticsTest::testStatementsCountsWhatTheCatalogHoldscallsCatalogStatisticsTest::testTablesSayHowEachOneIsUsedcallsHtmlReporterTest::testClassPagesWriteOneDocumentPerClasscallsHtmlReporterTest::testFilePagesWriteOneDocumentPerFilecallsHtmlReporterTest::testRenderIncludesSourceForUnresolvedAndUnanalyzedCallsAndParseFailurescallsHtmlReporterTest::testRenderKeepsACallNoStatementWasReadFromApartFromAStatementcallsHtmlReporterTest::testRenderLinksEveryRouteToTheStatementsPagecallsHtmlReporterTest::testRenderWritesTheTrailToEveryPagecallsHtmlReporterTest::testRenderWritesTheWholeSiteOfPagescallsHtmlReporterTest::testStatementPagesWriteOneDocumentPerStatementcallsHtmlReporterTest::testTablePagesWriteOneDocumentPerTablecallsClassPageTest::testAnchorsNameTheTablesAndEveryMethodcallsClassPageTest::testContextListsTheMethodsAndTheClassesOfTheSameNamespacecallsClassPageTest::testMethodsAreInTheOrderTheyAreWrittencallsClassPageTest::testRenderIsWrittenExactlycallsClassPageTest::testRenderListsTheStatementsMethodByMethodcallsClassPageTest::testSectionsHeadEachMethodWithWhereItStartscallsFileIndexPageTest::testAnchorsNameEveryDirectorycallsFileIndexPageTest::testRenderIsWrittenExactlycallsFileIndexPageTest::testRenderListsFilesUnderTheirDirectoriescallsFileIndexPageTest::testRowCountsWhatWasFoundInTheFilecallsFileIndexPageTest::testSectionIsASortableTableOfTheDirectorysFilescallsFilePageTest::testAnchorsNameTheTablesAndEveryFunctioncallsFilePageTest::testContextListsTheFunctionsAndTheFilesOfTheSameDirectorycallsFilePageTest::testContextNamesTheRootDirectorycallsFilePageTest::testFunctionsAreInTheOrderTheyAreWrittencallsFilePageTest::testRenderIsWrittenExactlycallsFilePageTest::testRenderListsTheStatementsFunctionByFunctioncallsFilePageTest::testSectionsLeadFromAMethodToItsClasscallsFilePageTest::testTablesLinkToTheTablesNamedcallsFindingPageTest::testAnchorsNameTheHotspotsAndEveryRulecallsFindingPageTest::testHotspotsLinkEachFunctionAndAreSilentWhenNothingIsFlaggedcallsFindingPageTest::testRenderIsWrittenExactlycallsFindingPageTest::testRenderOpensWithWhereToLookAndThenListsEveryRulecallsNamespacePageTest::testAnchorsNameEveryNamespacecallsNamespacePageTest::testMembersListClassesBeforeFunctionscallsNamespacePageTest::testMembersOrderNamesWithoutRegardToCasecallsNamespacePageTest::testRenderIsWrittenExactlycallsNamespacePageTest::testRenderListsEveryNamespaceWithWhatIsDeclaredInItcallsNamespacePageTest::testSectionLeadsFromAClassToItsPageAndFromAFunctionToItsFilecallsOverviewPageTest::testAttentionListsRulesAndTheFunctionsFlaggedMostcallsOverviewPageTest::testCoverageLeadsFromEverySegmentToTheStatementsItCountscallsOverviewPageTest::testFactsLinkEachCountToItsRoutecallsOverviewPageTest::testFileRouteListsTheFilesWithTheMostStatementscallsOverviewPageTest::testKindRouteLeadsToTheListingNarrowedByKindcallsOverviewPageTest::testNamespaceRouteListsClassesOrFallsBackToFunctionscallsOverviewPageTest::testRenderIsWrittenExactlycallsOverviewPageTest::testRenderLaysOutEveryRouteToAStatementcallsOverviewPageTest::testTableRouteListsTheMostNamedTablesWithHowTheyAreUsedcallsStatementIndexPageTest::testRenderIsWrittenExactlycallsStatementIndexPageTest::testRenderListsEveryStatementUnderTheFacetsThatNarrowItcallsStatementPageTest::testBodyDoesNotDressUpACallNoStatementWasReadFromcallsStatementPageTest::testBodyLaysTheStatementOutAndKeepsTheSourceFormcallsStatementPageTest::testBodyUsesTheSameNamedGapInTheCopyableAndSourceBlockscallsStatementPageTest::testCaveatsWarnAboutWhatTheStatementDoesNotSaycallsStatementPageTest::testContextLeadsToEveryPlaceTheStatementBelongsToAndTheRestOfItsFunctioncallsStatementPageTest::testContextOfTopLevelCodeLeadsOnlyToItsFilecallsStatementPageTest::testFactsLinkTheTablesAndExplainTheReadingcallsStatementPageTest::testFindingsCarryTheirRuleAndSeveritycallsStatementPageTest::testRelatedListsTheFirstOfTheRestAndOnlyTheFirstTwoTablescallsStatementPageTest::testRelatedPointsAtTheRestWhenThereIsMoreThanItListscallsStatementPageTest::testRenderCarriesEverythingKnownAboutTheStatementcallsStatementPageTest::testRenderIsWrittenExactlycallsStatementPageTest::testRenderLeavesOutTheValuesWhenTheStatementTakesNonecallsStatementPageTest::testRenderOfACallNothingWasReadFromIsWrittenExactlycallsStatementPageTest::testRenderShowsUnanalyzedSourceBetweenTheCaveatAndStatementFactscallsStatementPageTest::testTitleNamesTheTablesOrSaysWhyThereAreNonecallsStatementPageTest::testValuesListTheBindParameterscallsStatementPageTest::testWhereLinksEveryPlaceAndNamesThePathTakencallsStatementPageTest::testWhereSaysNothingAboutThePathWhenTheStatementIsReadWhereItIsWrittencallsTableIndexPageTest::testRenderDoesNotGroupWhenNoTableIsQualifiedcallsTableIndexPageTest::testRenderGroupsTablesBySchemaWhenAnyIsQualifiedcallsTableIndexPageTest::testRenderIsWrittenExactlycallsTableIndexPageTest::testRowCountsHowTheTableIsUsedAndMarksAGapInItsNamecallsTablePageTest::testAlongsideIsSilentWhenTheTableIsNamedAlonecallsTablePageTest::testAnchorsFollowTheSectionsPresentcallsTablePageTest::testContextListsTheSectionsAndEveryOtherTablecallsTablePageTest::testGroupsListOnlyTheUsesPresentcallsTablePageTest::testRenderIsWrittenExactlycallsTablePageTest::testRenderSaysWhatUsesTheTableAndListsItsStatementsByWhatTheyDocallsTablePageTest::testUsedFromLinksEachFunctionAndSaysWhatItDoescallsPageShellTest::testRenderIsWrittenExactlycallsPageShellTest::testRoutesMarkTheRouteBeingReadAndCountWhatEachHoldscallsPageShellTest::testSidebarWritesTheRoutesAndThenWhatThePageIsLeftFromcallsReportSiteTest::testCatalogIsHeldInReportingOrdercallsReportSiteTest::testClassesAreInNameOrdercallsReportSiteTest::testClassPageFallsBackToTheListingForAnUnknownClasscallsReportSiteTest::testFilePageFallsBackToTheListingForAnUnknownFilecallsReportSiteTest::testFilesAreInPathOrdercallsReportSiteTest::testFunctionUrlLeadsToTheClassPageForAMethodAndTheFilePageOtherwisecallsReportSiteTest::testIndexGroupsTheCatalogcallsReportSiteTest::testStatisticsCountTheCatalogcallsReportSiteTest::testTablePageFallsBackToTheListingForAnUnknownTablecallsReportSiteTest::testTablesAreMostNamedFirstcallsSearchIndexTest::testEntryToArrayCarriesWhatTheSearchReadscallsSearchIndexTest::testEntryToArrayMakesTheVariableNameSearchablecallsSearchIndexTest::testRenderWritesTheIndexAsAScriptThePagesLoadcallsSourceCodeTest::testExcerptClipsAtTheStartAndEndOfTheFilecallsSourceCodeTest::testExcerptOmitsUnavailableSourceWithoutReadingTheFilesystemcallsSourceCodeTest::testExcerptShowsContextAndLinksToTheHighlightedCallInTheFullFilecallsSourceCodeTest::testFileIncludesAllLinesAndMarksEveryCallcallsStatementListTest::testFacetsIsWrittenExactlycallsStatementListTest::testFacetsOfferOnlyWhatWouldNarrowTheListingcallsStatementListTest::testRowsListEveryStatementAndSaySoWhenThereIsNonecallsStatementRowTest::testAttributesCarryEveryFactAListingIsNarrowedBycallsStatementRowTest::testAttributesNameARuleOnceHoweverOftenItWasReportedcallsStatementRowTest::testMetaNamesTheFunctionUnlessTheListingAlreadyDoescallsStatementRowTest::testMetaOmitsWhatTheListingAlreadyStatesAndShowsWhatIsNotOrdinarycallsStatementRowTest::testRenderLinksTheStatementAndWhereItIsIssuedRelativeToThePagecallsStatementRowTest::testSqlDisplaysThePhpVariableForAnUnknownStatementcallsStatementRowTest::testSqlDoesNotDressUpACallNoStatementWasReadFromcallsJsonReporterTestcallsTextReporterTest::testStatusLineWarnsWhenTheSearchDidNotClosecalls
Relations§
Instantiated in 2
Constant reads 2
Type declarations 4
- type SqlCatalog\Core\Analysis\QueryRecord packages/sql-catalog/src/Core/Analysis/QueryRecord.php:46
- type SqlCatalog\Core\Analysis\StatementRecorder packages/sql-catalog/src/Core/Analysis/StatementRecorder.php:42
- type SqlCatalog\Core\Catalog\CatalogEntry packages/sql-catalog/src/Core/Catalog/CatalogEntry.php:36
- type SqlCatalog\Core\Catalog\EntryIdentity packages/sql-catalog/src/Core/Catalog/EntryIdentity.php:36