access_nri_intake.ipython_magic.ast
===================================

.. py:module:: access_nri_intake.ipython_magic.ast

.. autoapi-nested-parse::

   Shared utilities for writing Intake-ESM builders and their parsers

   ..
       !! processed by numpydoc !!


Attributes
----------

.. autoapisummary::

   access_nri_intake.ipython_magic.ast.ip


Exceptions
----------

.. autoapisummary::

   access_nri_intake.ipython_magic.ast.MissingStorageWarning
   access_nri_intake.ipython_magic.ast.MissingStorageError
   access_nri_intake.ipython_magic.ast.TooManyDatasetsError


Classes
-------

.. autoapisummary::

   access_nri_intake.ipython_magic.ast.CallListener
   access_nri_intake.ipython_magic.ast.ChainSimplifier


Functions
---------

.. autoapisummary::

   access_nri_intake.ipython_magic.ast.check_permissions
   access_nri_intake.ipython_magic.ast.strip_magic
   access_nri_intake.ipython_magic.ast.check_storage_enabled
   access_nri_intake.ipython_magic.ast.load_ipython_extension


Module Contents
---------------

.. py:exception:: MissingStorageWarning

   Bases: :py:obj:`UserWarning`


   Warning raised when a storage flag is missing for a project code.


   Initialize self.  See help(type(self)) for accurate signature.
















   ..
       !! processed by numpydoc !!


.. py:exception:: MissingStorageError

   Bases: :py:obj:`Exception`


   Error raised when a storage flag is missing for a project code.


   Initialize self.  See help(type(self)) for accurate signature.
















   ..
       !! processed by numpydoc !!


.. py:exception:: TooManyDatasetsError

   Bases: :py:obj:`Exception`


   Error raised when we try to call .to_dask() but have >1 dataset


   Initialize self.  See help(type(self)) for accurate signature.
















   ..
       !! processed by numpydoc !!


.. py:function:: check_permissions(esm_datastore, method_name, err = None)

   
   Use an IPython cell magic to listen for calls to `.to_dask`, `.to_dataset_dict()` or `to_datatree`, and
   inspect the list of paths attached to the associated esm_datastore. If we find any paths that we don't
   have the relevant permissions for, then emit a warning
















   ..
       !! processed by numpydoc !!

.. py:function:: strip_magic(code)

   
   Parse the provided code into an AST (Abstract Syntax Tree).


   :Parameters:

       **code** : str
           The code to parse.

       **Returns**
           ..

       **-------**
           ..

       **str**
           The code without IPython magic commands.














   ..
       !! processed by numpydoc !!

.. py:function:: check_storage_enabled(line, cell)

   
   Use the AST module to parse the code that we are executing & check for attempts
   to access directories that we haven't set storage flags for.

   Fail silently if we can't parse the code.

   :Parameters:

       **line:   str**
           The line of the cell magic (not used here, but required by IPython).

       **cell** : str
           The code to parse.



   :Returns:

       None
           ..











   ..
       !! processed by numpydoc !!

