mirror of
https://github.com/twigphp/Twig.git
synced 2026-09-14 19:36:43 +00:00
moved some macro related logic to the generated code
This commit is contained in:
@@ -76,7 +76,7 @@ class Twig_Node_Macro extends Twig_Node
|
||||
->write("throw \$e;\n")
|
||||
->outdent()
|
||||
->write("}\n\n")
|
||||
->write("return ob_get_clean();\n")
|
||||
->write("return ('' === \$tmp = ob_get_clean()) ? '' : new Twig_Markup(\$tmp, \$this->env->getCharset());\n")
|
||||
->outdent()
|
||||
->write("}\n\n")
|
||||
;
|
||||
|
||||
@@ -422,14 +422,7 @@ abstract class Twig_Template implements Twig_TemplateInterface
|
||||
$this->env->getExtension('sandbox')->checkMethodAllowed($object, $method);
|
||||
}
|
||||
|
||||
$ret = call_user_func_array(array($object, $method), $arguments);
|
||||
|
||||
// hack to be removed when macro calls are refactored
|
||||
if ($object instanceof Twig_TemplateInterface) {
|
||||
return $ret === '' ? '' : new Twig_Markup($ret, $this->env->getCharset());
|
||||
}
|
||||
|
||||
return $ret;
|
||||
return call_user_func_array(array($object, $method), $arguments);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -61,7 +61,7 @@ public function getfoo(\$foo = null)
|
||||
throw \$e;
|
||||
}
|
||||
|
||||
return ob_get_clean();
|
||||
return ('' === \$tmp = ob_get_clean()) ? '' : new Twig_Markup(\$tmp, \$this->env->getCharset());
|
||||
}
|
||||
EOF
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user