Exemplo n.º 1
0
def test_reify_object():
    obj = reify_object(Foo(1, var(3)), {var(3): 4})
    assert obj.a == 1
    assert obj.b == 4

    f = Foo(1, 2)
    assert reify_object(f, {}) is f
Exemplo n.º 2
0
def test_reify_object():
    obj = reify_object(Foo(1, var(3)), {var(3): 4})
    assert obj.a == 1
    assert obj.b == 4

    f = Foo(1, 2)
    assert reify_object(f, {}) is f
Exemplo n.º 3
0
def test_reify_slots():

    class SlotsObject(object):
        __slots__ = ['myattr']
        def __init__(self, myattr):
            self.myattr = myattr

    x = var()
    s = {x: 1}
    e = SlotsObject(x)
    assert reify_object(e, s), SlotsObject(1)
    assert reify_object(SlotsObject(1), s), SlotsObject(1)
Exemplo n.º 4
0
def reify_lcons(lcons, s):
    ret = reify_object(lcons, s)
    try:
        # Simplify to a tuple once we've reified, if possible.
        ret = ret.as_tuple()
    except (TypeError, EarlyGoalError):
        pass
    return ret
Exemplo n.º 5
0
def reify_lcons(lcons, s):
    ret = reify_object(lcons, s)
    try:
        # Simplify to a tuple once we've reified, if possible.
        ret = ret.as_tuple()
    except (TypeError, EarlyGoalError):
        pass
    return ret
Exemplo n.º 6
0
def reify_ast(s):
    """
    Reify ast objects in s
    """
    for s_dict in s:
        for k, v in s_dict.items():
            s_without_k = deepcopy(s_dict)
            print("Reifying {}:{} with {}".format(k, rec_ast_parse(v),
                                                  rec_ast_parse(s_without_k)))
            try:
                v = reify_object(v, s_without_k)
                print("Reified object {}".format(k))
            except AttributeError:
                v = reify(v, s_without_k)
            s_dict[k] = v
            print("Reified {} to {}".format(k, rec_ast_parse(v), s_without_k))
    return s