00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #include "ers/ParseIssue.h"
00011
00012 const char * const ers::ParseIssue::OFFENDING_LINE_KEY = "PARSE_ISSUE_TEXT" ;
00013 const char * const ers::ParseIssue::OFFENDING_LINE_NUMBER_KEY = "PARSE_ISSUE_LINE_NUMBER" ;
00014 const char * const ers::ParseIssue::PARSE_ISSUE_CLASS_NAME = "ers::ParseIssue" ;
00015
00016 namespace {
00017 ers::Issue *create_parse_issue() { return new ers::ParseIssue(); }
00018 bool registered = ers::IssueFactory::instance()->register_issue(ers::ParseIssue::PARSE_ISSUE_CLASS_NAME,create_parse_issue) ;
00019 }
00020
00021 ers::ParseIssue::ParseIssue() : ers::Issue() {}
00022
00023 ers::ParseIssue::ParseIssue(const Context &c, severity_t s) : ers::Issue(c,s) {}
00024
00025 ers::ParseIssue::ParseIssue(const Context &c, severity_t s,const std::string &msg ) : ers::Issue(c,s) {
00026 finish_setup(msg);
00027 }
00028
00029 ers::ParseIssue::ParseIssue(const Context &c, severity_t s,const std::string &msg, const std::string &line ) : ers::Issue(c,s) {
00030 this->offending_line(line);
00031 finish_setup(msg);
00032 }
00033
00034 const char* ers::ParseIssue::get_class_name() const throw() {
00035 return PARSE_ISSUE_CLASS_NAME ;
00036 }
00037
00038 void ers::ParseIssue::offending_line(const std::string &line) {
00039 m_value_table[OFFENDING_LINE_KEY] = line ;
00040 }
00041
00042 void ers::ParseIssue::offending_line_number(int line) {
00043 set_value(OFFENDING_LINE_NUMBER_KEY,line);
00044 }
00045
00046 void ers::ParseIssue::file_name(std::string filename) {
00047 m_value_table["ParseFileName"] = filename ;
00048 }
00049
00050
00051