MCPcopy Index your code
hub / github.com/python/mypy / generate_bin_op_reverse_dunder_call

Function generate_bin_op_reverse_dunder_call

mypyc/codegen/emitwrapper.py:451–464  ·  view source on GitHub ↗
(fn: FuncIR, emitter: Emitter, rmethod: str)

Source from the content-addressed store, hash-verified

449
450
451def generate_bin_op_reverse_dunder_call(fn: FuncIR, emitter: Emitter, rmethod: str) -> None:
452 if fn.name in ("__pow__", "__rpow__"):
453 # Ternary pow() will never call the reverse dunder.
454 emitter.emit_line("if (obj_mod == Py_None) {")
455 emitter.emit_line(
456 'return CPy_CallReverseOpMethod(obj_left, obj_right, "{}", mypyc_interned_str.{});'.format(
457 op_methods_to_symbols[fn.name], rmethod
458 )
459 )
460 if fn.name in ("__pow__", "__rpow__"):
461 emitter.emit_line("} else {")
462 emitter.emit_line("Py_INCREF(Py_NotImplemented);")
463 emitter.emit_line("return Py_NotImplemented;")
464 emitter.emit_line("}")
465
466
467def handle_third_pow_argument(

Calls 2

emit_lineMethod · 0.45
formatMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…