Пример #1
0
Block* get_parent_block_stackwise(Block* block)
{
    block = get_parent_block(block);

    if (block != NULL && is_switch_block(block))
        block = get_parent_block(block);

    return block;
}
Пример #2
0
bool terms_are_in_different_switch_conditions(Term* left, Term* right)
{
    Block* commonBlock = find_common_parent_major(left->owningBlock, right->owningBlock);
    if (commonBlock == NULL)
        return false;

    if (!is_switch_block(commonBlock))
        return false;

    left = find_parent_term_in_block(left, commonBlock);
    right = find_parent_term_in_block(right, commonBlock);

    return left != right;
}