Esempio n. 1
0
def _code_insert(code1, code2, ndx) -> Union[Token, Tuple[Atom]]:
    if not isinstance(code1, CodeBlock):
        code1 = CodeBlock([code1])
    if code1.size() == 0:
        return code1.append(code2),
    ndx = abs(ndx) % code1.size()
    return code1.with_code_inserted_at_point(code2, ndx),
Esempio n. 2
0
File: code.py Progetto: erp12/Pysh
def _code_insert(code1, code2, ndx) -> Union[Token, Tuple[Atom]]:
    if isinstance(code1, CodeBlock):
        code1 = code1.copy(True)
    else:
        code1 = CodeBlock(code1)

    if isinstance(code2, CodeBlock):
        code2 = code2.copy(True)

    if code1.size() == 0:
        code1.append(code2)
        return code1,
    ndx = abs(ndx) % code1.size()
    return code1.insert_code_at_point(code2, ndx),
Esempio n. 3
0
def _code_insert(code1, code2, ndx) -> Union[Token, Tuple[Atom]]:
    if isinstance(code1, CodeBlock):
        code1 = code1.copy(True)
    else:
        code1 = CodeBlock(code1)

    if isinstance(code2, CodeBlock):
        code2 = code2.copy(True)

    if code1.size() == 0:
        code1.append(code2)
        return code1,
    ndx = abs(ndx) % code1.size()
    return code1.insert_code_at_point(code2, ndx),