public function macroForm(MacroNode $node, PhpWriter $writer)
{
if ($node->modifiers) {
throw new CompileException('Modifiers are not allowed in ' . $node->getNotation());
}
if ($node->prefix) {
throw new CompileException('Did you mean <form n:name=...> ?');
}
$name = $node->tokenizer->fetchWord();
if ($name === FALSE) {
throw new CompileException('Missing form name in ' . $node->getNotation());
}
$node->replaced = TRUE;
$node->tokenizer->reset();
return $writer->write("/* line {$node->startLine} */\n" . 'echo Nette\\Bridges\\FormsLatte\\Runtime::renderFormBegin($form = $_form = $this->global->formsStack[] = ' . ($name[0] === '$' ? 'is_object(%node.word) ? %node.word : ' : '') . '$this->global->uiControl[%node.word], %node.array);');
}