summaryrefslogtreecommitdiff
path: root/cli/traversal/unit.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'cli/traversal/unit.hxx')
-rw-r--r--cli/traversal/unit.hxx59
1 files changed, 59 insertions, 0 deletions
diff --git a/cli/traversal/unit.hxx b/cli/traversal/unit.hxx
new file mode 100644
index 0000000..25ec556
--- /dev/null
+++ b/cli/traversal/unit.hxx
@@ -0,0 +1,59 @@
+// file : cli/traversal/unit.hxx
+// author : Boris Kolpackov <boris@codesynthesis.com>
+// copyright : Copyright (c) 2009 Code Synthesis Tools CC
+// license : MIT; see accompanying LICENSE file
+
+#ifndef CLI_TRAVERSAL_UNIT_HXX
+#define CLI_TRAVERSAL_UNIT_HXX
+
+#include <traversal/elements.hxx>
+#include <semantics/unit.hxx>
+
+namespace traversal
+{
+ struct cxx_includes: edge<semantics::cxx_includes>
+ {
+ cxx_includes ()
+ {
+ }
+
+ cxx_includes (node_dispatcher& n)
+ {
+ node_traverser (n);
+ }
+
+ virtual void
+ traverse (type&);
+ };
+
+ struct cli_includes: edge<semantics::cli_includes>
+ {
+ cli_includes ()
+ {
+ }
+
+ cli_includes (node_dispatcher& n)
+ {
+ node_traverser (n);
+ }
+
+ virtual void
+ traverse (type&);
+ };
+
+ struct cxx_unit: node<semantics::cxx_unit> {};
+
+ struct cli_unit: scope_template<semantics::cli_unit>
+ {
+ virtual void
+ traverse (type&);
+
+ virtual void
+ pre (type&);
+
+ virtual void
+ post (type&);
+ };
+}
+
+#endif // CLI_TRAVERSAL_UNIT_HXX