code: def _get_decoratables(self, atype):
          
          result = []
          defmsg = "Skipping {}; not decoratable or already decorated."
          for varname in self.shell.run_line_magic("who_ls", atype):
              varobj = self.shell.user_ns.get(varname, None)
              decorate = False
              
              if varobj is None: # Nothing useful can be done.
                  continue
              
              if atype in ["classobj", "type"]:
                  #Classes are only relevant if they have no __file__
                  #attribute; all other classes should be decorated by the
                  #full acorn machinery.
                  if (not hasattr(varobj, "__acorn__") and
                      hasattr(varobj, "__module__") and
                      varobj.__module__ == "__main__" and
                      not hasattr(varobj, "__file__")):
                      decorate = True
                  else:
                      msg.std(defmsg.format(varname), 3)
                      
              elif atype in ["function", "staticmethod"]:
                  # %who_ls will only return functions from the *user*
                  # namespace, so we don't have a lot to worry about here.
                  func = None
                  if atype == "staticmethod" and hasattr(varobj, "__func__"):
                      func = varobj.__func__
                  elif atype == "function":
                      func = varobj
  
                  if (func is not None and
                      not hasattr(func, "__acorn__") and
                      hasattr(func, "__code__") and
                      "<ipython-input" in func.__code__.co_filename):
                      decorate = True
                  else:
                      msg.std(defmsg.format(varname), 3)
                      
              if decorate:
                  self.entities[atype][varname] = varobj
                  result.append((varname, varobj))
                  
          return result
docs: Returns a list of the objects that need to be decorated in the
          current user namespace based on their type.
  
          Args:
              atype (str): one of the values in :attr:`atypes`. Specifies the type of
                object to search.