/*******************************************************************\

Module: Show Value Sets

Author: Daniel Kroening, kroening@cs.cmu.edu

\*******************************************************************/

#include "show_value_sets.h"

/*******************************************************************\

Function: show_value_sets

  Inputs:

 Outputs:

 Purpose:

\*******************************************************************/

void show_value_sets(
  ui_message_handlert::uit ui,
  const goto_functionst &goto_functions,
  const value_propagationt &value_propagation)
{
  switch(ui)
  {
  case ui_message_handlert::XML_UI:
    {
      xmlt xml;
      convert(goto_functions, value_propagation, xml);
      std::cout << xml << std::endl;
    }
    break;
    
  case ui_message_handlert::PLAIN:
    value_propagation.output(goto_functions, std::cout);
    break;
      
  default:;
  }
}

/*******************************************************************\

Function: show_value_sets

  Inputs:

 Outputs:

 Purpose:

\*******************************************************************/

void show_value_sets(
  ui_message_handlert::uit ui,
  const goto_programt &goto_program,
  const value_propagationt &value_propagation)
{
  switch(ui)
  {
  case ui_message_handlert::XML_UI:
    {
      xmlt xml;
      convert(goto_program, value_propagation, xml);
      std::cout << xml << std::endl;
    }
    break;
    
  case ui_message_handlert::PLAIN:
    value_propagation.output(goto_program, std::cout);
    break;
      
  default:;
  }
}
