lestes::msg Namespace Reference


Classes

class  argument_holder00
 Argument holder. More...
class  argument_holder10
 Argument holder. More...
class  argument_holder11
 Argument holder. More...
class  argument_holder20
 Argument holder. More...
class  argument_holder21
 Argument holder. More...
class  argument_holder22
 Argument holder. More...
class  argument_holder30
 Argument holder. More...
class  argument_holder31
 Argument holder. More...
class  argument_holder32
 Argument holder. More...
class  argument_holder33
 Argument holder. More...
class  as_id_to_lstring
class  formatter
 Object formatter. More...
class  logger_configurator
 A friend of the logger class, see comments for its 'configure' method. More...
class  logger
class  logger_formatter
class  fullname_formatter
class  plain_formatter
class  xml_formatter
class  conjunct_formatter
 Combines sequentially two formatters. More...
class  color_formatter
 Prints the logger output in color. More...
class  shortname_formatter
class  logger_end_marker
class  binded_logger
class  formatter_factory
class  message
 Message wrapper. More...
class  message_stencil
 Message stencil base. More...
class  message_stencil0
 Message stencil. More...
class  message_stencil1
 Message stencil. More...
class  message_stencil2
 Message stencil. More...
class  message_stencil3
 Message stencil. More...
class  report_cache
 Report cache. More...
class  report_end
 Report end filter. More...
class  report_error_flag
 Report filter. More...
class  report_filter
 Report filter. More...
class  report_kind_filter
 Report kind filter. More...
class  report_origin_filter
 Report output. More...
class  report_ostream
 Report output. More...
class  reporter
 Message reporter. More...
class  formatter< ptr< ::lestes::lang::cplus::sem::as_id > >

Typedefs

typedef formatter< ulint > test_ulint_formatter

Functions

lstring logger2fullname (const ptr< logger > &l)
static bool attr2bool (const xmlChar *value)
lstring logger2shortname (const ptr< logger > &l)
::std::ostream & operator<< (::std::ostream &os, const logger_end_marker &)
 declare_logger (my_logger)
 declare_logger (his_logger)
 declare_logger (her_logger)
 initialize_top_logger (my_logger,"my")
 initialize_logger (his_logger,"his", my_logger)
 initialize_logger (her_logger,"her", my_logger)
void logger_util_test_run ()
void message_test (void)
 Tests message class.
void message_stencil_test (void)
 Tests message_stencil class.
void reporter_test (void)
 Tests reporter class.

Variables

logger_end_marker eolog
logger_end_marker eolog


Typedef Documentation

typedef formatter<ulint> lestes::msg::test_ulint_formatter

Definition at line 42 of file reporter.test.hh.


Function Documentation

static bool lestes::msg::attr2bool ( const xmlChar *  value  )  [static]

Definition at line 128 of file logger.cc.

References cast_c.

Referenced by lestes::msg::logger_configurator::configure(), and lestes::msg::logger::init().

00129 {
00130         if (!strcmp(cast_c(value),"on"))
00131                 return true;
00132         if (!strcmp(cast_c(value),"off"))
00133                 return false;
00134 
00135         ::std::cerr << "Invalid on/off value '" << value << "'. Using 'off'." << ::std::endl;
00136 
00137         return false;
00138 }

lestes::msg::declare_logger ( her_logger   ) 

lestes::msg::declare_logger ( his_logger   ) 

lestes::msg::declare_logger ( my_logger   ) 

lestes::msg::initialize_logger ( her_logger  ,
"her"  ,
my_logger   
)

lestes::msg::initialize_logger ( his_logger  ,
"his"  ,
my_logger   
)

lestes::msg::initialize_top_logger ( my_logger  ,
"my"   
)

lstring lestes::msg::logger2fullname ( const ptr< logger > &  l  ) 

Definition at line 41 of file logger_formatters.cc.

Referenced by lestes::msg::logger_configurator::configure(), lestes::msg::xml_formatter::format(), and lestes::msg::fullname_formatter::format().

00042 {
00043         lstring full_name;
00044         for ( ptr<logger> i = l; i != logger::root_instance(); i = i->parent_get() )
00045                 full_name = "/" + i->name_get() + full_name;
00046         if (full_name.empty())
00047                 full_name = "/";
00048         return full_name;
00049 }

