use of org.candle.decompiler.intermediate.expression.Expression in project candle-decompiler by bradsdavis.
the class MethodIntermediateVisitor method visitIFGT.
@Override
public void visitIFGT(IFGT instruction) {
Expression right = new Resolved(context.getCurrentInstruction(), null, "0");
Expression left = context.getExpressions().pop();
processMultiConditionalStatement(OperationType.GREATER, left, right);
}
use of org.candle.decompiler.intermediate.expression.Expression in project candle-decompiler by bradsdavis.
the class MethodIntermediateVisitor method processArithmeticTwoStackOperations.
protected void processArithmeticTwoStackOperations(ArithmeticType type) {
Expression right = context.getExpressions().pop();
Expression left = context.getExpressions().pop();
Expression addExp = new Arithmetic(context.getCurrentInstruction(), left, right, type);
context.getExpressions().push(addExp);
}
use of org.candle.decompiler.intermediate.expression.Expression in project candle-decompiler by bradsdavis.
the class MethodIntermediateVisitor method visitDUP2.
public void visitDUP2(DUP2 instruction) {
Expression one = context.getExpressions().pop();
Expression two = context.getExpressions().pop();
context.getExpressions().push(two);
context.getExpressions().push(one);
context.getExpressions().push(two);
context.getExpressions().push(one);
}
use of org.candle.decompiler.intermediate.expression.Expression in project candle-decompiler by bradsdavis.
the class MethodIntermediateVisitor method visitIFNE.
@Override
public void visitIFNE(IFNE instruction) {
Expression left = context.getExpressions().pop();
SingleConditional conditional = new SingleConditional(context.getCurrentInstruction(), left, false);
BooleanBranchIntermediate line = new BooleanBranchIntermediate(context.getCurrentInstruction(), conditional);
context.pushIntermediateToInstruction(line);
}
use of org.candle.decompiler.intermediate.expression.Expression in project candle-decompiler by bradsdavis.
the class MethodIntermediateVisitor method visitDUP_X2.
public void visitDUP_X2(DUP_X2 instruction) {
Expression one = context.getExpressions().pop();
Expression two = context.getExpressions().pop();
Expression three = context.getExpressions().pop();
context.getExpressions().push(one);
context.getExpressions().push(three);
context.getExpressions().push(two);
context.getExpressions().push(one);
}
Aggregations