@Override public void visit(NullConstantInstruction insn) { assign(Expr.constant(null), insn.getReceiver()); }
@Override public void visit(DoubleConstantInstruction insn) { assign(Expr.constant(insn.getConstant()), insn.getReceiver()); }
@Override public void visit(ClassConstantInstruction insn) { assign(Expr.constant(insn.getConstant()), insn.getReceiver()); }
@Override public void visit(LongConstantInstruction insn) { assign(Expr.constant(insn.getConstant()), insn.getReceiver()); }
@Override public void visit(IntegerConstantInstruction insn) { assign(Expr.constant(insn.getConstant()), insn.getReceiver()); }
@Override public void visit(StringConstantInstruction insn) { assign(Expr.constant(insn.getConstant()), insn.getReceiver()); }
@Override public void visit(FloatConstantInstruction insn) { assign(Expr.constant(insn.getConstant()), insn.getReceiver()); }
private Expr compare(BinaryOperation op, OperationType type, Variable value) { Expr expr = Expr.binary(op, type, Expr.var(value.getIndex()), Expr.constant(0)); expr.setLocation(currentLocation); return expr; }
case NOT_NULL: branch(Expr.binary(BinaryOperation.NOT_EQUALS, null, Expr.var(insn.getOperand().getIndex()), Expr.constant(null)), insn.getConsequent(), insn.getAlternative()); break; case NULL: branch(Expr.binary(BinaryOperation.EQUALS, null, Expr.var(insn.getOperand().getIndex()), Expr.constant(null)), insn.getConsequent(), insn.getAlternative()); break;
@Override public void visit(NullConstantInstruction insn) { assign(Expr.constant(null), insn.getReceiver()); }
@Override public void visit(LongConstantInstruction insn) { assign(Expr.constant(insn.getConstant()), insn.getReceiver()); }
@Override public void visit(IntegerConstantInstruction insn) { assign(Expr.constant(insn.getConstant()), insn.getReceiver()); }
@Override public void visit(DoubleConstantInstruction insn) { assign(Expr.constant(insn.getConstant()), insn.getReceiver()); }
@Override public void visit(FloatConstantInstruction insn) { assign(Expr.constant(insn.getConstant()), insn.getReceiver()); }
@Override public void visit(StringConstantInstruction insn) { assign(Expr.constant(insn.getConstant()), insn.getReceiver()); }
@Override public void visit(ClassConstantInstruction insn) { assign(Expr.constant(insn.getConstant()), insn.getReceiver()); }
private Expr compare(BinaryOperation op, OperationType type, Variable value) { Expr expr = Expr.binary(op, type, Expr.var(value.getIndex()), Expr.constant(0)); expr.setLocation(currentLocation); return expr; }
case NOT_NULL: branch(Expr.binary(BinaryOperation.NOT_EQUALS, null, Expr.var(insn.getOperand().getIndex()), Expr.constant(null)), insn.getConsequent(), insn.getAlternative()); break; case NULL: branch(Expr.binary(BinaryOperation.EQUALS, null, Expr.var(insn.getOperand().getIndex()), Expr.constant(null)), insn.getConsequent(), insn.getAlternative()); break;