function ConditionalExpression::compile
Overrides Node::compile
2 calls to ConditionalExpression::compile()
- NullCoalesceExpression::compile in vendor/
twig/ twig/ src/ Node/ Expression/ NullCoalesceExpression.php - NullCoalesceExpression::compile in vendor/
twig/ twig/ src/ Node/ Expression/ NullCoalesceExpression.php
1 method overrides ConditionalExpression::compile()
- NullCoalesceExpression::compile in vendor/
twig/ twig/ src/ Node/ Expression/ NullCoalesceExpression.php
File
-
vendor/
twig/ twig/ src/ Node/ Expression/ ConditionalExpression.php, line 24
Class
Namespace
Twig\Node\ExpressionCode
public function compile(Compiler $compiler) : void {
// Ternary with no then uses Elvis operator
if ($this->getNode('expr1') === $this->getNode('expr2')) {
$compiler->raw('((')
->subcompile($this->getNode('expr1'))
->raw(') ?: (')
->subcompile($this->getNode('expr3'))
->raw('))');
}
else {
$compiler->raw('((')
->subcompile($this->getNode('expr1'))
->raw(') ? (')
->subcompile($this->getNode('expr2'))
->raw(') : (')
->subcompile($this->getNode('expr3'))
->raw('))');
}
}