Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Registration a Twig_SimpleFunction after extensions initialized throw…

… not LogicException, but Fatal Error
  • Loading branch information...
commit 92e97b9d900562dafc3703e43c4aee3e5dfe4b69 1 parent e8991cc
@ShadowPrince ShadowPrince authored committed
Showing with 14 additions and 14 deletions.
  1. +14 −14 lib/Twig/Environment.php
View
28 lib/Twig/Environment.php
@@ -756,10 +756,6 @@ public function getNodeVisitors()
*/
public function addFilter($name, $filter = null)
{
- if ($this->extensionInitialized) {
- throw new LogicException(sprintf('Unable to add filter "%s" as extensions have already been initialized.', $name));
- }
-
if (!$name instanceof Twig_SimpleFilter && !($filter instanceof Twig_SimpleFilter || $filter instanceof Twig_FilterInterface)) {
throw new LogicException('A filter must be an instance of Twig_FilterInterface or Twig_SimpleFilter');
}
@@ -768,7 +764,11 @@ public function addFilter($name, $filter = null)
$filter = $name;
$name = $filter->getName();
}
-
+
+ if ($this->extensionInitialized) {
+ throw new LogicException(sprintf('Unable to add filter "%s" as extensions have already been initialized.', $name));
+ }
+
$this->staging->addFilter($name, $filter);
}
@@ -845,10 +845,6 @@ public function getFilters()
*/
public function addTest($name, $test = null)
{
- if ($this->extensionInitialized) {
- throw new LogicException(sprintf('Unable to add test "%s" as extensions have already been initialized.', $name));
- }
-
if (!$name instanceof Twig_SimpleTest && !($test instanceof Twig_SimpleTest || $test instanceof Twig_TestInterface)) {
throw new LogicException('A test must be an instance of Twig_TestInterface or Twig_SimpleTest');
}
@@ -857,6 +853,10 @@ public function addTest($name, $test = null)
$test = $name;
$name = $test->getName();
}
+
+ if ($this->extensionInitialized) {
+ throw new LogicException(sprintf('Unable to add test "%s" as extensions have already been initialized.', $name));
+ }
$this->staging->addTest($name, $test);
}
@@ -903,10 +903,6 @@ public function getTest($name)
*/
public function addFunction($name, $function = null)
{
- if ($this->extensionInitialized) {
- throw new LogicException(sprintf('Unable to add function "%s" as extensions have already been initialized.', $name));
- }
-
if (!$name instanceof Twig_SimpleFunction && !($function instanceof Twig_SimpleFunction || $function instanceof Twig_FunctionInterface)) {
throw new LogicException('A function must be an instance of Twig_FunctionInterface or Twig_SimpleFunction');
}
@@ -915,7 +911,11 @@ public function addFunction($name, $function = null)
$function = $name;
$name = $function->getName();
}
-
+
+ if ($this->extensionInitialized) {
+ throw new LogicException(sprintf('Unable to add function "%s" as extensions have already been initialized.', $name));
+ }
+
$this->staging->addFunction($name, $function);
}
Please sign in to comment.
Something went wrong with that request. Please try again.