Commit 6e3370b7 authored by catch's avatar catch

Issue #2501735 by snehi, lokapujya, malavya, priya.chat, sdstyles, ChuChuNaKu,...

Issue #2501735 by snehi, lokapujya, malavya, priya.chat, sdstyles, ChuChuNaKu, er.manojsharma, mglaman, joelpittet: Add throws to Twig extension comments
parent 39c9d54a
......@@ -401,6 +401,10 @@ public function escapePlaceholder($env, $string) {
* @return string|null
* The escaped, rendered output, or NULL if there is no valid output.
*
* @throws \Exception
* When $arg is passed as an object which does not implement __toString(),
* RenderableInterface or toString().
*
* @todo Refactor this to keep it in sync with theme_render_and_autoescape()
* in https://www.drupal.org/node/2575065
*/
......@@ -432,7 +436,7 @@ public function escapeFilter(\Twig_Environment $env, $arg, $strategy = 'html', $
elseif (method_exists($arg, '__toString')) {
$return = (string) $arg;
}
// You can't throw exceptions in the magic PHP __toString methods, see
// You can't throw exceptions in the magic PHP __toString() methods, see
// http://php.net/manual/language.oop5.magic.php#object.tostring so
// we also support a toString method.
elseif (method_exists($arg, 'toString')) {
......@@ -470,10 +474,11 @@ public function escapeFilter(\Twig_Environment $env, $arg, $strategy = 'html', $
/**
* Wrapper around render() for twig printed output.
*
* If an object is passed that has no __toString method an exception is thrown;
* other objects are casted to string. However in the case that the object is an
* instance of a Twig_Markup object it is returned directly to support auto
* escaping.
* If an object is passed which does not implement __toString(),
* RenderableInterface or toString() then an exception is thrown;
* Other objects are casted to string. However in the case that the
* object is an instance of a Twig_Markup object it is returned directly
* to support auto escaping.
*
* If an array is passed it is rendered via render() and scalar values are
* returned directly.
......@@ -481,6 +486,10 @@ public function escapeFilter(\Twig_Environment $env, $arg, $strategy = 'html', $
* @param mixed $arg
* String, Object or Render Array.
*
* @throws \Exception
* When $arg is passed as an object which does not implement __toString(),
* RenderableInterface or toString().
*
* @return mixed
* The rendered output or an Twig_Markup object.
*
......@@ -510,7 +519,7 @@ public function renderVar($arg) {
elseif (method_exists($arg, '__toString')) {
return (string) $arg;
}
// You can't throw exceptions in the magic PHP __toString methods, see
// You can't throw exceptions in the magic PHP __toString() methods, see
// http://php.net/manual/language.oop5.magic.php#object.tostring so
// we also support a toString method.
elseif (method_exists($arg, 'toString')) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment