classOpaqueTerm
final class OpaqueTerm
implements Term
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.
A value the analyzer knows only by its type and where it came from.
Properties§
public TypeShape $typepublic Origin $originpublic string|null $expression = nullpublic string|null $variable = nullMethods§
public static function unresolved(?string $expression = null): selfA value of unknown type from an unresolved expression.
Parameters
$expression | ?string |
Returns
selfTest cases 3
Called from 1
Calls 3
- new
selfline 39 - static-call TypeShape::unknown() line 39
- class-const Origin::Unresolved() line 39
public function toPattern(): TextPatternThe gap this value leaves in any string it is spliced into.
Returns
Test cases 1
Calls 2
- static-call TextPattern::fromHole() line 48
- new TextHole line 48
public function type(): TypeShapeThe static type recorded for the value.
Returns
Test cases 1
public function signature(): stringThe type and origin, which is all that distinguishes opaque values.
Returns
stringTest cases 1
Calls 1
- method-call TypeShape::display() line 66
Test cases 75§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 4
Other tests reaching this symbol 71
CatalogCommandTestcallsBuiltinCallModelTestcallsCallEvaluatorTestcallsConstantReaderTestcallsCalleeReturnsTest::testParametersLeavesAParameterNeitherPassedNorDefaultedOpencallsCalleeReturnsTest::testParametersLeavesAVariadicParameterOpenWhateverIsPassedcallsCalleeReturnsTest::testReadDoesNotRememberWhatAnExhaustedBudgetCutShortcallsCalleeReturnsTest::testValueOfLeavesAFunctionWithoutABodyAsACallItDidNotFollowcallsCalleeReturnsTest::testValueOfLeavesAnAbstractMethodAsACallItDidNotFollowcallsCalleeReturnsTest::testValueOfStopsAtACallAlreadyBeingFollowedcallsCalleeReturnsTest::testValueOfStopsAtTheDepthLimitAndFollowsJustBelowItcallsCalleeReturnsTest::testValueOfStopsOnceTheBudgetIsExhaustedcallsCallersTestcallsDeriverTestcallsEntryBinderTest::testDefaultOfIsWhatAParameterHoldsWhenACallLeavesItOutcallsEntryBinderTest::testFileScopeBindsTheGlobalsAnExtensionDeclarescallsEntryBinderTest::testLeaveOpenLeavesEveryNeededNameOpenForTheReasonGivencallsEntryBinderTest::testWithParametersLeavesEveryParameterOpenForTheReasonGivencallsCallbackEffectsTestcallsObjectEffectsTestcallsPropertyWritesTestcallsSliceExecutorTest::providerAssignOnceTheBudgetIsSpentcallsSliceExecutorTest::providerAssignQuotescallsSliceExecutorTest::testAbandonLeavesOpenEveryNameTheStepsLeftWritecallsSliceExecutorTest::testAnyElementOfAnArrayKnownOnlyInPartQuotesTheIteratedValuecallsSliceExecutorTest::testDeclareGlobalTakesTheClassTheNameIsKnownToHoldcallsSliceExecutorTest::testDeclareStaticNeverTakesAClasscallsSliceExecutorTest::testEnterClosureBindsParametersAndMarksOtherLocalsAbsentcallsSliceExecutorTest::testEnterClosureOfAnArrowFunctionReadsItsParameterTypescallsSliceExecutorTest::testIterateOverAnythingElseQuotesTheIteratedKeyAndValuecallsSliceExecutorTest::testRunAbandonsTheStepsLeftOnceTheSearchBudgetIsExhaustedcallsWriteEffectsTestcallsEntryFactoryTestcallsExpressionEvaluatorTestcallsRegistryTestcallsInterpreterTestcallsModelQueriesTestcallsQueryRecordTestcallsReferenceEvaluatorTest::testReadElementLeavesAGapForAnElementTheArrayDoesNotHoldcallsReferenceEvaluatorTest::testReadElementUnderAKeyThatDidNotResolveQuotesTheGapOfAnArrayKnownOnlyInPartcallsReferenceEvaluatorTest::testReadPropertyFallsBackToTheDeclaredTypeOfAStaticPropertyTheClassAssignscallsReferenceEvaluatorTest::testReadPropertyQuotesAStaticPropertyWhoseClassItCannotNamecallsReferenceEvaluatorTest::testReadVariablePreservesProvenanceAndDomainFlagsWhileNamingOpaqueValuescallsSinkMatcherTestcallsValueBinderTestcallsValueDomainTestcallsArrayEntryTestcallsArrayTermTest::testAnyValueOfAnArrayKnownOnlyInPartKeepsAGapWhereItWasReadcallsDomainTest::testSelectKeepsAGapForAnArrayKnownOnlyInPartcallsDomainTest::testWithVariableNamesOnlyOpaqueAlternativesWithoutChangingTheirMeaningcallsEnvironmentTestcallsObjectMemoryTestcallsTermTest::testSignatureSeparatesTermsOfDifferentKindscallsTermTest::testToPatternIsExactOnlyForResolvedTermscallsQueryModelInterfaceTestcallsQueryOutputTestcallsBuilderCallsTest::testMutateNamesTheUnmodelledOperationInItsDiagnosticcallsBuilderQueriesTestcallsCallbackModelTestcallsCallModelTestcallsClausesTestcallsGrammarTest::testOpenedKeepsNonLiteralTermsAndRejectsNonStringLiteralscallsGrammarTest::testPlaceholdersStandForAListOfUnknownLengthFromTheSameOrigincallsModelMetadataTest::testGuardExplainsTheSpecificUnmodelledModelEffectcallsPredicatesTestcallsQueryStateTestcallsSelectCompilerTestcallsWriteCompilerTestcallsAnalyzerTestcallsJsonReporterTestcallsTextReporterTestcalls
Relations§
Instantiated in 4
- new SqlCatalog\Core\Evaluation\Domain::opaque() packages/sql-catalog/src/Core/Evaluation/Domain.php:65
- new SqlCatalog\Core\Evaluation\Domain::withVariable() packages/sql-catalog/src/Core/Evaluation/Domain.php:247
- new SqlCatalog\Extension\Laravel\Grammar::placeholders() packages/sql-catalog/src/Extension/Laravel/Grammar.php:127
- new SqlCatalog\Extension\Laravel\Grammar::element() packages/sql-catalog/src/Extension/Laravel/Grammar.php:140
Static calls 1
Type checks 8
- instanceof SqlCatalog\Core\Analysis\BuiltinCallModel::originOf() packages/sql-catalog/src/Core/Analysis/BuiltinCallModel.php:152
- instanceof SqlCatalog\Core\Analysis\ReferenceEvaluator::originOf() packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:160
- instanceof SqlCatalog\Core\Analysis\ReferenceEvaluator::originOf() packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:163
- instanceof SqlCatalog\Core\Catalog\ValueDomain::fromDomain() packages/sql-catalog/src/Core/Catalog/ValueDomain.php:53
- instanceof SqlCatalog\Core\Evaluation\Domain::withVariable() packages/sql-catalog/src/Core/Evaluation/Domain.php:240
- instanceof SqlCatalog\Core\Evaluation\Domain::withVariable() packages/sql-catalog/src/Core/Evaluation/Domain.php:246
- instanceof SqlCatalog\Extension\Laravel\Grammar::placeholders() packages/sql-catalog/src/Extension/Laravel/Grammar.php:126
- instanceof SqlCatalog\Extension\Laravel\Grammar::element() packages/sql-catalog/src/Extension/Laravel/Grammar.php:139