public function macroInputError(MacroNode $node, PhpWriter $writer)
{
if ($node->modifiers) {
throw new CompileException('Modifiers are not allowed in ' . $node->getNotation());
}
$name = $node->tokenizer->fetchWord();
$node->replaced = true;
if (!$name) {
return $writer->write('echo %escape($_input->getError());');
} elseif ($name[0] === '$') {
return $writer->write('$_input = is_object(%0.word) ? %0.word : end($this->global->formsStack)[%0.word]; echo %escape($_input->getError());', $name);
} else {
return $writer->write('echo %escape(end($this->global->formsStack)[%0.word]->getError());', $name);
}
}