private Class<?> jitAritmeticExpression(AritmeticExpression aritmeticExpression) { if (aritmeticExpression.isStringConcat()) { jitStringConcat(aritmeticExpression.left, aritmeticExpression.right); } else { Class<?> operationType = aritmeticExpression.getType(); jitExpressionToPrimitiveType(aritmeticExpression.left, operationType); jitExpressionToPrimitiveType( aritmeticExpression.right, aritmeticExpression.operator.isBitwiseOperation() ? int.class : operationType); jitAritmeticOperation(operationType, aritmeticExpression.operator); } return aritmeticExpression.getType(); }