diff options
Diffstat (limited to 'jinja2/parser.py')
-rw-r--r-- | jinja2/parser.py | 13 |
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 |