MCPcopy Index your code
hub / github.com/pyload/pyload / parse_for

Method parse_for

module/lib/jinja2/parser.py:176–193  ·  view source on GitHub ↗

Parse a for loop.

(self)

Source from the content-addressed store, hash-verified

174 return nodes.Assign(target, expr, lineno=lineno)
175
176 def parse_for(self):
177 """Parse a for loop."""
178 lineno = self.stream.expect('name:for').lineno
179 target = self.parse_assign_target(extra_end_rules=('name:in',))
180 self.stream.expect('name:in')
181 iter = self.parse_tuple(with_condexpr=False,
182 extra_end_rules=('name:recursive',))
183 test = None
184 if self.stream.skip_if('name:if'):
185 test = self.parse_expression()
186 recursive = self.stream.skip_if('name:recursive')
187 body = self.parse_statements(('name:endfor', 'name:else'))
188 if next(self.stream).value == 'endfor':
189 else_ = []
190 else:
191 else_ = self.parse_statements(('name:endfor',), drop_needle=True)
192 return nodes.For(target, iter, body, else_, test,
193 recursive, lineno=lineno)
194
195 def parse_if(self):
196 """Parse an if construct."""

Callers

nothing calls this directly

Calls 7

parse_assign_targetMethod · 0.95
parse_tupleMethod · 0.95
parse_expressionMethod · 0.95
parse_statementsMethod · 0.95
nextFunction · 0.90
expectMethod · 0.80
skip_ifMethod · 0.80

Tested by

no test coverage detected