summaryrefslogtreecommitdiff
path: root/xsd/cxx/parser/parser-forward.cxx
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff.email>2025-03-19 15:41:36 +0100
committerJörg Frings-Fürst <debian@jff.email>2025-03-19 15:41:36 +0100
commit018e1ba581ec6f01f069a45ec4cf89f152b44d5f (patch)
tree0e7dda4bb693a6714066fbe5efcd2f24ff7c1a65 /xsd/cxx/parser/parser-forward.cxx
parent1c188393cd2e271ed2581471b601fb5960777fd8 (diff)
remerge
Diffstat (limited to 'xsd/cxx/parser/parser-forward.cxx')
-rw-r--r--xsd/cxx/parser/parser-forward.cxx110
1 files changed, 0 insertions, 110 deletions
diff --git a/xsd/cxx/parser/parser-forward.cxx b/xsd/cxx/parser/parser-forward.cxx
deleted file mode 100644
index 65603fd..0000000
--- a/xsd/cxx/parser/parser-forward.cxx
+++ /dev/null
@@ -1,110 +0,0 @@
-// file : xsd/cxx/parser/parser-forward.cxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-#include <xsd/cxx/parser/parser-forward.hxx>
-
-#include <libxsd-frontend/semantic-graph.hxx>
-#include <libxsd-frontend/traversal.hxx>
-
-namespace CXX
-{
- namespace Parser
- {
- namespace
- {
- struct Enumeration: Traversal::Enumeration, Context
- {
- Enumeration (Context& c)
- : Context (c)
- {
- }
-
- virtual void
- traverse (Type& e)
- {
- os << "class " << ename (e) << ";";
- }
- };
-
- //
- //
- struct List: Traversal::List, Context
- {
- List (Context& c)
- : Context (c)
- {
- }
-
- virtual void
- traverse (Type& l)
- {
- os << "class " << ename (l) << ";";
- }
- };
-
- //
- //
- struct Union: Traversal::Union, Context
- {
- Union (Context& c)
- : Context (c)
- {
- }
-
- virtual void
- traverse (Type& u)
- {
- os << "class " << ename (u) << ";";
- }
- };
-
- //
- //
- struct Complex: Traversal::Complex, Context
- {
- Complex (Context& c)
- : Context (c)
- {
- }
-
- virtual void
- traverse (Type& c)
- {
- os << "class " << ename (c) << ";";
- }
- };
- }
-
- void
- generate_parser_forward (Context& ctx)
- {
- ctx.os << "// Forward declarations" << endl
- << "//" << endl;
-
- Traversal::Schema schema;
-
- Sources sources;
- Traversal::Names schema_names;
-
- Namespace ns (ctx);
- Traversal::Names names;
-
- schema >> sources >> schema;
- schema >> schema_names >> ns >> names;
-
- List list (ctx);
- Union union_ (ctx);
- Complex complex (ctx);
- Enumeration enumeration (ctx);
-
- names >> list;
- names >> union_;
- names >> complex;
- names >> enumeration;
-
- schema.dispatch (ctx.schema_root);
-
- ctx.os << endl;
- }
- }
-}