Example #1
0
bool term_is_observable_for_special_reasons(Term* term)
{
    return (is_output_placeholder(term)
        || (term->function == FUNCS.function_decl)
        || (term->function == FUNCS.loop_iterator)
        || (is_loop(term->owningBlock) && is_output_placeholder(term))
        || (term_get_bool_prop(term, s_LocalStateResult, false)));
}
Example #2
0
void write_block_contents(SourceWriter* writer, Block* block)
{
    for (int i=0; i < block->length(); i++) {
        Term* term = block->get(i);
        if (is_input_placeholder(term) || is_output_placeholder(term))
            continue;
        write_term(writer, term);
    }
}
Example #3
0
void Term__is_output(VM* vm)
{
    Term* t = as_term_ref(vm->input(0));
    set_bool(vm->output(), t != NULL && is_output_placeholder(t));
}