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

Function vec_extend

mypyc/irbuild/vec.py:438–467  ·  view source on GitHub ↗
(builder: LowLevelIRBuilder, vec: Value, iterable: Value, line: int)

Source from the content-addressed store, hash-verified

436
437
438def vec_extend(builder: LowLevelIRBuilder, vec: Value, iterable: Value, line: int) -> Value:
439 vec_type = vec.type
440 assert isinstance(vec_type, RVec)
441 item_type = vec_type.item_type
442 if isinstance(iterable.type, RVec) and iterable.type == vec_type:
443 suffix = "_vec"
444 src = iterable
445 else:
446 suffix = ""
447 src = builder.coerce(iterable, object_rprimitive, line)
448 item_type_arg: list[Value] = []
449 api_name = vec_api_by_item_type.get(item_type)
450 if api_name is not None:
451 name = f"{api_name}.extend{suffix}"
452 elif vec_type.depth() == 0:
453 name = f"VecTApi.extend{suffix}"
454 item_type_arg = [vec_item_type(builder, item_type, line)]
455 else:
456 name = f"VecNestedApi.extend{suffix}"
457 return builder.add(
458 CallC(
459 name,
460 [vec, src] + item_type_arg,
461 vec_type,
462 steals=[True, False] + ([False] if item_type_arg else []),
463 is_borrowed=False,
464 error_kind=ERR_MAGIC,
465 line=line,
466 )
467 )
468
469
470def vec_pop(builder: LowLevelIRBuilder, base: Value, index: Value, line: int) -> Value:

Callers 1

translate_vec_extendFunction · 0.90

Calls 7

CallCClass · 0.90
isinstanceFunction · 0.85
vec_item_typeFunction · 0.85
depthMethod · 0.80
coerceMethod · 0.45
getMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…