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

Method gen_step

mypyc/irbuild/for_helpers.py:1155–1176  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1153 builder.assign(self.index_target, builder.read(self.index_reg, self.line), self.line)
1154
1155 def gen_step(self) -> None:
1156 builder = self.builder
1157 line = self.line
1158
1159 # Increment index register. If the range is known to fit in short ints, use
1160 # short ints.
1161 if is_short_int_rprimitive(self.start_reg.type) and is_short_int_rprimitive(
1162 self.end_reg.type
1163 ):
1164 new_val = builder.int_op(
1165 short_int_rprimitive,
1166 builder.read(self.index_reg, line),
1167 Integer(self.step),
1168 IntOp.ADD,
1169 line,
1170 )
1171
1172 else:
1173 new_val = builder.binary_op(
1174 builder.read(self.index_reg, line), Integer(self.step), "+", line
1175 )
1176 builder.assign(self.index_reg, new_val, line)
1177
1178
1179class ForInfiniteCounter(ForGenerator):

Callers

nothing calls this directly

Calls 6

is_short_int_rprimitiveFunction · 0.90
IntegerClass · 0.90
int_opMethod · 0.45
readMethod · 0.45
binary_opMethod · 0.45
assignMethod · 0.45

Tested by

no test coverage detected