def _extract_placeholder_weld_objects_at_index(dependency_name, length, readable_text, index):
    """Helper method that creates a WeldObject for each component of dependency.

    Parameters
    ----------
    dependency_name : str
        The name of the dependency evaluating to a tuple.
    length : int
        Number of components to create WeldObjects for
    readable_text : str
        Used when creating the placeholders in WeldObject.context.
    index : str
        Representing a tuple of ints used to select from the struct.

    Returns
    -------
    list of WeldObject

    """
    weld_objects = []

    for i in range(length):
        fake_weld_input = Cache.create_fake_array_input(dependency_name, readable_text + '_' + str(i), eval(index))
        obj_id, weld_obj = create_weld_object(fake_weld_input)
        weld_obj.weld_code = '{}'.format(obj_id)
        weld_objects.append(weld_obj)

        Cache.cache_fake_input(obj_id, fake_weld_input)

    return weld_objects
Helper method that creates a WeldObject for each component of dependency.

    Parameters
    ----------
    dependency_name : str
        The name of the dependency evaluating to a tuple.
    length : int
        Number of components to create WeldObjects for
    readable_text : str
        Used when creating the placeholders in WeldObject.context.
    index : str
        Representing a tuple of ints used to select from the struct.

    Returns
    -------
    list of WeldObject