public AstAnalysisFunctionWalker(
     NameLookupContext scope,
     FunctionDefinition targetFunction,
     AstPythonFunctionOverload overload
     )
 {
     _scope    = scope ?? throw new ArgumentNullException(nameof(scope));
     Target    = targetFunction ?? throw new ArgumentNullException(nameof(targetFunction));
     _overload = overload ?? throw new ArgumentNullException(nameof(overload));
 }
 public AstAnalysisFunctionWalker(
     NameLookupContext scope,
     FunctionDefinition targetFunction
     )
 {
     _scope       = scope ?? throw new ArgumentNullException(nameof(scope));
     _target      = targetFunction ?? throw new ArgumentNullException(nameof(targetFunction));
     _returnTypes = new List <IPythonType>();
     _overload    = new AstPythonFunctionOverload(
         AstPythonFunction.MakeParameters(_scope.Ast, _target),
         _scope.GetLocOfName(_target, _target.NameExpression),
         _returnTypes
         );
 }