summaryrefslogtreecommitdiff
path: root/jinja2/optimizer.py
diff options
context:
space:
mode:
authorArmin Ronacher <armin.ronacher@active-4.com>2008-04-11 16:30:34 +0200
committerArmin Ronacher <armin.ronacher@active-4.com>2008-04-11 16:30:34 +0200
commitbcb7c533cde117f10ebeea3609bc27cca241459d (patch)
tree03d2f29cf90fe7db177c91eece340039c7210eff /jinja2/optimizer.py
parent7a52df8ec3d2987076181171b3227ab56154ab10 (diff)
downloadjinja2-bcb7c533cde117f10ebeea3609bc27cca241459d.tar.gz
work on tha runtime
--HG-- branch : trunk
Diffstat (limited to 'jinja2/optimizer.py')
-rw-r--r--jinja2/optimizer.py14
1 files changed, 7 insertions, 7 deletions
diff --git a/jinja2/optimizer.py b/jinja2/optimizer.py
index 167f6eb..bd97fa0 100644
--- a/jinja2/optimizer.py
+++ b/jinja2/optimizer.py
@@ -24,6 +24,13 @@ from jinja2.visitor import NodeVisitor, NodeTransformer
from jinja2.runtime import subscribe, LoopContext
+def optimize(node, environment, context_hint=None):
+ """The context hint can be used to perform an static optimization
+ based on the context given."""
+ optimizer = Optimizer(environment)
+ return optimizer.visit(node, ContextStack(context_hint))
+
+
class ContextStack(object):
"""Simple compile time context implementation."""
undefined = object()
@@ -206,10 +213,3 @@ class Optimizer(NodeTransformer):
visit_Not = visit_Compare = visit_Subscript = visit_Call = \
visit_Filter = visit_Test = fold
del fold
-
-
-def optimize(node, environment, context_hint=None):
- """The context hint can be used to perform an static optimization
- based on the context given."""
- optimizer = Optimizer(environment)
- return optimizer.visit(node, ContextStack(context_hint))