public function macroIfset(MacroNode $node, PhpWriter $writer)
{
if ($node->modifiers) {
throw new CompileException('Modifiers are not allowed in ' . $node->getNotation());
}
if (!preg_match('~#|[\\w-]+\\z~A', $node->args)) {
return FALSE;
}
$list = [];
while (($name = $node->tokenizer->fetchWord()) !== FALSE) {
$list[] = preg_match('~#|[\\w-]+\\z~A', $name) ? '$this->blockQueue["' . ltrim($name, '#') . '"]' : $writer->formatArgs(new Latte\MacroTokens($name));
}
return ($node->name === 'elseifset' ? '} else' : '') . 'if (isset(' . implode(', ', $list) . ')) {';
}