Search in sources :

Example 1 with ElseBlock

use of org.candle.decompiler.ast.conditional.ElseBlock in project candle-decompiler by bradsdavis.

the class BlockVisitor method visitElseIntermediate.

@Override
public void visitElseIntermediate(ElseIntermediate line) {
    if (seen.contains(line)) {
        // do nothing.
        return;
    } else {
        seen.add(line);
    }
    ElseBlock elseBlock = new ElseBlock(line);
    current.addChild(elseBlock);
    current = elseBlock;
    // now, visit the successor, if any.
    List<AbstractIntermediate> candidates = getUnseenSuccessors(line);
    if (candidates.size() > 0) {
        for (AbstractIntermediate candidate : candidates) {
            // move to the next.
            candidate.accept(this);
        }
    }
    moveUp();
}
Also used : AbstractIntermediate(org.candle.decompiler.intermediate.code.AbstractIntermediate) ElseBlock(org.candle.decompiler.ast.conditional.ElseBlock)

Aggregations

ElseBlock (org.candle.decompiler.ast.conditional.ElseBlock)1 AbstractIntermediate (org.candle.decompiler.intermediate.code.AbstractIntermediate)1