.. py:class:: CallListener(user_namespace, _err = None)

   Bases: :py:obj:`libcst.CSTVisitor`


   
   The low-level base visitor class for traversing a CST. This should be used in
   conjunction with the :func:`~libcst.CSTNode.visit` method on a
   :class:`~libcst.CSTNode` to visit each element in a tree starting with that
   node. Unlike :class:`CSTTransformer`, instances of this class cannot modify
   the tree.

   When visiting nodes using a :class:`CSTVisitor`, the return value of
   :func:`~libcst.CSTNode.visit` will equal the passed in tree.















   ..
       !! processed by numpydoc !!

   .. py:attribute:: user_namespace


   .. py:method:: visit_Call(node)

      
      Listen for calls that match anything of the form `esm_datastore.to_dask()`, `esm_datastore.to_dataset_dict()`, or
      `esm_datastore.to_datatree()`.
















      ..
          !! processed by numpydoc !!


   .. py:method:: on_visit(node)

      
      Called every time a node is visited, before we've visited its children.

      Returns ``True`` if children should be visited, and returns ``False``
      otherwise.















      ..
          !! processed by numpydoc !!


   .. py:method:: on_leave(original_node)

      
      Called every time we leave a node, after we've visited its children. If
      the :func:`~libcst.CSTVisitor.on_visit` function for this node returns
      ``False``, this function will still be called on that node.
















      ..
          !! processed by numpydoc !!


   .. py:method:: on_visit_attribute(node, attribute)

      
      Called before a node's child attribute is visited and after we have called
      :func:`~libcst.CSTTransformer.on_visit` on the node. A node's child
      attributes are visited in the order that they appear in source that this
      node originates from.
















      ..
          !! processed by numpydoc !!


   .. py:method:: on_leave_attribute(original_node, attribute)

      
      Called after a node's child attribute is visited and before we have called
      :func:`~libcst.CSTVisitor.on_leave` on the node.
















      ..
          !! processed by numpydoc !!


   .. py:method:: leave_Add(original_node)


   .. py:method:: leave_AddAssign(original_node)


   .. py:method:: leave_And(original_node)


   .. py:method:: leave_AnnAssign(original_node)


   .. py:method:: leave_Annotation(original_node)


   .. py:method:: leave_Arg(original_node)


   .. py:method:: leave_AsName(original_node)


   .. py:method:: leave_Assert(original_node)


   .. py:method:: leave_Assign(original_node)


   .. py:method:: leave_AssignEqual(original_node)


   .. py:method:: leave_AssignTarget(original_node)


   .. py:method:: leave_Asynchronous(original_node)


   .. py:method:: leave_Attribute(original_node)


   .. py:method:: leave_AugAssign(original_node)


   .. py:method:: leave_Await(original_node)


   .. py:method:: leave_BinaryOperation(original_node)


   .. py:method:: leave_BitAnd(original_node)


   .. py:method:: leave_BitAndAssign(original_node)


   .. py:method:: leave_BitInvert(original_node)


   .. py:method:: leave_BitOr(original_node)


   .. py:method:: leave_BitOrAssign(original_node)


   .. py:method:: leave_BitXor(original_node)


   .. py:method:: leave_BitXorAssign(original_node)


   .. py:method:: leave_BooleanOperation(original_node)


   .. py:method:: leave_Break(original_node)


   .. py:method:: leave_Call(original_node)


   .. py:method:: leave_ClassDef(original_node)


   .. py:method:: leave_Colon(original_node)


   .. py:method:: leave_Comma(original_node)


   .. py:method:: leave_Comment(original_node)


   .. py:method:: leave_CompFor(original_node)


   .. py:method:: leave_CompIf(original_node)


   .. py:method:: leave_Comparison(original_node)


   .. py:method:: leave_ComparisonTarget(original_node)


   .. py:method:: leave_ConcatenatedString(original_node)


   .. py:method:: leave_Continue(original_node)


   .. py:method:: leave_Decorator(original_node)


   .. py:method:: leave_Del(original_node)


   .. py:method:: leave_Dict(original_node)


   .. py:method:: leave_DictComp(original_node)


   .. py:method:: leave_DictElement(original_node)


   .. py:method:: leave_Divide(original_node)


   .. py:method:: leave_DivideAssign(original_node)


   .. py:method:: leave_Dot(original_node)


   .. py:method:: leave_Element(original_node)


   .. py:method:: leave_Ellipsis(original_node)


   .. py:method:: leave_Else(original_node)


   .. py:method:: leave_EmptyLine(original_node)


   .. py:method:: leave_Equal(original_node)


   .. py:method:: leave_ExceptHandler(original_node)


   .. py:method:: leave_ExceptStarHandler(original_node)


   .. py:method:: leave_Expr(original_node)


   .. py:method:: leave_Finally(original_node)


   .. py:method:: leave_Float(original_node)


   .. py:method:: leave_FloorDivide(original_node)


   .. py:method:: leave_FloorDivideAssign(original_node)


   .. py:method:: leave_For(original_node)


   .. py:method:: leave_FormattedString(original_node)


   .. py:method:: leave_FormattedStringExpression(original_node)


   .. py:method:: leave_FormattedStringText(original_node)


   .. py:method:: leave_From(original_node)


   .. py:method:: leave_FunctionDef(original_node)


   .. py:method:: leave_GeneratorExp(original_node)


   .. py:method:: leave_Global(original_node)


   .. py:method:: leave_GreaterThan(original_node)


   .. py:method:: leave_GreaterThanEqual(original_node)


   .. py:method:: leave_If(original_node)


   .. py:method:: leave_IfExp(original_node)


   .. py:method:: leave_Imaginary(original_node)


   .. py:method:: leave_Import(original_node)


   .. py:method:: leave_ImportAlias(original_node)


   .. py:method:: leave_ImportFrom(original_node)


   .. py:method:: leave_ImportStar(original_node)


   .. py:method:: leave_In(original_node)


   .. py:method:: leave_IndentedBlock(original_node)


   .. py:method:: leave_Index(original_node)


   .. py:method:: leave_Integer(original_node)


   .. py:method:: leave_Is(original_node)


   .. py:method:: leave_IsNot(original_node)


   .. py:method:: leave_Lambda(original_node)


   .. py:method:: leave_LeftCurlyBrace(original_node)


   .. py:method:: leave_LeftParen(original_node)


   .. py:method:: leave_LeftShift(original_node)


   .. py:method:: leave_LeftShiftAssign(original_node)


   .. py:method:: leave_LeftSquareBracket(original_node)


   .. py:method:: leave_LessThan(original_node)


   .. py:method:: leave_LessThanEqual(original_node)


   .. py:method:: leave_List(original_node)


   .. py:method:: leave_ListComp(original_node)


   .. py:method:: leave_Match(original_node)


   .. py:method:: leave_MatchAs(original_node)


   .. py:method:: leave_MatchCase(original_node)


   .. py:method:: leave_MatchClass(original_node)


   .. py:method:: leave_MatchKeywordElement(original_node)


   .. py:method:: leave_MatchList(original_node)


   .. py:method:: leave_MatchMapping(original_node)


   .. py:method:: leave_MatchMappingElement(original_node)


   .. py:method:: leave_MatchOr(original_node)


   .. py:method:: leave_MatchOrElement(original_node)


   .. py:method:: leave_MatchPattern(original_node)


   .. py:method:: leave_MatchSequence(original_node)


   .. py:method:: leave_MatchSequenceElement(original_node)


   .. py:method:: leave_MatchSingleton(original_node)


   .. py:method:: leave_MatchStar(original_node)


   .. py:method:: leave_MatchTuple(original_node)


   .. py:method:: leave_MatchValue(original_node)


   .. py:method:: leave_MatrixMultiply(original_node)


   .. py:method:: leave_MatrixMultiplyAssign(original_node)


   .. py:method:: leave_Minus(original_node)


   .. py:method:: leave_Module(original_node)


   .. py:method:: leave_Modulo(original_node)


   .. py:method:: leave_ModuloAssign(original_node)


   .. py:method:: leave_Multiply(original_node)


   .. py:method:: leave_MultiplyAssign(original_node)


   .. py:method:: leave_Name(original_node)


   .. py:method:: leave_NameItem(original_node)


   .. py:method:: leave_NamedExpr(original_node)


   .. py:method:: leave_Newline(original_node)


   .. py:method:: leave_Nonlocal(original_node)


   .. py:method:: leave_Not(original_node)


   .. py:method:: leave_NotEqual(original_node)


   .. py:method:: leave_NotIn(original_node)


   .. py:method:: leave_Or(original_node)


   .. py:method:: leave_Param(original_node)


   .. py:method:: leave_ParamSlash(original_node)


   .. py:method:: leave_ParamSpec(original_node)


   .. py:method:: leave_ParamStar(original_node)


   .. py:method:: leave_Parameters(original_node)


   .. py:method:: leave_ParenthesizedWhitespace(original_node)


   .. py:method:: leave_Pass(original_node)


   .. py:method:: leave_Plus(original_node)


   .. py:method:: leave_Power(original_node)


   .. py:method:: leave_PowerAssign(original_node)


   .. py:method:: leave_Raise(original_node)


   .. py:method:: leave_Return(original_node)


   .. py:method:: leave_RightCurlyBrace(original_node)


   .. py:method:: leave_RightParen(original_node)


   .. py:method:: leave_RightShift(original_node)


   .. py:method:: leave_RightShiftAssign(original_node)


   .. py:method:: leave_RightSquareBracket(original_node)


   .. py:method:: leave_Semicolon(original_node)


   .. py:method:: leave_Set(original_node)


   .. py:method:: leave_SetComp(original_node)


   .. py:method:: leave_SimpleStatementLine(original_node)


   .. py:method:: leave_SimpleStatementSuite(original_node)


   .. py:method:: leave_SimpleString(original_node)


   .. py:method:: leave_SimpleWhitespace(original_node)


   .. py:method:: leave_Slice(original_node)


   .. py:method:: leave_StarredDictElement(original_node)


   .. py:method:: leave_StarredElement(original_node)


   .. py:method:: leave_Subscript(original_node)


   .. py:method:: leave_SubscriptElement(original_node)


   .. py:method:: leave_Subtract(original_node)


   .. py:method:: leave_SubtractAssign(original_node)


   .. py:method:: leave_TemplatedString(original_node)


   .. py:method:: leave_TemplatedStringExpression(original_node)


   .. py:method:: leave_TemplatedStringText(original_node)


   .. py:method:: leave_TrailingWhitespace(original_node)


   .. py:method:: leave_Try(original_node)


   .. py:method:: leave_TryStar(original_node)


   .. py:method:: leave_Tuple(original_node)


   .. py:method:: leave_TypeAlias(original_node)


   .. py:method:: leave_TypeParam(original_node)


   .. py:method:: leave_TypeParameters(original_node)


   .. py:method:: leave_TypeVar(original_node)


   .. py:method:: leave_TypeVarTuple(original_node)


   .. py:method:: leave_UnaryOperation(original_node)


   .. py:method:: leave_While(original_node)


   .. py:method:: leave_With(original_node)


   .. py:method:: leave_WithItem(original_node)


   .. py:method:: leave_Yield(original_node)


   .. py:method:: visit_Add(node)


   .. py:method:: visit_Add_whitespace_before(node)


   .. py:method:: leave_Add_whitespace_before(node)


   .. py:method:: visit_Add_whitespace_after(node)


   .. py:method:: leave_Add_whitespace_after(node)


   .. py:method:: visit_AddAssign(node)


   .. py:method:: visit_AddAssign_whitespace_before(node)


   .. py:method:: leave_AddAssign_whitespace_before(node)


   .. py:method:: visit_AddAssign_whitespace_after(node)


   .. py:method:: leave_AddAssign_whitespace_after(node)


   .. py:method:: visit_And(node)


   .. py:method:: visit_And_whitespace_before(node)


   .. py:method:: leave_And_whitespace_before(node)


   .. py:method:: visit_And_whitespace_after(node)


   .. py:method:: leave_And_whitespace_after(node)


   .. py:method:: visit_AnnAssign(node)


   .. py:method:: visit_AnnAssign_target(node)


   .. py:method:: leave_AnnAssign_target(node)


   .. py:method:: visit_AnnAssign_annotation(node)


   .. py:method:: leave_AnnAssign_annotation(node)


   .. py:method:: visit_AnnAssign_value(node)


   .. py:method:: leave_AnnAssign_value(node)


   .. py:method:: visit_AnnAssign_equal(node)


   .. py:method:: leave_AnnAssign_equal(node)


   .. py:method:: visit_AnnAssign_semicolon(node)


   .. py:method:: leave_AnnAssign_semicolon(node)


   .. py:method:: visit_Annotation(node)


   .. py:method:: visit_Annotation_annotation(node)


   .. py:method:: leave_Annotation_annotation(node)


   .. py:method:: visit_Annotation_whitespace_before_indicator(node)


   .. py:method:: leave_Annotation_whitespace_before_indicator(node)


   .. py:method:: visit_Annotation_whitespace_after_indicator(node)


   .. py:method:: leave_Annotation_whitespace_after_indicator(node)


   .. py:method:: visit_Arg(node)


   .. py:method:: visit_Arg_value(node)


   .. py:method:: leave_Arg_value(node)


   .. py:method:: visit_Arg_keyword(node)


   .. py:method:: leave_Arg_keyword(node)


   .. py:method:: visit_Arg_equal(node)


   .. py:method:: leave_Arg_equal(node)


   .. py:method:: visit_Arg_comma(node)


   .. py:method:: leave_Arg_comma(node)


   .. py:method:: visit_Arg_star(node)


   .. py:method:: leave_Arg_star(node)


   .. py:method:: visit_Arg_whitespace_after_star(node)


   .. py:method:: leave_Arg_whitespace_after_star(node)


   .. py:method:: visit_Arg_whitespace_after_arg(node)


   .. py:method:: leave_Arg_whitespace_after_arg(node)


   .. py:method:: visit_AsName(node)


   .. py:method:: visit_AsName_name(node)


   .. py:method:: leave_AsName_name(node)


   .. py:method:: visit_AsName_whitespace_before_as(node)


   .. py:method:: leave_AsName_whitespace_before_as(node)


   .. py:method:: visit_AsName_whitespace_after_as(node)


   .. py:method:: leave_AsName_whitespace_after_as(node)


   .. py:method:: visit_Assert(node)


   .. py:method:: visit_Assert_test(node)


   .. py:method:: leave_Assert_test(node)


   .. py:method:: visit_Assert_msg(node)


   .. py:method:: leave_Assert_msg(node)


   .. py:method:: visit_Assert_comma(node)


   .. py:method:: leave_Assert_comma(node)


   .. py:method:: visit_Assert_whitespace_after_assert(node)


   .. py:method:: leave_Assert_whitespace_after_assert(node)


   .. py:method:: visit_Assert_semicolon(node)


   .. py:method:: leave_Assert_semicolon(node)


   .. py:method:: visit_Assign(node)


   .. py:method:: visit_Assign_targets(node)


   .. py:method:: leave_Assign_targets(node)


   .. py:method:: visit_Assign_value(node)


   .. py:method:: leave_Assign_value(node)


   .. py:method:: visit_Assign_semicolon(node)


   .. py:method:: leave_Assign_semicolon(node)


   .. py:method:: visit_AssignEqual(node)


   .. py:method:: visit_AssignEqual_whitespace_before(node)


   .. py:method:: leave_AssignEqual_whitespace_before(node)


   .. py:method:: visit_AssignEqual_whitespace_after(node)


   .. py:method:: leave_AssignEqual_whitespace_after(node)


   .. py:method:: visit_AssignTarget(node)


   .. py:method:: visit_AssignTarget_target(node)


   .. py:method:: leave_AssignTarget_target(node)


   .. py:method:: visit_AssignTarget_whitespace_before_equal(node)


   .. py:method:: leave_AssignTarget_whitespace_before_equal(node)


   .. py:method:: visit_AssignTarget_whitespace_after_equal(node)


   .. py:method:: leave_AssignTarget_whitespace_after_equal(node)


   .. py:method:: visit_Asynchronous(node)


   .. py:method:: visit_Asynchronous_whitespace_after(node)


   .. py:method:: leave_Asynchronous_whitespace_after(node)


   .. py:method:: visit_Attribute(node)


   .. py:method:: visit_Attribute_value(node)


   .. py:method:: leave_Attribute_value(node)


   .. py:method:: visit_Attribute_attr(node)


   .. py:method:: leave_Attribute_attr(node)


   .. py:method:: visit_Attribute_dot(node)


   .. py:method:: leave_Attribute_dot(node)


   .. py:method:: visit_Attribute_lpar(node)


   .. py:method:: leave_Attribute_lpar(node)


   .. py:method:: visit_Attribute_rpar(node)


   .. py:method:: leave_Attribute_rpar(node)


   .. py:method:: visit_AugAssign(node)


   .. py:method:: visit_AugAssign_target(node)


   .. py:method:: leave_AugAssign_target(node)


   .. py:method:: visit_AugAssign_operator(node)


   .. py:method:: leave_AugAssign_operator(node)


   .. py:method:: visit_AugAssign_value(node)


   .. py:method:: leave_AugAssign_value(node)


   .. py:method:: visit_AugAssign_semicolon(node)


   .. py:method:: leave_AugAssign_semicolon(node)


   .. py:method:: visit_Await(node)


   .. py:method:: visit_Await_expression(node)


   .. py:method:: leave_Await_expression(node)


   .. py:method:: visit_Await_lpar(node)


   .. py:method:: leave_Await_lpar(node)


   .. py:method:: visit_Await_rpar(node)


   .. py:method:: leave_Await_rpar(node)


   .. py:method:: visit_Await_whitespace_after_await(node)


   .. py:method:: leave_Await_whitespace_after_await(node)


   .. py:method:: visit_BinaryOperation(node)


   .. py:method:: visit_BinaryOperation_left(node)


   .. py:method:: leave_BinaryOperation_left(node)


   .. py:method:: visit_BinaryOperation_operator(node)


   .. py:method:: leave_BinaryOperation_operator(node)


   .. py:method:: visit_BinaryOperation_right(node)


   .. py:method:: leave_BinaryOperation_right(node)


   .. py:method:: visit_BinaryOperation_lpar(node)


   .. py:method:: leave_BinaryOperation_lpar(node)


   .. py:method:: visit_BinaryOperation_rpar(node)


   .. py:method:: leave_BinaryOperation_rpar(node)


   .. py:method:: visit_BitAnd(node)


   .. py:method:: visit_BitAnd_whitespace_before(node)


   .. py:method:: leave_BitAnd_whitespace_before(node)


   .. py:method:: visit_BitAnd_whitespace_after(node)


   .. py:method:: leave_BitAnd_whitespace_after(node)


   .. py:method:: visit_BitAndAssign(node)


   .. py:method:: visit_BitAndAssign_whitespace_before(node)


   .. py:method:: leave_BitAndAssign_whitespace_before(node)


   .. py:method:: visit_BitAndAssign_whitespace_after(node)


   .. py:method:: leave_BitAndAssign_whitespace_after(node)


   .. py:method:: visit_BitInvert(node)


   .. py:method:: visit_BitInvert_whitespace_after(node)


   .. py:method:: leave_BitInvert_whitespace_after(node)


   .. py:method:: visit_BitOr(node)


   .. py:method:: visit_BitOr_whitespace_before(node)


   .. py:method:: leave_BitOr_whitespace_before(node)


   .. py:method:: visit_BitOr_whitespace_after(node)


   .. py:method:: leave_BitOr_whitespace_after(node)


   .. py:method:: visit_BitOrAssign(node)


   .. py:method:: visit_BitOrAssign_whitespace_before(node)


   .. py:method:: leave_BitOrAssign_whitespace_before(node)


   .. py:method:: visit_BitOrAssign_whitespace_after(node)


   .. py:method:: leave_BitOrAssign_whitespace_after(node)


   .. py:method:: visit_BitXor(node)


   .. py:method:: visit_BitXor_whitespace_before(node)


   .. py:method:: leave_BitXor_whitespace_before(node)


   .. py:method:: visit_BitXor_whitespace_after(node)


   .. py:method:: leave_BitXor_whitespace_after(node)


   .. py:method:: visit_BitXorAssign(node)


   .. py:method:: visit_BitXorAssign_whitespace_before(node)


   .. py:method:: leave_BitXorAssign_whitespace_before(node)


   .. py:method:: visit_BitXorAssign_whitespace_after(node)


   .. py:method:: leave_BitXorAssign_whitespace_after(node)


   .. py:method:: visit_BooleanOperation(node)


   .. py:method:: visit_BooleanOperation_left(node)


   .. py:method:: leave_BooleanOperation_left(node)


   .. py:method:: visit_BooleanOperation_operator(node)


   .. py:method:: leave_BooleanOperation_operator(node)


   .. py:method:: visit_BooleanOperation_right(node)


   .. py:method:: leave_BooleanOperation_right(node)


   .. py:method:: visit_BooleanOperation_lpar(node)


   .. py:method:: leave_BooleanOperation_lpar(node)


   .. py:method:: visit_BooleanOperation_rpar(node)


   .. py:method:: leave_BooleanOperation_rpar(node)


   .. py:method:: visit_Break(node)


   .. py:method:: visit_Break_semicolon(node)


   .. py:method:: leave_Break_semicolon(node)


   .. py:method:: visit_Call_func(node)


   .. py:method:: leave_Call_func(node)


   .. py:method:: visit_Call_args(node)


   .. py:method:: leave_Call_args(node)


   .. py:method:: visit_Call_lpar(node)


   .. py:method:: leave_Call_lpar(node)


   .. py:method:: visit_Call_rpar(node)


   .. py:method:: leave_Call_rpar(node)


   .. py:method:: visit_Call_whitespace_after_func(node)


   .. py:method:: leave_Call_whitespace_after_func(node)


   .. py:method:: visit_Call_whitespace_before_args(node)


   .. py:method:: leave_Call_whitespace_before_args(node)


   .. py:method:: visit_ClassDef(node)


   .. py:method:: visit_ClassDef_name(node)


   .. py:method:: leave_ClassDef_name(node)


   .. py:method:: visit_ClassDef_body(node)


   .. py:method:: leave_ClassDef_body(node)


   .. py:method:: visit_ClassDef_bases(node)


   .. py:method:: leave_ClassDef_bases(node)


   .. py:method:: visit_ClassDef_keywords(node)


   .. py:method:: leave_ClassDef_keywords(node)


   .. py:method:: visit_ClassDef_decorators(node)


   .. py:method:: leave_ClassDef_decorators(node)


   .. py:method:: visit_ClassDef_lpar(node)


   .. py:method:: leave_ClassDef_lpar(node)


   .. py:method:: visit_ClassDef_rpar(node)


   .. py:method:: leave_ClassDef_rpar(node)


   .. py:method:: visit_ClassDef_leading_lines(node)


   .. py:method:: leave_ClassDef_leading_lines(node)


   .. py:method:: visit_ClassDef_lines_after_decorators(node)


   .. py:method:: leave_ClassDef_lines_after_decorators(node)


   .. py:method:: visit_ClassDef_whitespace_after_class(node)


   .. py:method:: leave_ClassDef_whitespace_after_class(node)


   .. py:method:: visit_ClassDef_whitespace_after_name(node)


   .. py:method:: leave_ClassDef_whitespace_after_name(node)


   .. py:method:: visit_ClassDef_whitespace_before_colon(node)


   .. py:method:: leave_ClassDef_whitespace_before_colon(node)


   .. py:method:: visit_ClassDef_type_parameters(node)


   .. py:method:: leave_ClassDef_type_parameters(node)


   .. py:method:: visit_ClassDef_whitespace_after_type_parameters(node)


   .. py:method:: leave_ClassDef_whitespace_after_type_parameters(node)


   .. py:method:: visit_Colon(node)


   .. py:method:: visit_Colon_whitespace_before(node)


   .. py:method:: leave_Colon_whitespace_before(node)


   .. py:method:: visit_Colon_whitespace_after(node)


   .. py:method:: leave_Colon_whitespace_after(node)


   .. py:method:: visit_Comma(node)


   .. py:method:: visit_Comma_whitespace_before(node)


   .. py:method:: leave_Comma_whitespace_before(node)


   .. py:method:: visit_Comma_whitespace_after(node)


   .. py:method:: leave_Comma_whitespace_after(node)


   .. py:method:: visit_Comment(node)


   .. py:method:: visit_Comment_value(node)


   .. py:method:: leave_Comment_value(node)


   .. py:method:: visit_CompFor(node)


   .. py:method:: visit_CompFor_target(node)


   .. py:method:: leave_CompFor_target(node)


   .. py:method:: visit_CompFor_iter(node)


   .. py:method:: leave_CompFor_iter(node)


   .. py:method:: visit_CompFor_ifs(node)


   .. py:method:: leave_CompFor_ifs(node)


   .. py:method:: visit_CompFor_inner_for_in(node)


   .. py:method:: leave_CompFor_inner_for_in(node)


   .. py:method:: visit_CompFor_asynchronous(node)


   .. py:method:: leave_CompFor_asynchronous(node)


   .. py:method:: visit_CompFor_whitespace_before(node)


   .. py:method:: leave_CompFor_whitespace_before(node)


   .. py:method:: visit_CompFor_whitespace_after_for(node)


   .. py:method:: leave_CompFor_whitespace_after_for(node)


   .. py:method:: visit_CompFor_whitespace_before_in(node)


   .. py:method:: leave_CompFor_whitespace_before_in(node)


   .. py:method:: visit_CompFor_whitespace_after_in(node)


   .. py:method:: leave_CompFor_whitespace_after_in(node)


   .. py:method:: visit_CompIf(node)


   .. py:method:: visit_CompIf_test(node)


   .. py:method:: leave_CompIf_test(node)


   .. py:method:: visit_CompIf_whitespace_before(node)


   .. py:method:: leave_CompIf_whitespace_before(node)


   .. py:method:: visit_CompIf_whitespace_before_test(node)


   .. py:method:: leave_CompIf_whitespace_before_test(node)


   .. py:method:: visit_Comparison(node)


   .. py:method:: visit_Comparison_left(node)


   .. py:method:: leave_Comparison_left(node)


   .. py:method:: visit_Comparison_comparisons(node)


   .. py:method:: leave_Comparison_comparisons(node)


   .. py:method:: visit_Comparison_lpar(node)


   .. py:method:: leave_Comparison_lpar(node)


   .. py:method:: visit_Comparison_rpar(node)


   .. py:method:: leave_Comparison_rpar(node)


   .. py:method:: visit_ComparisonTarget(node)


   .. py:method:: visit_ComparisonTarget_operator(node)


   .. py:method:: leave_ComparisonTarget_operator(node)


   .. py:method:: visit_ComparisonTarget_comparator(node)


   .. py:method:: leave_ComparisonTarget_comparator(node)


   .. py:method:: visit_ConcatenatedString(node)


   .. py:method:: visit_ConcatenatedString_left(node)


   .. py:method:: leave_ConcatenatedString_left(node)


   .. py:method:: visit_ConcatenatedString_right(node)


   .. py:method:: leave_ConcatenatedString_right(node)


   .. py:method:: visit_ConcatenatedString_lpar(node)


   .. py:method:: leave_ConcatenatedString_lpar(node)


   .. py:method:: visit_ConcatenatedString_rpar(node)


   .. py:method:: leave_ConcatenatedString_rpar(node)


   .. py:method:: visit_ConcatenatedString_whitespace_between(node)


   .. py:method:: leave_ConcatenatedString_whitespace_between(node)


   .. py:method:: visit_Continue(node)


   .. py:method:: visit_Continue_semicolon(node)


   .. py:method:: leave_Continue_semicolon(node)


   .. py:method:: visit_Decorator(node)


   .. py:method:: visit_Decorator_decorator(node)


   .. py:method:: leave_Decorator_decorator(node)


   .. py:method:: visit_Decorator_leading_lines(node)


   .. py:method:: leave_Decorator_leading_lines(node)


   .. py:method:: visit_Decorator_whitespace_after_at(node)


   .. py:method:: leave_Decorator_whitespace_after_at(node)


   .. py:method:: visit_Decorator_trailing_whitespace(node)


   .. py:method:: leave_Decorator_trailing_whitespace(node)


   .. py:method:: visit_Del(node)


   .. py:method:: visit_Del_target(node)


   .. py:method:: leave_Del_target(node)


   .. py:method:: visit_Del_whitespace_after_del(node)


   .. py:method:: leave_Del_whitespace_after_del(node)


   .. py:method:: visit_Del_semicolon(node)


   .. py:method:: leave_Del_semicolon(node)


   .. py:method:: visit_Dict(node)


   .. py:method:: visit_Dict_elements(node)


   .. py:method:: leave_Dict_elements(node)


   .. py:method:: visit_Dict_lbrace(node)


   .. py:method:: leave_Dict_lbrace(node)


   .. py:method:: visit_Dict_rbrace(node)


   .. py:method:: leave_Dict_rbrace(node)


   .. py:method:: visit_Dict_lpar(node)


   .. py:method:: leave_Dict_lpar(node)


   .. py:method:: visit_Dict_rpar(node)


   .. py:method:: leave_Dict_rpar(node)


   .. py:method:: visit_DictComp(node)


   .. py:method:: visit_DictComp_key(node)


   .. py:method:: leave_DictComp_key(node)


   .. py:method:: visit_DictComp_value(node)


   .. py:method:: leave_DictComp_value(node)


   .. py:method:: visit_DictComp_for_in(node)


   .. py:method:: leave_DictComp_for_in(node)


   .. py:method:: visit_DictComp_lbrace(node)


   .. py:method:: leave_DictComp_lbrace(node)


   .. py:method:: visit_DictComp_rbrace(node)


   .. py:method:: leave_DictComp_rbrace(node)


   .. py:method:: visit_DictComp_lpar(node)


   .. py:method:: leave_DictComp_lpar(node)


   .. py:method:: visit_DictComp_rpar(node)


   .. py:method:: leave_DictComp_rpar(node)


   .. py:method:: visit_DictComp_whitespace_before_colon(node)


   .. py:method:: leave_DictComp_whitespace_before_colon(node)


   .. py:method:: visit_DictComp_whitespace_after_colon(node)


   .. py:method:: leave_DictComp_whitespace_after_colon(node)


   .. py:method:: visit_DictElement(node)


   .. py:method:: visit_DictElement_key(node)


   .. py:method:: leave_DictElement_key(node)


   .. py:method:: visit_DictElement_value(node)


   .. py:method:: leave_DictElement_value(node)


   .. py:method:: visit_DictElement_comma(node)


   .. py:method:: leave_DictElement_comma(node)


   .. py:method:: visit_DictElement_whitespace_before_colon(node)


   .. py:method:: leave_DictElement_whitespace_before_colon(node)


   .. py:method:: visit_DictElement_whitespace_after_colon(node)


   .. py:method:: leave_DictElement_whitespace_after_colon(node)


   .. py:method:: visit_Divide(node)


   .. py:method:: visit_Divide_whitespace_before(node)


   .. py:method:: leave_Divide_whitespace_before(node)


   .. py:method:: visit_Divide_whitespace_after(node)


   .. py:method:: leave_Divide_whitespace_after(node)


   .. py:method:: visit_DivideAssign(node)


   .. py:method:: visit_DivideAssign_whitespace_before(node)


   .. py:method:: leave_DivideAssign_whitespace_before(node)


   .. py:method:: visit_DivideAssign_whitespace_after(node)


   .. py:method:: leave_DivideAssign_whitespace_after(node)


   .. py:method:: visit_Dot(node)


   .. py:method:: visit_Dot_whitespace_before(node)


   .. py:method:: leave_Dot_whitespace_before(node)


   .. py:method:: visit_Dot_whitespace_after(node)


   .. py:method:: leave_Dot_whitespace_after(node)


   .. py:method:: visit_Element(node)


   .. py:method:: visit_Element_value(node)


   .. py:method:: leave_Element_value(node)


   .. py:method:: visit_Element_comma(node)


   .. py:method:: leave_Element_comma(node)


   .. py:method:: visit_Ellipsis(node)


   .. py:method:: visit_Ellipsis_lpar(node)


   .. py:method:: leave_Ellipsis_lpar(node)


   .. py:method:: visit_Ellipsis_rpar(node)


   .. py:method:: leave_Ellipsis_rpar(node)


   .. py:method:: visit_Else(node)


   .. py:method:: visit_Else_body(node)


   .. py:method:: leave_Else_body(node)


   .. py:method:: visit_Else_leading_lines(node)


   .. py:method:: leave_Else_leading_lines(node)


   .. py:method:: visit_Else_whitespace_before_colon(node)


   .. py:method:: leave_Else_whitespace_before_colon(node)


   .. py:method:: visit_EmptyLine(node)


   .. py:method:: visit_EmptyLine_indent(node)


   .. py:method:: leave_EmptyLine_indent(node)


   .. py:method:: visit_EmptyLine_whitespace(node)


   .. py:method:: leave_EmptyLine_whitespace(node)


   .. py:method:: visit_EmptyLine_comment(node)


   .. py:method:: leave_EmptyLine_comment(node)


   .. py:method:: visit_EmptyLine_newline(node)


   .. py:method:: leave_EmptyLine_newline(node)


   .. py:method:: visit_Equal(node)


   .. py:method:: visit_Equal_whitespace_before(node)


   .. py:method:: leave_Equal_whitespace_before(node)


   .. py:method:: visit_Equal_whitespace_after(node)


   .. py:method:: leave_Equal_whitespace_after(node)


   .. py:method:: visit_ExceptHandler(node)


   .. py:method:: visit_ExceptHandler_body(node)


   .. py:method:: leave_ExceptHandler_body(node)


   .. py:method:: visit_ExceptHandler_type(node)


   .. py:method:: leave_ExceptHandler_type(node)


   .. py:method:: visit_ExceptHandler_name(node)


   .. py:method:: leave_ExceptHandler_name(node)


   .. py:method:: visit_ExceptHandler_leading_lines(node)


   .. py:method:: leave_ExceptHandler_leading_lines(node)


   .. py:method:: visit_ExceptHandler_whitespace_after_except(node)


   .. py:method:: leave_ExceptHandler_whitespace_after_except(node)


   .. py:method:: visit_ExceptHandler_whitespace_before_colon(node)


   .. py:method:: leave_ExceptHandler_whitespace_before_colon(node)


   .. py:method:: visit_ExceptStarHandler(node)


   .. py:method:: visit_ExceptStarHandler_body(node)


   .. py:method:: leave_ExceptStarHandler_body(node)


   .. py:method:: visit_ExceptStarHandler_type(node)


   .. py:method:: leave_ExceptStarHandler_type(node)


   .. py:method:: visit_ExceptStarHandler_name(node)


   .. py:method:: leave_ExceptStarHandler_name(node)


   .. py:method:: visit_ExceptStarHandler_leading_lines(node)


   .. py:method:: leave_ExceptStarHandler_leading_lines(node)


   .. py:method:: visit_ExceptStarHandler_whitespace_after_except(node)


   .. py:method:: leave_ExceptStarHandler_whitespace_after_except(node)


   .. py:method:: visit_ExceptStarHandler_whitespace_after_star(node)


   .. py:method:: leave_ExceptStarHandler_whitespace_after_star(node)


   .. py:method:: visit_ExceptStarHandler_whitespace_before_colon(node)


   .. py:method:: leave_ExceptStarHandler_whitespace_before_colon(node)


   .. py:method:: visit_Expr(node)


   .. py:method:: visit_Expr_value(node)


   .. py:method:: leave_Expr_value(node)


   .. py:method:: visit_Expr_semicolon(node)


   .. py:method:: leave_Expr_semicolon(node)


   .. py:method:: visit_Finally(node)


   .. py:method:: visit_Finally_body(node)


   .. py:method:: leave_Finally_body(node)


   .. py:method:: visit_Finally_leading_lines(node)


   .. py:method:: leave_Finally_leading_lines(node)


   .. py:method:: visit_Finally_whitespace_before_colon(node)


   .. py:method:: leave_Finally_whitespace_before_colon(node)


   .. py:method:: visit_Float(node)


   .. py:method:: visit_Float_value(node)


   .. py:method:: leave_Float_value(node)


   .. py:method:: visit_Float_lpar(node)


   .. py:method:: leave_Float_lpar(node)


   .. py:method:: visit_Float_rpar(node)


   .. py:method:: leave_Float_rpar(node)


   .. py:method:: visit_FloorDivide(node)


   .. py:method:: visit_FloorDivide_whitespace_before(node)


   .. py:method:: leave_FloorDivide_whitespace_before(node)


   .. py:method:: visit_FloorDivide_whitespace_after(node)


   .. py:method:: leave_FloorDivide_whitespace_after(node)


   .. py:method:: visit_FloorDivideAssign(node)


   .. py:method:: visit_FloorDivideAssign_whitespace_before(node)


   .. py:method:: leave_FloorDivideAssign_whitespace_before(node)


   .. py:method:: visit_FloorDivideAssign_whitespace_after(node)


   .. py:method:: leave_FloorDivideAssign_whitespace_after(node)


   .. py:method:: visit_For(node)


   .. py:method:: visit_For_target(node)


   .. py:method:: leave_For_target(node)


   .. py:method:: visit_For_iter(node)


   .. py:method:: leave_For_iter(node)


   .. py:method:: visit_For_body(node)


   .. py:method:: leave_For_body(node)


   .. py:method:: visit_For_orelse(node)


   .. py:method:: leave_For_orelse(node)


   .. py:method:: visit_For_asynchronous(node)


   .. py:method:: leave_For_asynchronous(node)


   .. py:method:: visit_For_leading_lines(node)


   .. py:method:: leave_For_leading_lines(node)


   .. py:method:: visit_For_whitespace_after_for(node)


   .. py:method:: leave_For_whitespace_after_for(node)


   .. py:method:: visit_For_whitespace_before_in(node)


   .. py:method:: leave_For_whitespace_before_in(node)


   .. py:method:: visit_For_whitespace_after_in(node)


   .. py:method:: leave_For_whitespace_after_in(node)


   .. py:method:: visit_For_whitespace_before_colon(node)


   .. py:method:: leave_For_whitespace_before_colon(node)


   .. py:method:: visit_FormattedString(node)


   .. py:method:: visit_FormattedString_parts(node)


   .. py:method:: leave_FormattedString_parts(node)


   .. py:method:: visit_FormattedString_start(node)


   .. py:method:: leave_FormattedString_start(node)


   .. py:method:: visit_FormattedString_end(node)


   .. py:method:: leave_FormattedString_end(node)


   .. py:method:: visit_FormattedString_lpar(node)


   .. py:method:: leave_FormattedString_lpar(node)


   .. py:method:: visit_FormattedString_rpar(node)


   .. py:method:: leave_FormattedString_rpar(node)


   .. py:method:: visit_FormattedStringExpression(node)


   .. py:method:: visit_FormattedStringExpression_expression(node)


   .. py:method:: leave_FormattedStringExpression_expression(node)


   .. py:method:: visit_FormattedStringExpression_conversion(node)


   .. py:method:: leave_FormattedStringExpression_conversion(node)


   .. py:method:: visit_FormattedStringExpression_format_spec(node)


   .. py:method:: leave_FormattedStringExpression_format_spec(node)


   .. py:method:: visit_FormattedStringExpression_whitespace_before_expression(node)


   .. py:method:: leave_FormattedStringExpression_whitespace_before_expression(node)


   .. py:method:: visit_FormattedStringExpression_whitespace_after_expression(node)


   .. py:method:: leave_FormattedStringExpression_whitespace_after_expression(node)


   .. py:method:: visit_FormattedStringExpression_equal(node)


   .. py:method:: leave_FormattedStringExpression_equal(node)


   .. py:method:: visit_FormattedStringText(node)


   .. py:method:: visit_FormattedStringText_value(node)


   .. py:method:: leave_FormattedStringText_value(node)


   .. py:method:: visit_From(node)


   .. py:method:: visit_From_item(node)


   .. py:method:: leave_From_item(node)


   .. py:method:: visit_From_whitespace_before_from(node)


   .. py:method:: leave_From_whitespace_before_from(node)


   .. py:method:: visit_From_whitespace_after_from(node)


   .. py:method:: leave_From_whitespace_after_from(node)


   .. py:method:: visit_FunctionDef(node)


   .. py:method:: visit_FunctionDef_name(node)


   .. py:method:: leave_FunctionDef_name(node)


   .. py:method:: visit_FunctionDef_params(node)


   .. py:method:: leave_FunctionDef_params(node)


   .. py:method:: visit_FunctionDef_body(node)


   .. py:method:: leave_FunctionDef_body(node)


   .. py:method:: visit_FunctionDef_decorators(node)


   .. py:method:: leave_FunctionDef_decorators(node)


   .. py:method:: visit_FunctionDef_returns(node)


   .. py:method:: leave_FunctionDef_returns(node)


   .. py:method:: visit_FunctionDef_asynchronous(node)


   .. py:method:: leave_FunctionDef_asynchronous(node)


   .. py:method:: visit_FunctionDef_leading_lines(node)


   .. py:method:: leave_FunctionDef_leading_lines(node)


   .. py:method:: visit_FunctionDef_lines_after_decorators(node)


   .. py:method:: leave_FunctionDef_lines_after_decorators(node)


   .. py:method:: visit_FunctionDef_whitespace_after_def(node)


   .. py:method:: leave_FunctionDef_whitespace_after_def(node)


   .. py:method:: visit_FunctionDef_whitespace_after_name(node)


   .. py:method:: leave_FunctionDef_whitespace_after_name(node)


   .. py:method:: visit_FunctionDef_whitespace_before_params(node)


   .. py:method:: leave_FunctionDef_whitespace_before_params(node)


   .. py:method:: visit_FunctionDef_whitespace_before_colon(node)


   .. py:method:: leave_FunctionDef_whitespace_before_colon(node)


   .. py:method:: visit_FunctionDef_type_parameters(node)


   .. py:method:: leave_FunctionDef_type_parameters(node)


   .. py:method:: visit_FunctionDef_whitespace_after_type_parameters(node)


   .. py:method:: leave_FunctionDef_whitespace_after_type_parameters(node)


   .. py:method:: visit_GeneratorExp(node)


   .. py:method:: visit_GeneratorExp_elt(node)


   .. py:method:: leave_GeneratorExp_elt(node)


   .. py:method:: visit_GeneratorExp_for_in(node)


   .. py:method:: leave_GeneratorExp_for_in(node)


   .. py:method:: visit_GeneratorExp_lpar(node)


   .. py:method:: leave_GeneratorExp_lpar(node)


   .. py:method:: visit_GeneratorExp_rpar(node)


   .. py:method:: leave_GeneratorExp_rpar(node)


   .. py:method:: visit_Global(node)


   .. py:method:: visit_Global_names(node)


   .. py:method:: leave_Global_names(node)


   .. py:method:: visit_Global_whitespace_after_global(node)


   .. py:method:: leave_Global_whitespace_after_global(node)


   .. py:method:: visit_Global_semicolon(node)


   .. py:method:: leave_Global_semicolon(node)


   .. py:method:: visit_GreaterThan(node)


   .. py:method:: visit_GreaterThan_whitespace_before(node)


   .. py:method:: leave_GreaterThan_whitespace_before(node)


   .. py:method:: visit_GreaterThan_whitespace_after(node)


   .. py:method:: leave_GreaterThan_whitespace_after(node)


   .. py:method:: visit_GreaterThanEqual(node)


   .. py:method:: visit_GreaterThanEqual_whitespace_before(node)


   .. py:method:: leave_GreaterThanEqual_whitespace_before(node)


   .. py:method:: visit_GreaterThanEqual_whitespace_after(node)


   .. py:method:: leave_GreaterThanEqual_whitespace_after(node)


   .. py:method:: visit_If(node)


   .. py:method:: visit_If_test(node)


   .. py:method:: leave_If_test(node)


   .. py:method:: visit_If_body(node)


   .. py:method:: leave_If_body(node)


   .. py:method:: visit_If_orelse(node)


   .. py:method:: leave_If_orelse(node)


   .. py:method:: visit_If_leading_lines(node)


   .. py:method:: leave_If_leading_lines(node)


   .. py:method:: visit_If_whitespace_before_test(node)


   .. py:method:: leave_If_whitespace_before_test(node)


   .. py:method:: visit_If_whitespace_after_test(node)


   .. py:method:: leave_If_whitespace_after_test(node)


   .. py:method:: visit_IfExp(node)


   .. py:method:: visit_IfExp_test(node)


   .. py:method:: leave_IfExp_test(node)


   .. py:method:: visit_IfExp_body(node)


   .. py:method:: leave_IfExp_body(node)


   .. py:method:: visit_IfExp_orelse(node)


   .. py:method:: leave_IfExp_orelse(node)


   .. py:method:: visit_IfExp_lpar(node)


   .. py:method:: leave_IfExp_lpar(node)


   .. py:method:: visit_IfExp_rpar(node)


   .. py:method:: leave_IfExp_rpar(node)


   .. py:method:: visit_IfExp_whitespace_before_if(node)


   .. py:method:: leave_IfExp_whitespace_before_if(node)


   .. py:method:: visit_IfExp_whitespace_after_if(node)


   .. py:method:: leave_IfExp_whitespace_after_if(node)


   .. py:method:: visit_IfExp_whitespace_before_else(node)


   .. py:method:: leave_IfExp_whitespace_before_else(node)


   .. py:method:: visit_IfExp_whitespace_after_else(node)


   .. py:method:: leave_IfExp_whitespace_after_else(node)


   .. py:method:: visit_Imaginary(node)


   .. py:method:: visit_Imaginary_value(node)


   .. py:method:: leave_Imaginary_value(node)


   .. py:method:: visit_Imaginary_lpar(node)


   .. py:method:: leave_Imaginary_lpar(node)


   .. py:method:: visit_Imaginary_rpar(node)


   .. py:method:: leave_Imaginary_rpar(node)


   .. py:method:: visit_Import(node)


   .. py:method:: visit_Import_names(node)


   .. py:method:: leave_Import_names(node)


   .. py:method:: visit_Import_semicolon(node)


   .. py:method:: leave_Import_semicolon(node)


   .. py:method:: visit_Import_whitespace_after_import(node)


   .. py:method:: leave_Import_whitespace_after_import(node)


   .. py:method:: visit_ImportAlias(node)


   .. py:method:: visit_ImportAlias_name(node)


   .. py:method:: leave_ImportAlias_name(node)


   .. py:method:: visit_ImportAlias_asname(node)


   .. py:method:: leave_ImportAlias_asname(node)


   .. py:method:: visit_ImportAlias_comma(node)


   .. py:method:: leave_ImportAlias_comma(node)


   .. py:method:: visit_ImportFrom(node)


   .. py:method:: visit_ImportFrom_module(node)


   .. py:method:: leave_ImportFrom_module(node)


   .. py:method:: visit_ImportFrom_names(node)


   .. py:method:: leave_ImportFrom_names(node)


   .. py:method:: visit_ImportFrom_relative(node)


   .. py:method:: leave_ImportFrom_relative(node)


   .. py:method:: visit_ImportFrom_lpar(node)


   .. py:method:: leave_ImportFrom_lpar(node)


   .. py:method:: visit_ImportFrom_rpar(node)


   .. py:method:: leave_ImportFrom_rpar(node)


   .. py:method:: visit_ImportFrom_semicolon(node)


   .. py:method:: leave_ImportFrom_semicolon(node)


   .. py:method:: visit_ImportFrom_whitespace_after_from(node)


   .. py:method:: leave_ImportFrom_whitespace_after_from(node)


   .. py:method:: visit_ImportFrom_whitespace_before_import(node)


   .. py:method:: leave_ImportFrom_whitespace_before_import(node)


   .. py:method:: visit_ImportFrom_whitespace_after_import(node)


   .. py:method:: leave_ImportFrom_whitespace_after_import(node)


   .. py:method:: visit_ImportStar(node)


   .. py:method:: visit_In(node)


   .. py:method:: visit_In_whitespace_before(node)


   .. py:method:: leave_In_whitespace_before(node)


   .. py:method:: visit_In_whitespace_after(node)


   .. py:method:: leave_In_whitespace_after(node)


   .. py:method:: visit_IndentedBlock(node)


   .. py:method:: visit_IndentedBlock_body(node)


   .. py:method:: leave_IndentedBlock_body(node)


   .. py:method:: visit_IndentedBlock_header(node)


   .. py:method:: leave_IndentedBlock_header(node)


   .. py:method:: visit_IndentedBlock_indent(node)


   .. py:method:: leave_IndentedBlock_indent(node)


   .. py:method:: visit_IndentedBlock_footer(node)


   .. py:method:: leave_IndentedBlock_footer(node)


   .. py:method:: visit_Index(node)


   .. py:method:: visit_Index_value(node)


   .. py:method:: leave_Index_value(node)


   .. py:method:: visit_Index_star(node)


   .. py:method:: leave_Index_star(node)


   .. py:method:: visit_Index_whitespace_after_star(node)


   .. py:method:: leave_Index_whitespace_after_star(node)


   .. py:method:: visit_Integer(node)


   .. py:method:: visit_Integer_value(node)


   .. py:method:: leave_Integer_value(node)


   .. py:method:: visit_Integer_lpar(node)


   .. py:method:: leave_Integer_lpar(node)


   .. py:method:: visit_Integer_rpar(node)


   .. py:method:: leave_Integer_rpar(node)


   .. py:method:: visit_Is(node)


   .. py:method:: visit_Is_whitespace_before(node)


   .. py:method:: leave_Is_whitespace_before(node)


   .. py:method:: visit_Is_whitespace_after(node)


   .. py:method:: leave_Is_whitespace_after(node)


   .. py:method:: visit_IsNot(node)


   .. py:method:: visit_IsNot_whitespace_before(node)


   .. py:method:: leave_IsNot_whitespace_before(node)


   .. py:method:: visit_IsNot_whitespace_between(node)


   .. py:method:: leave_IsNot_whitespace_between(node)


   .. py:method:: visit_IsNot_whitespace_after(node)


   .. py:method:: leave_IsNot_whitespace_after(node)


   .. py:method:: visit_Lambda(node)


   .. py:method:: visit_Lambda_params(node)


   .. py:method:: leave_Lambda_params(node)


   .. py:method:: visit_Lambda_body(node)


   .. py:method:: leave_Lambda_body(node)


   .. py:method:: visit_Lambda_colon(node)


   .. py:method:: leave_Lambda_colon(node)


   .. py:method:: visit_Lambda_lpar(node)


   .. py:method:: leave_Lambda_lpar(node)


   .. py:method:: visit_Lambda_rpar(node)


   .. py:method:: leave_Lambda_rpar(node)


   .. py:method:: visit_Lambda_whitespace_after_lambda(node)


   .. py:method:: leave_Lambda_whitespace_after_lambda(node)


   .. py:method:: visit_LeftCurlyBrace(node)


   .. py:method:: visit_LeftCurlyBrace_whitespace_after(node)


   .. py:method:: leave_LeftCurlyBrace_whitespace_after(node)


   .. py:method:: visit_LeftParen(node)


   .. py:method:: visit_LeftParen_whitespace_after(node)


   .. py:method:: leave_LeftParen_whitespace_after(node)


   .. py:method:: visit_LeftShift(node)


   .. py:method:: visit_LeftShift_whitespace_before(node)


   .. py:method:: leave_LeftShift_whitespace_before(node)


   .. py:method:: visit_LeftShift_whitespace_after(node)


   .. py:method:: leave_LeftShift_whitespace_after(node)


   .. py:method:: visit_LeftShiftAssign(node)


   .. py:method:: visit_LeftShiftAssign_whitespace_before(node)


   .. py:method:: leave_LeftShiftAssign_whitespace_before(node)


   .. py:method:: visit_LeftShiftAssign_whitespace_after(node)


   .. py:method:: leave_LeftShiftAssign_whitespace_after(node)


   .. py:method:: visit_LeftSquareBracket(node)


   .. py:method:: visit_LeftSquareBracket_whitespace_after(node)


   .. py:method:: leave_LeftSquareBracket_whitespace_after(node)


   .. py:method:: visit_LessThan(node)


   .. py:method:: visit_LessThan_whitespace_before(node)


   .. py:method:: leave_LessThan_whitespace_before(node)


   .. py:method:: visit_LessThan_whitespace_after(node)


   .. py:method:: leave_LessThan_whitespace_after(node)


   .. py:method:: visit_LessThanEqual(node)


   .. py:method:: visit_LessThanEqual_whitespace_before(node)


   .. py:method:: leave_LessThanEqual_whitespace_before(node)


   .. py:method:: visit_LessThanEqual_whitespace_after(node)


   .. py:method:: leave_LessThanEqual_whitespace_after(node)


   .. py:method:: visit_List(node)


   .. py:method:: visit_List_elements(node)


   .. py:method:: leave_List_elements(node)


   .. py:method:: visit_List_lbracket(node)


   .. py:method:: leave_List_lbracket(node)


   .. py:method:: visit_List_rbracket(node)


   .. py:method:: leave_List_rbracket(node)


   .. py:method:: visit_List_lpar(node)


   .. py:method:: leave_List_lpar(node)


   .. py:method:: visit_List_rpar(node)


   .. py:method:: leave_List_rpar(node)


   .. py:method:: visit_ListComp(node)


   .. py:method:: visit_ListComp_elt(node)


   .. py:method:: leave_ListComp_elt(node)


   .. py:method:: visit_ListComp_for_in(node)


   .. py:method:: leave_ListComp_for_in(node)


   .. py:method:: visit_ListComp_lbracket(node)


   .. py:method:: leave_ListComp_lbracket(node)


   .. py:method:: visit_ListComp_rbracket(node)


   .. py:method:: leave_ListComp_rbracket(node)


   .. py:method:: visit_ListComp_lpar(node)


   .. py:method:: leave_ListComp_lpar(node)


   .. py:method:: visit_ListComp_rpar(node)


   .. py:method:: leave_ListComp_rpar(node)


   .. py:method:: visit_Match(node)


   .. py:method:: visit_Match_subject(node)


   .. py:method:: leave_Match_subject(node)


   .. py:method:: visit_Match_cases(node)


   .. py:method:: leave_Match_cases(node)


   .. py:method:: visit_Match_leading_lines(node)


   .. py:method:: leave_Match_leading_lines(node)


   .. py:method:: visit_Match_whitespace_after_match(node)


   .. py:method:: leave_Match_whitespace_after_match(node)


   .. py:method:: visit_Match_whitespace_before_colon(node)


   .. py:method:: leave_Match_whitespace_before_colon(node)


   .. py:method:: visit_Match_whitespace_after_colon(node)


   .. py:method:: leave_Match_whitespace_after_colon(node)


   .. py:method:: visit_Match_indent(node)


   .. py:method:: leave_Match_indent(node)


   .. py:method:: visit_Match_footer(node)


   .. py:method:: leave_Match_footer(node)


   .. py:method:: visit_MatchAs(node)


   .. py:method:: visit_MatchAs_pattern(node)


   .. py:method:: leave_MatchAs_pattern(node)


   .. py:method:: visit_MatchAs_name(node)


   .. py:method:: leave_MatchAs_name(node)


   .. py:method:: visit_MatchAs_whitespace_before_as(node)


   .. py:method:: leave_MatchAs_whitespace_before_as(node)


   .. py:method:: visit_MatchAs_whitespace_after_as(node)


   .. py:method:: leave_MatchAs_whitespace_after_as(node)


   .. py:method:: visit_MatchAs_lpar(node)


   .. py:method:: leave_MatchAs_lpar(node)


   .. py:method:: visit_MatchAs_rpar(node)


   .. py:method:: leave_MatchAs_rpar(node)


   .. py:method:: visit_MatchCase(node)


   .. py:method:: visit_MatchCase_pattern(node)


   .. py:method:: leave_MatchCase_pattern(node)


   .. py:method:: visit_MatchCase_body(node)


   .. py:method:: leave_MatchCase_body(node)


   .. py:method:: visit_MatchCase_guard(node)


   .. py:method:: leave_MatchCase_guard(node)


   .. py:method:: visit_MatchCase_leading_lines(node)


   .. py:method:: leave_MatchCase_leading_lines(node)


   .. py:method:: visit_MatchCase_whitespace_after_case(node)


   .. py:method:: leave_MatchCase_whitespace_after_case(node)


   .. py:method:: visit_MatchCase_whitespace_before_if(node)


   .. py:method:: leave_MatchCase_whitespace_before_if(node)


   .. py:method:: visit_MatchCase_whitespace_after_if(node)


   .. py:method:: leave_MatchCase_whitespace_after_if(node)


   .. py:method:: visit_MatchCase_whitespace_before_colon(node)


   .. py:method:: leave_MatchCase_whitespace_before_colon(node)


   .. py:method:: visit_MatchClass(node)


   .. py:method:: visit_MatchClass_cls(node)


   .. py:method:: leave_MatchClass_cls(node)


   .. py:method:: visit_MatchClass_patterns(node)


   .. py:method:: leave_MatchClass_patterns(node)


   .. py:method:: visit_MatchClass_kwds(node)


   .. py:method:: leave_MatchClass_kwds(node)


   .. py:method:: visit_MatchClass_whitespace_after_cls(node)


   .. py:method:: leave_MatchClass_whitespace_after_cls(node)


   .. py:method:: visit_MatchClass_whitespace_before_patterns(node)


   .. py:method:: leave_MatchClass_whitespace_before_patterns(node)


   .. py:method:: visit_MatchClass_whitespace_after_kwds(node)


   .. py:method:: leave_MatchClass_whitespace_after_kwds(node)


   .. py:method:: visit_MatchClass_lpar(node)


   .. py:method:: leave_MatchClass_lpar(node)


   .. py:method:: visit_MatchClass_rpar(node)


   .. py:method:: leave_MatchClass_rpar(node)


   .. py:method:: visit_MatchKeywordElement(node)


   .. py:method:: visit_MatchKeywordElement_key(node)


   .. py:method:: leave_MatchKeywordElement_key(node)


   .. py:method:: visit_MatchKeywordElement_pattern(node)


   .. py:method:: leave_MatchKeywordElement_pattern(node)


   .. py:method:: visit_MatchKeywordElement_comma(node)


   .. py:method:: leave_MatchKeywordElement_comma(node)


   .. py:method:: visit_MatchKeywordElement_whitespace_before_equal(node)


   .. py:method:: leave_MatchKeywordElement_whitespace_before_equal(node)


   .. py:method:: visit_MatchKeywordElement_whitespace_after_equal(node)


   .. py:method:: leave_MatchKeywordElement_whitespace_after_equal(node)


   .. py:method:: visit_MatchList(node)


   .. py:method:: visit_MatchList_patterns(node)


   .. py:method:: leave_MatchList_patterns(node)


   .. py:method:: visit_MatchList_lbracket(node)


   .. py:method:: leave_MatchList_lbracket(node)


   .. py:method:: visit_MatchList_rbracket(node)


   .. py:method:: leave_MatchList_rbracket(node)


   .. py:method:: visit_MatchList_lpar(node)


   .. py:method:: leave_MatchList_lpar(node)


   .. py:method:: visit_MatchList_rpar(node)


   .. py:method:: leave_MatchList_rpar(node)


   .. py:method:: visit_MatchMapping(node)


   .. py:method:: visit_MatchMapping_elements(node)


   .. py:method:: leave_MatchMapping_elements(node)


   .. py:method:: visit_MatchMapping_lbrace(node)


   .. py:method:: leave_MatchMapping_lbrace(node)


   .. py:method:: visit_MatchMapping_rbrace(node)


   .. py:method:: leave_MatchMapping_rbrace(node)


   .. py:method:: visit_MatchMapping_rest(node)


   .. py:method:: leave_MatchMapping_rest(node)


   .. py:method:: visit_MatchMapping_whitespace_before_rest(node)


   .. py:method:: leave_MatchMapping_whitespace_before_rest(node)


   .. py:method:: visit_MatchMapping_trailing_comma(node)


   .. py:method:: leave_MatchMapping_trailing_comma(node)


   .. py:method:: visit_MatchMapping_lpar(node)


   .. py:method:: leave_MatchMapping_lpar(node)


   .. py:method:: visit_MatchMapping_rpar(node)


   .. py:method:: leave_MatchMapping_rpar(node)


   .. py:method:: visit_MatchMappingElement(node)


   .. py:method:: visit_MatchMappingElement_key(node)


   .. py:method:: leave_MatchMappingElement_key(node)


   .. py:method:: visit_MatchMappingElement_pattern(node)


   .. py:method:: leave_MatchMappingElement_pattern(node)


   .. py:method:: visit_MatchMappingElement_comma(node)


   .. py:method:: leave_MatchMappingElement_comma(node)


   .. py:method:: visit_MatchMappingElement_whitespace_before_colon(node)


   .. py:method:: leave_MatchMappingElement_whitespace_before_colon(node)


   .. py:method:: visit_MatchMappingElement_whitespace_after_colon(node)


   .. py:method:: leave_MatchMappingElement_whitespace_after_colon(node)


   .. py:method:: visit_MatchOr(node)


   .. py:method:: visit_MatchOr_patterns(node)


   .. py:method:: leave_MatchOr_patterns(node)


   .. py:method:: visit_MatchOr_lpar(node)


   .. py:method:: leave_MatchOr_lpar(node)


   .. py:method:: visit_MatchOr_rpar(node)


   .. py:method:: leave_MatchOr_rpar(node)


   .. py:method:: visit_MatchOrElement(node)


   .. py:method:: visit_MatchOrElement_pattern(node)


   .. py:method:: leave_MatchOrElement_pattern(node)


   .. py:method:: visit_MatchOrElement_separator(node)


   .. py:method:: leave_MatchOrElement_separator(node)


   .. py:method:: visit_MatchPattern(node)


   .. py:method:: visit_MatchSequence(node)


   .. py:method:: visit_MatchSequenceElement(node)


   .. py:method:: visit_MatchSequenceElement_value(node)


   .. py:method:: leave_MatchSequenceElement_value(node)


   .. py:method:: visit_MatchSequenceElement_comma(node)


   .. py:method:: leave_MatchSequenceElement_comma(node)


   .. py:method:: visit_MatchSingleton(node)


   .. py:method:: visit_MatchSingleton_value(node)


   .. py:method:: leave_MatchSingleton_value(node)


   .. py:method:: visit_MatchStar(node)


   .. py:method:: visit_MatchStar_name(node)


   .. py:method:: leave_MatchStar_name(node)


   .. py:method:: visit_MatchStar_comma(node)


   .. py:method:: leave_MatchStar_comma(node)


   .. py:method:: visit_MatchStar_whitespace_before_name(node)


   .. py:method:: leave_MatchStar_whitespace_before_name(node)


   .. py:method:: visit_MatchTuple(node)


   .. py:method:: visit_MatchTuple_patterns(node)


   .. py:method:: leave_MatchTuple_patterns(node)


   .. py:method:: visit_MatchTuple_lpar(node)


   .. py:method:: leave_MatchTuple_lpar(node)


   .. py:method:: visit_MatchTuple_rpar(node)


   .. py:method:: leave_MatchTuple_rpar(node)


   .. py:method:: visit_MatchValue(node)


   .. py:method:: visit_MatchValue_value(node)


   .. py:method:: leave_MatchValue_value(node)


   .. py:method:: visit_MatrixMultiply(node)


   .. py:method:: visit_MatrixMultiply_whitespace_before(node)


   .. py:method:: leave_MatrixMultiply_whitespace_before(node)


   .. py:method:: visit_MatrixMultiply_whitespace_after(node)


   .. py:method:: leave_MatrixMultiply_whitespace_after(node)


   .. py:method:: visit_MatrixMultiplyAssign(node)


   .. py:method:: visit_MatrixMultiplyAssign_whitespace_before(node)


   .. py:method:: leave_MatrixMultiplyAssign_whitespace_before(node)


   .. py:method:: visit_MatrixMultiplyAssign_whitespace_after(node)


   .. py:method:: leave_MatrixMultiplyAssign_whitespace_after(node)


   .. py:method:: visit_Minus(node)


   .. py:method:: visit_Minus_whitespace_after(node)


   .. py:method:: leave_Minus_whitespace_after(node)


   .. py:method:: visit_Module(node)


   .. py:method:: visit_Module_body(node)


   .. py:method:: leave_Module_body(node)


   .. py:method:: visit_Module_header(node)


   .. py:method:: leave_Module_header(node)


   .. py:method:: visit_Module_footer(node)


   .. py:method:: leave_Module_footer(node)


   .. py:method:: visit_Module_encoding(node)


   .. py:method:: leave_Module_encoding(node)


   .. py:method:: visit_Module_default_indent(node)


   .. py:method:: leave_Module_default_indent(node)


   .. py:method:: visit_Module_default_newline(node)


   .. py:method:: leave_Module_default_newline(node)


   .. py:method:: visit_Module_has_trailing_newline(node)


   .. py:method:: leave_Module_has_trailing_newline(node)


   .. py:method:: visit_Modulo(node)


   .. py:method:: visit_Modulo_whitespace_before(node)


   .. py:method:: leave_Modulo_whitespace_before(node)


   .. py:method:: visit_Modulo_whitespace_after(node)


   .. py:method:: leave_Modulo_whitespace_after(node)


   .. py:method:: visit_ModuloAssign(node)


   .. py:method:: visit_ModuloAssign_whitespace_before(node)


   .. py:method:: leave_ModuloAssign_whitespace_before(node)


   .. py:method:: visit_ModuloAssign_whitespace_after(node)


   .. py:method:: leave_ModuloAssign_whitespace_after(node)


   .. py:method:: visit_Multiply(node)


   .. py:method:: visit_Multiply_whitespace_before(node)


   .. py:method:: leave_Multiply_whitespace_before(node)


   .. py:method:: visit_Multiply_whitespace_after(node)


   .. py:method:: leave_Multiply_whitespace_after(node)


   .. py:method:: visit_MultiplyAssign(node)


   .. py:method:: visit_MultiplyAssign_whitespace_before(node)


   .. py:method:: leave_MultiplyAssign_whitespace_before(node)


   .. py:method:: visit_MultiplyAssign_whitespace_after(node)


   .. py:method:: leave_MultiplyAssign_whitespace_after(node)


   .. py:method:: visit_Name(node)


   .. py:method:: visit_Name_value(node)


   .. py:method:: leave_Name_value(node)


   .. py:method:: visit_Name_lpar(node)


   .. py:method:: leave_Name_lpar(node)


   .. py:method:: visit_Name_rpar(node)


   .. py:method:: leave_Name_rpar(node)


   .. py:method:: visit_NameItem(node)


   .. py:method:: visit_NameItem_name(node)


   .. py:method:: leave_NameItem_name(node)


   .. py:method:: visit_NameItem_comma(node)


   .. py:method:: leave_NameItem_comma(node)


   .. py:method:: visit_NamedExpr(node)


   .. py:method:: visit_NamedExpr_target(node)


   .. py:method:: leave_NamedExpr_target(node)


   .. py:method:: visit_NamedExpr_value(node)


   .. py:method:: leave_NamedExpr_value(node)


   .. py:method:: visit_NamedExpr_lpar(node)


   .. py:method:: leave_NamedExpr_lpar(node)


   .. py:method:: visit_NamedExpr_rpar(node)


   .. py:method:: leave_NamedExpr_rpar(node)


   .. py:method:: visit_NamedExpr_whitespace_before_walrus(node)


   .. py:method:: leave_NamedExpr_whitespace_before_walrus(node)


   .. py:method:: visit_NamedExpr_whitespace_after_walrus(node)


   .. py:method:: leave_NamedExpr_whitespace_after_walrus(node)


   .. py:method:: visit_Newline(node)


   .. py:method:: visit_Newline_value(node)


   .. py:method:: leave_Newline_value(node)


   .. py:method:: visit_Nonlocal(node)


   .. py:method:: visit_Nonlocal_names(node)


   .. py:method:: leave_Nonlocal_names(node)


   .. py:method:: visit_Nonlocal_whitespace_after_nonlocal(node)


   .. py:method:: leave_Nonlocal_whitespace_after_nonlocal(node)


   .. py:method:: visit_Nonlocal_semicolon(node)


   .. py:method:: leave_Nonlocal_semicolon(node)


   .. py:method:: visit_Not(node)


   .. py:method:: visit_Not_whitespace_after(node)


   .. py:method:: leave_Not_whitespace_after(node)


   .. py:method:: visit_NotEqual(node)


   .. py:method:: visit_NotEqual_value(node)


   .. py:method:: leave_NotEqual_value(node)


   .. py:method:: visit_NotEqual_whitespace_before(node)


   .. py:method:: leave_NotEqual_whitespace_before(node)


   .. py:method:: visit_NotEqual_whitespace_after(node)


   .. py:method:: leave_NotEqual_whitespace_after(node)


   .. py:method:: visit_NotIn(node)


   .. py:method:: visit_NotIn_whitespace_before(node)


   .. py:method:: leave_NotIn_whitespace_before(node)


   .. py:method:: visit_NotIn_whitespace_between(node)


   .. py:method:: leave_NotIn_whitespace_between(node)


   .. py:method:: visit_NotIn_whitespace_after(node)


   .. py:method:: leave_NotIn_whitespace_after(node)


   .. py:method:: visit_Or(node)


   .. py:method:: visit_Or_whitespace_before(node)


   .. py:method:: leave_Or_whitespace_before(node)


   .. py:method:: visit_Or_whitespace_after(node)


   .. py:method:: leave_Or_whitespace_after(node)


   .. py:method:: visit_Param(node)


   .. py:method:: visit_Param_name(node)


   .. py:method:: leave_Param_name(node)


   .. py:method:: visit_Param_annotation(node)


   .. py:method:: leave_Param_annotation(node)


   .. py:method:: visit_Param_equal(node)


   .. py:method:: leave_Param_equal(node)


   .. py:method:: visit_Param_default(node)


   .. py:method:: leave_Param_default(node)


   .. py:method:: visit_Param_comma(node)


   .. py:method:: leave_Param_comma(node)


   .. py:method:: visit_Param_star(node)


   .. py:method:: leave_Param_star(node)


   .. py:method:: visit_Param_whitespace_after_star(node)


   .. py:method:: leave_Param_whitespace_after_star(node)


   .. py:method:: visit_Param_whitespace_after_param(node)


   .. py:method:: leave_Param_whitespace_after_param(node)


   .. py:method:: visit_ParamSlash(node)


   .. py:method:: visit_ParamSlash_comma(node)


   .. py:method:: leave_ParamSlash_comma(node)


   .. py:method:: visit_ParamSlash_whitespace_after(node)


   .. py:method:: leave_ParamSlash_whitespace_after(node)


   .. py:method:: visit_ParamSpec(node)


   .. py:method:: visit_ParamSpec_name(node)


   .. py:method:: leave_ParamSpec_name(node)


   .. py:method:: visit_ParamSpec_whitespace_after_star(node)


   .. py:method:: leave_ParamSpec_whitespace_after_star(node)


   .. py:method:: visit_ParamStar(node)


   .. py:method:: visit_ParamStar_comma(node)


   .. py:method:: leave_ParamStar_comma(node)


   .. py:method:: visit_Parameters(node)


   .. py:method:: visit_Parameters_params(node)


   .. py:method:: leave_Parameters_params(node)


   .. py:method:: visit_Parameters_star_arg(node)


   .. py:method:: leave_Parameters_star_arg(node)


   .. py:method:: visit_Parameters_kwonly_params(node)


   .. py:method:: leave_Parameters_kwonly_params(node)


   .. py:method:: visit_Parameters_star_kwarg(node)


   .. py:method:: leave_Parameters_star_kwarg(node)


   .. py:method:: visit_Parameters_posonly_params(node)


   .. py:method:: leave_Parameters_posonly_params(node)


   .. py:method:: visit_Parameters_posonly_ind(node)


   .. py:method:: leave_Parameters_posonly_ind(node)


   .. py:method:: visit_ParenthesizedWhitespace(node)


   .. py:method:: visit_ParenthesizedWhitespace_first_line(node)


   .. py:method:: leave_ParenthesizedWhitespace_first_line(node)


   .. py:method:: visit_ParenthesizedWhitespace_empty_lines(node)


   .. py:method:: leave_ParenthesizedWhitespace_empty_lines(node)


   .. py:method:: visit_ParenthesizedWhitespace_indent(node)


   .. py:method:: leave_ParenthesizedWhitespace_indent(node)


   .. py:method:: visit_ParenthesizedWhitespace_last_line(node)


   .. py:method:: leave_ParenthesizedWhitespace_last_line(node)


   .. py:method:: visit_Pass(node)


   .. py:method:: visit_Pass_semicolon(node)


   .. py:method:: leave_Pass_semicolon(node)


   .. py:method:: visit_Plus(node)


   .. py:method:: visit_Plus_whitespace_after(node)


   .. py:method:: leave_Plus_whitespace_after(node)


   .. py:method:: visit_Power(node)


   .. py:method:: visit_Power_whitespace_before(node)


   .. py:method:: leave_Power_whitespace_before(node)


   .. py:method:: visit_Power_whitespace_after(node)


   .. py:method:: leave_Power_whitespace_after(node)


   .. py:method:: visit_PowerAssign(node)


   .. py:method:: visit_PowerAssign_whitespace_before(node)


   .. py:method:: leave_PowerAssign_whitespace_before(node)


   .. py:method:: visit_PowerAssign_whitespace_after(node)


   .. py:method:: leave_PowerAssign_whitespace_after(node)


   .. py:method:: visit_Raise(node)


   .. py:method:: visit_Raise_exc(node)


   .. py:method:: leave_Raise_exc(node)


   .. py:method:: visit_Raise_cause(node)


   .. py:method:: leave_Raise_cause(node)


   .. py:method:: visit_Raise_whitespace_after_raise(node)


   .. py:method:: leave_Raise_whitespace_after_raise(node)


   .. py:method:: visit_Raise_semicolon(node)


   .. py:method:: leave_Raise_semicolon(node)


   .. py:method:: visit_Return(node)


   .. py:method:: visit_Return_value(node)


   .. py:method:: leave_Return_value(node)


   .. py:method:: visit_Return_whitespace_after_return(node)


   .. py:method:: leave_Return_whitespace_after_return(node)


   .. py:method:: visit_Return_semicolon(node)


   .. py:method:: leave_Return_semicolon(node)


   .. py:method:: visit_RightCurlyBrace(node)


   .. py:method:: visit_RightCurlyBrace_whitespace_before(node)


   .. py:method:: leave_RightCurlyBrace_whitespace_before(node)


   .. py:method:: visit_RightParen(node)


   .. py:method:: visit_RightParen_whitespace_before(node)


   .. py:method:: leave_RightParen_whitespace_before(node)


   .. py:method:: visit_RightShift(node)


   .. py:method:: visit_RightShift_whitespace_before(node)


   .. py:method:: leave_RightShift_whitespace_before(node)


   .. py:method:: visit_RightShift_whitespace_after(node)


   .. py:method:: leave_RightShift_whitespace_after(node)


   .. py:method:: visit_RightShiftAssign(node)


   .. py:method:: visit_RightShiftAssign_whitespace_before(node)


   .. py:method:: leave_RightShiftAssign_whitespace_before(node)


   .. py:method:: visit_RightShiftAssign_whitespace_after(node)


   .. py:method:: leave_RightShiftAssign_whitespace_after(node)


   .. py:method:: visit_RightSquareBracket(node)


   .. py:method:: visit_RightSquareBracket_whitespace_before(node)


   .. py:method:: leave_RightSquareBracket_whitespace_before(node)


   .. py:method:: visit_Semicolon(node)


   .. py:method:: visit_Semicolon_whitespace_before(node)


   .. py:method:: leave_Semicolon_whitespace_before(node)


   .. py:method:: visit_Semicolon_whitespace_after(node)


   .. py:method:: leave_Semicolon_whitespace_after(node)


   .. py:method:: visit_Set(node)


   .. py:method:: visit_Set_elements(node)


   .. py:method:: leave_Set_elements(node)


   .. py:method:: visit_Set_lbrace(node)


   .. py:method:: leave_Set_lbrace(node)


   .. py:method:: visit_Set_rbrace(node)


   .. py:method:: leave_Set_rbrace(node)


   .. py:method:: visit_Set_lpar(node)


   .. py:method:: leave_Set_lpar(node)


   .. py:method:: visit_Set_rpar(node)


   .. py:method:: leave_Set_rpar(node)


   .. py:method:: visit_SetComp(node)


   .. py:method:: visit_SetComp_elt(node)


   .. py:method:: leave_SetComp_elt(node)


   .. py:method:: visit_SetComp_for_in(node)


   .. py:method:: leave_SetComp_for_in(node)


   .. py:method:: visit_SetComp_lbrace(node)


   .. py:method:: leave_SetComp_lbrace(node)


   .. py:method:: visit_SetComp_rbrace(node)


   .. py:method:: leave_SetComp_rbrace(node)


   .. py:method:: visit_SetComp_lpar(node)


   .. py:method:: leave_SetComp_lpar(node)


   .. py:method:: visit_SetComp_rpar(node)


   .. py:method:: leave_SetComp_rpar(node)


   .. py:method:: visit_SimpleStatementLine(node)


   .. py:method:: visit_SimpleStatementLine_body(node)


   .. py:method:: leave_SimpleStatementLine_body(node)


   .. py:method:: visit_SimpleStatementLine_leading_lines(node)


   .. py:method:: leave_SimpleStatementLine_leading_lines(node)


   .. py:method:: visit_SimpleStatementLine_trailing_whitespace(node)


   .. py:method:: leave_SimpleStatementLine_trailing_whitespace(node)


   .. py:method:: visit_SimpleStatementSuite(node)


   .. py:method:: visit_SimpleStatementSuite_body(node)


   .. py:method:: leave_SimpleStatementSuite_body(node)


   .. py:method:: visit_SimpleStatementSuite_leading_whitespace(node)


   .. py:method:: leave_SimpleStatementSuite_leading_whitespace(node)


   .. py:method:: visit_SimpleStatementSuite_trailing_whitespace(node)


   .. py:method:: leave_SimpleStatementSuite_trailing_whitespace(node)


   .. py:method:: visit_SimpleString(node)


   .. py:method:: visit_SimpleString_value(node)


   .. py:method:: leave_SimpleString_value(node)


   .. py:method:: visit_SimpleString_lpar(node)


   .. py:method:: leave_SimpleString_lpar(node)


   .. py:method:: visit_SimpleString_rpar(node)


   .. py:method:: leave_SimpleString_rpar(node)


   .. py:method:: visit_SimpleWhitespace(node)


   .. py:method:: visit_SimpleWhitespace_value(node)


   .. py:method:: leave_SimpleWhitespace_value(node)


   .. py:method:: visit_Slice(node)


   .. py:method:: visit_Slice_lower(node)


   .. py:method:: leave_Slice_lower(node)


   .. py:method:: visit_Slice_upper(node)


   .. py:method:: leave_Slice_upper(node)


   .. py:method:: visit_Slice_step(node)


   .. py:method:: leave_Slice_step(node)


   .. py:method:: visit_Slice_first_colon(node)


   .. py:method:: leave_Slice_first_colon(node)


   .. py:method:: visit_Slice_second_colon(node)


   .. py:method:: leave_Slice_second_colon(node)


   .. py:method:: visit_StarredDictElement(node)


   .. py:method:: visit_StarredDictElement_value(node)


   .. py:method:: leave_StarredDictElement_value(node)


   .. py:method:: visit_StarredDictElement_comma(node)


   .. py:method:: leave_StarredDictElement_comma(node)


   .. py:method:: visit_StarredDictElement_whitespace_before_value(node)


   .. py:method:: leave_StarredDictElement_whitespace_before_value(node)


   .. py:method:: visit_StarredElement(node)


   .. py:method:: visit_StarredElement_value(node)


   .. py:method:: leave_StarredElement_value(node)


   .. py:method:: visit_StarredElement_comma(node)


   .. py:method:: leave_StarredElement_comma(node)


   .. py:method:: visit_StarredElement_lpar(node)


   .. py:method:: leave_StarredElement_lpar(node)


   .. py:method:: visit_StarredElement_rpar(node)


   .. py:method:: leave_StarredElement_rpar(node)


   .. py:method:: visit_StarredElement_whitespace_before_value(node)


   .. py:method:: leave_StarredElement_whitespace_before_value(node)


   .. py:method:: visit_Subscript(node)


   .. py:method:: visit_Subscript_value(node)


   .. py:method:: leave_Subscript_value(node)


   .. py:method:: visit_Subscript_slice(node)


   .. py:method:: leave_Subscript_slice(node)


   .. py:method:: visit_Subscript_lbracket(node)


   .. py:method:: leave_Subscript_lbracket(node)


   .. py:method:: visit_Subscript_rbracket(node)


   .. py:method:: leave_Subscript_rbracket(node)


   .. py:method:: visit_Subscript_lpar(node)


   .. py:method:: leave_Subscript_lpar(node)


   .. py:method:: visit_Subscript_rpar(node)


   .. py:method:: leave_Subscript_rpar(node)


   .. py:method:: visit_Subscript_whitespace_after_value(node)


   .. py:method:: leave_Subscript_whitespace_after_value(node)


   .. py:method:: visit_SubscriptElement(node)


   .. py:method:: visit_SubscriptElement_slice(node)


   .. py:method:: leave_SubscriptElement_slice(node)


   .. py:method:: visit_SubscriptElement_comma(node)


   .. py:method:: leave_SubscriptElement_comma(node)


   .. py:method:: visit_Subtract(node)


   .. py:method:: visit_Subtract_whitespace_before(node)


   .. py:method:: leave_Subtract_whitespace_before(node)


   .. py:method:: visit_Subtract_whitespace_after(node)


   .. py:method:: leave_Subtract_whitespace_after(node)


   .. py:method:: visit_SubtractAssign(node)


   .. py:method:: visit_SubtractAssign_whitespace_before(node)


   .. py:method:: leave_SubtractAssign_whitespace_before(node)


   .. py:method:: visit_SubtractAssign_whitespace_after(node)


   .. py:method:: leave_SubtractAssign_whitespace_after(node)


   .. py:method:: visit_TemplatedString(node)


   .. py:method:: visit_TemplatedString_parts(node)


   .. py:method:: leave_TemplatedString_parts(node)


   .. py:method:: visit_TemplatedString_start(node)


   .. py:method:: leave_TemplatedString_start(node)


   .. py:method:: visit_TemplatedString_end(node)


   .. py:method:: leave_TemplatedString_end(node)


   .. py:method:: visit_TemplatedString_lpar(node)


   .. py:method:: leave_TemplatedString_lpar(node)


   .. py:method:: visit_TemplatedString_rpar(node)


   .. py:method:: leave_TemplatedString_rpar(node)


   .. py:method:: visit_TemplatedStringExpression(node)


   .. py:method:: visit_TemplatedStringExpression_expression(node)


   .. py:method:: leave_TemplatedStringExpression_expression(node)


   .. py:method:: visit_TemplatedStringExpression_conversion(node)


   .. py:method:: leave_TemplatedStringExpression_conversion(node)


   .. py:method:: visit_TemplatedStringExpression_format_spec(node)


   .. py:method:: leave_TemplatedStringExpression_format_spec(node)


   .. py:method:: visit_TemplatedStringExpression_whitespace_before_expression(node)


   .. py:method:: leave_TemplatedStringExpression_whitespace_before_expression(node)


   .. py:method:: visit_TemplatedStringExpression_whitespace_after_expression(node)


   .. py:method:: leave_TemplatedStringExpression_whitespace_after_expression(node)


   .. py:method:: visit_TemplatedStringExpression_equal(node)


   .. py:method:: leave_TemplatedStringExpression_equal(node)


   .. py:method:: visit_TemplatedStringText(node)


   .. py:method:: visit_TemplatedStringText_value(node)


   .. py:method:: leave_TemplatedStringText_value(node)


   .. py:method:: visit_TrailingWhitespace(node)


   .. py:method:: visit_TrailingWhitespace_whitespace(node)


   .. py:method:: leave_TrailingWhitespace_whitespace(node)


   .. py:method:: visit_TrailingWhitespace_comment(node)


   .. py:method:: leave_TrailingWhitespace_comment(node)


   .. py:method:: visit_TrailingWhitespace_newline(node)


   .. py:method:: leave_TrailingWhitespace_newline(node)


   .. py:method:: visit_Try(node)


   .. py:method:: visit_Try_body(node)


   .. py:method:: leave_Try_body(node)


   .. py:method:: visit_Try_handlers(node)


   .. py:method:: leave_Try_handlers(node)


   .. py:method:: visit_Try_orelse(node)


   .. py:method:: leave_Try_orelse(node)


   .. py:method:: visit_Try_finalbody(node)


   .. py:method:: leave_Try_finalbody(node)


   .. py:method:: visit_Try_leading_lines(node)


   .. py:method:: leave_Try_leading_lines(node)


   .. py:method:: visit_Try_whitespace_before_colon(node)


   .. py:method:: leave_Try_whitespace_before_colon(node)


   .. py:method:: visit_TryStar(node)


   .. py:method:: visit_TryStar_body(node)


   .. py:method:: leave_TryStar_body(node)


   .. py:method:: visit_TryStar_handlers(node)


   .. py:method:: leave_TryStar_handlers(node)


   .. py:method:: visit_TryStar_orelse(node)


   .. py:method:: leave_TryStar_orelse(node)


   .. py:method:: visit_TryStar_finalbody(node)


   .. py:method:: leave_TryStar_finalbody(node)


   .. py:method:: visit_TryStar_leading_lines(node)


   .. py:method:: leave_TryStar_leading_lines(node)


   .. py:method:: visit_TryStar_whitespace_before_colon(node)


   .. py:method:: leave_TryStar_whitespace_before_colon(node)


   .. py:method:: visit_Tuple(node)


   .. py:method:: visit_Tuple_elements(node)


   .. py:method:: leave_Tuple_elements(node)


   .. py:method:: visit_Tuple_lpar(node)


   .. py:method:: leave_Tuple_lpar(node)


   .. py:method:: visit_Tuple_rpar(node)


   .. py:method:: leave_Tuple_rpar(node)


   .. py:method:: visit_TypeAlias(node)


   .. py:method:: visit_TypeAlias_name(node)


   .. py:method:: leave_TypeAlias_name(node)


   .. py:method:: visit_TypeAlias_value(node)


   .. py:method:: leave_TypeAlias_value(node)


   .. py:method:: visit_TypeAlias_type_parameters(node)


   .. py:method:: leave_TypeAlias_type_parameters(node)


   .. py:method:: visit_TypeAlias_whitespace_after_type(node)


   .. py:method:: leave_TypeAlias_whitespace_after_type(node)


   .. py:method:: visit_TypeAlias_whitespace_after_name(node)


   .. py:method:: leave_TypeAlias_whitespace_after_name(node)


   .. py:method:: visit_TypeAlias_whitespace_after_type_parameters(node)


   .. py:method:: leave_TypeAlias_whitespace_after_type_parameters(node)


   .. py:method:: visit_TypeAlias_whitespace_after_equals(node)


   .. py:method:: leave_TypeAlias_whitespace_after_equals(node)


   .. py:method:: visit_TypeAlias_semicolon(node)


   .. py:method:: leave_TypeAlias_semicolon(node)


   .. py:method:: visit_TypeParam(node)


   .. py:method:: visit_TypeParam_param(node)


   .. py:method:: leave_TypeParam_param(node)


   .. py:method:: visit_TypeParam_comma(node)


   .. py:method:: leave_TypeParam_comma(node)


   .. py:method:: visit_TypeParam_equal(node)


   .. py:method:: leave_TypeParam_equal(node)


   .. py:method:: visit_TypeParam_star(node)


   .. py:method:: leave_TypeParam_star(node)


   .. py:method:: visit_TypeParam_whitespace_after_star(node)


   .. py:method:: leave_TypeParam_whitespace_after_star(node)


   .. py:method:: visit_TypeParam_default(node)


   .. py:method:: leave_TypeParam_default(node)


   .. py:method:: visit_TypeParameters(node)


   .. py:method:: visit_TypeParameters_params(node)


   .. py:method:: leave_TypeParameters_params(node)


   .. py:method:: visit_TypeParameters_lbracket(node)


   .. py:method:: leave_TypeParameters_lbracket(node)


   .. py:method:: visit_TypeParameters_rbracket(node)


   .. py:method:: leave_TypeParameters_rbracket(node)


   .. py:method:: visit_TypeVar(node)


   .. py:method:: visit_TypeVar_name(node)


   .. py:method:: leave_TypeVar_name(node)


   .. py:method:: visit_TypeVar_bound(node)


   .. py:method:: leave_TypeVar_bound(node)


   .. py:method:: visit_TypeVar_colon(node)


   .. py:method:: leave_TypeVar_colon(node)


   .. py:method:: visit_TypeVarTuple(node)


   .. py:method:: visit_TypeVarTuple_name(node)


   .. py:method:: leave_TypeVarTuple_name(node)


   .. py:method:: visit_TypeVarTuple_whitespace_after_star(node)


   .. py:method:: leave_TypeVarTuple_whitespace_after_star(node)


   .. py:method:: visit_UnaryOperation(node)


   .. py:method:: visit_UnaryOperation_operator(node)


   .. py:method:: leave_UnaryOperation_operator(node)


   .. py:method:: visit_UnaryOperation_expression(node)


   .. py:method:: leave_UnaryOperation_expression(node)


   .. py:method:: visit_UnaryOperation_lpar(node)


   .. py:method:: leave_UnaryOperation_lpar(node)


   .. py:method:: visit_UnaryOperation_rpar(node)


   .. py:method:: leave_UnaryOperation_rpar(node)


   .. py:method:: visit_While(node)


   .. py:method:: visit_While_test(node)


   .. py:method:: leave_While_test(node)


   .. py:method:: visit_While_body(node)


   .. py:method:: leave_While_body(node)


   .. py:method:: visit_While_orelse(node)


   .. py:method:: leave_While_orelse(node)


   .. py:method:: visit_While_leading_lines(node)


   .. py:method:: leave_While_leading_lines(node)


   .. py:method:: visit_While_whitespace_after_while(node)


   .. py:method:: leave_While_whitespace_after_while(node)


   .. py:method:: visit_While_whitespace_before_colon(node)


   .. py:method:: leave_While_whitespace_before_colon(node)


   .. py:method:: visit_With(node)


   .. py:method:: visit_With_items(node)


   .. py:method:: leave_With_items(node)


   .. py:method:: visit_With_body(node)


   .. py:method:: leave_With_body(node)


   .. py:method:: visit_With_asynchronous(node)


   .. py:method:: leave_With_asynchronous(node)


   .. py:method:: visit_With_leading_lines(node)


   .. py:method:: leave_With_leading_lines(node)


   .. py:method:: visit_With_lpar(node)


   .. py:method:: leave_With_lpar(node)


   .. py:method:: visit_With_rpar(node)


   .. py:method:: leave_With_rpar(node)


   .. py:method:: visit_With_whitespace_after_with(node)


   .. py:method:: leave_With_whitespace_after_with(node)


   .. py:method:: visit_With_whitespace_before_colon(node)


   .. py:method:: leave_With_whitespace_before_colon(node)


   .. py:method:: visit_WithItem(node)


   .. py:method:: visit_WithItem_item(node)


   .. py:method:: leave_WithItem_item(node)


   .. py:method:: visit_WithItem_asname(node)


   .. py:method:: leave_WithItem_asname(node)


   .. py:method:: visit_WithItem_comma(node)


   .. py:method:: leave_WithItem_comma(node)


   .. py:method:: visit_Yield(node)


   .. py:method:: visit_Yield_value(node)


   .. py:method:: leave_Yield_value(node)


   .. py:method:: visit_Yield_lpar(node)


   .. py:method:: leave_Yield_lpar(node)


   .. py:method:: visit_Yield_rpar(node)


   .. py:method:: leave_Yield_rpar(node)


   .. py:method:: visit_Yield_whitespace_after_yield(node)


   .. py:method:: leave_Yield_whitespace_after_yield(node)


   .. py:attribute:: metadata
      :type:  Mapping[libcst.metadata.base_provider.ProviderT, Mapping[libcst._nodes.base.CSTNode, object]]


   .. py:attribute:: METADATA_DEPENDENCIES
      :type:  ClassVar[Collection[libcst.metadata.base_provider.ProviderT]]
      :value: ()



   .. py:method:: get_inherited_dependencies()
      :classmethod:


      
      Returns all metadata dependencies declared by classes in the MRO of ``cls``
      that subclass this class.

      Recursively searches the MRO of the subclass for metadata dependencies.















      ..
          !! processed by numpydoc !!


   .. py:method:: resolve(wrapper)

      
      Context manager that resolves all metadata dependencies declared by
      ``self`` (using :func:`~libcst.MetadataDependent.get_inherited_dependencies`)
      on ``wrapper`` and caches it on ``self`` for use with
      :func:`~libcst.MetadataDependent.get_metadata`.

      Upon exiting this context manager, the metadata cache on ``self`` is
      cleared.















      ..
          !! processed by numpydoc !!


   .. py:method:: get_metadata(key, node, default = _UNDEFINED_DEFAULT)

      
      Returns the metadata provided by the ``key`` if it is accessible from
      this visitor. Metadata is accessible in a subclass of this class if ``key``
      is declared as a dependency by any class in the MRO of this class.
















      ..
          !! processed by numpydoc !!


