diff options
Diffstat (limited to 'xsd/libxsd/xsd/cxx/tree/error-handler.txx')
-rw-r--r-- | xsd/libxsd/xsd/cxx/tree/error-handler.txx | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/xsd/libxsd/xsd/cxx/tree/error-handler.txx b/xsd/libxsd/xsd/cxx/tree/error-handler.txx new file mode 100644 index 0000000..c19d354 --- /dev/null +++ b/xsd/libxsd/xsd/cxx/tree/error-handler.txx @@ -0,0 +1,32 @@ +// file : xsd/cxx/tree/error-handler.txx +// author : Boris Kolpackov <boris@codesynthesis.com> +// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +namespace xsd +{ + namespace cxx + { + namespace tree + { + template <typename C> + bool error_handler<C>:: + handle (const std::basic_string<C>& id, + unsigned long line, + unsigned long column, + severity s, + const std::basic_string<C>& message) + { + diagnostics_.push_back ( + error<C> (s == severity::warning + ? tree::severity::warning + : tree::severity::error, id, line, column, message)); + + if (!failed_ && s != severity::warning) + failed_ = true; + + return true; + } + } + } +} |