class_docstr: The vistor class to determine the declaration, r/w status, and last use of each variable
class_docstr_tok: ["The","vistor","class","to","determine","the","declaration",",","r\/w","status",",","and","last","use","of","each","variable"]
code: def visit_FunctionDef(self, node):
      self.scope_level.append(node)
      _internal_assert(
          len(node.args.args) == len(self.args),
          "#arguments passed should be the same as #arguments defined",
      )
      for idx, arg in enumerate(node.args.args):
          _attr = (
              "id" if sys.version_info[0] < 3 else "arg"
          )  # To make py2 and 3 compatible
          self._args[getattr(arg, _attr)] = self.args[idx]
      for i in node.body:
          self.visit(i)
  
file_path: tvm/python/tvm/te/hybrid/preprocessor.py
imports: import ast
  import sys
  from .runtime import HYBRID_GLOBALS
  from .utils import _internal_assert
label_desc: Use image node_id 2 for calling the PyVariableUsage obj's underlying member method code with example usage: obj.visit_FunctionDef(node) without return types