Beispiel #1
0
def check_reify(value, expected_ast, preferred_name=None, expected_binding=None):
    kvalue = KnownValue(value, preferred_name=preferred_name)
    gen_sym = GenSym()
    node, gen_sym, binding = reify(kvalue, gen_sym)

    assert_ast_equal(node, expected_ast)
    if expected_binding is not None:
        assert binding == expected_binding
Beispiel #2
0
def _reify_func(acc, value):
    if is_known_value(value):
        # For ``reify()`` we do not need to pass through
        # the whole state, only ``gen_sym``.
        gen_sym, bindings = acc
        node, gen_sym, binding = reify(value, gen_sym)
        return (gen_sym, bindings.update(binding)), node
    else:
        # Should be an AST node
        return acc, value