MCPcopy Create free account
hub / github.com/rocky/python-uncompyle6 / n_call

Function n_call

uncompyle6/semantics/customize3.py:236–273  ·  view source on GitHub ↗
(node)

Source from the content-addressed store, hash-verified

234 if (3, 2) <= version <= (3, 4):
235
236 def n_call(node):
237 mapping = self._get_mapping(node)
238 key = node
239 for i in mapping[1:]:
240 key = key[i]
241 pass
242 if key.kind.startswith("CALL_FUNCTION_VAR_KW"):
243 # We may want to fill this in...
244 # But it is distinct from CALL_FUNCTION_VAR below
245 pass
246 elif key.kind.startswith("CALL_FUNCTION_VAR"):
247 # CALL_FUNCTION_VAR's top element of the stack contains
248 # the variable argument list, then comes
249 # annotation args, then keyword args.
250 # In the most least-top-most stack entry, but position 1
251 # in node order, the positional args.
252 argc = node[-1].attr
253 nargs = argc & 0xFF
254 kwargs = (argc >> 8) & 0xFF
255 # FIXME: handle annotation args
256 if kwargs != 0:
257 # kwargs == 0 is handled by the table entry
258 # Should probably handle it here though.
259 if nargs == 0:
260 template = ("%c(*%c, %C)", 0, -2, (1, kwargs + 1, ", "))
261 else:
262 template = (
263 "%c(%C, *%c, %C)",
264 0,
265 (1, nargs + 1, ", "),
266 -2,
267 (-2 - kwargs, -2, ", "),
268 )
269 self.template_engine(template, node)
270 self.prune()
271 else:
272 gen_function_parens_adjust(key, node)
273 self.default(node)
274
275 self.n_call = n_call
276 elif version < (3, 2):

Callers

nothing calls this directly

Calls 4

_get_mappingMethod · 0.45
template_engineMethod · 0.45
defaultMethod · 0.45

Tested by

no test coverage detected