public override void Walk(PythonWalker walker)
 {
     if (walker.Walk(this))
     {
         NameExpression?.Walk(walker);
         foreach (var p in Parameters)
         {
             p.Walk(walker);
         }
         Decorators?.Walk(walker);
         _body?.Walk(walker);
         ReturnAnnotation?.Walk(walker);
     }
     walker.PostWalk(this);
 }
 public override void Walk(PythonWalker walker)
 {
     if (walker.Walk(this))
     {
         if (_parameters != null)
         {
             foreach (Parameter p in _parameters)
             {
                 p.Walk(walker);
             }
         }
         if (Decorators != null)
         {
             foreach (Expression decorator in Decorators)
             {
                 decorator.Walk(walker);
             }
         }
         ReturnAnnotation?.Walk(walker);
         Body?.Walk(walker);
     }
     walker.PostWalk(this);
 }