Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ConditionalExpression.php

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

ConditionalExpression

Namespace

Twig\Node\Expression

Code

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('))');
    }
}
RSS feed
Powered by Drupal