class PathDiagnostic {
std::list<PathDiagnosticPiece*> path;
unsigned Size;
+ std::string BugType;
std::string Desc;
std::string Category;
- std::string BugType;
std::vector<std::string> OtherDesc;
public:
PathDiagnostic() : Size(0) {}
- PathDiagnostic(const char* bugtype, const char* desc, const char* category)
- : Size(0), Desc(desc), Category(category), BugType(bugtype) {}
+ PathDiagnostic(const char* bugtype, const char* desc, const char* category);
PathDiagnostic(const std::string& bugtype, const std::string& desc,
- const std::string& category)
- : Size(0), Desc(desc), Category(category), BugType(bugtype) {}
-
+ const std::string& category);
+
~PathDiagnostic();
const std::string& getDescription() const { return Desc; }
for (iterator I = begin(), E = end(); I != E; ++I) delete &*I;
}
+
+PathDiagnostic::PathDiagnostic(const char* bugtype, const char* desc,
+ const char* category)
+ : BugType(bugtype, GetNumCharsToLastNonPeriod(bugtype)),
+ Desc(desc, GetNumCharsToLastNonPeriod(desc)),
+ Category(category, GetNumCharsToLastNonPeriod(category)) {}
+
+PathDiagnostic::PathDiagnostic(const std::string& bugtype,
+ const std::string& desc,
+ const std::string& category)
+ : BugType(bugtype, 0, GetNumCharsToLastNonPeriod(bugtype)),
+ Desc(desc, 0, GetNumCharsToLastNonPeriod(desc)),
+ Category(category, 0, GetNumCharsToLastNonPeriod(category)) {}
+
void PathDiagnosticClient::HandleDiagnostic(Diagnostic::Level DiagLevel,
const DiagnosticInfo &Info) {