1 /**
2  * A visitor that facilitates the traversal of subsets of the AST.
3  *
4  * Documentation:  https://dlang.org/phobos/dmd_permissivevisitor.html
5  * Coverage:    https://codecov.io/gh/dlang/dmd/src/master/src/dmd/permissivevisitor.d
6  */
7 
8 module dmd.permissivevisitor;
9 
10 import dmd.parsetimevisitor;
11 
12 /** PermissiveVisitor overrides all the visit methods in  the parent class
13   * that assert(0) in order to facilitate the traversal of subsets of the AST.
14   * It does not implement any visiting logic.
15   */
16 extern(C++) class PermissiveVisitor(AST): ParseTimeVisitor!AST
17 {
18     alias visit = ParseTimeVisitor!AST.visit;
19 
20     override void visit(AST.Dsymbol){}
21     override void visit(AST.Parameter){}
22     override void visit(AST.Statement){}
23     override void visit(AST.Type){}
24     override void visit(AST.Expression){}
25     override void visit(AST.TemplateParameter){}
26     override void visit(AST.Condition){}
27     override void visit(AST.Initializer){}
28 }