classExpressionEvaluator
final class ExpressionEvaluator
Works out what values an expression can take at the point it is written.
Methods§
public function __construct(
ReferenceEvaluator $references,
CallEvaluator $calls,
EvaluationBudget $budget,
NodeText $text,
)Wires the evaluator to the parts that read references and follow calls.
Parameters
$references | ReferenceEvaluator | |
$calls | CallEvaluator | |
$budget | EvaluationBudget | |
$text | NodeText |
public function references(): ReferenceEvaluatorThe reader that resolves names and writes assignments for this evaluator.
Returns
Called from 3
- method-call SqlCatalog\Core\Analysis\Derivation\SliceExecutor::iterate() packages/sql-catalog/src/Core/Analysis/Derivation/SliceExecutor.php:327
- method-call SqlCatalog\Core\Analysis\Derivation\SliceExecutor::iterate() packages/sql-catalog/src/Core/Analysis/Derivation/SliceExecutor.php:329
- method-call SqlCatalog\Core\Analysis\Derivation\SliceExecutor::assign() packages/sql-catalog/src/Core/Analysis/Derivation/SliceExecutor.php:358
public function evaluate(Expr $node, Environment $environment, FunctionScope $scope): DomainEvery value the expression can take.
Parameters
$node | Expr | |
$environment | Environment | |
$scope | FunctionScope |
Returns
Called from 42
- method-call SqlCatalog\Core\Analysis\CallEvaluator::evaluate() packages/sql-catalog/src/Core/Analysis/CallEvaluator.php:84
- method-call SqlCatalog\Core\Analysis\CallEvaluator::arguments() packages/sql-catalog/src/Core/Analysis/CallEvaluator.php:167
- method-call SqlCatalog\Core\Analysis\CallEvaluator::evaluateMethod() packages/sql-catalog/src/Core/Analysis/CallEvaluator.php:190
- method-call SqlCatalog\Core\Analysis\CallEvaluator::evaluateMethod() packages/sql-catalog/src/Core/Analysis/CallEvaluator.php:194
- method-call SqlCatalog\Core\Analysis\ConstantReader::readConstant() packages/sql-catalog/src/Core/Analysis/ConstantReader.php:57
- method-call SqlCatalog\Core\Analysis\ConstantReader::readClassConstant() packages/sql-catalog/src/Core/Analysis/ConstantReader.php:119
- method-call SqlCatalog\Core\Analysis\Derivation\CalleeReturns::returned() packages/sql-catalog/src/Core/Analysis/Derivation/CalleeReturns.php:150
- method-call SqlCatalog\Core\Analysis\Derivation\CalleeReturns::parameters() packages/sql-catalog/src/Core/Analysis/Derivation/CalleeReturns.php:176
- method-call SqlCatalog\Core\Analysis\Derivation\Deriver::run() packages/sql-catalog/src/Core/Analysis/Derivation/Deriver.php:171
- method-call SqlCatalog\Core\Analysis\Derivation\EntryBinder::evaluateConstant() packages/sql-catalog/src/Core/Analysis/Derivation/EntryBinder.php:177
- method-call SqlCatalog\Core\Analysis\Derivation\EntryBinder::defaultOf() packages/sql-catalog/src/Core/Analysis/Derivation/EntryBinder.php:303
- method-call SqlCatalog\Core\Analysis\Derivation\Objects\CallbackEffects::apply() packages/sql-catalog/src/Core/Analysis/Derivation/Objects/CallbackEffects.php:54
- method-call SqlCatalog\Core\Analysis\Derivation\SliceExecutor::apply() packages/sql-catalog/src/Core/Analysis/Derivation/SliceExecutor.php:247
- method-call SqlCatalog\Core\Analysis\Derivation\SliceExecutor::assign() packages/sql-catalog/src/Core/Analysis/Derivation/SliceExecutor.php:347
- method-call SqlCatalog\Core\Analysis\ExpressionEvaluator::evaluateOperands() packages/sql-catalog/src/Core/Analysis/ExpressionEvaluator.php:105
- method-call SqlCatalog\Core\Analysis\ExpressionEvaluator::evaluateOperator() packages/sql-catalog/src/Core/Analysis/ExpressionEvaluator.php:141
- method-call SqlCatalog\Core\Analysis\ExpressionEvaluator::evaluateOperator() packages/sql-catalog/src/Core/Analysis/ExpressionEvaluator.php:142
- method-call SqlCatalog\Core\Analysis\ExpressionEvaluator::evaluateClone() packages/sql-catalog/src/Core/Analysis/ExpressionEvaluator.php:176
- method-call SqlCatalog\Core\Analysis\ExpressionEvaluator::evaluateOptionalRight() packages/sql-catalog/src/Core/Analysis/ExpressionEvaluator.php:195
- method-call SqlCatalog\Core\Analysis\ExpressionEvaluator::evaluateOptionalRight() packages/sql-catalog/src/Core/Analysis/ExpressionEvaluator.php:197
- method-call SqlCatalog\Core\Analysis\ExpressionEvaluator::evaluateCast() packages/sql-catalog/src/Core/Analysis/ExpressionEvaluator.php:214
- method-call SqlCatalog\Core\Analysis\ExpressionEvaluator::evaluateInterpolation() packages/sql-catalog/src/Core/Analysis/ExpressionEvaluator.php:305
- method-call SqlCatalog\Core\Analysis\ExpressionEvaluator::evaluateTernary() packages/sql-catalog/src/Core/Analysis/ExpressionEvaluator.php:317
- method-call SqlCatalog\Core\Analysis\ExpressionEvaluator::evaluateTernary() packages/sql-catalog/src/Core/Analysis/ExpressionEvaluator.php:320
- method-call SqlCatalog\Core\Analysis\ExpressionEvaluator::evaluateTernary() packages/sql-catalog/src/Core/Analysis/ExpressionEvaluator.php:321
- method-call SqlCatalog\Core\Analysis\ExpressionEvaluator::evaluateIsset() packages/sql-catalog/src/Core/Analysis/ExpressionEvaluator.php:334
- method-call SqlCatalog\Core\Analysis\ExpressionEvaluator::evaluateMatch() packages/sql-catalog/src/Core/Analysis/ExpressionEvaluator.php:346
- method-call SqlCatalog\Core\Analysis\ExpressionEvaluator::evaluateMatch() packages/sql-catalog/src/Core/Analysis/ExpressionEvaluator.php:353
- method-call SqlCatalog\Core\Analysis\ExpressionEvaluator::evaluateMatch() packages/sql-catalog/src/Core/Analysis/ExpressionEvaluator.php:357
- method-call SqlCatalog\Core\Analysis\ExpressionEvaluator::evaluateAssign() packages/sql-catalog/src/Core/Analysis/ExpressionEvaluator.php:372
- method-call SqlCatalog\Core\Analysis\ExpressionEvaluator::evaluateAppend() packages/sql-catalog/src/Core/Analysis/ExpressionEvaluator.php:383
- method-call SqlCatalog\Core\Analysis\ExpressionEvaluator::evaluateAppend() packages/sql-catalog/src/Core/Analysis/ExpressionEvaluator.php:384
- method-call SqlCatalog\Core\Analysis\ReferenceEvaluator::readArray() packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:123
- method-call SqlCatalog\Core\Analysis\ReferenceEvaluator::readArray() packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:124
- method-call SqlCatalog\Core\Analysis\ReferenceEvaluator::readElement() packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:145
- method-call SqlCatalog\Core\Analysis\ReferenceEvaluator::readElement() packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:148
- method-call SqlCatalog\Core\Analysis\ReferenceEvaluator::readProperty() packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:193
- method-call SqlCatalog\Core\Analysis\ReferenceEvaluator::readProperty() packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:208
- method-call SqlCatalog\Core\Analysis\ReferenceEvaluator::readEnumProperty() packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:245
- method-call SqlCatalog\Core\Analysis\ReferenceEvaluator::assign() packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:304
- method-call SqlCatalog\Core\Analysis\ReferenceEvaluator::assignList() packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:340
- method-call SqlCatalog\Core\Analysis\ReferenceEvaluator::assignElement() packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:379
Calls 15
- method-call EvaluationBudget::spend() line 63
- method-call EvaluationBudget::isSpent() line 64
- static-call Domain::opaque() line 65
- static-call TypeShape::unknown() line 65
- class-const Origin::Budget() line 65
- method-call ExpressionEvaluator::evaluateScalar() line 68
- method-call ExpressionEvaluator::evaluateOperator() line 72
- method-call CallEvaluator::evaluate() line 77
- method-call ReferenceEvaluator::evaluate() line 79
- method-call ExpressionEvaluator::evaluateOperands() line 83
- new WriteEffects line 84
- method-call WriteEffects::apply() line 85
- method-call WriteEffects::own() line 85
- class-const Origin::Unresolved() line 87
- method-call NodeText::render() line 87
public function evaluateOperands(
Expr $node,
Environment $environment,
FunctionScope $scope,
): voidEvaluates whatever an expression is written over, for what those evaluations find.
A statement can sit anywhere an expression can, including in an operand the analyzer has no use for the value of. $enabled && $pdo->query(…) issues a query whatever $enabled turns out to be, so finding the call must not depend on the analyzer caring about the expression around it. Every call written inside an operand is evaluated even when the value of the expression holding it is discarded.
Parameters
$node | Expr | |
$environment | Environment | |
$scope | FunctionScope |
Called from 2
Calls 3
- function-call
get_object_varsline 102 - function-call
is_arrayline 103 - method-call ExpressionEvaluator::evaluate() line 105
public function evaluateScalar(Expr $node): ?DomainThe value of a literal expression, or null when the expression is not one.
Parameters
$node | Expr |
Returns
Called from 1
Calls 1
- static-call Domain::literal() line 117
public function evaluateOperator(
Expr $node,
Environment $environment,
FunctionScope $scope,
): ?DomainThe value of an operator expression, or null when the expression is not one.
Parameters
$node | Expr | |
$environment | Environment | |
$scope | FunctionScope |
Returns
Called from 1
Calls 11
- method-call ExpressionEvaluator::evaluateClone() line 135
- method-call ExpressionEvaluator::evaluateInterpolation() line 138
- method-call ExpressionEvaluator::evaluate() line 141
- method-call ExpressionEvaluator::evaluateTernary() line 145
- method-call ExpressionEvaluator::evaluateIsset() line 148
- method-call ExpressionEvaluator::evaluateOptionalRight() line 153
- method-call ExpressionEvaluator::evaluateMatch() line 156
- method-call ExpressionEvaluator::evaluateCast() line 159
- method-call ExpressionEvaluator::evaluateAssign() line 162
- method-call ExpressionEvaluator::evaluateAppend() line 165
- method-call ExpressionEvaluator::evaluateResult() line 168
public function evaluateClone(
Clone_ $node,
Environment $environment,
FunctionScope $scope,
): DomainClones a tracked object without sharing its allocation with the original.
Parameters
$node | Clone_ | |
$environment | Environment | |
$scope | FunctionScope |
Returns
Called from 1
Calls 4
- method-call ExpressionEvaluator::evaluate() line 176
- new ObjectTerm line 181
- method-call Environment::objects() line 182
- static-call Domain::fromTerms() line 187
public function evaluateOptionalRight(
BinaryOp $node,
Environment $environment,
FunctionScope $scope,
): DomainKeeps the effects of executing and skipping a short-circuited operand.
Parameters
$node | BinaryOp | |
$environment | Environment | |
$scope | FunctionScope |
Returns
Called from 1
Calls 7
- method-call ExpressionEvaluator::evaluate() line 195
- method-call Environment::copy() line 196
- method-call Environment::replace() line 198
- method-call Environment::join() line 198
- static-call Domain::opaque() line 202
- static-call TypeShape::of() line 202
- class-const Origin::Unresolved() line 202
public function evaluateCast(Cast $node, Environment $environment, FunctionScope $scope): DomainThe value of a cast, which narrows to a scalar type and, for the numeric casts, also ends the trail back to whatever the value came from.
Casting to int neutralises a value as a source of injected SQL, so the result deliberately no longer carries the operand's origin.
Parameters
$node | Cast | |
$environment | Environment | |
$scope | FunctionScope |
Returns
Called from 1
Calls 6
- method-call ExpressionEvaluator::evaluate() line 214
- static-call Domain::literal() line 216
- static-call Domain::opaque() line 226
- static-call TypeShape::of() line 226
- class-const Origin::Call() line 226
- method-call ExpressionEvaluator::castLiteral() line 230
public function castLiteral(string|int|float|bool|null $value, string $type): DomainA resolved scalar written as the type it is cast to.
Parameters
$value | string|int|float|bool|null | |
$type | string |
Returns
Called from 1
Calls 1
- static-call Domain::literal() line 241
public function evaluateResult(
Expr $node,
Environment $environment,
FunctionScope $scope,
): ?DomainThe value of an expression whose operands matter more than its result.
The operands are evaluated for what those evaluations find, and the result is reported by the type the operator produces.
Parameters
$node | Expr | |
$environment | Environment | |
$scope | FunctionScope |
Returns
Called from 1
Calls 5
- method-call ExpressionEvaluator::resultType() line 256
- method-call ExpressionEvaluator::evaluateOperands() line 260
- static-call Domain::opaque() line 262
- static-call TypeShape::of() line 262
- class-const Origin::Unresolved() line 262
public function resultType(Expr $node): ?stringThe type an operator produces, or null when the node is not one.
Parameters
$node | Expr |
Returns
?stringpublic function evaluateInterpolation(
InterpolatedString $node,
Environment $environment,
FunctionScope $scope,
): DomainThe value of a double-quoted string or heredoc with expressions inside it.
Parameters
$node | InterpolatedString | |
$environment | Environment | |
$scope | FunctionScope |
Returns
Called from 1
Calls 2
- static-call Domain::literal() line 300
- method-call ExpressionEvaluator::evaluate() line 305
public function evaluateTernary(
Ternary $node,
Environment $environment,
FunctionScope $scope,
): DomainThe value of a conditional, which is whichever branch runs.
Parameters
$node | Ternary | |
$environment | Environment | |
$scope | FunctionScope |
Returns
Called from 1
Calls 3
- method-call ExpressionEvaluator::evaluate() line 317
- method-call Environment::copy() line 318
- method-call Environment::replace() line 322
public function evaluateIsset(
Isset_ $node,
Environment $environment,
FunctionScope $scope,
): DomainAn existence test's boolean result stays open; its operands may have effects.
Parameters
$node | Isset_ | |
$environment | Environment | |
$scope | FunctionScope |
Returns
Called from 1
Calls 7
- method-call Environment::copy() line 332
- method-call ExpressionEvaluator::evaluate() line 334
- method-call Environment::replace() line 335
- method-call Environment::join() line 335
- static-call Domain::opaque() line 338
- static-call TypeShape::of() line 338
- class-const Origin::Unresolved() line 338
public function evaluateMatch(
Match_ $node,
Environment $environment,
FunctionScope $scope,
): DomainThe value of a match, which is whichever arm runs.
Parameters
$node | Match_ | |
$environment | Environment | |
$scope | FunctionScope |
Returns
Called from 1
Calls 4
- method-call ExpressionEvaluator::evaluate() line 346
- method-call Environment::copy() line 349
- method-call Environment::replace() line 362
- static-call Domain::unknown() line 364
public function evaluateAssign(
Assign $node,
Environment $environment,
FunctionScope $scope,
): DomainThe value of an assignment, which is also written into the environment.
Parameters
$node | Assign | |
$environment | Environment | |
$scope | FunctionScope |
Returns
Called from 1
Calls 2
- method-call ExpressionEvaluator::evaluate() line 372
- method-call ReferenceEvaluator::assign() line 373
public function evaluateAppend(
Concat $node,
Environment $environment,
FunctionScope $scope,
): DomainThe value of an appending assignment, which is also written into the environment.
Parameters
$node | Concat | |
$environment | Environment | |
$scope | FunctionScope |
Returns
Called from 1
Calls 2
- method-call ExpressionEvaluator::evaluate() line 383
- method-call ReferenceEvaluator::assign() line 385
Private surface 5§
Implementation details, listed for orientation only.
private ReferenceEvaluator $referencesprivate CallEvaluator $callsprivate EvaluationBudget $budgetprivate NodeText $textprivate int $clones = 0Test cases 24§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 1
ExpressionEvaluatorTestcalls
Other tests reaching this symbol 23
CatalogCommandTestcallsCallEvaluatorTestcallsConstantReaderTestcallsCalleeReturnsTestcallsCallersTestcallsDeriverTestcallsEntryBinderTestcallsCallbackEffectsTestcallsPropertyWritesTestcallsSliceExecutorTestcallsRegistryTestcallsInterpreterTestcallsModelQueriesTestcallsReferenceEvaluatorTestcallsCallContextTestcallsQueryModelInterfaceTestcallsBuilderCallsTestcallsBuilderQueriesTestcallsCallbackModelTestcallsCallModelTestcallsAnalyzerTestcallsJsonReporterTestcallsTextReporterTestcalls
Relations§
Instantiated in 1
Method calls 27
- method-call SqlCatalog\Core\Analysis\CallEvaluator::evaluate() packages/sql-catalog/src/Core/Analysis/CallEvaluator.php:84
- method-call SqlCatalog\Core\Analysis\CallEvaluator::arguments() packages/sql-catalog/src/Core/Analysis/CallEvaluator.php:167
- method-call SqlCatalog\Core\Analysis\CallEvaluator::evaluateMethod() packages/sql-catalog/src/Core/Analysis/CallEvaluator.php:190
- method-call SqlCatalog\Core\Analysis\CallEvaluator::evaluateMethod() packages/sql-catalog/src/Core/Analysis/CallEvaluator.php:194
- method-call SqlCatalog\Core\Analysis\ConstantReader::readConstant() packages/sql-catalog/src/Core/Analysis/ConstantReader.php:57
- method-call SqlCatalog\Core\Analysis\ConstantReader::readClassConstant() packages/sql-catalog/src/Core/Analysis/ConstantReader.php:119
- method-call SqlCatalog\Core\Analysis\Derivation\CalleeReturns::returned() packages/sql-catalog/src/Core/Analysis/Derivation/CalleeReturns.php:150
- method-call SqlCatalog\Core\Analysis\Derivation\CalleeReturns::parameters() packages/sql-catalog/src/Core/Analysis/Derivation/CalleeReturns.php:176
- method-call SqlCatalog\Core\Analysis\Derivation\Deriver::run() packages/sql-catalog/src/Core/Analysis/Derivation/Deriver.php:171
- method-call SqlCatalog\Core\Analysis\Derivation\EntryBinder::evaluateConstant() packages/sql-catalog/src/Core/Analysis/Derivation/EntryBinder.php:177
- method-call SqlCatalog\Core\Analysis\Derivation\EntryBinder::defaultOf() packages/sql-catalog/src/Core/Analysis/Derivation/EntryBinder.php:303
- method-call SqlCatalog\Core\Analysis\Derivation\Objects\CallbackEffects::apply() packages/sql-catalog/src/Core/Analysis/Derivation/Objects/CallbackEffects.php:54
- method-call SqlCatalog\Core\Analysis\Derivation\SliceExecutor::apply() packages/sql-catalog/src/Core/Analysis/Derivation/SliceExecutor.php:247
- method-call SqlCatalog\Core\Analysis\Derivation\SliceExecutor::iterate() packages/sql-catalog/src/Core/Analysis/Derivation/SliceExecutor.php:327
- method-call SqlCatalog\Core\Analysis\Derivation\SliceExecutor::iterate() packages/sql-catalog/src/Core/Analysis/Derivation/SliceExecutor.php:329
- method-call SqlCatalog\Core\Analysis\Derivation\SliceExecutor::assign() packages/sql-catalog/src/Core/Analysis/Derivation/SliceExecutor.php:347
- method-call SqlCatalog\Core\Analysis\Derivation\SliceExecutor::assign() packages/sql-catalog/src/Core/Analysis/Derivation/SliceExecutor.php:358
- method-call SqlCatalog\Core\Analysis\ReferenceEvaluator::readArray() packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:123
- method-call SqlCatalog\Core\Analysis\ReferenceEvaluator::readArray() packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:124
- method-call SqlCatalog\Core\Analysis\ReferenceEvaluator::readElement() packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:145
- method-call SqlCatalog\Core\Analysis\ReferenceEvaluator::readElement() packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:148
- method-call SqlCatalog\Core\Analysis\ReferenceEvaluator::readProperty() packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:193
- method-call SqlCatalog\Core\Analysis\ReferenceEvaluator::readProperty() packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:208
- method-call SqlCatalog\Core\Analysis\ReferenceEvaluator::readEnumProperty() packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:245
- method-call SqlCatalog\Core\Analysis\ReferenceEvaluator::assign() packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:304
- method-call SqlCatalog\Core\Analysis\ReferenceEvaluator::assignList() packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:340
- method-call SqlCatalog\Core\Analysis\ReferenceEvaluator::assignElement() packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:379
Type declarations 39
- type SqlCatalog\Core\Analysis\CallEvaluator packages/sql-catalog/src/Core/Analysis/CallEvaluator.php:79
- type SqlCatalog\Core\Analysis\CallEvaluator packages/sql-catalog/src/Core/Analysis/CallEvaluator.php:163
- type SqlCatalog\Core\Analysis\CallEvaluator packages/sql-catalog/src/Core/Analysis/CallEvaluator.php:183
- type SqlCatalog\Core\Analysis\CallEvaluator packages/sql-catalog/src/Core/Analysis/CallEvaluator.php:245
- type SqlCatalog\Core\Analysis\CallEvaluator packages/sql-catalog/src/Core/Analysis/CallEvaluator.php:265
- type SqlCatalog\Core\Analysis\CallEvaluator packages/sql-catalog/src/Core/Analysis/CallEvaluator.php:309
- type SqlCatalog\Core\Analysis\CallEvaluator packages/sql-catalog/src/Core/Analysis/CallEvaluator.php:406
- type SqlCatalog\Core\Analysis\ConstantReader packages/sql-catalog/src/Core/Analysis/ConstantReader.php:44
- type SqlCatalog\Core\Analysis\ConstantReader packages/sql-catalog/src/Core/Analysis/ConstantReader.php:99
- type SqlCatalog\Core\Analysis\Derivation\CalleeReturns packages/sql-catalog/src/Core/Analysis/Derivation/CalleeReturns.php:69
- type SqlCatalog\Core\Analysis\Derivation\CalleeReturns packages/sql-catalog/src/Core/Analysis/Derivation/CalleeReturns.php:95
- type SqlCatalog\Core\Analysis\Derivation\CalleeReturns packages/sql-catalog/src/Core/Analysis/Derivation/CalleeReturns.php:136
- type SqlCatalog\Core\Analysis\Derivation\CalleeReturns packages/sql-catalog/src/Core/Analysis/Derivation/CalleeReturns.php:168
- type SqlCatalog\Core\Analysis\Derivation\Deriver packages/sql-catalog/src/Core/Analysis/Derivation/Deriver.php:54
- type SqlCatalog\Core\Analysis\Derivation\Deriver packages/sql-catalog/src/Core/Analysis/Derivation/Deriver.php:70
- type SqlCatalog\Core\Analysis\Derivation\Deriver packages/sql-catalog/src/Core/Analysis/Derivation/Deriver.php:95
- type SqlCatalog\Core\Analysis\Derivation\EntryBinder packages/sql-catalog/src/Core/Analysis/Derivation/EntryBinder.php:41
- type SqlCatalog\Core\Analysis\Derivation\EntryBinder packages/sql-catalog/src/Core/Analysis/Derivation/EntryBinder.php:56
- type SqlCatalog\Core\Analysis\Derivation\Objects\CallbackEffects packages/sql-catalog/src/Core/Analysis/Derivation/Objects/CallbackEffects.php:36
- type SqlCatalog\Core\Analysis\Derivation\SliceExecutor packages/sql-catalog/src/Core/Analysis/Derivation/SliceExecutor.php:101
- type SqlCatalog\Core\Analysis\Derivation\SliceExecutor packages/sql-catalog/src/Core/Analysis/Derivation/SliceExecutor.php:219
- type SqlCatalog\Core\Analysis\Derivation\SliceExecutor packages/sql-catalog/src/Core/Analysis/Derivation/SliceExecutor.php:318
- type SqlCatalog\Core\Analysis\Derivation\SliceExecutor packages/sql-catalog/src/Core/Analysis/Derivation/SliceExecutor.php:345
- type SqlCatalog\Core\Analysis\Interpreter packages/sql-catalog/src/Core/Analysis/Interpreter.php:134
- type SqlCatalog\Core\Analysis\ReferenceEvaluator packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:55
- type SqlCatalog\Core\Analysis\ReferenceEvaluator packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:113
- type SqlCatalog\Core\Analysis\ReferenceEvaluator packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:143
- type SqlCatalog\Core\Analysis\ReferenceEvaluator packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:182
- type SqlCatalog\Core\Analysis\ReferenceEvaluator packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:230
- type SqlCatalog\Core\Analysis\ReferenceEvaluator packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:293
- type SqlCatalog\Core\Analysis\ReferenceEvaluator packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:331
- type SqlCatalog\Core\Analysis\ReferenceEvaluator packages/sql-catalog/src/Core/Analysis/ReferenceEvaluator.php:364
- type SqlCatalog\Core\Extension\Model\CallContext packages/sql-catalog/src/Core/Extension/Model/CallContext.php:35
- type SqlCatalog\Extension\Laravel\BuilderCalls packages/sql-catalog/src/Extension/Laravel/BuilderCalls.php:80
- type SqlCatalog\Extension\Laravel\BuilderCalls packages/sql-catalog/src/Extension/Laravel/BuilderCalls.php:103
- type SqlCatalog\Extension\Laravel\BuilderCalls packages/sql-catalog/src/Extension/Laravel/BuilderCalls.php:147
- type SqlCatalog\Extension\Laravel\CallbackModel packages/sql-catalog/src/Extension/Laravel/CallbackModel.php:35
- type SqlCatalog\Extension\Laravel\CallbackModel packages/sql-catalog/src/Extension/Laravel/CallbackModel.php:67
- type SqlCatalog\Extension\Laravel\CallbackModel packages/sql-catalog/src/Extension/Laravel/CallbackModel.php:108