lstring lestes::msg::logger2shortname ( const ptr< logger > &  l  ) 

Definition at line 51 of file logger_formatters.cc.

Referenced by lestes::msg::shortname_formatter::format().

00052 {
00053         lstring full_name;
00054         full_name = l->name_get();
00055         if (full_name.empty())
00056                 full_name = "/";
00057         return full_name;
00058 }

void lestes::msg::logger_util_test_run (  ) 

Definition at line 49 of file logger_util.test.cc.

References eolog, and llog_plain.

Referenced by main().

00050 {
00051         ::std::ofstream f("logger_util.test.skel.xml");
00052         logger::dump_skeleton(f);
00053         f.close();
00054 
00055         logger::init("logger_util.test.xml");
00056 
00057         my_logger << "aaaaaaaa\n" << eolog;
00058         his_logger << "cccccccc\n" << eolog;
00059         her_logger << "dddddddd\n" << eolog;
00060         my_logger << "bbbbbbbb\n" << eolog;
00061         her_logger << "eeeeeeee\n" << eolog;
00062         his_logger << "ffffffff\n" << eolog;
00063 
00064         llog_plain(his_logger) << "old use\n" << eolog;
00065 
00066         logger::finish();
00067 }

void lestes::msg::message_stencil_test ( void   ) 

Tests message_stencil class.

Performs testing of message_stencil class.

Definition at line 50 of file message_stencil.test.cc.

References lestes::is_equal(), and lassert.

Referenced by main().

00051 {
00052         ptr< message_stencil0<bool> > ms0 = message_stencil0<bool>::create("%%message_stencil0%%",message::FLG_ERROR);
00053         lassert(is_equal(ms0,ms0));
00054         lassert(is_equal(ms0->nparams_get(),0U));
00055         
00056         ptr<message> m0 = ms0->format();
00057         lassert(is_equal(m0->kind_get(),ms0->kind_get()));
00058         //::std::cerr << "`" << m0->text_get() << "'" << ::std::endl;
00059         lassert(is_equal(m0->text_get(),"%message_stencil0%"));
00060         lassert(is_equal(m0->flags_get(),message::FLG_ERROR));
00061         
00062         ptr< message_stencil1<ulint> > ms1 = 
00063                 message_stencil1<ulint>::create("%0 message_stencil1 %0",message::FLG_ERROR,formatter<ulint>::instance());
00064         lassert(!is_equal(ms1,ms0));
00065         lassert(is_equal(ms1,ms1));
00066         lassert(is_equal(ms1->nparams_get(),1U));
00067 
00068         ptr<message> m1 = ms1->format(9);
00069         lassert(is_equal(m1->kind_get(),ms1->kind_get()));
00070         lassert(is_equal(m1->text_get(),"9 message_stencil1 9"));
00071         lassert(is_equal(m1->flags_get(),message::FLG_ERROR));
00072         
00073         ptr< message_stencil2<ulint,ulint> > ms2 = 
00074                 message_stencil2<ulint,ulint>::create("%0%1 message_stencil2 %1%0",message::FLG_ERROR,
00075                                 formatter<ulint>::instance(),formatter<ulint>::instance());
00076         lassert(!is_equal(ms2,ms0));
00077         lassert(!is_equal(ms2,ms1));
00078         lassert(is_equal(ms2,ms2));
00079         lassert(is_equal(ms2->nparams_get(),2U));
00080         
00081         ptr<message> m2 = ms2->format(6,7);
00082         lassert(is_equal(m2->kind_get(),ms2->kind_get()));
00083         lassert(is_equal(m2->text_get(),"67 message_stencil2 76"));
00084         lassert(is_equal(m2->flags_get(),message::FLG_ERROR));
00085         
00086         ptr< message_stencil3<ulint,ulint,lstring> > ms3 = 
00087                 message_stencil3<ulint,ulint,lstring>::create("%0%1%2 message_stencil3 %2%1%0",message::FLG_ERROR,
00088                                 formatter<ulint>::instance(),formatter<ulint>::instance(),formatter<lstring>::instance());
00089         lassert(!is_equal(ms3,ms0));
00090         lassert(!is_equal(ms3,ms1));
00091         lassert(!is_equal(ms3,ms2));
00092         lassert(is_equal(ms3,ms3));
00093         lassert(is_equal(ms3->nparams_get(),3U));
00094         
00095         ptr<message> m3 = ms3->format(1,2,"xyz");
00096         lassert(is_equal(m3->kind_get(),ms3->kind_get()));
00097         lassert(is_equal(m3->text_get(),"12xyz message_stencil3 xyz21"));
00098         lassert(is_equal(m3->flags_get(),message::FLG_ERROR));
00099         
00100 }

