17 #ifndef ZORBA_DIAGNOSTIC_API_H
18 #define ZORBA_DIAGNOSTIC_API_H
23 #include <zorba/config.h>
26 namespace diagnostic {
42 virtual char const* ns()
const = 0;
49 virtual char const* prefix()
const = 0;
56 virtual char const* localname()
const = 0;
121 template<
class StringType>
inline
123 return q1 == q2.c_str();
138 template<
class StringType>
inline
140 return q1.c_str() == q2;
199 template<
class StringType>
inline
201 return q1 != q2.c_str();
216 template<
class StringType>
inline
218 return q1.c_str() != q2;
247 # ifdef ZORBA_WITH_JSON
353 virtual char const* message()
const;
364 virtual void destroy()
const;
A QName is the abstract base class for a QName.
A ZorbaException is the base class for all Zorba exceptions.
kind
An diagnostic::kind is the kind of error.
ZORBA_DLL_PUBLIC bool operator==(QName const &q1, QName const &q2)
Compares two QNames for equality.
bool operator!=(Diagnostic const &d1, Diagnostic const &d2)
Compares two diagnostics for inequality.
A static error is an error that must be detected during the static analysis phase.
A Diagnostic is the base class for all Zorba diagnostics (errors and warnings).
bool operator!=(QName const &q1, QName const &q2)
Compares two QNames for inequality.
A type error may be raised during the static analysis phase or the dynamic evaluation phase...
ZORBA_DLL_PUBLIC std::ostream & operator<<(std::ostream &o, QName const &qn)
Emits a QName to an ostream.
bool operator==(Diagnostic const &d1, Diagnostic const &d2)
Compares two diagnostics for equality.
category
An diagnostic::category is the category of error.
A dynamic error is an error that must be detected during the dynamic evaluation phase and may be dete...
virtual diagnostic::QName const & qname() const =0
Gets the QName for this diagnostic.