class_docstr: AST Visitor that processes function calls.
  
  Updates function calls from old API version to new API version using a given
  change spec.
class_docstr_tok: ["AST","Visitor","that","processes","function","calls",".","Updates","function","calls","from","old","API","version","to","new","API","version","using","a","given","change","spec","."]
docstr: Wraps node (typically, an Attribute or Expr) in a Call.
docstr_tok: ["Wraps","node","(","typically",",","an","Attribute","or","Expr",")","in","a","Call","."]
code: def _maybe_change_to_function_call(self, parent, node, full_name):
      """Wraps node (typically, an Attribute or Expr) in a Call."""
      if full_name in self._api_change_spec.change_to_function:
          if not isinstance(parent, ast.Call):
              # ast.Call's constructor is really picky about how many arguments it
              # wants, and also, it changed between Py2 and Py3.
              new_node = ast.Call(node, [], [])
              pasta.ast_utils.replace_child(parent, node, new_node)
              ast.copy_location(new_node, node)
              self.add_log(
                  INFO,
                  node.lineno,
                  node.col_offset,
                  "Changed %r to a function call" % full_name,
              )
              return True
      return False
  
imports: import ast
  import collections
  import os
  import re
  import shutil
  import sys
  import tempfile
  import traceback
  import pasta
label_desc: Use image node_id 17 for calling the _PastaEditVisitor obj's underlying member method code with example usage: obj._maybe_change_to_function_call(parent, node, full_name) and returns: False, True