final class ExpressionBinder
Restricted visibility: declared "@visibility SqlSemantics". Code outside that scope must not name this declaration.

Lowers scalar grammar nodes by their tree structure, preserving expression boundaries.

Methods§

public function bind(Node|Token $node, Scope $scope): Expression

Binds one expression using the namespace at its evaluation stage.

Parameters

$nodeNode|Token
$scopeScope

Returns

Called from 12
Calls 11
public function token(Token $token, Scope $scope): Expression

Resolves a scalar terminal as a literal, parameter, or column.

Parameters

$tokenToken
$scopeScope

Returns

Test cases 1
Called from 1
Calls 5
public function qualified(list<Node|Token> $children, SyntaxRules $syntax): bool

Parameters

$childrenlist<Node|Token>
$syntaxSyntaxRules

Returns

bool
Test cases 1
Called from 1
Calls 4
public function call(Node $node, list<Node|Token> $children, Scope $scope): Expression

Parameters

$nodeNode
$childrenlist<Node|Token>
$scopeScope

Returns

Called from 1
Calls 9
public function operation(Node $node, list<Node|Token> $children, Scope $scope): ?Expression

Parameters

$nodeNode
$childrenlist<Node|Token>
$scopeScope

Returns

Called from 1
Calls 10

Test cases 61§

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 59

Relations§

Instantiated in 6
Method calls 6