10 #include <morphio/enums.h>
11 #include <morphio/mut/section.h>
15 void set_maximum_warnings(
int n_warnings);
17 void set_raise_warnings(
bool is_raise);
19 void set_ignored_warning(Warning warning,
bool ignore =
true);
21 void set_ignored_warning(
const std::vector<Warning>& warning,
bool ignore =
true);
23 void printError(Warning warning,
const std::string& msg);
46 _lineNumbers[sectionId] =
static_cast<int>(line);
51 const auto it = _lineNumbers.find(sectionId);
52 if (it == _lineNumbers.end()) {
61 std::map<unsigned int, int> _lineNumbers;
65 static std::set<Warning> _ignoredWarnings;
71 floatType diameter = -1.;
77 unsigned int lineNumber = 0;
99 std::map<ErrorLevel, std::string> SEVERITY{{ErrorLevel::INFO,
"info"},
100 {ErrorLevel::WARNING,
"warning"},
101 {ErrorLevel::ERROR,
"error"}};
103 const std::map<ErrorLevel, std::string> COLOR{{ErrorLevel::INFO,
"\033[1;34m"},
104 {ErrorLevel::WARNING,
"\033[1;33m"},
105 {ErrorLevel::ERROR,
"\033[1;31m"}};
107 const std::string COLOR_END(
"\033[0m");
109 return COLOR.at(errorLevel) + _uri +
":" + std::to_string(lineNumber) +
":" +
110 SEVERITY.at(errorLevel) + COLOR_END;
114 std::string
errorMsg(
long unsigned int lineNumber,
116 std::string msg =
"")
const;
144 const std::vector<Sample>& children)
const;
168 std::string
ERROR_PARSING_POINT(
long unsigned int lineNumber,
const std::string& point)
const;
171 std::string
ERROR_UNKNOWN_TOKEN(
long unsigned int lineNumber,
const std::string& token)
const;
175 const std::string& expected,
176 const std::string& got,
177 const std::string& msg)
const;
204 const std::string& vec2,
205 size_t length2)
const;
231 const std::shared_ptr<morphio::mut::Section>& parent)
const;
236 unsigned int parentId,
237 unsigned int childId)
const;
ErrorMessages(const std::string &uri)
Definition: errorMessages.h:91
SectionType
Definition: enums.h:62
int32_t getLineNumber(uint32_t sectionId) const
Definition: errorMessages.h:50
std::string ERROR_UNCOMPATIBLE_FLAGS(morphio::Option flag1, morphio::Option flag2) const
std::string ERROR_ONLY_CHILD_SWC_WRITER(unsigned int parentId) const
std::string ERROR_SOMA_WITH_NEURITE_PARENT(const Sample &sample) const
std::string WARNING_NEUROMORPHO_SOMA_NON_CONFORM(const Sample &root, const Sample &child1, const Sample &child2)
std::string ERROR_MISSING_MITO_PARENT(int mitoParentId) const
ErrorLevel
Definition: errorMessages.h:28
std::string ERROR_REPEATED_ID(const Sample &originalSample, const Sample &newSample) const
@ SECTION_UNDEFINED
Undefined section.
Definition: enums.h:63
std::string WARNING_WRONG_DUPLICATE(const std::shared_ptr< morphio::mut::Section > ¤t, const std::shared_ptr< morphio::mut::Section > &parent) const
std::string ERROR_EOF_REACHED(long unsigned int lineNumber) const
DebugInfo(std::string filename="")
Definition: errorMessages.h:41
Definition: errorMessages.h:68
@ ERROR
Error.
Definition: errorMessages.h:31
Warning
Definition: enums.h:25
std::string ERROR_UNSUPPORTED_SECTION_TYPE(long unsigned int lineNumber, const SectionType &type) const
std::string ERROR_NOT_IMPLEMENTED_UNDEFINED_SOMA(const std::string &) const
std::string ERROR_PERIMETER_DATA_NOT_WRITABLE()
Option
Definition: enums.h:13
std::string ERROR_LINE_NON_PARSABLE(long unsigned int lineNumber) const
@ INFO
Info.
Definition: errorMessages.h:29
std::string ERROR_MISSING_PARENT(const Sample &sample) const
std::string ERROR_EOF_UNBALANCED_PARENS(long unsigned int lineNumber) const
std::string WARNING_APPENDING_EMPTY_SECTION(std::shared_ptr< morphio::mut::Section >)
std::string WARNING_ONLY_CHILD(const DebugInfo &info, unsigned int parentId, unsigned int childId) const
std::string ERROR_UNEXPECTED_TOKEN(long unsigned int lineNumber, const std::string &expected, const std::string &got, const std::string &msg) const
std::string WARNING_WRONG_ROOT_POINT(const std::vector< Sample > &children) const
std::string errorMsg(long unsigned int lineNumber, ErrorLevel errorLevel, std::string msg="") const
std::string WARNING_ZERO_DIAMETER(const Sample &sample) const
std::string errorLink(long unsigned int lineNumber, ErrorLevel errorLevel) const
Definition: errorMessages.h:98
std::string ERROR_SELF_PARENT(const Sample &sample) const
Definition: errorMessages.h:35
std::string ERROR_SOMA_ALREADY_DEFINED(long unsigned int lineNumber) const
std::string ERROR_WRONG_EXTENSION(const std::string &filename) const
std::string WARNING_NO_SOMA_FOUND() const
std::string WARNING_WRITE_EMPTY_MORPHOLOGY() const
@ WARNING
Warning.
Definition: errorMessages.h:30
std::string WARNING_WRITE_NO_SOMA() const
std::string ERROR_OPENING_FILE() const
VascularSectionType
Definition: enums.h:99
Definition: errorMessages.h:82
static bool isIgnored(Warning warning)
std::string ERROR_SOMA_BIFURCATION(const Sample &sample, const std::vector< Sample > &children) const
std::string ERROR_UNKNOWN_TOKEN(long unsigned int lineNumber, const std::string &token) const
std::string ERROR_VECTOR_LENGTH_MISMATCH(const std::string &vec1, size_t length1, const std::string &vec2, size_t length2) const
std::string ERROR_EOF_IN_NEURITE(long unsigned int lineNumber) const
std::string ERROR_UNSUPPORTED_VASCULATURE_SECTION_TYPE(long unsigned int lineNumber, const VascularSectionType &type) const
std::string WARNING_DISCONNECTED_NEURITE(const Sample &sample) const
std::string ERROR_PARSING_POINT(long unsigned int lineNumber, const std::string &point) const
std::string WARNING_MITOCHONDRIA_WRITE_NOT_SUPPORTED() const
std::string _filename
Definition: errorMessages.h:58
std::string ERROR_MULTIPLE_SOMATA(const std::vector< Sample > &somata) const
void setLineNumber(uint32_t sectionId, unsigned int line)
Definition: errorMessages.h:45