void lestes::msg::message_test ( void   ) 

Tests message class.

Performs testing of message class.

Definition at line 48 of file message.test.cc.

References lestes::is_equal(), and lassert.

Referenced by main().

00049 {
00050         ptr<message> m1 = message::create(37,"message1",message::FLG_ERROR);
00051 
00052         lassert(is_equal(m1,m1));
00053         lassert(is_equal(m1->kind_get(),37U));
00054         lassert(is_equal(m1->text_get(),"message1"));
00055         lassert(is_equal(m1->flags_get(),message::FLG_ERROR));
00056         
00057         ptr<message> m2 = message::create(37,"message2",message::FLG_ERROR);
00058 
00059         lassert(is_equal(m2,m2));
00060         lassert(!is_equal(m1,m2));
00061         lassert(is_equal(m2->kind_get(),37U));
00062         lassert(is_equal(m2->text_get(),"message2"));
00063         lassert(is_equal(m2->flags_get(),message::FLG_ERROR));
00064         
00065 }

std::ostream & lestes::msg::operator<< ( ::std::ostream &  os,
const logger_end_marker &   
)

Definition at line 43 of file logger_util.cc.

00044 {
00045         return os;
00046 }

void lestes::msg::reporter_test ( void   ) 

Tests reporter class.

Performs testing of reporter class.

Definition at line 56 of file reporter.test.cc.

References lestes::is_equal(), lassert, loc, lestes::report(), and u.

Referenced by main().

00057 {
00058         ptr<report_cache> rc = report_cache::create(report_end::create());
00059         lassert(is_equal(rc->location_get(),ptr<source_location>(NULL)));
00060         lassert(is_equal(rc->message_get(),ptr<message>(NULL)));
00061 
00062         //ptr<report_ostream> ro = report_ostream::create(rc,ostream_wrapper::create(&::std::cout,false));
00063         
00064         ptr<reporter> rep = reporter::instance();
00065         
00066         rep->filter_set(rc);
00067         //rep->filter_set(ro);
00068         
00069         ptr<file_info> fi = file_info::create("ab.c",NULL);
00070         ptr<source_location> loc = source_location::create(fi,1,1);
00071         
00072         ptr<message> m0 = message::create(test0->kind_get(),"Test 0.",message::FLG_WARNING);
00073         
00074         report << test0 << loc;
00075         lassert(is_equal(rc->location_get(),loc));
00076         lassert(is_equal(rc->message_get(),m0));
00077 
00078         ptr<message> m1 = message::create(test1->kind_get(),"Test 1: abcd.",message::FLG_ERROR);
00079         
00080         report << test1 << lstring("abcd") << loc;
00081         lassert(is_equal(rc->location_get(),loc));
00082         lassert(is_equal(rc->message_get(),m1));
00083 
00084         ptr<message> m2 = message::create(test2->kind_get(),"Test 2: 37 65.",message::FLG_ERROR);
00085         report << test2 << 37U << 65U << loc;
00086         lassert(is_equal(rc->location_get(),loc));
00087         lassert(is_equal(rc->message_get(),m2));
00088         
00089         ptr<message> m3 = message::create(test3->kind_get(),"Test 3: all your base are belong to 8472.",message::FLG_WARNING);
00090         lstring s("are belong to"), t("all your base");
00091         ulint u = 8472;
00092         report << test3 << s << u << t << loc;
00093         lassert(is_equal(rc->location_get(),loc));
00094         lassert(is_equal(rc->message_get(),m3));
00095 }


Variable Documentation

logger_end_marker lestes::msg::eolog

Definition at line 39 of file logger_util.cc.

