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

Function generate_getseters

mypyc/codegen/emitclass.py:1127–1145  ·  view source on GitHub ↗
(cl: ClassIR, emitter: Emitter)

Source from the content-addressed store, hash-verified

1125
1126
1127def generate_getseters(cl: ClassIR, emitter: Emitter) -> None:
1128 if not cl.is_trait:
1129 for i, (attr, rtype) in enumerate(cl.attributes.items()):
1130 generate_getter(cl, attr, rtype, emitter)
1131 emitter.emit_line("")
1132 generate_setter(cl, attr, rtype, emitter)
1133 if i < len(cl.attributes) - 1:
1134 emitter.emit_line("")
1135 for prop, (getter, setter) in cl.properties.items():
1136 if getter.decl.implicit:
1137 continue
1138
1139 rtype = getter.sig.ret_type
1140 emitter.emit_line("")
1141 generate_readonly_getter(cl, prop, rtype, getter, emitter)
1142 if setter:
1143 arg_type = setter.sig.args[1].type
1144 emitter.emit_line("")
1145 generate_property_setter(cl, prop, arg_type, setter, emitter)
1146
1147
1148def generate_getter(cl: ClassIR, attr: str, rtype: RType, emitter: Emitter) -> None:

Callers 1

generate_classFunction · 0.85

Calls 8

enumerateFunction · 0.85
generate_getterFunction · 0.85
generate_setterFunction · 0.85
lenFunction · 0.85
generate_readonly_getterFunction · 0.85
generate_property_setterFunction · 0.85
itemsMethod · 0.45
emit_lineMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…