$expr1, 'expr2' => $expr2, 'expr3' => $expr3], [], $lineno); } 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('))'); } } }