classTextHole
final class TextHole
implements TextSegment
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.
A gap where a value the analyzer could not resolve is spliced into a string.
Properties§
public Origin $originpublic TypeShape $typepublic string|null $expression = nullpublic string|null $variable = nullMethods§
public function display(): stringThe marker standing in for the unresolved value.
Returns
stringTest cases 115§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 3
Other tests reaching this symbol 112
CatalogCommandTestcallsBuiltinCallModelTest::testFormatPatternCarriesAGapInTheFormatAndKeepsCountingArgumentsPastItcallsBuiltinCallModelTest::testSprintfFillsAPartlyKnownFormatcallsCallEvaluatorTestcallsConstantReaderTestcallsCalleeReturnsTestcallsDeriverTestcallsEntryBinderTestcallsCallbackEffectsTestcallsObjectEffectsTestcallsPropertyWritesTestcallsEntryFactoryTest::providerSearchClosurecallsEntryFactoryTest::testBuildGivesTwoIndistinguishableStatementsDistinctIdentifierscallsEntryFactoryTest::testBuildKeepsAnUndeterminedReadingBesideAResolvedOnecallsEntryFactoryTest::testBuildKeepsBothReadingsOfTheSameCallcallsEntryFactoryTest::testBuildNumbersEachFurtherTwinOnceMorecallsEntryFactoryTest::testFindingsReportACallNotAnalyzedWithoutClaimingALimitCutItShortcallsEntryFactoryTest::testFindingsReportADynamicStatementcallsEntryFactoryTest::testFindingsReportAnIncompleteSearchOnceEvenWhenALimitAlsoCutItShortcallsEntryFactoryTest::testFindingsReportAStatementThatDidNotResolveAtAllcallsEntryFactoryTest::testFindingsReportExternalInputcallsEntryFactoryTest::testFindingsReportExternalInputOnceHoweverManyValuesCarryItcallsEntryFactoryTest::testFindingsReportThatTheSearchDidNotClosecallsEntryFactoryTest::testNotAnalyzedReasonSaysTheAnalysisStoppedBeforeReadingTheCallcallsEntryFactoryTest::testNotAnalyzedReasonSaysTheReceiverCouldNotBeIdentifiedcallsExpressionEvaluatorTestcallsRegistryTestcallsInterpreterTestcallsModelQueriesTestcallsReferenceEvaluatorTestcallsValueBinderTestcallsCatalogEntryTest::providerSearchClosedcallsCatalogEntryTest::testFirstGapIsTheFirstOneOrNothingWhenThereIsNonecallsCatalogEntryTest::testPartsAreTheRunsAndGapsTheStatementIsKnownIncallsCatalogEntryTest::testResolutionReadsHowFarTheAnalyzerGotcallsCatalogEntryTest::testSqlWritesThePatternWithItsGapscallsResolutionTest::testOfcallsResolutionTest::testOfPrefersTheStoppedSearchOverTheInputItAlsoReachedcallsStatementPartTest::testOfKeepsTheRunsAndTheGapsInOrdercallsStatementPartTest::testOfKeepsWhatIsKnownAboutAGapcallsValueDomainTestcallsArrayTermTestcallsDomainTest::testAsTermKeepsAPatternThatStillHasGapscallsDomainTest::testWithVariablePreservesResolvedDomainsAndExistingFragmentNamescallsEnvironmentTestcallsObjectMemoryTestcallsObjectTermTestcallsOpaqueTermTestcallsPatternTermTest::testToPatternIsThePatternItselfcallsTermTestcallsPlaceholderScannerTest::testScanReadsThroughAGapWithoutBreakingTheStringAroundItcallsStatementKindReaderTest::testReadIsUnknownWhenAGapHidesTheLeadingKeywordcallsTableReaderTest::testReadDoesNotGuessAQuotedNameThatIsAllGapcallsTableReaderTest::testReadKeepsANameThatIsKnownInPartcallsTableReaderTest::testReadStopsAtAGapInsteadOfGuessingATablecallsTextGeneralizationTest::testAtomsSplitTextIntoCharactersAndKeepGapsWholecallsTextGeneralizationTest::testGapTypeIsAStringOnlyWhenBothSidesResolvedcallsTextGeneralizationTest::testMergeResolvedAnswersOnlyForTwoResolvedStringscallsTextGeneralizationTest::testSameAtomComparesGapsByOrigincallsTextPatternTest::testDisplayShowsGapsAsAMarkercallsTextPatternTest::testFromHoleHoldsOneGapcallsTextPatternTest::testHolesAreReturnedInSourceOrdercallsTextPatternTest::testIsExactOnlyWithoutGapscallsTextPatternTest::testRenderSubstitutesTheGivenStandIncallsTextPatternTest::testSignatureKeepsGapOriginsApartcallsTextPatternTest::testTextIsNullWhenAGapRemainscallsTextSegmentTest::testDisplayDistinguishesResolvedTextFromAGapcallsBuilderCallsTestcallsBuilderQueriesTestcallsCallbackModelTestcallsClausesTestcallsGrammarTestcallsModelMetadataTestcallsPredicatesTestcallsQueryStateTestcallsSelectCompilerTestcallsWriteCompilerTestcallsAnalyzerTestcallsCatalogStatisticsTest::testFilesSayWhatWasFoundInEachOfThemcallsCatalogStatisticsTest::testOpenCountsTheStatementsWhoseSearchDidNotClosecallsCatalogStatisticsTest::testResolvedCountsTheStatementsWithNoGapscallsHtmlReporterTest::testRenderIncludesSourceForUnresolvedAndUnanalyzedCallsAndParseFailurescallsHtmlReporterTest::testRenderKeepsACallNoStatementWasReadFromApartFromAStatementcallsClassPageTest::testRenderIsWrittenExactlycallsFileIndexPageTest::testRenderIsWrittenExactlycallsFilePageTest::testRenderIsWrittenExactlycallsFindingPageTest::testRenderIsWrittenExactlycallsNamespacePageTest::testRenderIsWrittenExactlycallsOverviewPageTest::testCoverageLeadsFromEverySegmentToTheStatementsItCountscallsOverviewPageTest::testRenderIsWrittenExactlycallsStatementIndexPageTest::testRenderIsWrittenExactlycallsStatementPageTest::testBodyDoesNotDressUpACallNoStatementWasReadFromcallsStatementPageTest::testBodyUsesTheSameNamedGapInTheCopyableAndSourceBlockscallsStatementPageTest::testCaveatsWarnAboutWhatTheStatementDoesNotSaycallsStatementPageTest::testFactsLinkTheTablesAndExplainTheReadingcallsStatementPageTest::testRenderIsWrittenExactlycallsStatementPageTest::testRenderOfACallNothingWasReadFromIsWrittenExactlycallsStatementPageTest::testRenderShowsUnanalyzedSourceBetweenTheCaveatAndStatementFactscallsStatementPageTest::testTitleNamesTheTablesOrSaysWhyThereAreNonecallsTableIndexPageTest::testRenderIsWrittenExactlycallsTablePageTest::testRenderIsWrittenExactlycallsPageShellTest::testRenderIsWrittenExactlycallsSearchIndexTest::testEntryToArrayMakesTheVariableNameSearchablecallsSqlHighlighterTest::testInlineWritesTheStatementOnOneLinecallsSqlHighlighterTest::testRenderMarksTheResolvedRunsAndTheGapsBetweenThemcallsStatementListTest::testFacetsIsWrittenExactlycallsStatementRowTest::testAttributesCarryEveryFactAListingIsNarrowedBycallsStatementRowTest::testMetaOmitsWhatTheListingAlreadyStatesAndShowsWhatIsNotOrdinarycallsStatementRowTest::testSqlDisplaysThePhpVariableForAnUnknownStatementcallsStatementRowTest::testSqlDoesNotDressUpACallNoStatementWasReadFromcallsJsonReporterTestcallsTextReporterTest::testStatusLineWarnsWhenTheSearchDidNotClosecalls
Relations§
Instantiated in 6
- new SqlCatalog\Core\Analysis\Interpreter::unread() packages/sql-catalog/src/Core/Analysis/Interpreter.php:371
- new SqlCatalog\Core\Evaluation\ArrayTerm::toPattern() packages/sql-catalog/src/Core/Evaluation/ArrayTerm.php:121
- new SqlCatalog\Core\Evaluation\ObjectTerm::toPattern() packages/sql-catalog/src/Core/Evaluation/ObjectTerm.php:48
- new SqlCatalog\Core\Evaluation\OpaqueTerm::toPattern() packages/sql-catalog/src/Core/Evaluation/OpaqueTerm.php:48
- new SqlCatalog\Core\Text\TextGeneralization::merge() packages/sql-catalog/src/Core/Text/TextGeneralization.php:50
- new SqlCatalog\Core\Text\TextGeneralization::mergeResolved() packages/sql-catalog/src/Core/Text/TextGeneralization.php:78
Constant reads 1
Type checks 8
- instanceof SqlCatalog\Core\Catalog\StatementPart::of() packages/sql-catalog/src/Core/Catalog/StatementPart.php:55
- instanceof SqlCatalog\Core\Text\TextGeneralization::atoms() packages/sql-catalog/src/Core/Text/TextGeneralization.php:119
- instanceof SqlCatalog\Core\Text\TextGeneralization::sameAtom() packages/sql-catalog/src/Core/Text/TextGeneralization.php:182
- instanceof SqlCatalog\Core\Text\TextGeneralization::sameAtom() packages/sql-catalog/src/Core/Text/TextGeneralization.php:183
- instanceof SqlCatalog\Core\Text\TextGeneralization::sameAtom() packages/sql-catalog/src/Core/Text/TextGeneralization.php:184
- instanceof SqlCatalog\Core\Text\TextGeneralization::rebuild() packages/sql-catalog/src/Core/Text/TextGeneralization.php:201
- instanceof SqlCatalog\Core\Text\TextPattern::holes() packages/sql-catalog/src/Core/Text/TextPattern.php:113
- instanceof SqlCatalog\Core\Text\TextPattern::render() packages/sql-catalog/src/Core/Text/TextPattern.php:140