parameters: (self, node, *args)
docstring: Recursively validate node and all of its children.
docstring_summary: Recursively validate node and all of its children.
docstring_tokens: Recursively validate node and all of its children .
function: def visit(self, node, *args):
          "Recursively validate node and all of its children."
          def classname(obj):
              return obj.__class__.__name__
          nodename = classname(node)
          fn = getattr(self, 'visit' + nodename, None)
          
          if fn:
              fn(node, *args)
          else:
              if nodename not in ALLOWED_AST_NODES:
                  self.fail(node, *args)
              
          for child in node.getChildNodes():
              self.visit(child, *args)
function_tokens: def visit ( self , node , * args ) : def classname ( obj ) : return obj . __class__ . __name__ nodename = classname ( node ) fn = getattr ( self , 'visit' + nodename , None ) if fn : fn ( node , * args ) else : if nodename not in ALLOWED_AST_NODES : self . fail ( node , * args ) for child in node . getChildNodes ( ) : self . visit ( child , * args )