code: def __getattr__(self, name):
      if name[:1] == "_":
          raise AttributeError(name)
      if name == "f_code":
          return self._get_f_code()
      if name == "f_globals":
          return self._get_f_globals()
      if name == "f_locals":
          return self._get_f_locals()
      return self._conn.remotecall(
          self._oid, "frame_attr", (self._fid, name), {}
      )
  
imports: import reprlib
  import types
  from idlelib import debugger
label_desc: Use image node_id 2 for calling the FrameProxy obj's underlying member method code with example usage: obj.__getattr__(name) and returns: self, self, self, self