Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

temporary identifiers are prefixed with "t_" now and the _node_setup_…

…finished hack went away

--HG--
branch : trunk
  • Loading branch information...
commit 8a1d27f1c66633c0f6f4fd885f6ac76e926ddfc3 1 parent bbbe062
@mitsuhiko authored
Showing with 6 additions and 13 deletions.
  1. +1 −1  jinja2/compiler.py
  2. +1 −4 jinja2/lexer.py
  3. +4 −8 jinja2/nodes.py
View
2  jinja2/compiler.py
@@ -355,7 +355,7 @@ def __init__(self, environment, name, filename, stream=None):
def temporary_identifier(self):
"""Get a new unique identifier."""
self._last_identifier += 1
- return 't%d' % self._last_identifier
+ return 't_%d' % self._last_identifier
def buffer(self, frame):
"""Enable buffering for the frame from that point onwards."""
View
5 jinja2/lexer.py
@@ -92,10 +92,7 @@ def __new__(cls, lineno, type, value):
return tuple.__new__(cls, (lineno, intern(str(type)), value))
def __str__(self):
- from jinja.lexer import keywords, reverse_operators
- if self.type in keywords:
- return self.type
- elif self.type in reverse_operators:
+ if self.type in reverse_operators:
return reverse_operators[self.type]
elif self.type is 'name':
return self.value
View
12 jinja2/nodes.py
@@ -48,10 +48,6 @@
}
-# if this is `True` no new Node classes can be created.
-_node_setup_finished = False
-
-
class Impossible(Exception):
"""Raised if the node could not perform a requested action."""
@@ -62,8 +58,6 @@ class NodeType(type):
automatically forwarded to the child."""
def __new__(cls, name, bases, d):
- if __debug__ and _node_setup_finished:
- raise TypeError('Can\'t create custom node types.')
for attr in 'fields', 'attributes':
storage = []
storage.extend(getattr(bases[0], attr, ()))
@@ -808,5 +802,7 @@ class Break(Stmt):
"""Break a loop."""
-# and close down
-_node_setup_finished = True
+# make sure nobody creates custom nodes
+def _failing_new(*args, **kwargs):
+ raise TypeError('can\'t create custom node types')
+NodeType.__new__ = staticmethod(_failing_new); del _failing_new
Please sign in to comment.
Something went wrong with that request. Please try again.