Referenced by lestes::backend_v2::interface::backend_data_builder::add_function_end(), lestes::backend_v2::interface::backend_data_builder::add_rail(), lestes::lang::cplus::sem::ss_destructor_table::back_roll_table(), lestes::lang::cplus::sem::as_class_key_to_ss_struct_base::class_or_struct(), lestes::lang::cplus::lex::preprocessor::classify_number(), lestes::lang::cplus::sem::ss_destructor_tables_stack::close_compound_stmt(), lestes::lang::cplus::sem::sa_statements::instance(), lestes::backend_v2::workers::bb_finder::join_blocks(), lexer_parse(), logger_util_test_run(), lestes::backend_v2::backend::main(), lestes::backend_v2::workers::order_governor::merge_ordered_with_unordered_level_X(), lestes::lang::cplus::sem::ss_destructor_tables_stack::open_compound_stmt(), lestes::lang::cplus::sem::sa_param_declaration_empty::process(), lestes::lang::cplus::sem::sa_param_declaration_type::process(), lestes::backend_v2::workers::spillgen::process(), lestes::backend_v2::workers::scheduler::process(), lestes::backend_v2::workers::order_governor::process(), lestes::backend_v2::workers::linscan_regalloc::process(), lestes::backend_v2::workers::ge_generator::process(), lestes::lang::cplus::sem::sa_usings::process_declaration(), lestes::lang::cplus::lex::pp_lex::read(), lestes::lang::cplus::lex::pre_lex::read(), lestes::lang::cplus::lex::preprocessor::read(), lestes::lang::cplus::lex::trigraphs::read(), lestes::lang::cplus::lex::pp_lex::read_char(), lestes::lang::cplus::sem::decl_stmt_listener::run(), lestes::backend_v2::workers::order_governor::shift_unordered_nsp_psp(), lestes::lang::cplus::sem::ss_sp2pi_sp(), lestes::lang::cplus::sem::summary_seq_points(), lestes::backend_v2::workers::order_governor::torder_ordered(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_call(), and lestes::lang::cplus::lex::pp_lex::yy_input().

logger_end_marker lestes::msg::eolog

Definition at line 39 of file logger_util.cc.

Referenced by lestes::backend_v2::interface::backend_data_builder::add_function_end(), lestes::backend_v2::interface::backend_data_builder::add_rail(), lestes::lang::cplus::sem::ss_destructor_table::back_roll_table(), lestes::lang::cplus::sem::as_class_key_to_ss_struct_base::class_or_struct(), lestes::lang::cplus::lex::preprocessor::classify_number(), lestes::lang::cplus::sem::ss_destructor_tables_stack::close_compound_stmt(), lestes::lang::cplus::sem::sa_statements::instance(), lestes::backend_v2::workers::bb_finder::join_blocks(), lexer_parse(), logger_util_test_run(), lestes::backend_v2::backend::main(), lestes::backend_v2::workers::order_governor::merge_ordered_with_unordered_level_X(), lestes::lang::cplus::sem::ss_destructor_tables_stack::open_compound_stmt(), lestes::backend_v2::workers::ge_generator::process(), lestes::backend_v2::workers::linscan_regalloc::process(), lestes::backend_v2::workers::order_governor::process(), lestes::backend_v2::workers::scheduler::process(), lestes::backend_v2::workers::spillgen::process(), lestes::lang::cplus::sem::sa_param_declaration_type::process(), lestes::lang::cplus::sem::sa_param_declaration_empty::process(), lestes::lang::cplus::sem::sa_usings::process_declaration(), lestes::lang::cplus::lex::trigraphs::read(), lestes::lang::cplus::lex::preprocessor::read(), lestes::lang::cplus::lex::pre_lex::read(), lestes::lang::cplus::lex::pp_lex::read(), lestes::lang::cplus::lex::pp_lex::read_char(), lestes::lang::cplus::sem::decl_stmt_listener::run(), lestes::backend_v2::workers::order_governor::shift_unordered_nsp_psp(), lestes::lang::cplus::sem::ss_sp2pi_sp(), lestes::lang::cplus::sem::summary_seq_points(), lestes::backend_v2::workers::order_governor::torder_ordered(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_call(), and lestes::lang::cplus::lex::pp_lex::yy_input().


Generated on Mon Feb 12 18:25:53 2007 for lestes by doxygen 1.5.1-20070107