.. py:class:: ChainSimplifier(user_namespace = None)

   Bases: :py:obj:`libcst.CSTTransformer`


   
   Transform chained calls by removing intermediate method calls
   Example: ds.search(...).search(...).to_dataset_dict()
   becomes: ds.to_dataset_dict()
















   ..
       !! processed by numpydoc !!

   .. py:attribute:: user_namespace


   .. py:method:: leave_Call(original_node, updated_node)

      
      Find any chained calls to `search` on an `esm_datastore` object, and
      replace them with the final result of the search, which is then
















      ..
          !! processed by numpydoc !!


   .. py:method:: leave_Subscript(original_node, updated_node)

      
      Handle subscript access to catalog items. This transforms a node, taking
      something like `cat["expt"]` and replacing it with it's return value. It
      also inserts the return value into the user namespace with the name
      `obj_<id(instance)>`, so that we can refer to it later in the code.
















      ..
          !! processed by numpydoc !!


   .. py:method:: on_visit(node)

      
      Called every time a node is visited, before we've visited its children.

      Returns ``True`` if children should be visited, and returns ``False``
      otherwise.















      ..
          !! processed by numpydoc !!


   .. py:method:: on_leave(original_node, updated_node)

      
      Called every time we leave a node, after we've visited its children. If
      the :func:`~libcst.CSTTransformer.on_visit` function for this node returns
      ``False``, this function will still be called on that node.

      ``original_node`` is guaranteed to be the same node as is passed to
      :func:`~libcst.CSTTransformer.on_visit`, so it is safe to do state-based
      checks using the ``is`` operator. Modifications should always be performed
      on the ``updated_node`` so as to not overwrite changes made by child
      visits.

      Returning :attr:`RemovalSentinel.REMOVE` indicates that the node should be
      removed from its parent. This is not always possible, and may raise an
      exception if this node is required. As a convenience, you can use
      :func:`RemoveFromParent` as an alias to :attr:`RemovalSentinel.REMOVE`.















      ..
          !! processed by numpydoc !!


   .. py:method:: on_visit_attribute(node, attribute)

      
      Called before a node's child attribute is visited and after we have called
      :func:`~libcst.CSTTransformer.on_visit` on the node. A node's child
      attributes are visited in the order that they appear in source that this
      node originates from.
















      ..
          !! processed by numpydoc !!


   .. py:method:: on_leave_attribute(original_node, attribute)

      
      Called after a node's child attribute is visited and before we have called
      :func:`~libcst.CSTTransformer.on_leave` on the node.

      Unlike :func:`~libcst.CSTTransformer.on_leave`, this function does
      not allow modifications to the tree and is provided solely for state
      management.















      ..
          !! processed by numpydoc !!


   .. py:method:: leave_Add(original_node, updated_node)


   .. py:method:: leave_AddAssign(original_node, updated_node)


   .. py:method:: leave_And(original_node, updated_node)


   .. py:method:: leave_AnnAssign(original_node, updated_node)


   .. py:method:: leave_Annotation(original_node, updated_node)


   .. py:method:: leave_Arg(original_node, updated_node)


   .. py:method:: leave_AsName(original_node, updated_node)


   .. py:method:: leave_Assert(original_node, updated_node)


   .. py:method:: leave_Assign(original_node, updated_node)


   .. py:method:: leave_AssignEqual(original_node, updated_node)


   .. py:method:: leave_AssignTarget(original_node, updated_node)


   .. py:method:: leave_Asynchronous(original_node, updated_node)


   .. py:method:: leave_Attribute(original_node, updated_node)


   .. py:method:: leave_AugAssign(original_node, updated_node)


   .. py:method:: leave_Await(original_node, updated_node)


   .. py:method:: leave_BinaryOperation(original_node, updated_node)


   .. py:method:: leave_BitAnd(original_node, updated_node)


   .. py:method:: leave_BitAndAssign(original_node, updated_node)


   .. py:method:: leave_BitInvert(original_node, updated_node)


   .. py:method:: leave_BitOr(original_node, updated_node)


   .. py:method:: leave_BitOrAssign(original_node, updated_node)


   .. py:method:: leave_BitXor(original_node, updated_node)


   .. py:method:: leave_BitXorAssign(original_node, updated_node)


   .. py:method:: leave_BooleanOperation(original_node, updated_node)


   .. py:method:: leave_Break(original_node, updated_node)


   .. py:method:: leave_ClassDef(original_node, updated_node)


   .. py:method:: leave_Colon(original_node, updated_node)


   .. py:method:: leave_Comma(original_node, updated_node)


   .. py:method:: leave_Comment(original_node, updated_node)


   .. py:method:: leave_CompFor(original_node, updated_node)


   .. py:method:: leave_CompIf(original_node, updated_node)


   .. py:method:: leave_Comparison(original_node, updated_node)


   .. py:method:: leave_ComparisonTarget(original_node, updated_node)


   .. py:method:: leave_ConcatenatedString(original_node, updated_node)


   .. py:method:: leave_Continue(original_node, updated_node)


   .. py:method:: leave_Decorator(original_node, updated_node)


   .. py:method:: leave_Del(original_node, updated_node)


   .. py:method:: leave_Dict(original_node, updated_node)


   .. py:method:: leave_DictComp(original_node, updated_node)


   .. py:method:: leave_DictElement(original_node, updated_node)


   .. py:method:: leave_Divide(original_node, updated_node)


   .. py:method:: leave_DivideAssign(original_node, updated_node)


   .. py:method:: leave_Dot(original_node, updated_node)


   .. py:method:: leave_Element(original_node, updated_node)


   .. py:method:: leave_Ellipsis(original_node, updated_node)


   .. py:method:: leave_Else(original_node, updated_node)


   .. py:method:: leave_EmptyLine(original_node, updated_node)


   .. py:method:: leave_Equal(original_node, updated_node)


   .. py:method:: leave_ExceptHandler(original_node, updated_node)


   .. py:method:: leave_ExceptStarHandler(original_node, updated_node)


   .. py:method:: leave_Expr(original_node, updated_node)


   .. py:method:: leave_Finally(original_node, updated_node)


   .. py:method:: leave_Float(original_node, updated_node)


   .. py:method:: leave_FloorDivide(original_node, updated_node)


   .. py:method:: leave_FloorDivideAssign(original_node, updated_node)


   .. py:method:: leave_For(original_node, updated_node)


   .. py:method:: leave_FormattedString(original_node, updated_node)


   .. py:method:: leave_FormattedStringExpression(original_node, updated_node)


   .. py:method:: leave_FormattedStringText(original_node, updated_node)


   .. py:method:: leave_From(original_node, updated_node)


   .. py:method:: leave_FunctionDef(original_node, updated_node)


   .. py:method:: leave_GeneratorExp(original_node, updated_node)


   .. py:method:: leave_Global(original_node, updated_node)


   .. py:method:: leave_GreaterThan(original_node, updated_node)


   .. py:method:: leave_GreaterThanEqual(original_node, updated_node)


   .. py:method:: leave_If(original_node, updated_node)


   .. py:method:: leave_IfExp(original_node, updated_node)


   .. py:method:: leave_Imaginary(original_node, updated_node)


   .. py:method:: leave_Import(original_node, updated_node)


   .. py:method:: leave_ImportAlias(original_node, updated_node)


   .. py:method:: leave_ImportFrom(original_node, updated_node)


   .. py:method:: leave_ImportStar(original_node, updated_node)


   .. py:method:: leave_In(original_node, updated_node)


   .. py:method:: leave_IndentedBlock(original_node, updated_node)


   .. py:method:: leave_Index(original_node, updated_node)


   .. py:method:: leave_Integer(original_node, updated_node)


   .. py:method:: leave_Is(original_node, updated_node)


   .. py:method:: leave_IsNot(original_node, updated_node)


   .. py:method:: leave_Lambda(original_node, updated_node)


   .. py:method:: leave_LeftCurlyBrace(original_node, updated_node)


   .. py:method:: leave_LeftParen(original_node, updated_node)


   .. py:method:: leave_LeftShift(original_node, updated_node)


   .. py:method:: leave_LeftShiftAssign(original_node, updated_node)


   .. py:method:: leave_LeftSquareBracket(original_node, updated_node)


   .. py:method:: leave_LessThan(original_node, updated_node)


   .. py:method:: leave_LessThanEqual(original_node, updated_node)


   .. py:method:: leave_List(original_node, updated_node)


   .. py:method:: leave_ListComp(original_node, updated_node)


   .. py:method:: leave_Match(original_node, updated_node)


   .. py:method:: leave_MatchAs(original_node, updated_node)


   .. py:method:: leave_MatchCase(original_node, updated_node)


   .. py:method:: leave_MatchClass(original_node, updated_node)


   .. py:method:: leave_MatchKeywordElement(original_node, updated_node)


   .. py:method:: leave_MatchList(original_node, updated_node)


   .. py:method:: leave_MatchMapping(original_node, updated_node)


   .. py:method:: leave_MatchMappingElement(original_node, updated_node)


   .. py:method:: leave_MatchOr(original_node, updated_node)


   .. py:method:: leave_MatchOrElement(original_node, updated_node)


   .. py:method:: leave_MatchPattern(original_node, updated_node)


   .. py:method:: leave_MatchSequence(original_node, updated_node)


   .. py:method:: leave_MatchSequenceElement(original_node, updated_node)


   .. py:method:: leave_MatchSingleton(original_node, updated_node)


   .. py:method:: leave_MatchStar(original_node, updated_node)


   .. py:method:: leave_MatchTuple(original_node, updated_node)


   .. py:method:: leave_MatchValue(original_node, updated_node)


   .. py:method:: leave_MatrixMultiply(original_node, updated_node)


   .. py:method:: leave_MatrixMultiplyAssign(original_node, updated_node)


   .. py:method:: leave_Minus(original_node, updated_node)


   .. py:method:: leave_Module(original_node, updated_node)


   .. py:method:: leave_Modulo(original_node, updated_node)


   .. py:method:: leave_ModuloAssign(original_node, updated_node)


   .. py:method:: leave_Multiply(original_node, updated_node)


   .. py:method:: leave_MultiplyAssign(original_node, updated_node)


   .. py:method:: leave_Name(original_node, updated_node)


   .. py:method:: leave_NameItem(original_node, updated_node)


   .. py:method:: leave_NamedExpr(original_node, updated_node)


   .. py:method:: leave_Newline(original_node, updated_node)


   .. py:method:: leave_Nonlocal(original_node, updated_node)


   .. py:method:: leave_Not(original_node, updated_node)


   .. py:method:: leave_NotEqual(original_node, updated_node)


   .. py:method:: leave_NotIn(original_node, updated_node)


   .. py:method:: leave_Or(original_node, updated_node)


   .. py:method:: leave_Param(original_node, updated_node)


   .. py:method:: leave_ParamSlash(original_node, updated_node)


   .. py:method:: leave_ParamSpec(original_node, updated_node)


   .. py:method:: leave_ParamStar(original_node, updated_node)


   .. py:method:: leave_Parameters(original_node, updated_node)


   .. py:method:: leave_ParenthesizedWhitespace(original_node, updated_node)


   .. py:method:: leave_Pass(original_node, updated_node)


   .. py:method:: leave_Plus(original_node, updated_node)


   .. py:method:: leave_Power(original_node, updated_node)


   .. py:method:: leave_PowerAssign(original_node, updated_node)


   .. py:method:: leave_Raise(original_node, updated_node)


   .. py:method:: leave_Return(original_node, updated_node)


   .. py:method:: leave_RightCurlyBrace(original_node, updated_node)


   .. py:method:: leave_RightParen(original_node, updated_node)


   .. py:method:: leave_RightShift(original_node, updated_node)


   .. py:method:: leave_RightShiftAssign(original_node, updated_node)


   .. py:method:: leave_RightSquareBracket(original_node, updated_node)


   .. py:method:: leave_Semicolon(original_node, updated_node)


   .. py:method:: leave_Set(original_node, updated_node)


   .. py:method:: leave_SetComp(original_node, updated_node)


   .. py:method:: leave_SimpleStatementLine(original_node, updated_node)


   .. py:method:: leave_SimpleStatementSuite(original_node, updated_node)


   .. py:method:: leave_SimpleString(original_node, updated_node)


   .. py:method:: leave_SimpleWhitespace(original_node, updated_node)


   .. py:method:: leave_Slice(original_node, updated_node)


   .. py:method:: leave_StarredDictElement(original_node, updated_node)


   .. py:method:: leave_StarredElement(original_node, updated_node)


   .. py:method:: leave_SubscriptElement(original_node, updated_node)


   .. py:method:: leave_Subtract(original_node, updated_node)


   .. py:method:: leave_SubtractAssign(original_node, updated_node)


   .. py:method:: leave_TemplatedString(original_node, updated_node)


   .. py:method:: leave_TemplatedStringExpression(original_node, updated_node)


   .. py:method:: leave_TemplatedStringText(original_node, updated_node)


   .. py:method:: leave_TrailingWhitespace(original_node, updated_node)


   .. py:method:: leave_Try(original_node, updated_node)


   .. py:method:: leave_TryStar(original_node, updated_node)


   .. py:method:: leave_Tuple(original_node, updated_node)


   .. py:method:: leave_TypeAlias(original_node, updated_node)


   .. py:method:: leave_TypeParam(original_node, updated_node)


   .. py:method:: leave_TypeParameters(original_node, updated_node)


   .. py:method:: leave_TypeVar(original_node, updated_node)


   .. py:method:: leave_TypeVarTuple(original_node, updated_node)


   .. py:method:: leave_UnaryOperation(original_node, updated_node)


   .. py:method:: leave_While(original_node, updated_node)


   .. py:method:: leave_With(original_node, updated_node)


   .. py:method:: leave_WithItem(original_node, updated_node)


   .. py:method:: leave_Yield(original_node, updated_node)


   .. py:method:: visit_Add(node)


   .. py:method:: visit_Add_whitespace_before(node)


   .. py:method:: leave_Add_whitespace_before(node)


   .. py:method:: visit_Add_whitespace_after(node)


   .. py:method:: leave_Add_whitespace_after(node)


   .. py:method:: visit_AddAssign(node)


   .. py:method:: visit_AddAssign_whitespace_before(node)


   .. py:method:: leave_AddAssign_whitespace_before(node)


   .. py:method:: visit_AddAssign_whitespace_after(node)


   .. py:method:: leave_AddAssign_whitespace_after(node)


   .. py:method:: visit_And(node)


   .. py:method:: visit_And_whitespace_before(node)


   .. py:method:: leave_And_whitespace_before(node)


   .. py:method:: visit_And_whitespace_after(node)


   .. py:method:: leave_And_whitespace_after(node)


   .. py:method:: visit_AnnAssign(node)


   .. py:method:: visit_AnnAssign_target(node)


   .. py:method:: leave_AnnAssign_target(node)


   .. py:method:: visit_AnnAssign_annotation(node)


   .. py:method:: leave_AnnAssign_annotation(node)


   .. py:method:: visit_AnnAssign_value(node)


   .. py:method:: leave_AnnAssign_value(node)


   .. py:method:: visit_AnnAssign_equal(node)


   .. py:method:: leave_AnnAssign_equal(node)


   .. py:method:: visit_AnnAssign_semicolon(node)


   .. py:method:: leave_AnnAssign_semicolon(node)


   .. py:method:: visit_Annotation(node)


   .. py:method:: visit_Annotation_annotation(node)


   .. py:method:: leave_Annotation_annotation(node)


   .. py:method:: visit_Annotation_whitespace_before_indicator(node)


   .. py:method:: leave_Annotation_whitespace_before_indicator(node)


   .. py:method:: visit_Annotation_whitespace_after_indicator(node)


   .. py:method:: leave_Annotation_whitespace_after_indicator(node)


   .. py:method:: visit_Arg(node)


   .. py:method:: visit_Arg_value(node)


   .. py:method:: leave_Arg_value(node)


   .. py:method:: visit_Arg_keyword(node)


   .. py:method:: leave_Arg_keyword(node)


   .. py:method:: visit_Arg_equal(node)


   .. py:method:: leave_Arg_equal(node)


   .. py:method:: visit_Arg_comma(node)


   .. py:method:: leave_Arg_comma(node)


   .. py:method:: visit_Arg_star(node)


   .. py:method:: leave_Arg_star(node)


   .. py:method:: visit_Arg_whitespace_after_star(node)


   .. py:method:: leave_Arg_whitespace_after_star(node)


   .. py:method:: visit_Arg_whitespace_after_arg(node)


   .. py:method:: leave_Arg_whitespace_after_arg(node)


   .. py:method:: visit_AsName(node)


   .. py:method:: visit_AsName_name(node)


   .. py:method:: leave_AsName_name(node)


   .. py:method:: visit_AsName_whitespace_before_as(node)


   .. py:method:: leave_AsName_whitespace_before_as(node)


   .. py:method:: visit_AsName_whitespace_after_as(node)


   .. py:method:: leave_AsName_whitespace_after_as(node)


   .. py:method:: visit_Assert(node)


   .. py:method:: visit_Assert_test(node)


   .. py:method:: leave_Assert_test(node)


   .. py:method:: visit_Assert_msg(node)


   .. py:method:: leave_Assert_msg(node)


   .. py:method:: visit_Assert_comma(node)


   .. py:method:: leave_Assert_comma(node)


   .. py:method:: visit_Assert_whitespace_after_assert(node)


   .. py:method:: leave_Assert_whitespace_after_assert(node)


   .. py:method:: visit_Assert_semicolon(node)


   .. py:method:: leave_Assert_semicolon(node)


   .. py:method:: visit_Assign(node)


   .. py:method:: visit_Assign_targets(node)


   .. py:method:: leave_Assign_targets(node)


   .. py:method:: visit_Assign_value(node)


   .. py:method:: leave_Assign_value(node)


   .. py:method:: visit_Assign_semicolon(node)


   .. py:method:: leave_Assign_semicolon(node)


   .. py:method:: visit_AssignEqual(node)


   .. py:method:: visit_AssignEqual_whitespace_before(node)


   .. py:method:: leave_AssignEqual_whitespace_before(node)


   .. py:method:: visit_AssignEqual_whitespace_after(node)


   .. py:method:: leave_AssignEqual_whitespace_after(node)


   .. py:method:: visit_AssignTarget(node)


   .. py:method:: visit_AssignTarget_target(node)


   .. py:method:: leave_AssignTarget_target(node)


   .. py:method:: visit_AssignTarget_whitespace_before_equal(node)


   .. py:method:: leave_AssignTarget_whitespace_before_equal(node)


   .. py:method:: visit_AssignTarget_whitespace_after_equal(node)


   .. py:method:: leave_AssignTarget_whitespace_after_equal(node)


   .. py:method:: visit_Asynchronous(node)


   .. py:method:: visit_Asynchronous_whitespace_after(node)


   .. py:method:: leave_Asynchronous_whitespace_after(node)


   .. py:method:: visit_Attribute(node)


   .. py:method:: visit_Attribute_value(node)


   .. py:method:: leave_Attribute_value(node)


   .. py:method:: visit_Attribute_attr(node)


   .. py:method:: leave_Attribute_attr(node)


   .. py:method:: visit_Attribute_dot(node)


   .. py:method:: leave_Attribute_dot(node)


   .. py:method:: visit_Attribute_lpar(node)


   .. py:method:: leave_Attribute_lpar(node)


   .. py:method:: visit_Attribute_rpar(node)


   .. py:method:: leave_Attribute_rpar(node)


   .. py:method:: visit_AugAssign(node)


   .. py:method:: visit_AugAssign_target(node)


   .. py:method:: leave_AugAssign_target(node)


   .. py:method:: visit_AugAssign_operator(node)


   .. py:method:: leave_AugAssign_operator(node)


   .. py:method:: visit_AugAssign_value(node)


   .. py:method:: leave_AugAssign_value(node)


   .. py:method:: visit_AugAssign_semicolon(node)


   .. py:method:: leave_AugAssign_semicolon(node)


   .. py:method:: visit_Await(node)


   .. py:method:: visit_Await_expression(node)


   .. py:method:: leave_Await_expression(node)


   .. py:method:: visit_Await_lpar(node)


   .. py:method:: leave_Await_lpar(node)


   .. py:method:: visit_Await_rpar(node)


   .. py:method:: leave_Await_rpar(node)


   .. py:method:: visit_Await_whitespace_after_await(node)


   .. py:method:: leave_Await_whitespace_after_await(node)


   .. py:method:: visit_BinaryOperation(node)


   .. py:method:: visit_BinaryOperation_left(node)


   .. py:method:: leave_BinaryOperation_left(node)


   .. py:method:: visit_BinaryOperation_operator(node)


   .. py:method:: leave_BinaryOperation_operator(node)


   .. py:method:: visit_BinaryOperation_right(node)


   .. py:method:: leave_BinaryOperation_right(node)


   .. py:method:: visit_BinaryOperation_lpar(node)


   .. py:method:: leave_BinaryOperation_lpar(node)


   .. py:method:: visit_BinaryOperation_rpar(node)


   .. py:method:: leave_BinaryOperation_rpar(node)


   .. py:method:: visit_BitAnd(node)


   .. py:method:: visit_BitAnd_whitespace_before(node)


   .. py:method:: leave_BitAnd_whitespace_before(node)


   .. py:method:: visit_BitAnd_whitespace_after(node)


   .. py:method:: leave_BitAnd_whitespace_after(node)


   .. py:method:: visit_BitAndAssign(node)


   .. py:method:: visit_BitAndAssign_whitespace_before(node)


   .. py:method:: leave_BitAndAssign_whitespace_before(node)


   .. py:method:: visit_BitAndAssign_whitespace_after(node)


   .. py:method:: leave_BitAndAssign_whitespace_after(node)


   .. py:method:: visit_BitInvert(node)


   .. py:method:: visit_BitInvert_whitespace_after(node)


   .. py:method:: leave_BitInvert_whitespace_after(node)


   .. py:method:: visit_BitOr(node)


   .. py:method:: visit_BitOr_whitespace_before(node)


   .. py:method:: leave_BitOr_whitespace_before(node)


   .. py:method:: visit_BitOr_whitespace_after(node)


   .. py:method:: leave_BitOr_whitespace_after(node)


   .. py:method:: visit_BitOrAssign(node)


   .. py:method:: visit_BitOrAssign_whitespace_before(node)


   .. py:method:: leave_BitOrAssign_whitespace_before(node)


   .. py:method:: visit_BitOrAssign_whitespace_after(node)


   .. py:method:: leave_BitOrAssign_whitespace_after(node)


   .. py:method:: visit_BitXor(node)


   .. py:method:: visit_BitXor_whitespace_before(node)


   .. py:method:: leave_BitXor_whitespace_before(node)


   .. py:method:: visit_BitXor_whitespace_after(node)


   .. py:method:: leave_BitXor_whitespace_after(node)


   .. py:method:: visit_BitXorAssign(node)


   .. py:method:: visit_BitXorAssign_whitespace_before(node)


   .. py:method:: leave_BitXorAssign_whitespace_before(node)


   .. py:method:: visit_BitXorAssign_whitespace_after(node)


   .. py:method:: leave_BitXorAssign_whitespace_after(node)


   .. py:method:: visit_BooleanOperation(node)


   .. py:method:: visit_BooleanOperation_left(node)


   .. py:method:: leave_BooleanOperation_left(node)


   .. py:method:: visit_BooleanOperation_operator(node)


   .. py:method:: leave_BooleanOperation_operator(node)


   .. py:method:: visit_BooleanOperation_right(node)


   .. py:method:: leave_BooleanOperation_right(node)


   .. py:method:: visit_BooleanOperation_lpar(node)


   .. py:method:: leave_BooleanOperation_lpar(node)


   .. py:method:: visit_BooleanOperation_rpar(node)


   .. py:method:: leave_BooleanOperation_rpar(node)


   .. py:method:: visit_Break(node)


   .. py:method:: visit_Break_semicolon(node)


   .. py:method:: leave_Break_semicolon(node)


   .. py:method:: visit_Call(node)


   .. py:method:: visit_Call_func(node)


   .. py:method:: leave_Call_func(node)


   .. py:method:: visit_Call_args(node)


   .. py:method:: leave_Call_args(node)


   .. py:method:: visit_Call_lpar(node)


   .. py:method:: leave_Call_lpar(node)


   .. py:method:: visit_Call_rpar(node)


   .. py:method:: leave_Call_rpar(node)


   .. py:method:: visit_Call_whitespace_after_func(node)


   .. py:method:: leave_Call_whitespace_after_func(node)


   .. py:method:: visit_Call_whitespace_before_args(node)


   .. py:method:: leave_Call_whitespace_before_args(node)


   .. py:method:: visit_ClassDef(node)


   .. py:method:: visit_ClassDef_name(node)


   .. py:method:: leave_ClassDef_name(node)


   .. py:method:: visit_ClassDef_body(node)


   .. py:method:: leave_ClassDef_body(node)


   .. py:method:: visit_ClassDef_bases(node)


   .. py:method:: leave_ClassDef_bases(node)


   .. py:method:: visit_ClassDef_keywords(node)


   .. py:method:: leave_ClassDef_keywords(node)


   .. py:method:: visit_ClassDef_decorators(node)


   .. py:method:: leave_ClassDef_decorators(node)


   .. py:method:: visit_ClassDef_lpar(node)


   .. py:method:: leave_ClassDef_lpar(node)


   .. py:method:: visit_ClassDef_rpar(node)


   .. py:method:: leave_ClassDef_rpar(node)


   .. py:method:: visit_ClassDef_leading_lines(node)


   .. py:method:: leave_ClassDef_leading_lines(node)


   .. py:method:: visit_ClassDef_lines_after_decorators(node)


   .. py:method:: leave_ClassDef_lines_after_decorators(node)


   .. py:method:: visit_ClassDef_whitespace_after_class(node)


   .. py:method:: leave_ClassDef_whitespace_after_class(node)


   .. py:method:: visit_ClassDef_whitespace_after_name(node)


   .. py:method:: leave_ClassDef_whitespace_after_name(node)


   .. py:method:: visit_ClassDef_whitespace_before_colon(node)


   .. py:method:: leave_ClassDef_whitespace_before_colon(node)


   .. py:method:: visit_ClassDef_type_parameters(node)


   .. py:method:: leave_ClassDef_type_parameters(node)


   .. py:method:: visit_ClassDef_whitespace_after_type_parameters(node)


   .. py:method:: leave_ClassDef_whitespace_after_type_parameters(node)


   .. py:method:: visit_Colon(node)


   .. py:method:: visit_Colon_whitespace_before(node)


   .. py:method:: leave_Colon_whitespace_before(node)


   .. py:method:: visit_Colon_whitespace_after(node)


   .. py:method:: leave_Colon_whitespace_after(node)


   .. py:method:: visit_Comma(node)


   .. py:method:: visit_Comma_whitespace_before(node)


   .. py:method:: leave_Comma_whitespace_before(node)


   .. py:method:: visit_Comma_whitespace_after(node)


   .. py:method:: leave_Comma_whitespace_after(node)


   .. py:method:: visit_Comment(node)


   .. py:method:: visit_Comment_value(node)


   .. py:method:: leave_Comment_value(node)


   .. py:method:: visit_CompFor(node)


   .. py:method:: visit_CompFor_target(node)


   .. py:method:: leave_CompFor_target(node)


   .. py:method:: visit_CompFor_iter(node)


   .. py:method:: leave_CompFor_iter(node)


   .. py:method:: visit_CompFor_ifs(node)


   .. py:method:: leave_CompFor_ifs(node)


   .. py:method:: visit_CompFor_inner_for_in(node)


   .. py:method:: leave_CompFor_inner_for_in(node)


   .. py:method:: visit_CompFor_asynchronous(node)


   .. py:method:: leave_CompFor_asynchronous(node)


   .. py:method:: visit_CompFor_whitespace_before(node)


   .. py:method:: leave_CompFor_whitespace_before(node)


   .. py:method:: visit_CompFor_whitespace_after_for(node)


   .. py:method:: leave_CompFor_whitespace_after_for(node)


   .. py:method:: visit_CompFor_whitespace_before_in(node)


   .. py:method:: leave_CompFor_whitespace_before_in(node)


   .. py:method:: visit_CompFor_whitespace_after_in(node)


   .. py:method:: leave_CompFor_whitespace_after_in(node)


   .. py:method:: visit_CompIf(node)


   .. py:method:: visit_CompIf_test(node)


   .. py:method:: leave_CompIf_test(node)


   .. py:method:: visit_CompIf_whitespace_before(node)


   .. py:method:: leave_CompIf_whitespace_before(node)


   .. py:method:: visit_CompIf_whitespace_before_test(node)


   .. py:method:: leave_CompIf_whitespace_before_test(node)


   .. py:method:: visit_Comparison(node)


   .. py:method:: visit_Comparison_left(node)


   .. py:method:: leave_Comparison_left(node)


   .. py:method:: visit_Comparison_comparisons(node)


   .. py:method:: leave_Comparison_comparisons(node)


   .. py:method:: visit_Comparison_lpar(node)


   .. py:method:: leave_Comparison_lpar(node)


   .. py:method:: visit_Comparison_rpar(node)


   .. py:method:: leave_Comparison_rpar(node)


   .. py:method:: visit_ComparisonTarget(node)


   .. py:method:: visit_ComparisonTarget_operator(node)


   .. py:method:: leave_ComparisonTarget_operator(node)


   .. py:method:: visit_ComparisonTarget_comparator(node)


   .. py:method:: leave_ComparisonTarget_comparator(node)


   .. py:method:: visit_ConcatenatedString(node)


   .. py:method:: visit_ConcatenatedString_left(node)


   .. py:method:: leave_ConcatenatedString_left(node)


   .. py:method:: visit_ConcatenatedString_right(node)


   .. py:method:: leave_ConcatenatedString_right(node)


   .. py:method:: visit_ConcatenatedString_lpar(node)


   .. py:method:: leave_ConcatenatedString_lpar(node)


   .. py:method:: visit_ConcatenatedString_rpar(node)


   .. py:method:: leave_ConcatenatedString_rpar(node)


   .. py:method:: visit_ConcatenatedString_whitespace_between(node)


   .. py:method:: leave_ConcatenatedString_whitespace_between(node)


   .. py:method:: visit_Continue(node)


   .. py:method:: visit_Continue_semicolon(node)


   .. py:method:: leave_Continue_semicolon(node)


   .. py:method:: visit_Decorator(node)


   .. py:method:: visit_Decorator_decorator(node)


   .. py:method:: leave_Decorator_decorator(node)


   .. py:method:: visit_Decorator_leading_lines(node)


   .. py:method:: leave_Decorator_leading_lines(node)


   .. py:method:: visit_Decorator_whitespace_after_at(node)


   .. py:method:: leave_Decorator_whitespace_after_at(node)


   .. py:method:: visit_Decorator_trailing_whitespace(node)


   .. py:method:: leave_Decorator_trailing_whitespace(node)


   .. py:method:: visit_Del(node)


   .. py:method:: visit_Del_target(node)


   .. py:method:: leave_Del_target(node)


   .. py:method:: visit_Del_whitespace_after_del(node)


   .. py:method:: leave_Del_whitespace_after_del(node)


   .. py:method:: visit_Del_semicolon(node)


   .. py:method:: leave_Del_semicolon(node)


   .. py:method:: visit_Dict(node)


   .. py:method:: visit_Dict_elements(node)


   .. py:method:: leave_Dict_elements(node)


   .. py:method:: visit_Dict_lbrace(node)


   .. py:method:: leave_Dict_lbrace(node)


   .. py:method:: visit_Dict_rbrace(node)


   .. py:method:: leave_Dict_rbrace(node)


   .. py:method:: visit_Dict_lpar(node)


   .. py:method:: leave_Dict_lpar(node)


   .. py:method:: visit_Dict_rpar(node)


   .. py:method:: leave_Dict_rpar(node)


   .. py:method:: visit_DictComp(node)


   .. py:method:: visit_DictComp_key(node)


   .. py:method:: leave_DictComp_key(node)


   .. py:method:: visit_DictComp_value(node)


   .. py:method:: leave_DictComp_value(node)


   .. py:method:: visit_DictComp_for_in(node)


   .. py:method:: leave_DictComp_for_in(node)


   .. py:method:: visit_DictComp_lbrace(node)


   .. py:method:: leave_DictComp_lbrace(node)


   .. py:method:: visit_DictComp_rbrace(node)


   .. py:method:: leave_DictComp_rbrace(node)


   .. py:method:: visit_DictComp_lpar(node)


   .. py:method:: leave_DictComp_lpar(node)


   .. py:method:: visit_DictComp_rpar(node)


   .. py:method:: leave_DictComp_rpar(node)


   .. py:method:: visit_DictComp_whitespace_before_colon(node)


   .. py:method:: leave_DictComp_whitespace_before_colon(node)


   .. py:method:: visit_DictComp_whitespace_after_colon(node)


   .. py:method:: leave_DictComp_whitespace_after_colon(node)


   .. py:method:: visit_DictElement(node)


   .. py:method:: visit_DictElement_key(node)


   .. py:method:: leave_DictElement_key(node)


   .. py:method:: visit_DictElement_value(node)


   .. py:method:: leave_DictElement_value(node)


   .. py:method:: visit_DictElement_comma(node)


   .. py:method:: leave_DictElement_comma(node)


   .. py:method:: visit_DictElement_whitespace_before_colon(node)


   .. py:method:: leave_DictElement_whitespace_before_colon(node)


   .. py:method:: visit_DictElement_whitespace_after_colon(node)


   .. py:method:: leave_DictElement_whitespace_after_colon(node)


   .. py:method:: visit_Divide(node)


   .. py:method:: visit_Divide_whitespace_before(node)


   .. py:method:: leave_Divide_whitespace_before(node)


   .. py:method:: visit_Divide_whitespace_after(node)


   .. py:method:: leave_Divide_whitespace_after(node)


   .. py:method:: visit_DivideAssign(node)


   .. py:method:: visit_DivideAssign_whitespace_before(node)


   .. py:method:: leave_DivideAssign_whitespace_before(node)


   .. py:method:: visit_DivideAssign_whitespace_after(node)


   .. py:method:: leave_DivideAssign_whitespace_after(node)


   .. py:method:: visit_Dot(node)


   .. py:method:: visit_Dot_whitespace_before(node)


   .. py:method:: leave_Dot_whitespace_before(node)


   .. py:method:: visit_Dot_whitespace_after(node)


   .. py:method:: leave_Dot_whitespace_after(node)


   .. py:method:: visit_Element(node)


   .. py:method:: visit_Element_value(node)


   .. py:method:: leave_Element_value(node)


   .. py:method:: visit_Element_comma(node)


   .. py:method:: leave_Element_comma(node)


   .. py:method:: visit_Ellipsis(node)


   .. py:method:: visit_Ellipsis_lpar(node)


   .. py:method:: leave_Ellipsis_lpar(node)


   .. py:method:: visit_Ellipsis_rpar(node)


   .. py:method:: leave_Ellipsis_rpar(node)


   .. py:method:: visit_Else(node)


   .. py:method:: visit_Else_body(node)


   .. py:method:: leave_Else_body(node)


   .. py:method:: visit_Else_leading_lines(node)


   .. py:method:: leave_Else_leading_lines(node)


   .. py:method:: visit_Else_whitespace_before_colon(node)


   .. py:method:: leave_Else_whitespace_before_colon(node)


   .. py:method:: visit_EmptyLine(node)


   .. py:method:: visit_EmptyLine_indent(node)


   .. py:method:: leave_EmptyLine_indent(node)


   .. py:method:: visit_EmptyLine_whitespace(node)


   .. py:method:: leave_EmptyLine_whitespace(node)


   .. py:method:: visit_EmptyLine_comment(node)


   .. py:method:: leave_EmptyLine_comment(node)


   .. py:method:: visit_EmptyLine_newline(node)


   .. py:method:: leave_EmptyLine_newline(node)


   .. py:method:: visit_Equal(node)


   .. py:method:: visit_Equal_whitespace_before(node)


   .. py:method:: leave_Equal_whitespace_before(node)


   .. py:method:: visit_Equal_whitespace_after(node)


   .. py:method:: leave_Equal_whitespace_after(node)


   .. py:method:: visit_ExceptHandler(node)


   .. py:method:: visit_ExceptHandler_body(node)


   .. py:method:: leave_ExceptHandler_body(node)


   .. py:method:: visit_ExceptHandler_type(node)


   .. py:method:: leave_ExceptHandler_type(node)


   .. py:method:: visit_ExceptHandler_name(node)


   .. py:method:: leave_ExceptHandler_name(node)


   .. py:method:: visit_ExceptHandler_leading_lines(node)


   .. py:method:: leave_ExceptHandler_leading_lines(node)


   .. py:method:: visit_ExceptHandler_whitespace_after_except(node)


   .. py:method:: leave_ExceptHandler_whitespace_after_except(node)


   .. py:method:: visit_ExceptHandler_whitespace_before_colon(node)


   .. py:method:: leave_ExceptHandler_whitespace_before_colon(node)


   .. py:method:: visit_ExceptStarHandler(node)


   .. py:method:: visit_ExceptStarHandler_body(node)


   .. py:method:: leave_ExceptStarHandler_body(node)


   .. py:method:: visit_ExceptStarHandler_type(node)


   .. py:method:: leave_ExceptStarHandler_type(node)


   .. py:method:: visit_ExceptStarHandler_name(node)


   .. py:method:: leave_ExceptStarHandler_name(node)


   .. py:method:: visit_ExceptStarHandler_leading_lines(node)


   .. py:method:: leave_ExceptStarHandler_leading_lines(node)


   .. py:method:: visit_ExceptStarHandler_whitespace_after_except(node)


   .. py:method:: leave_ExceptStarHandler_whitespace_after_except(node)


   .. py:method:: visit_ExceptStarHandler_whitespace_after_star(node)


   .. py:method:: leave_ExceptStarHandler_whitespace_after_star(node)


   .. py:method:: visit_ExceptStarHandler_whitespace_before_colon(node)


   .. py:method:: leave_ExceptStarHandler_whitespace_before_colon(node)


   .. py:method:: visit_Expr(node)


   .. py:method:: visit_Expr_value(node)


   .. py:method:: leave_Expr_value(node)


   .. py:method:: visit_Expr_semicolon(node)


   .. py:method:: leave_Expr_semicolon(node)


   .. py:method:: visit_Finally(node)


   .. py:method:: visit_Finally_body(node)


   .. py:method:: leave_Finally_body(node)


   .. py:method:: visit_Finally_leading_lines(node)


   .. py:method:: leave_Finally_leading_lines(node)


   .. py:method:: visit_Finally_whitespace_before_colon(node)


   .. py:method:: leave_Finally_whitespace_before_colon(node)


   .. py:method:: visit_Float(node)


   .. py:method:: visit_Float_value(node)


   .. py:method:: leave_Float_value(node)


   .. py:method:: visit_Float_lpar(node)


   .. py:method:: leave_Float_lpar(node)


   .. py:method:: visit_Float_rpar(node)


   .. py:method:: leave_Float_rpar(node)


   .. py:method:: visit_FloorDivide(node)


   .. py:method:: visit_FloorDivide_whitespace_before(node)


   .. py:method:: leave_FloorDivide_whitespace_before(node)


   .. py:method:: visit_FloorDivide_whitespace_after(node)


   .. py:method:: leave_FloorDivide_whitespace_after(node)


   .. py:method:: visit_FloorDivideAssign(node)


   .. py:method:: visit_FloorDivideAssign_whitespace_before(node)


   .. py:method:: leave_FloorDivideAssign_whitespace_before(node)


   .. py:method:: visit_FloorDivideAssign_whitespace_after(node)


   .. py:method:: leave_FloorDivideAssign_whitespace_after(node)


   .. py:method:: visit_For(node)


   .. py:method:: visit_For_target(node)


   .. py:method:: leave_For_target(node)


   .. py:method:: visit_For_iter(node)


   .. py:method:: leave_For_iter(node)


   .. py:method:: visit_For_body(node)


   .. py:method:: leave_For_body(node)


   .. py:method:: visit_For_orelse(node)


   .. py:method:: leave_For_orelse(node)


   .. py:method:: visit_For_asynchronous(node)


   .. py:method:: leave_For_asynchronous(node)


   .. py:method:: visit_For_leading_lines(node)


   .. py:method:: leave_For_leading_lines(node)


   .. py:method:: visit_For_whitespace_after_for(node)


   .. py:method:: leave_For_whitespace_after_for(node)


   .. py:method:: visit_For_whitespace_before_in(node)


   .. py:method:: leave_For_whitespace_before_in(node)


   .. py:method:: visit_For_whitespace_after_in(node)


   .. py:method:: leave_For_whitespace_after_in(node)


   .. py:method:: visit_For_whitespace_before_colon(node)


   .. py:method:: leave_For_whitespace_before_colon(node)


   .. py:method:: visit_FormattedString(node)


   .. py:method:: visit_FormattedString_parts(node)


   .. py:method:: leave_FormattedString_parts(node)


   .. py:method:: visit_FormattedString_start(node)


   .. py:method:: leave_FormattedString_start(node)


   .. py:method:: visit_FormattedString_end(node)


   .. py:method:: leave_FormattedString_end(node)


   .. py:method:: visit_FormattedString_lpar(node)


   .. py:method:: leave_FormattedString_lpar(node)


   .. py:method:: visit_FormattedString_rpar(node)


   .. py:method:: leave_FormattedString_rpar(node)


   .. py:method:: visit_FormattedStringExpression(node)


   .. py:method:: visit_FormattedStringExpression_expression(node)


   .. py:method:: leave_FormattedStringExpression_expression(node)


   .. py:method:: visit_FormattedStringExpression_conversion(node)


   .. py:method:: leave_FormattedStringExpression_conversion(node)


   .. py:method:: visit_FormattedStringExpression_format_spec(node)


   .. py:method:: leave_FormattedStringExpression_format_spec(node)


   .. py:method:: visit_FormattedStringExpression_whitespace_before_expression(node)


   .. py:method:: leave_FormattedStringExpression_whitespace_before_expression(node)


   .. py:method:: visit_FormattedStringExpression_whitespace_after_expression(node)


   .. py:method:: leave_FormattedStringExpression_whitespace_after_expression(node)


   .. py:method:: visit_FormattedStringExpression_equal(node)


   .. py:method:: leave_FormattedStringExpression_equal(node)


   .. py:method:: visit_FormattedStringText(node)


   .. py:method:: visit_FormattedStringText_value(node)


   .. py:method:: leave_FormattedStringText_value(node)


   .. py:method:: visit_From(node)


   .. py:method:: visit_From_item(node)


   .. py:method:: leave_From_item(node)


   .. py:method:: visit_From_whitespace_before_from(node)


   .. py:method:: leave_From_whitespace_before_from(node)


   .. py:method:: visit_From_whitespace_after_from(node)


   .. py:method:: leave_From_whitespace_after_from(node)


   .. py:method:: visit_FunctionDef(node)


   .. py:method:: visit_FunctionDef_name(node)


   .. py:method:: leave_FunctionDef_name(node)


   .. py:method:: visit_FunctionDef_params(node)


   .. py:method:: leave_FunctionDef_params(node)


   .. py:method:: visit_FunctionDef_body(node)


   .. py:method:: leave_FunctionDef_body(node)


   .. py:method:: visit_FunctionDef_decorators(node)


   .. py:method:: leave_FunctionDef_decorators(node)


   .. py:method:: visit_FunctionDef_returns(node)


   .. py:method:: leave_FunctionDef_returns(node)


   .. py:method:: visit_FunctionDef_asynchronous(node)


   .. py:method:: leave_FunctionDef_asynchronous(node)


   .. py:method:: visit_FunctionDef_leading_lines(node)


   .. py:method:: leave_FunctionDef_leading_lines(node)


   .. py:method:: visit_FunctionDef_lines_after_decorators(node)


   .. py:method:: leave_FunctionDef_lines_after_decorators(node)


   .. py:method:: visit_FunctionDef_whitespace_after_def(node)


   .. py:method:: leave_FunctionDef_whitespace_after_def(node)


   .. py:method:: visit_FunctionDef_whitespace_after_name(node)


   .. py:method:: leave_FunctionDef_whitespace_after_name(node)


   .. py:method:: visit_FunctionDef_whitespace_before_params(node)


   .. py:method:: leave_FunctionDef_whitespace_before_params(node)


   .. py:method:: visit_FunctionDef_whitespace_before_colon(node)


   .. py:method:: leave_FunctionDef_whitespace_before_colon(node)


   .. py:method:: visit_FunctionDef_type_parameters(node)


   .. py:method:: leave_FunctionDef_type_parameters(node)


   .. py:method:: visit_FunctionDef_whitespace_after_type_parameters(node)


   .. py:method:: leave_FunctionDef_whitespace_after_type_parameters(node)


   .. py:method:: visit_GeneratorExp(node)


   .. py:method:: visit_GeneratorExp_elt(node)


   .. py:method:: leave_GeneratorExp_elt(node)


   .. py:method:: visit_GeneratorExp_for_in(node)


   .. py:method:: leave_GeneratorExp_for_in(node)


   .. py:method:: visit_GeneratorExp_lpar(node)


   .. py:method:: leave_GeneratorExp_lpar(node)


   .. py:method:: visit_GeneratorExp_rpar(node)


   .. py:method:: leave_GeneratorExp_rpar(node)


   .. py:method:: visit_Global(node)


   .. py:method:: visit_Global_names(node)


   .. py:method:: leave_Global_names(node)


   .. py:method:: visit_Global_whitespace_after_global(node)


   .. py:method:: leave_Global_whitespace_after_global(node)


   .. py:method:: visit_Global_semicolon(node)


   .. py:method:: leave_Global_semicolon(node)


   .. py:method:: visit_GreaterThan(node)


   .. py:method:: visit_GreaterThan_whitespace_before(node)


   .. py:method:: leave_GreaterThan_whitespace_before(node)


   .. py:method:: visit_GreaterThan_whitespace_after(node)


   .. py:method:: leave_GreaterThan_whitespace_after(node)


   .. py:method:: visit_GreaterThanEqual(node)


   .. py:method:: visit_GreaterThanEqual_whitespace_before(node)


   .. py:method:: leave_GreaterThanEqual_whitespace_before(node)


   .. py:method:: visit_GreaterThanEqual_whitespace_after(node)


   .. py:method:: leave_GreaterThanEqual_whitespace_after(node)


   .. py:method:: visit_If(node)


   .. py:method:: visit_If_test(node)


   .. py:method:: leave_If_test(node)


   .. py:method:: visit_If_body(node)


   .. py:method:: leave_If_body(node)


   .. py:method:: visit_If_orelse(node)


   .. py:method:: leave_If_orelse(node)


   .. py:method:: visit_If_leading_lines(node)


   .. py:method:: leave_If_leading_lines(node)


   .. py:method:: visit_If_whitespace_before_test(node)


   .. py:method:: leave_If_whitespace_before_test(node)


   .. py:method:: visit_If_whitespace_after_test(node)


   .. py:method:: leave_If_whitespace_after_test(node)


   .. py:method:: visit_IfExp(node)


   .. py:method:: visit_IfExp_test(node)


   .. py:method:: leave_IfExp_test(node)


   .. py:method:: visit_IfExp_body(node)


   .. py:method:: leave_IfExp_body(node)


   .. py:method:: visit_IfExp_orelse(node)


   .. py:method:: leave_IfExp_orelse(node)


   .. py:method:: visit_IfExp_lpar(node)


   .. py:method:: leave_IfExp_lpar(node)


   .. py:method:: visit_IfExp_rpar(node)


   .. py:method:: leave_IfExp_rpar(node)


   .. py:method:: visit_IfExp_whitespace_before_if(node)


   .. py:method:: leave_IfExp_whitespace_before_if(node)


   .. py:method:: visit_IfExp_whitespace_after_if(node)


   .. py:method:: leave_IfExp_whitespace_after_if(node)


   .. py:method:: visit_IfExp_whitespace_before_else(node)


   .. py:method:: leave_IfExp_whitespace_before_else(node)


   .. py:method:: visit_IfExp_whitespace_after_else(node)


   .. py:method:: leave_IfExp_whitespace_after_else(node)


   .. py:method:: visit_Imaginary(node)


   .. py:method:: visit_Imaginary_value(node)


   .. py:method:: leave_Imaginary_value(node)


   .. py:method:: visit_Imaginary_lpar(node)


   .. py:method:: leave_Imaginary_lpar(node)


   .. py:method:: visit_Imaginary_rpar(node)


   .. py:method:: leave_Imaginary_rpar(node)


   .. py:method:: visit_Import(node)


   .. py:method:: visit_Import_names(node)


   .. py:method:: leave_Import_names(node)


   .. py:method:: visit_Import_semicolon(node)


   .. py:method:: leave_Import_semicolon(node)


   .. py:method:: visit_Import_whitespace_after_import(node)


   .. py:method:: leave_Import_whitespace_after_import(node)


   .. py:method:: visit_ImportAlias(node)


   .. py:method:: visit_ImportAlias_name(node)


   .. py:method:: leave_ImportAlias_name(node)


   .. py:method:: visit_ImportAlias_asname(node)


   .. py:method:: leave_ImportAlias_asname(node)


   .. py:method:: visit_ImportAlias_comma(node)


   .. py:method:: leave_ImportAlias_comma(node)


   .. py:method:: visit_ImportFrom(node)


   .. py:method:: visit_ImportFrom_module(node)


   .. py:method:: leave_ImportFrom_module(node)


   .. py:method:: visit_ImportFrom_names(node)


   .. py:method:: leave_ImportFrom_names(node)


   .. py:method:: visit_ImportFrom_relative(node)


   .. py:method:: leave_ImportFrom_relative(node)


   .. py:method:: visit_ImportFrom_lpar(node)


   .. py:method:: leave_ImportFrom_lpar(node)


   .. py:method:: visit_ImportFrom_rpar(node)


   .. py:method:: leave_ImportFrom_rpar(node)


   .. py:method:: visit_ImportFrom_semicolon(node)


   .. py:method:: leave_ImportFrom_semicolon(node)


   .. py:method:: visit_ImportFrom_whitespace_after_from(node)


   .. py:method:: leave_ImportFrom_whitespace_after_from(node)


   .. py:method:: visit_ImportFrom_whitespace_before_import(node)


   .. py:method:: leave_ImportFrom_whitespace_before_import(node)


   .. py:method:: visit_ImportFrom_whitespace_after_import(node)


   .. py:method:: leave_ImportFrom_whitespace_after_import(node)


   .. py:method:: visit_ImportStar(node)


   .. py:method:: visit_In(node)


   .. py:method:: visit_In_whitespace_before(node)


   .. py:method:: leave_In_whitespace_before(node)


   .. py:method:: visit_In_whitespace_after(node)


   .. py:method:: leave_In_whitespace_after(node)


   .. py:method:: visit_IndentedBlock(node)


   .. py:method:: visit_IndentedBlock_body(node)


   .. py:method:: leave_IndentedBlock_body(node)


   .. py:method:: visit_IndentedBlock_header(node)


   .. py:method:: leave_IndentedBlock_header(node)


   .. py:method:: visit_IndentedBlock_indent(node)


   .. py:method:: leave_IndentedBlock_indent(node)


   .. py:method:: visit_IndentedBlock_footer(node)


   .. py:method:: leave_IndentedBlock_footer(node)


   .. py:method:: visit_Index(node)


   .. py:method:: visit_Index_value(node)


   .. py:method:: leave_Index_value(node)


   .. py:method:: visit_Index_star(node)


   .. py:method:: leave_Index_star(node)


   .. py:method:: visit_Index_whitespace_after_star(node)


   .. py:method:: leave_Index_whitespace_after_star(node)


   .. py:method:: visit_Integer(node)


   .. py:method:: visit_Integer_value(node)


   .. py:method:: leave_Integer_value(node)


   .. py:method:: visit_Integer_lpar(node)


   .. py:method:: leave_Integer_lpar(node)


   .. py:method:: visit_Integer_rpar(node)


   .. py:method:: leave_Integer_rpar(node)


   .. py:method:: visit_Is(node)


   .. py:method:: visit_Is_whitespace_before(node)


   .. py:method:: leave_Is_whitespace_before(node)


   .. py:method:: visit_Is_whitespace_after(node)


   .. py:method:: leave_Is_whitespace_after(node)


   .. py:method:: visit_IsNot(node)


   .. py:method:: visit_IsNot_whitespace_before(node)


   .. py:method:: leave_IsNot_whitespace_before(node)


   .. py:method:: visit_IsNot_whitespace_between(node)


   .. py:method:: leave_IsNot_whitespace_between(node)


   .. py:method:: visit_IsNot_whitespace_after(node)


   .. py:method:: leave_IsNot_whitespace_after(node)


   .. py:method:: visit_Lambda(node)


   .. py:method:: visit_Lambda_params(node)


   .. py:method:: leave_Lambda_params(node)


   .. py:method:: visit_Lambda_body(node)


   .. py:method:: leave_Lambda_body(node)


   .. py:method:: visit_Lambda_colon(node)


   .. py:method:: leave_Lambda_colon(node)


   .. py:method:: visit_Lambda_lpar(node)


   .. py:method:: leave_Lambda_lpar(node)


   .. py:method:: visit_Lambda_rpar(node)


   .. py:method:: leave_Lambda_rpar(node)


   .. py:method:: visit_Lambda_whitespace_after_lambda(node)


   .. py:method:: leave_Lambda_whitespace_after_lambda(node)


   .. py:method:: visit_LeftCurlyBrace(node)


   .. py:method:: visit_LeftCurlyBrace_whitespace_after(node)


   .. py:method:: leave_LeftCurlyBrace_whitespace_after(node)


   .. py:method:: visit_LeftParen(node)


   .. py:method:: visit_LeftParen_whitespace_after(node)


   .. py:method:: leave_LeftParen_whitespace_after(node)


   .. py:method:: visit_LeftShift(node)


   .. py:method:: visit_LeftShift_whitespace_before(node)


   .. py:method:: leave_LeftShift_whitespace_before(node)


   .. py:method:: visit_LeftShift_whitespace_after(node)


   .. py:method:: leave_LeftShift_whitespace_after(node)


   .. py:method:: visit_LeftShiftAssign(node)


   .. py:method:: visit_LeftShiftAssign_whitespace_before(node)


   .. py:method:: leave_LeftShiftAssign_whitespace_before(node)


   .. py:method:: visit_LeftShiftAssign_whitespace_after(node)


   .. py:method:: leave_LeftShiftAssign_whitespace_after(node)


   .. py:method:: visit_LeftSquareBracket(node)


   .. py:method:: visit_LeftSquareBracket_whitespace_after(node)


   .. py:method:: leave_LeftSquareBracket_whitespace_after(node)


   .. py:method:: visit_LessThan(node)


   .. py:method:: visit_LessThan_whitespace_before(node)


   .. py:method:: leave_LessThan_whitespace_before(node)


   .. py:method:: visit_LessThan_whitespace_after(node)


   .. py:method:: leave_LessThan_whitespace_after(node)


   .. py:method:: visit_LessThanEqual(node)


   .. py:method:: visit_LessThanEqual_whitespace_before(node)


   .. py:method:: leave_LessThanEqual_whitespace_before(node)


   .. py:method:: visit_LessThanEqual_whitespace_after(node)


   .. py:method:: leave_LessThanEqual_whitespace_after(node)


   .. py:method:: visit_List(node)


   .. py:method:: visit_List_elements(node)


   .. py:method:: leave_List_elements(node)


   .. py:method:: visit_List_lbracket(node)


   .. py:method:: leave_List_lbracket(node)


   .. py:method:: visit_List_rbracket(node)


   .. py:method:: leave_List_rbracket(node)


   .. py:method:: visit_List_lpar(node)


   .. py:method:: leave_List_lpar(node)


   .. py:method:: visit_List_rpar(node)


   .. py:method:: leave_List_rpar(node)


   .. py:method:: visit_ListComp(node)


   .. py:method:: visit_ListComp_elt(node)


   .. py:method:: leave_ListComp_elt(node)


   .. py:method:: visit_ListComp_for_in(node)


   .. py:method:: leave_ListComp_for_in(node)


   .. py:method:: visit_ListComp_lbracket(node)


   .. py:method:: leave_ListComp_lbracket(node)


   .. py:method:: visit_ListComp_rbracket(node)


   .. py:method:: leave_ListComp_rbracket(node)


   .. py:method:: visit_ListComp_lpar(node)


   .. py:method:: leave_ListComp_lpar(node)


   .. py:method:: visit_ListComp_rpar(node)


   .. py:method:: leave_ListComp_rpar(node)


   .. py:method:: visit_Match(node)


   .. py:method:: visit_Match_subject(node)


   .. py:method:: leave_Match_subject(node)


   .. py:method:: visit_Match_cases(node)


   .. py:method:: leave_Match_cases(node)


   .. py:method:: visit_Match_leading_lines(node)


   .. py:method:: leave_Match_leading_lines(node)


   .. py:method:: visit_Match_whitespace_after_match(node)


   .. py:method:: leave_Match_whitespace_after_match(node)


   .. py:method:: visit_Match_whitespace_before_colon(node)


   .. py:method:: leave_Match_whitespace_before_colon(node)


   .. py:method:: visit_Match_whitespace_after_colon(node)


   .. py:method:: leave_Match_whitespace_after_colon(node)


   .. py:method:: visit_Match_indent(node)


   .. py:method:: leave_Match_indent(node)


   .. py:method:: visit_Match_footer(node)


   .. py:method:: leave_Match_footer(node)


   .. py:method:: visit_MatchAs(node)


   .. py:method:: visit_MatchAs_pattern(node)


   .. py:method:: leave_MatchAs_pattern(node)


   .. py:method:: visit_MatchAs_name(node)


   .. py:method:: leave_MatchAs_name(node)


   .. py:method:: visit_MatchAs_whitespace_before_as(node)


   .. py:method:: leave_MatchAs_whitespace_before_as(node)


   .. py:method:: visit_MatchAs_whitespace_after_as(node)


   .. py:method:: leave_MatchAs_whitespace_after_as(node)


   .. py:method:: visit_MatchAs_lpar(node)


   .. py:method:: leave_MatchAs_lpar(node)


   .. py:method:: visit_MatchAs_rpar(node)


   .. py:method:: leave_MatchAs_rpar(node)


   .. py:method:: visit_MatchCase(node)


   .. py:method:: visit_MatchCase_pattern(node)


   .. py:method:: leave_MatchCase_pattern(node)


   .. py:method:: visit_MatchCase_body(node)


   .. py:method:: leave_MatchCase_body(node)


   .. py:method:: visit_MatchCase_guard(node)


   .. py:method:: leave_MatchCase_guard(node)


   .. py:method:: visit_MatchCase_leading_lines(node)


   .. py:method:: leave_MatchCase_leading_lines(node)


   .. py:method:: visit_MatchCase_whitespace_after_case(node)


   .. py:method:: leave_MatchCase_whitespace_after_case(node)


   .. py:method:: visit_MatchCase_whitespace_before_if(node)


   .. py:method:: leave_MatchCase_whitespace_before_if(node)


   .. py:method:: visit_MatchCase_whitespace_after_if(node)


   .. py:method:: leave_MatchCase_whitespace_after_if(node)


   .. py:method:: visit_MatchCase_whitespace_before_colon(node)


   .. py:method:: leave_MatchCase_whitespace_before_colon(node)


   .. py:method:: visit_MatchClass(node)


   .. py:method:: visit_MatchClass_cls(node)


   .. py:method:: leave_MatchClass_cls(node)


   .. py:method:: visit_MatchClass_patterns(node)


   .. py:method:: leave_MatchClass_patterns(node)


   .. py:method:: visit_MatchClass_kwds(node)


   .. py:method:: leave_MatchClass_kwds(node)


   .. py:method:: visit_MatchClass_whitespace_after_cls(node)


   .. py:method:: leave_MatchClass_whitespace_after_cls(node)


   .. py:method:: visit_MatchClass_whitespace_before_patterns(node)


   .. py:method:: leave_MatchClass_whitespace_before_patterns(node)


   .. py:method:: visit_MatchClass_whitespace_after_kwds(node)


   .. py:method:: leave_MatchClass_whitespace_after_kwds(node)


   .. py:method:: visit_MatchClass_lpar(node)


   .. py:method:: leave_MatchClass_lpar(node)


   .. py:method:: visit_MatchClass_rpar(node)


   .. py:method:: leave_MatchClass_rpar(node)


   .. py:method:: visit_MatchKeywordElement(node)


   .. py:method:: visit_MatchKeywordElement_key(node)


   .. py:method:: leave_MatchKeywordElement_key(node)


   .. py:method:: visit_MatchKeywordElement_pattern(node)


   .. py:method:: leave_MatchKeywordElement_pattern(node)


   .. py:method:: visit_MatchKeywordElement_comma(node)


   .. py:method:: leave_MatchKeywordElement_comma(node)


   .. py:method:: visit_MatchKeywordElement_whitespace_before_equal(node)


   .. py:method:: leave_MatchKeywordElement_whitespace_before_equal(node)


   .. py:method:: visit_MatchKeywordElement_whitespace_after_equal(node)


   .. py:method:: leave_MatchKeywordElement_whitespace_after_equal(node)


   .. py:method:: visit_MatchList(node)


   .. py:method:: visit_MatchList_patterns(node)


   .. py:method:: leave_MatchList_patterns(node)


   .. py:method:: visit_MatchList_lbracket(node)


   .. py:method:: leave_MatchList_lbracket(node)


   .. py:method:: visit_MatchList_rbracket(node)


   .. py:method:: leave_MatchList_rbracket(node)


   .. py:method:: visit_MatchList_lpar(node)


   .. py:method:: leave_MatchList_lpar(node)


   .. py:method:: visit_MatchList_rpar(node)


   .. py:method:: leave_MatchList_rpar(node)


   .. py:method:: visit_MatchMapping(node)


   .. py:method:: visit_MatchMapping_elements(node)


   .. py:method:: leave_MatchMapping_elements(node)


   .. py:method:: visit_MatchMapping_lbrace(node)


   .. py:method:: leave_MatchMapping_lbrace(node)


   .. py:method:: visit_MatchMapping_rbrace(node)


   .. py:method:: leave_MatchMapping_rbrace(node)


   .. py:method:: visit_MatchMapping_rest(node)


   .. py:method:: leave_MatchMapping_rest(node)


   .. py:method:: visit_MatchMapping_whitespace_before_rest(node)


   .. py:method:: leave_MatchMapping_whitespace_before_rest(node)


   .. py:method:: visit_MatchMapping_trailing_comma(node)


   .. py:method:: leave_MatchMapping_trailing_comma(node)


   .. py:method:: visit_MatchMapping_lpar(node)


   .. py:method:: leave_MatchMapping_lpar(node)


   .. py:method:: visit_MatchMapping_rpar(node)


   .. py:method:: leave_MatchMapping_rpar(node)


   .. py:method:: visit_MatchMappingElement(node)


   .. py:method:: visit_MatchMappingElement_key(node)


   .. py:method:: leave_MatchMappingElement_key(node)


   .. py:method:: visit_MatchMappingElement_pattern(node)


   .. py:method:: leave_MatchMappingElement_pattern(node)


   .. py:method:: visit_MatchMappingElement_comma(node)


   .. py:method:: leave_MatchMappingElement_comma(node)


   .. py:method:: visit_MatchMappingElement_whitespace_before_colon(node)


   .. py:method:: leave_MatchMappingElement_whitespace_before_colon(node)


   .. py:method:: visit_MatchMappingElement_whitespace_after_colon(node)


   .. py:method:: leave_MatchMappingElement_whitespace_after_colon(node)


   .. py:method:: visit_MatchOr(node)


   .. py:method:: visit_MatchOr_patterns(node)


   .. py:method:: leave_MatchOr_patterns(node)


   .. py:method:: visit_MatchOr_lpar(node)


   .. py:method:: leave_MatchOr_lpar(node)


   .. py:method:: visit_MatchOr_rpar(node)


   .. py:method:: leave_MatchOr_rpar(node)


   .. py:method:: visit_MatchOrElement(node)


   .. py:method:: visit_MatchOrElement_pattern(node)


   .. py:method:: leave_MatchOrElement_pattern(node)


   .. py:method:: visit_MatchOrElement_separator(node)


   .. py:method:: leave_MatchOrElement_separator(node)


   .. py:method:: visit_MatchPattern(node)


   .. py:method:: visit_MatchSequence(node)


   .. py:method:: visit_MatchSequenceElement(node)


   .. py:method:: visit_MatchSequenceElement_value(node)


   .. py:method:: leave_MatchSequenceElement_value(node)


   .. py:method:: visit_MatchSequenceElement_comma(node)


   .. py:method:: leave_MatchSequenceElement_comma(node)


   .. py:method:: visit_MatchSingleton(node)


   .. py:method:: visit_MatchSingleton_value(node)


   .. py:method:: leave_MatchSingleton_value(node)


   .. py:method:: visit_MatchStar(node)


   .. py:method:: visit_MatchStar_name(node)


   .. py:method:: leave_MatchStar_name(node)


   .. py:method:: visit_MatchStar_comma(node)


   .. py:method:: leave_MatchStar_comma(node)


   .. py:method:: visit_MatchStar_whitespace_before_name(node)


   .. py:method:: leave_MatchStar_whitespace_before_name(node)


   .. py:method:: visit_MatchTuple(node)


   .. py:method:: visit_MatchTuple_patterns(node)


   .. py:method:: leave_MatchTuple_patterns(node)


   .. py:method:: visit_MatchTuple_lpar(node)


   .. py:method:: leave_MatchTuple_lpar(node)


   .. py:method:: visit_MatchTuple_rpar(node)


   .. py:method:: leave_MatchTuple_rpar(node)


   .. py:method:: visit_MatchValue(node)


   .. py:method:: visit_MatchValue_value(node)


   .. py:method:: leave_MatchValue_value(node)


   .. py:method:: visit_MatrixMultiply(node)


   .. py:method:: visit_MatrixMultiply_whitespace_before(node)


   .. py:method:: leave_MatrixMultiply_whitespace_before(node)


   .. py:method:: visit_MatrixMultiply_whitespace_after(node)


   .. py:method:: leave_MatrixMultiply_whitespace_after(node)


   .. py:method:: visit_MatrixMultiplyAssign(node)


   .. py:method:: visit_MatrixMultiplyAssign_whitespace_before(node)


   .. py:method:: leave_MatrixMultiplyAssign_whitespace_before(node)


   .. py:method:: visit_MatrixMultiplyAssign_whitespace_after(node)


   .. py:method:: leave_MatrixMultiplyAssign_whitespace_after(node)


   .. py:method:: visit_Minus(node)


   .. py:method:: visit_Minus_whitespace_after(node)


   .. py:method:: leave_Minus_whitespace_after(node)


   .. py:method:: visit_Module(node)


   .. py:method:: visit_Module_body(node)


   .. py:method:: leave_Module_body(node)


   .. py:method:: visit_Module_header(node)


   .. py:method:: leave_Module_header(node)


   .. py:method:: visit_Module_footer(node)


   .. py:method:: leave_Module_footer(node)


   .. py:method:: visit_Module_encoding(node)


   .. py:method:: leave_Module_encoding(node)


   .. py:method:: visit_Module_default_indent(node)


   .. py:method:: leave_Module_default_indent(node)


   .. py:method:: visit_Module_default_newline(node)


   .. py:method:: leave_Module_default_newline(node)


   .. py:method:: visit_Module_has_trailing_newline(node)


   .. py:method:: leave_Module_has_trailing_newline(node)


   .. py:method:: visit_Modulo(node)


   .. py:method:: visit_Modulo_whitespace_before(node)


   .. py:method:: leave_Modulo_whitespace_before(node)


   .. py:method:: visit_Modulo_whitespace_after(node)


   .. py:method:: leave_Modulo_whitespace_after(node)


   .. py:method:: visit_ModuloAssign(node)


   .. py:method:: visit_ModuloAssign_whitespace_before(node)


   .. py:method:: leave_ModuloAssign_whitespace_before(node)


   .. py:method:: visit_ModuloAssign_whitespace_after(node)


   .. py:method:: leave_ModuloAssign_whitespace_after(node)


   .. py:method:: visit_Multiply(node)


   .. py:method:: visit_Multiply_whitespace_before(node)


   .. py:method:: leave_Multiply_whitespace_before(node)


   .. py:method:: visit_Multiply_whitespace_after(node)


   .. py:method:: leave_Multiply_whitespace_after(node)


   .. py:method:: visit_MultiplyAssign(node)


   .. py:method:: visit_MultiplyAssign_whitespace_before(node)


   .. py:method:: leave_MultiplyAssign_whitespace_before(node)


   .. py:method:: visit_MultiplyAssign_whitespace_after(node)


   .. py:method:: leave_MultiplyAssign_whitespace_after(node)


   .. py:method:: visit_Name(node)


   .. py:method:: visit_Name_value(node)


   .. py:method:: leave_Name_value(node)


   .. py:method:: visit_Name_lpar(node)


   .. py:method:: leave_Name_lpar(node)


   .. py:method:: visit_Name_rpar(node)


   .. py:method:: leave_Name_rpar(node)


   .. py:method:: visit_NameItem(node)


   .. py:method:: visit_NameItem_name(node)


   .. py:method:: leave_NameItem_name(node)


   .. py:method:: visit_NameItem_comma(node)


   .. py:method:: leave_NameItem_comma(node)


   .. py:method:: visit_NamedExpr(node)


   .. py:method:: visit_NamedExpr_target(node)


   .. py:method:: leave_NamedExpr_target(node)


   .. py:method:: visit_NamedExpr_value(node)


   .. py:method:: leave_NamedExpr_value(node)


   .. py:method:: visit_NamedExpr_lpar(node)


   .. py:method:: leave_NamedExpr_lpar(node)


   .. py:method:: visit_NamedExpr_rpar(node)


   .. py:method:: leave_NamedExpr_rpar(node)


   .. py:method:: visit_NamedExpr_whitespace_before_walrus(node)


   .. py:method:: leave_NamedExpr_whitespace_before_walrus(node)


   .. py:method:: visit_NamedExpr_whitespace_after_walrus(node)


   .. py:method:: leave_NamedExpr_whitespace_after_walrus(node)


   .. py:method:: visit_Newline(node)


   .. py:method:: visit_Newline_value(node)


   .. py:method:: leave_Newline_value(node)


   .. py:method:: visit_Nonlocal(node)


   .. py:method:: visit_Nonlocal_names(node)


   .. py:method:: leave_Nonlocal_names(node)


   .. py:method:: visit_Nonlocal_whitespace_after_nonlocal(node)


   .. py:method:: leave_Nonlocal_whitespace_after_nonlocal(node)


   .. py:method:: visit_Nonlocal_semicolon(node)


   .. py:method:: leave_Nonlocal_semicolon(node)


   .. py:method:: visit_Not(node)


   .. py:method:: visit_Not_whitespace_after(node)


   .. py:method:: leave_Not_whitespace_after(node)


   .. py:method:: visit_NotEqual(node)


   .. py:method:: visit_NotEqual_value(node)


   .. py:method:: leave_NotEqual_value(node)


   .. py:method:: visit_NotEqual_whitespace_before(node)


   .. py:method:: leave_NotEqual_whitespace_before(node)


   .. py:method:: visit_NotEqual_whitespace_after(node)


   .. py:method:: leave_NotEqual_whitespace_after(node)


   .. py:method:: visit_NotIn(node)


   .. py:method:: visit_NotIn_whitespace_before(node)


   .. py:method:: leave_NotIn_whitespace_before(node)


   .. py:method:: visit_NotIn_whitespace_between(node)


   .. py:method:: leave_NotIn_whitespace_between(node)


   .. py:method:: visit_NotIn_whitespace_after(node)


   .. py:method:: leave_NotIn_whitespace_after(node)


   .. py:method:: visit_Or(node)


   .. py:method:: visit_Or_whitespace_before(node)


   .. py:method:: leave_Or_whitespace_before(node)


   .. py:method:: visit_Or_whitespace_after(node)


   .. py:method:: leave_Or_whitespace_after(node)


   .. py:method:: visit_Param(node)


   .. py:method:: visit_Param_name(node)


   .. py:method:: leave_Param_name(node)


   .. py:method:: visit_Param_annotation(node)


   .. py:method:: leave_Param_annotation(node)


   .. py:method:: visit_Param_equal(node)


   .. py:method:: leave_Param_equal(node)


   .. py:method:: visit_Param_default(node)


   .. py:method:: leave_Param_default(node)


   .. py:method:: visit_Param_comma(node)


   .. py:method:: leave_Param_comma(node)


   .. py:method:: visit_Param_star(node)


   .. py:method:: leave_Param_star(node)


   .. py:method:: visit_Param_whitespace_after_star(node)


   .. py:method:: leave_Param_whitespace_after_star(node)


   .. py:method:: visit_Param_whitespace_after_param(node)


   .. py:method:: leave_Param_whitespace_after_param(node)


   .. py:method:: visit_ParamSlash(node)


   .. py:method:: visit_ParamSlash_comma(node)


   .. py:method:: leave_ParamSlash_comma(node)


   .. py:method:: visit_ParamSlash_whitespace_after(node)


   .. py:method:: leave_ParamSlash_whitespace_after(node)


   .. py:method:: visit_ParamSpec(node)


   .. py:method:: visit_ParamSpec_name(node)


   .. py:method:: leave_ParamSpec_name(node)


   .. py:method:: visit_ParamSpec_whitespace_after_star(node)


   .. py:method:: leave_ParamSpec_whitespace_after_star(node)


   .. py:method:: visit_ParamStar(node)


   .. py:method:: visit_ParamStar_comma(node)


   .. py:method:: leave_ParamStar_comma(node)


   .. py:method:: visit_Parameters(node)


   .. py:method:: visit_Parameters_params(node)


   .. py:method:: leave_Parameters_params(node)


   .. py:method:: visit_Parameters_star_arg(node)


   .. py:method:: leave_Parameters_star_arg(node)


   .. py:method:: visit_Parameters_kwonly_params(node)


   .. py:method:: leave_Parameters_kwonly_params(node)


   .. py:method:: visit_Parameters_star_kwarg(node)


   .. py:method:: leave_Parameters_star_kwarg(node)


   .. py:method:: visit_Parameters_posonly_params(node)


   .. py:method:: leave_Parameters_posonly_params(node)


   .. py:method:: visit_Parameters_posonly_ind(node)


   .. py:method:: leave_Parameters_posonly_ind(node)


   .. py:method:: visit_ParenthesizedWhitespace(node)


   .. py:method:: visit_ParenthesizedWhitespace_first_line(node)


   .. py:method:: leave_ParenthesizedWhitespace_first_line(node)


   .. py:method:: visit_ParenthesizedWhitespace_empty_lines(node)


   .. py:method:: leave_ParenthesizedWhitespace_empty_lines(node)


   .. py:method:: visit_ParenthesizedWhitespace_indent(node)


   .. py:method:: leave_ParenthesizedWhitespace_indent(node)


   .. py:method:: visit_ParenthesizedWhitespace_last_line(node)


   .. py:method:: leave_ParenthesizedWhitespace_last_line(node)


   .. py:method:: visit_Pass(node)


   .. py:method:: visit_Pass_semicolon(node)


   .. py:method:: leave_Pass_semicolon(node)


   .. py:method:: visit_Plus(node)


   .. py:method:: visit_Plus_whitespace_after(node)


   .. py:method:: leave_Plus_whitespace_after(node)


   .. py:method:: visit_Power(node)


   .. py:method:: visit_Power_whitespace_before(node)


   .. py:method:: leave_Power_whitespace_before(node)


   .. py:method:: visit_Power_whitespace_after(node)


   .. py:method:: leave_Power_whitespace_after(node)


   .. py:method:: visit_PowerAssign(node)


   .. py:method:: visit_PowerAssign_whitespace_before(node)


   .. py:method:: leave_PowerAssign_whitespace_before(node)


   .. py:method:: visit_PowerAssign_whitespace_after(node)


   .. py:method:: leave_PowerAssign_whitespace_after(node)


   .. py:method:: visit_Raise(node)


   .. py:method:: visit_Raise_exc(node)


   .. py:method:: leave_Raise_exc(node)


   .. py:method:: visit_Raise_cause(node)


   .. py:method:: leave_Raise_cause(node)


   .. py:method:: visit_Raise_whitespace_after_raise(node)


   .. py:method:: leave_Raise_whitespace_after_raise(node)


   .. py:method:: visit_Raise_semicolon(node)


   .. py:method:: leave_Raise_semicolon(node)


   .. py:method:: visit_Return(node)


   .. py:method:: visit_Return_value(node)


   .. py:method:: leave_Return_value(node)


   .. py:method:: visit_Return_whitespace_after_return(node)


   .. py:method:: leave_Return_whitespace_after_return(node)


   .. py:method:: visit_Return_semicolon(node)


   .. py:method:: leave_Return_semicolon(node)


   .. py:method:: visit_RightCurlyBrace(node)


   .. py:method:: visit_RightCurlyBrace_whitespace_before(node)


   .. py:method:: leave_RightCurlyBrace_whitespace_before(node)


   .. py:method:: visit_RightParen(node)


   .. py:method:: visit_RightParen_whitespace_before(node)


   .. py:method:: leave_RightParen_whitespace_before(node)


   .. py:method:: visit_RightShift(node)


   .. py:method:: visit_RightShift_whitespace_before(node)


   .. py:method:: leave_RightShift_whitespace_before(node)


   .. py:method:: visit_RightShift_whitespace_after(node)


   .. py:method:: leave_RightShift_whitespace_after(node)


   .. py:method:: visit_RightShiftAssign(node)


   .. py:method:: visit_RightShiftAssign_whitespace_before(node)


   .. py:method:: leave_RightShiftAssign_whitespace_before(node)


   .. py:method:: visit_RightShiftAssign_whitespace_after(node)


   .. py:method:: leave_RightShiftAssign_whitespace_after(node)


   .. py:method:: visit_RightSquareBracket(node)


   .. py:method:: visit_RightSquareBracket_whitespace_before(node)


   .. py:method:: leave_RightSquareBracket_whitespace_before(node)


   .. py:method:: visit_Semicolon(node)


   .. py:method:: visit_Semicolon_whitespace_before(node)


   .. py:method:: leave_Semicolon_whitespace_before(node)


   .. py:method:: visit_Semicolon_whitespace_after(node)


   .. py:method:: leave_Semicolon_whitespace_after(node)


   .. py:method:: visit_Set(node)


   .. py:method:: visit_Set_elements(node)


   .. py:method:: leave_Set_elements(node)


   .. py:method:: visit_Set_lbrace(node)


   .. py:method:: leave_Set_lbrace(node)


   .. py:method:: visit_Set_rbrace(node)


   .. py:method:: leave_Set_rbrace(node)


   .. py:method:: visit_Set_lpar(node)


   .. py:method:: leave_Set_lpar(node)


   .. py:method:: visit_Set_rpar(node)


   .. py:method:: leave_Set_rpar(node)


   .. py:method:: visit_SetComp(node)


   .. py:method:: visit_SetComp_elt(node)


   .. py:method:: leave_SetComp_elt(node)


   .. py:method:: visit_SetComp_for_in(node)


   .. py:method:: leave_SetComp_for_in(node)


   .. py:method:: visit_SetComp_lbrace(node)


   .. py:method:: leave_SetComp_lbrace(node)


   .. py:method:: visit_SetComp_rbrace(node)


   .. py:method:: leave_SetComp_rbrace(node)


   .. py:method:: visit_SetComp_lpar(node)


   .. py:method:: leave_SetComp_lpar(node)


   .. py:method:: visit_SetComp_rpar(node)


   .. py:method:: leave_SetComp_rpar(node)


   .. py:method:: visit_SimpleStatementLine(node)


   .. py:method:: visit_SimpleStatementLine_body(node)


   .. py:method:: leave_SimpleStatementLine_body(node)


   .. py:method:: visit_SimpleStatementLine_leading_lines(node)


   .. py:method:: leave_SimpleStatementLine_leading_lines(node)


   .. py:method:: visit_SimpleStatementLine_trailing_whitespace(node)


   .. py:method:: leave_SimpleStatementLine_trailing_whitespace(node)


   .. py:method:: visit_SimpleStatementSuite(node)


   .. py:method:: visit_SimpleStatementSuite_body(node)


   .. py:method:: leave_SimpleStatementSuite_body(node)


   .. py:method:: visit_SimpleStatementSuite_leading_whitespace(node)


   .. py:method:: leave_SimpleStatementSuite_leading_whitespace(node)


   .. py:method:: visit_SimpleStatementSuite_trailing_whitespace(node)


   .. py:method:: leave_SimpleStatementSuite_trailing_whitespace(node)


   .. py:method:: visit_SimpleString(node)


   .. py:method:: visit_SimpleString_value(node)


   .. py:method:: leave_SimpleString_value(node)


   .. py:method:: visit_SimpleString_lpar(node)


   .. py:method:: leave_SimpleString_lpar(node)


   .. py:method:: visit_SimpleString_rpar(node)


   .. py:method:: leave_SimpleString_rpar(node)


   .. py:method:: visit_SimpleWhitespace(node)


   .. py:method:: visit_SimpleWhitespace_value(node)


   .. py:method:: leave_SimpleWhitespace_value(node)


   .. py:method:: visit_Slice(node)


   .. py:method:: visit_Slice_lower(node)


   .. py:method:: leave_Slice_lower(node)


   .. py:method:: visit_Slice_upper(node)


   .. py:method:: leave_Slice_upper(node)


   .. py:method:: visit_Slice_step(node)


   .. py:method:: leave_Slice_step(node)


   .. py:method:: visit_Slice_first_colon(node)


   .. py:method:: leave_Slice_first_colon(node)


   .. py:method:: visit_Slice_second_colon(node)


   .. py:method:: leave_Slice_second_colon(node)


   .. py:method:: visit_StarredDictElement(node)


   .. py:method:: visit_StarredDictElement_value(node)


   .. py:method:: leave_StarredDictElement_value(node)


   .. py:method:: visit_StarredDictElement_comma(node)


   .. py:method:: leave_StarredDictElement_comma(node)


   .. py:method:: visit_StarredDictElement_whitespace_before_value(node)


   .. py:method:: leave_StarredDictElement_whitespace_before_value(node)


   .. py:method:: visit_StarredElement(node)


   .. py:method:: visit_StarredElement_value(node)


   .. py:method:: leave_StarredElement_value(node)


   .. py:method:: visit_StarredElement_comma(node)


   .. py:method:: leave_StarredElement_comma(node)


   .. py:method:: visit_StarredElement_lpar(node)


   .. py:method:: leave_StarredElement_lpar(node)


   .. py:method:: visit_StarredElement_rpar(node)


   .. py:method:: leave_StarredElement_rpar(node)


   .. py:method:: visit_StarredElement_whitespace_before_value(node)


   .. py:method:: leave_StarredElement_whitespace_before_value(node)


   .. py:method:: visit_Subscript(node)


   .. py:method:: visit_Subscript_value(node)


   .. py:method:: leave_Subscript_value(node)


   .. py:method:: visit_Subscript_slice(node)


   .. py:method:: leave_Subscript_slice(node)


   .. py:method:: visit_Subscript_lbracket(node)


   .. py:method:: leave_Subscript_lbracket(node)


   .. py:method:: visit_Subscript_rbracket(node)


   .. py:method:: leave_Subscript_rbracket(node)


   .. py:method:: visit_Subscript_lpar(node)


   .. py:method:: leave_Subscript_lpar(node)


   .. py:method:: visit_Subscript_rpar(node)


   .. py:method:: leave_Subscript_rpar(node)


   .. py:method:: visit_Subscript_whitespace_after_value(node)


   .. py:method:: leave_Subscript_whitespace_after_value(node)


   .. py:method:: visit_SubscriptElement(node)


   .. py:method:: visit_SubscriptElement_slice(node)


   .. py:method:: leave_SubscriptElement_slice(node)


   .. py:method:: visit_SubscriptElement_comma(node)


   .. py:method:: leave_SubscriptElement_comma(node)


   .. py:method:: visit_Subtract(node)


   .. py:method:: visit_Subtract_whitespace_before(node)


   .. py:method:: leave_Subtract_whitespace_before(node)


   .. py:method:: visit_Subtract_whitespace_after(node)


   .. py:method:: leave_Subtract_whitespace_after(node)


   .. py:method:: visit_SubtractAssign(node)


   .. py:method:: visit_SubtractAssign_whitespace_before(node)


   .. py:method:: leave_SubtractAssign_whitespace_before(node)


   .. py:method:: visit_SubtractAssign_whitespace_after(node)


   .. py:method:: leave_SubtractAssign_whitespace_after(node)


   .. py:method:: visit_TemplatedString(node)


   .. py:method:: visit_TemplatedString_parts(node)


   .. py:method:: leave_TemplatedString_parts(node)


   .. py:method:: visit_TemplatedString_start(node)


   .. py:method:: leave_TemplatedString_start(node)


   .. py:method:: visit_TemplatedString_end(node)


   .. py:method:: leave_TemplatedString_end(node)


   .. py:method:: visit_TemplatedString_lpar(node)


   .. py:method:: leave_TemplatedString_lpar(node)


   .. py:method:: visit_TemplatedString_rpar(node)


   .. py:method:: leave_TemplatedString_rpar(node)


   .. py:method:: visit_TemplatedStringExpression(node)


   .. py:method:: visit_TemplatedStringExpression_expression(node)


   .. py:method:: leave_TemplatedStringExpression_expression(node)


   .. py:method:: visit_TemplatedStringExpression_conversion(node)


   .. py:method:: leave_TemplatedStringExpression_conversion(node)


   .. py:method:: visit_TemplatedStringExpression_format_spec(node)


   .. py:method:: leave_TemplatedStringExpression_format_spec(node)


   .. py:method:: visit_TemplatedStringExpression_whitespace_before_expression(node)


   .. py:method:: leave_TemplatedStringExpression_whitespace_before_expression(node)


   .. py:method:: visit_TemplatedStringExpression_whitespace_after_expression(node)


   .. py:method:: leave_TemplatedStringExpression_whitespace_after_expression(node)


   .. py:method:: visit_TemplatedStringExpression_equal(node)


   .. py:method:: leave_TemplatedStringExpression_equal(node)


   .. py:method:: visit_TemplatedStringText(node)


   .. py:method:: visit_TemplatedStringText_value(node)


   .. py:method:: leave_TemplatedStringText_value(node)


   .. py:method:: visit_TrailingWhitespace(node)


   .. py:method:: visit_TrailingWhitespace_whitespace(node)


   .. py:method:: leave_TrailingWhitespace_whitespace(node)


   .. py:method:: visit_TrailingWhitespace_comment(node)


   .. py:method:: leave_TrailingWhitespace_comment(node)


   .. py:method:: visit_TrailingWhitespace_newline(node)


   .. py:method:: leave_TrailingWhitespace_newline(node)


   .. py:method:: visit_Try(node)


   .. py:method:: visit_Try_body(node)


   .. py:method:: leave_Try_body(node)


   .. py:method:: visit_Try_handlers(node)


   .. py:method:: leave_Try_handlers(node)


   .. py:method:: visit_Try_orelse(node)


   .. py:method:: leave_Try_orelse(node)


   .. py:method:: visit_Try_finalbody(node)


   .. py:method:: leave_Try_finalbody(node)


   .. py:method:: visit_Try_leading_lines(node)


   .. py:method:: leave_Try_leading_lines(node)


   .. py:method:: visit_Try_whitespace_before_colon(node)


   .. py:method:: leave_Try_whitespace_before_colon(node)


   .. py:method:: visit_TryStar(node)


   .. py:method:: visit_TryStar_body(node)


   .. py:method:: leave_TryStar_body(node)


   .. py:method:: visit_TryStar_handlers(node)


   .. py:method:: leave_TryStar_handlers(node)


   .. py:method:: visit_TryStar_orelse(node)


   .. py:method:: leave_TryStar_orelse(node)


   .. py:method:: visit_TryStar_finalbody(node)


   .. py:method:: leave_TryStar_finalbody(node)


   .. py:method:: visit_TryStar_leading_lines(node)


   .. py:method:: leave_TryStar_leading_lines(node)


   .. py:method:: visit_TryStar_whitespace_before_colon(node)


   .. py:method:: leave_TryStar_whitespace_before_colon(node)


   .. py:method:: visit_Tuple(node)


   .. py:method:: visit_Tuple_elements(node)


   .. py:method:: leave_Tuple_elements(node)


   .. py:method:: visit_Tuple_lpar(node)


   .. py:method:: leave_Tuple_lpar(node)


   .. py:method:: visit_Tuple_rpar(node)


   .. py:method:: leave_Tuple_rpar(node)


   .. py:method:: visit_TypeAlias(node)


   .. py:method:: visit_TypeAlias_name(node)


   .. py:method:: leave_TypeAlias_name(node)


   .. py:method:: visit_TypeAlias_value(node)


   .. py:method:: leave_TypeAlias_value(node)


   .. py:method:: visit_TypeAlias_type_parameters(node)


   .. py:method:: leave_TypeAlias_type_parameters(node)


   .. py:method:: visit_TypeAlias_whitespace_after_type(node)


   .. py:method:: leave_TypeAlias_whitespace_after_type(node)


   .. py:method:: visit_TypeAlias_whitespace_after_name(node)


   .. py:method:: leave_TypeAlias_whitespace_after_name(node)


   .. py:method:: visit_TypeAlias_whitespace_after_type_parameters(node)


   .. py:method:: leave_TypeAlias_whitespace_after_type_parameters(node)


   .. py:method:: visit_TypeAlias_whitespace_after_equals(node)


   .. py:method:: leave_TypeAlias_whitespace_after_equals(node)


   .. py:method:: visit_TypeAlias_semicolon(node)


   .. py:method:: leave_TypeAlias_semicolon(node)


   .. py:method:: visit_TypeParam(node)


   .. py:method:: visit_TypeParam_param(node)


   .. py:method:: leave_TypeParam_param(node)


   .. py:method:: visit_TypeParam_comma(node)


   .. py:method:: leave_TypeParam_comma(node)


   .. py:method:: visit_TypeParam_equal(node)


   .. py:method:: leave_TypeParam_equal(node)


   .. py:method:: visit_TypeParam_star(node)


   .. py:method:: leave_TypeParam_star(node)


   .. py:method:: visit_TypeParam_whitespace_after_star(node)


   .. py:method:: leave_TypeParam_whitespace_after_star(node)


   .. py:method:: visit_TypeParam_default(node)


   .. py:method:: leave_TypeParam_default(node)


   .. py:method:: visit_TypeParameters(node)


   .. py:method:: visit_TypeParameters_params(node)


   .. py:method:: leave_TypeParameters_params(node)


   .. py:method:: visit_TypeParameters_lbracket(node)


   .. py:method:: leave_TypeParameters_lbracket(node)


   .. py:method:: visit_TypeParameters_rbracket(node)


   .. py:method:: leave_TypeParameters_rbracket(node)


   .. py:method:: visit_TypeVar(node)


   .. py:method:: visit_TypeVar_name(node)


   .. py:method:: leave_TypeVar_name(node)


   .. py:method:: visit_TypeVar_bound(node)


   .. py:method:: leave_TypeVar_bound(node)


   .. py:method:: visit_TypeVar_colon(node)


   .. py:method:: leave_TypeVar_colon(node)


   .. py:method:: visit_TypeVarTuple(node)


   .. py:method:: visit_TypeVarTuple_name(node)


   .. py:method:: leave_TypeVarTuple_name(node)


   .. py:method:: visit_TypeVarTuple_whitespace_after_star(node)


   .. py:method:: leave_TypeVarTuple_whitespace_after_star(node)


   .. py:method:: visit_UnaryOperation(node)


   .. py:method:: visit_UnaryOperation_operator(node)


   .. py:method:: leave_UnaryOperation_operator(node)


   .. py:method:: visit_UnaryOperation_expression(node)


   .. py:method:: leave_UnaryOperation_expression(node)


   .. py:method:: visit_UnaryOperation_lpar(node)


   .. py:method:: leave_UnaryOperation_lpar(node)


   .. py:method:: visit_UnaryOperation_rpar(node)


   .. py:method:: leave_UnaryOperation_rpar(node)


   .. py:method:: visit_While(node)


   .. py:method:: visit_While_test(node)


   .. py:method:: leave_While_test(node)


   .. py:method:: visit_While_body(node)


   .. py:method:: leave_While_body(node)


   .. py:method:: visit_While_orelse(node)


   .. py:method:: leave_While_orelse(node)


   .. py:method:: visit_While_leading_lines(node)


   .. py:method:: leave_While_leading_lines(node)


   .. py:method:: visit_While_whitespace_after_while(node)


   .. py:method:: leave_While_whitespace_after_while(node)


   .. py:method:: visit_While_whitespace_before_colon(node)


   .. py:method:: leave_While_whitespace_before_colon(node)


   .. py:method:: visit_With(node)


   .. py:method:: visit_With_items(node)


   .. py:method:: leave_With_items(node)


   .. py:method:: visit_With_body(node)


   .. py:method:: leave_With_body(node)


   .. py:method:: visit_With_asynchronous(node)


   .. py:method:: leave_With_asynchronous(node)


   .. py:method:: visit_With_leading_lines(node)


   .. py:method:: leave_With_leading_lines(node)


   .. py:method:: visit_With_lpar(node)


   .. py:method:: leave_With_lpar(node)


   .. py:method:: visit_With_rpar(node)


   .. py:method:: leave_With_rpar(node)


   .. py:method:: visit_With_whitespace_after_with(node)


   .. py:method:: leave_With_whitespace_after_with(node)


   .. py:method:: visit_With_whitespace_before_colon(node)


   .. py:method:: leave_With_whitespace_before_colon(node)


   .. py:method:: visit_WithItem(node)


   .. py:method:: visit_WithItem_item(node)


   .. py:method:: leave_WithItem_item(node)


   .. py:method:: visit_WithItem_asname(node)


   .. py:method:: leave_WithItem_asname(node)


   .. py:method:: visit_WithItem_comma(node)


   .. py:method:: leave_WithItem_comma(node)


   .. py:method:: visit_Yield(node)


   .. py:method:: visit_Yield_value(node)


   .. py:method:: leave_Yield_value(node)


   .. py:method:: visit_Yield_lpar(node)


   .. py:method:: leave_Yield_lpar(node)


   .. py:method:: visit_Yield_rpar(node)


   .. py:method:: leave_Yield_rpar(node)


   .. py:method:: visit_Yield_whitespace_after_yield(node)


   .. py:method:: leave_Yield_whitespace_after_yield(node)


   .. py:attribute:: metadata
      :type:  Mapping[libcst.metadata.base_provider.ProviderT, Mapping[libcst._nodes.base.CSTNode, object]]


   .. py:attribute:: METADATA_DEPENDENCIES
      :type:  ClassVar[Collection[libcst.metadata.base_provider.ProviderT]]
      :value: ()



   .. py:method:: get_inherited_dependencies()
      :classmethod:


      
      Returns all metadata dependencies declared by classes in the MRO of ``cls``
      that subclass this class.

      Recursively searches the MRO of the subclass for metadata dependencies.















      ..
          !! processed by numpydoc !!


   .. py:method:: resolve(wrapper)

      
      Context manager that resolves all metadata dependencies declared by
      ``self`` (using :func:`~libcst.MetadataDependent.get_inherited_dependencies`)
      on ``wrapper`` and caches it on ``self`` for use with
      :func:`~libcst.MetadataDependent.get_metadata`.

      Upon exiting this context manager, the metadata cache on ``self`` is
      cleared.















      ..
          !! processed by numpydoc !!


   .. py:method:: get_metadata(key, node, default = _UNDEFINED_DEFAULT)

      
      Returns the metadata provided by the ``key`` if it is accessible from
      this visitor. Metadata is accessible in a subclass of this class if ``key``
      is declared as a dependency by any class in the MRO of this class.
















      ..
          !! processed by numpydoc !!


.. py:function:: load_ipython_extension(ipython)

   
   Load our IPython extensions
















   ..
       !! processed by numpydoc !!

.. py:data:: ip

