summaryrefslogtreecommitdiff
path: root/jinja2/parser.py
diff options
context:
space:
mode:
Diffstat (limited to 'jinja2/parser.py')
-rw-r--r--jinja2/parser.py13
1 files changed, 6 insertions, 7 deletions
diff --git a/jinja2/parser.py b/jinja2/parser.py
index 0bf74c9..70ab7ca 100644
--- a/jinja2/parser.py
+++ b/jinja2/parser.py
@@ -210,17 +210,16 @@ class Parser(object):
node.test = self.parse_tuple(with_condexpr=False)
node.body = self.parse_statements(('name:elif', 'name:else',
'name:endif'))
+ node.elif_ = []
+ node.else_ = []
token = next(self.stream)
if token.test('name:elif'):
- new_node = nodes.If(lineno=self.stream.current.lineno)
- node.else_ = [new_node]
- node = new_node
+ node = nodes.If(lineno=self.stream.current.lineno)
+ result.elif_.append(node)
continue
elif token.test('name:else'):
- node.else_ = self.parse_statements(('name:endif',),
- drop_needle=True)
- else:
- node.else_ = []
+ result.else_ = self.parse_statements(('name:endif',),
+ drop_needle=True)
break
return result