summaryrefslogtreecommitdiff
path: root/xsd/xsd/elements.hxx
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff.email>2024-03-06 10:24:11 +0100
committerJörg Frings-Fürst <debian@jff.email>2024-03-06 10:24:11 +0100
commit4538829ab86b5a1cd4e845e7eab165029c9d6d46 (patch)
treebbadf39aed0610c8f8f7b41fefff47773b8ac205 /xsd/xsd/elements.hxx
parent23d41842168ac1a1580111b9c5c73500ceee3d57 (diff)
parentaad5ad9bf0c02aa4e79bc6b7d6c934612fff4026 (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.hxx126
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