private function compile(MacroNode $node, $def) { $node->tokenizer->reset(); $writer = Latte\PhpWriter::using($node); return is_string($def) ? $writer->write($def) : call_user_func($def, $node, $writer); }