diff options
author | Jörg Frings-Fürst <debian@jff.email> | 2024-03-06 10:24:11 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff.email> | 2024-03-06 10:24:11 +0100 |
commit | 4538829ab86b5a1cd4e845e7eab165029c9d6d46 (patch) | |
tree | bbadf39aed0610c8f8f7b41fefff47773b8ac205 /xsd/xsd/elements.hxx | |
parent | 23d41842168ac1a1580111b9c5c73500ceee3d57 (diff) | |
parent | aad5ad9bf0c02aa4e79bc6b7d6c934612fff4026 (diff) |
Update upstream source from tag 'upstream/4.2.0'
Update to upstream version '4.2.0'
with Debian dir 1b38df7bbcf313223de3c50107ac0255090fe647
Diffstat (limited to 'xsd/xsd/elements.hxx')
-rw-r--r-- | xsd/xsd/elements.hxx | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/xsd/xsd/elements.hxx b/xsd/xsd/elements.hxx deleted file mode 100644 index b09803f..0000000 --- a/xsd/xsd/elements.hxx +++ /dev/null @@ -1,126 +0,0 @@ -// file : xsd/elements.hxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef ELEMENTS_HXX -#define ELEMENTS_HXX - -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> - -#include <types.hxx> - -namespace SemanticGraph = XSDFrontend::SemanticGraph; -namespace Traversal = XSDFrontend::Traversal; - -// Anonymous feedback via belongs edge. -// -struct AnonymousBase : Traversal::Element, Traversal::Attribute -{ - AnonymousBase (Traversal::NodeDispatcher& d1) - : complex_ (&d1, 0) - { - edge_traverser (belongs_); - belongs_.node_traverser (complex_); - } - - AnonymousBase (Traversal::NodeDispatcher& d1, Traversal::NodeDispatcher& d2) - : complex_ (&d1, &d2) - { - edge_traverser (belongs_); - belongs_.node_traverser (complex_); - } - - // Hooks. - // -public: - virtual void - member_pre (SemanticGraph::Member&) - { - } - - virtual void - member_post (SemanticGraph::Member&) - { - } - - /* - virtual void - type_pre (SemanticGraph::Type& t) - { - } - - virtual void - type_post (SemanticGraph::Type& t) - { - } - */ - -public: - - virtual void - traverse (SemanticGraph::Element& e) - { - SemanticGraph::Type& t (e.type ()); - - if (!t.named_p () && !t.context ().count ("seen")) - { - t.context ().set ("seen", true); - - member_pre (e); - - Element::belongs (e, belongs_); - - member_post (e); - - t.context ().remove ("seen"); - } - } - - virtual void - traverse (SemanticGraph::Attribute& a) - { - SemanticGraph::Type& t (a.type ()); - - if (!t.named_p () && !t.context ().count ("seen")) - { - t.context ().set ("seen", true); - - member_pre (a); - - Attribute::belongs (a, belongs_); - - member_post (a); - - t.context ().remove ("seen"); - } - } - -private: - struct Complex : Traversal::Complex - { - Complex (Traversal::NodeDispatcher* d1, Traversal::NodeDispatcher* d2) - : d1_ (d1), d2_ (d2) - { - } - - virtual void - traverse (SemanticGraph::Complex& c) - { - if (d1_) - d1_->dispatch (c); - - if (d2_) - d2_->dispatch (c); - } - - private: - Traversal::NodeDispatcher* d1_; - Traversal::NodeDispatcher* d2_; - - } complex_; - - Traversal::Belongs belongs_; -}; - -#endif // ELEMENTS_HXX |