Refactor ErrorMessage's severity to Severity::SeverityType.
This commit is contained in:
parent
fa0f6edacf
commit
5f8af2e1e8
|
@ -23,6 +23,7 @@
|
|||
#include <sstream>
|
||||
|
||||
ErrorLogger::ErrorMessage::ErrorMessage()
|
||||
:_severity(Severity::none)
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -30,7 +31,7 @@ ErrorLogger::ErrorMessage::ErrorMessage()
|
|||
ErrorLogger::ErrorMessage::ErrorMessage(const std::list<FileLocation> &callStack, const std::string &severity, const std::string &msg, const std::string &id)
|
||||
{
|
||||
_callStack = callStack;
|
||||
_severity = severity;
|
||||
_severity = Severity::fromString(severity);
|
||||
_msg = msg;
|
||||
_id = id;
|
||||
}
|
||||
|
@ -39,7 +40,7 @@ std::string ErrorLogger::ErrorMessage::serialize() const
|
|||
{
|
||||
std::ostringstream oss;
|
||||
oss << _id.length() << " " << _id;
|
||||
oss << _severity.length() << " " << _severity;
|
||||
oss << Severity::toString(_severity).length() << " " << Severity::toString(_severity);
|
||||
oss << _msg.length() << " " << _msg;
|
||||
oss << _callStack.size() << " ";
|
||||
|
||||
|
@ -77,7 +78,7 @@ bool ErrorLogger::ErrorMessage::deserialize(const std::string &data)
|
|||
}
|
||||
|
||||
_id = results[0];
|
||||
_severity = results[1];
|
||||
_severity = Severity::fromString(results[1]);
|
||||
_msg = results[2];
|
||||
|
||||
unsigned int stackSize = 0;
|
||||
|
@ -153,7 +154,7 @@ std::string ErrorLogger::ErrorMessage::toXML() const
|
|||
xml << " line=\"" << _callStack.back().line << "\"";
|
||||
}
|
||||
xml << " id=\"" << _id << "\"";
|
||||
xml << " severity=\"" << _severity << "\"";
|
||||
xml << " severity=\"" << Severity::toString(_severity) << "\"";
|
||||
xml << " msg=\"" << stringToXml(_msg) << "\"";
|
||||
xml << "/>";
|
||||
return xml.str();
|
||||
|
@ -176,8 +177,8 @@ std::string ErrorLogger::ErrorMessage::toString(const std::string &outputFormat)
|
|||
std::ostringstream text;
|
||||
if (!_callStack.empty())
|
||||
text << callStackToString(_callStack) << ": ";
|
||||
if (!_severity.empty())
|
||||
text << "(" << _severity << ") ";
|
||||
if (_severity != Severity::none)
|
||||
text << "(" << Severity::toString(_severity) << ") ";
|
||||
text << _msg;
|
||||
return text.str();
|
||||
}
|
||||
|
@ -185,7 +186,7 @@ std::string ErrorLogger::ErrorMessage::toString(const std::string &outputFormat)
|
|||
{
|
||||
std::string result = outputFormat;
|
||||
findAndReplace(result, "{id}", _id);
|
||||
findAndReplace(result, "{severity}", _severity);
|
||||
findAndReplace(result, "{severity}", Severity::toString(_severity));
|
||||
findAndReplace(result, "{message}", _msg);
|
||||
|
||||
if (!_callStack.empty())
|
||||
|
|
|
@ -33,7 +33,7 @@ class Tokenizer;
|
|||
class Severity
|
||||
{
|
||||
public:
|
||||
enum SeverityType { error, style };
|
||||
enum SeverityType { none, error, style };
|
||||
static std::string toString(SeverityType severity)
|
||||
{
|
||||
switch (severity)
|
||||
|
@ -45,6 +45,14 @@ public:
|
|||
};
|
||||
return "???";
|
||||
}
|
||||
static SeverityType fromString(const std::string &severity)
|
||||
{
|
||||
if (severity == "error")
|
||||
return error;
|
||||
if (severity == "style")
|
||||
return style;
|
||||
return none;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -102,7 +110,7 @@ public:
|
|||
std::string serialize() const;
|
||||
bool deserialize(const std::string &data);
|
||||
std::list<FileLocation> _callStack;
|
||||
std::string _severity;
|
||||
Severity::SeverityType _severity;
|
||||
std::string _msg;
|
||||
std::string _id;
|
||||
};
|
||||
|
|
|
@ -757,7 +757,7 @@ std::list<std::string> Preprocessor::getcfgs(const std::string &filedata, const
|
|||
loc.file = filename;
|
||||
loc.line = linenr;
|
||||
errmsg._callStack.push_back(loc);
|
||||
errmsg._severity = "error";
|
||||
errmsg._severity = Severity::fromString("error");
|
||||
errmsg._msg = "mismatching number of '(' and ')' in this line: " + def;
|
||||
errmsg._id = "preprocessor" + lineStream.str();
|
||||
_errorLogger->reportErr(errmsg);
|
||||
|
@ -902,7 +902,7 @@ std::list<std::string> Preprocessor::getcfgs(const std::string &filedata, const
|
|||
loc.file = filename;
|
||||
loc.line = 1;
|
||||
errmsg._callStack.push_back(loc);
|
||||
errmsg._severity = "error";
|
||||
errmsg._severity = Severity::fromString("error");
|
||||
errmsg._msg = "Error parsing this: " + s;
|
||||
errmsg._id = "preprocessor" + lineStream.str();
|
||||
_errorLogger->reportErr(errmsg);
|
||||
|
|
Loading…
Reference in New Issue