/**
* @param Filter $node
* @param Compiler $compiler
*
* @return string
*/
public function __invoke(Filter $node, Compiler $compiler)
{
$data = '';
foreach ($node->block->nodes as $n) {
if (isset($n->value)) {
$data .= preg_match('/^[[:space:]]*\\|(?!\\|)(.*)/', $n->value, $m) ? ' ?> ' . $m[1] . '<?php ' : $n->value . "\n";
continue;
}
$data .= ' ?> ' . $compiler->subCompiler()->compile($n) . '<?php ';
}
return $data ? '<?php ' . $data . ' ?> ' : $data;
}