# dmd.visitor

Provides a `visitor` class visiting all AST nodes present in the compiler.

#### Authors

Walter Bright

#### License

Boost License 1.0

Source: visitor.d

Documentation: https://dlang.org/phobos/dmd_visitor.html

Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/visitor.d

- `Visitor`

  #### Declaration

  `class `Visitor`: dmd.parsetimevisitor.ParseTimeVisitor!(ASTCodegen).ParseTimeVisitor;`

  Classic `Visitor` class which implements visit methods for all the AST nodes present in the compiler. The visit methods for AST nodes created at parse time are inherited while the visiting methods for AST nodes created at semantic time are implemented.

- `SemanticTimePermissiveVisitor`

  #### Declaration

  `class `SemanticTimePermissiveVisitor`: dmd.visitor.Visitor;`

  The PermissiveVisitor overrides the root AST nodes with empty visiting methods.

- `SemanticTimeTransitiveVisitor`

  #### Declaration

  `class `SemanticTimeTransitiveVisitor`: dmd.visitor.SemanticTimePermissiveVisitor;`

  The TransitiveVisitor implements the AST traversal logic for all AST nodes.