aboutsummaryrefslogtreecommitdiff
path: root/gcc/d/dmd/permissivevisitor.d
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/d/dmd/permissivevisitor.d')
-rw-r--r--gcc/d/dmd/permissivevisitor.d28
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/d/dmd/permissivevisitor.d b/gcc/d/dmd/permissivevisitor.d
new file mode 100644
index 0000000..5d7f3fc
--- /dev/null
+++ b/gcc/d/dmd/permissivevisitor.d
@@ -0,0 +1,28 @@
+/**
+ * A visitor that facilitates the traversal of subsets of the AST.
+ *
+ * Documentation: https://dlang.org/phobos/dmd_permissivevisitor.html
+ * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/permissivevisitor.d
+ */
+
+module dmd.permissivevisitor;
+
+import dmd.parsetimevisitor;
+
+/** PermissiveVisitor overrides all the visit methods in the parent class
+ * that assert(0) in order to facilitate the traversal of subsets of the AST.
+ * It does not implement any visiting logic.
+ */
+extern(C++) class PermissiveVisitor(AST): ParseTimeVisitor!AST
+{
+ alias visit = ParseTimeVisitor!AST.visit;
+
+ override void visit(AST.Dsymbol){}
+ override void visit(AST.Parameter){}
+ override void visit(AST.Statement){}
+ override void visit(AST.Type){}
+ override void visit(AST.Expression){}
+ override void visit(AST.TemplateParameter){}
+ override void visit(AST.Condition){}
+ override void visit(AST.Initializer){}
+}