summaryrefslogtreecommitdiff
path: root/cli/cli/traversal/class.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'cli/cli/traversal/class.hxx')
-rw-r--r--cli/cli/traversal/class.hxx41
1 files changed, 41 insertions, 0 deletions
diff --git a/cli/cli/traversal/class.hxx b/cli/cli/traversal/class.hxx
new file mode 100644
index 0000000..38cbefc
--- /dev/null
+++ b/cli/cli/traversal/class.hxx
@@ -0,0 +1,41 @@
+// file : cli/traversal/class.hxx
+// author : Boris Kolpackov <boris@codesynthesis.com>
+// license : MIT; see accompanying LICENSE file
+
+#ifndef CLI_TRAVERSAL_CLASS_HXX
+#define CLI_TRAVERSAL_CLASS_HXX
+
+#include <cli/traversal/elements.hxx>
+#include <cli/semantics/class.hxx>
+
+namespace traversal
+{
+ struct inherits: edge<semantics::inherits>
+ {
+ inherits () {}
+ inherits (node_dispatcher& n) {node_traverser (n);}
+
+ virtual void
+ traverse (type&);
+ };
+
+ struct class_: scope_template<semantics::class_>
+ {
+ virtual void
+ traverse (type&);
+
+ virtual void
+ pre (type&);
+
+ virtual void
+ inherits (type&);
+
+ virtual void
+ inherits (type&, edge_dispatcher&);
+
+ virtual void
+ post (type&);
+ };
+}
+
+#endif // CLI_TRAVERSAL_CLASS_HXX