class_docstr: Interpret AST nodes to gleam useful debugging information. 
class_docstr_tok: ["Interpret","AST","nodes","to","gleam","useful","debugging","information","."]
code: def visit_Call(self, call):
      func_explanation, func = self.visit(call.func)
      arg_explanations = []
      ns = {"__exprinfo_func": func}
      arguments = []
      for arg in call.args:
          arg_explanation, arg_result = self.visit(arg)
          arg_name = "__exprinfo_%s" % (len(ns),)
          ns[arg_name] = arg_result
          arguments.append(arg_name)
          arg_explanations.append(arg_explanation)
      for keyword in call.keywords:
          arg_explanation, arg_result = self.visit(keyword.value)
          arg_name = "__exprinfo_%s" % (len(ns),)
          ns[arg_name] = arg_result
          keyword_source = "%s=%%s" % (keyword.arg)
          arguments.append(keyword_source % (arg_name,))
          arg_explanations.append(keyword_source % (arg_explanation,))
      if call.starargs:
          arg_explanation, arg_result = self.visit(call.starargs)
          arg_name = "__exprinfo_star"
          ns[arg_name] = arg_result
          arguments.append("*%s" % (arg_name,))
          arg_explanations.append("*%s" % (arg_explanation,))
      if call.kwargs:
          arg_explanation, arg_result = self.visit(call.kwargs)
          arg_name = "__exprinfo_kwds"
          ns[arg_name] = arg_result
          arguments.append("**%s" % (arg_name,))
          arg_explanations.append("**%s" % (arg_explanation,))
      args_explained = ", ".join(arg_explanations)
      explanation = "%s(%s)" % (func_explanation, args_explained)
      args = ", ".join(arguments)
      source = "__exprinfo_func(%s)" % (args,)
      co = self._compile(source)
      try:
          result = self.frame.eval(co, **ns)
      except Exception:
          raise Failure(explanation)
      pattern = "%s\n{%s = %s\n}"
      rep = self.frame.repr(result)
      explanation = pattern % (rep, rep, explanation)
      return explanation, result
  
imports: import sys
  import ast
  import py
  from py._code.assertion import _format_explanation, BuiltinAssertionError
label_desc: Use image node_id 11 for calling the DebugInterpreter obj's underlying member method code with example usage: obj.visit_Call(call) and returns: explanation,  result