MCPcopy Create free account
hub / github.com/numpy/numpy / _interpret_code

Method _interpret_code

tools/npy_tempita/__init__.py:229–270  ·  view source on GitHub ↗
(self, code, ns, out, defs)

Source from the content-addressed store, hash-verified

227 self._interpret_code(item, ns, out, defs)
228
229 def _interpret_code(self, code, ns, out, defs):
230 # __traceback_hide__ = True
231 name, pos = code[0], code[1]
232 if name == 'py':
233 self._exec(code[2], ns, pos)
234 elif name == 'continue':
235 raise _TemplateContinue()
236 elif name == 'break':
237 raise _TemplateBreak()
238 elif name == 'for':
239 vars, expr, content = code[2], code[3], code[4]
240 expr = self._eval(expr, ns, pos)
241 self._interpret_for(vars, expr, content, ns, out, defs)
242 elif name == 'cond':
243 parts = code[2:]
244 self._interpret_if(parts, ns, out, defs)
245 elif name == 'expr':
246 parts = code[2].split('|')
247 base = self._eval(parts[0], ns, pos)
248 for part in parts[1:]:
249 func = self._eval(part, ns, pos)
250 base = func(base)
251 out.append(self._repr(base, pos))
252 elif name == 'default':
253 var, expr = code[2], code[3]
254 if var not in ns:
255 result = self._eval(expr, ns, pos)
256 ns[var] = result
257 elif name == 'inherit':
258 expr = code[2]
259 value = self._eval(expr, ns, pos)
260 defs['__inherit__'] = value
261 elif name == 'def':
262 name = code[2]
263 signature = code[3]
264 parts = code[4]
265 ns[name] = defs[name] = TemplateDef(
266 self, name, signature, body=parts, ns=ns, pos=pos)
267 elif name == 'comment':
268 return
269 else:
270 assert 0, "Unknown code: %r" % name
271
272 def _interpret_for(self, vars, expr, content, ns, out, defs):
273 # __traceback_hide__ = True

Callers 1

_interpret_codesMethod · 0.95

Calls 10

_execMethod · 0.95
_evalMethod · 0.95
_interpret_forMethod · 0.95
_interpret_ifMethod · 0.95
_reprMethod · 0.95
_TemplateContinueClass · 0.85
_TemplateBreakClass · 0.85
TemplateDefClass · 0.85
funcFunction · 0.50
splitMethod · 0.45

Tested by

no test coverage detected