def _get_decoratables(self, atype):
result = []<EOL>defmsg = "<STR_LIT>"<EOL>for varname in self.shell.run_line_magic("<STR_LIT>", atype):<EOL><INDENT>varobj = self.shell.user_ns.get(varname, None)<EOL>decorate = False<EOL>if varobj is None: <EOL><INDENT>continue<EOL><DEDENT>if atype in ["<STR_LIT>", "<STR_LIT:type>"]:<EOL><INDENT>if (not hasattr(varobj, "<STR_LIT>") and<EOL>hasattr(varobj, "<STR_LIT>") and<EOL>varobj.__module__ == "<STR_LIT:__main__>" and<EOL>not hasattr(varobj, "<STR_LIT>")):<EOL><INDENT>decorate = True<EOL><DEDENT>else:<EOL><INDENT>msg.std(defmsg.format(varname), <NUM_LIT:3>)<EOL><DEDENT><DEDENT>elif atype in ["<STR_LIT>", "<STR_LIT>"]:<EOL><INDENT>func = None<EOL>if atype == "<STR_LIT>" and hasattr(varobj, "<STR_LIT>"):<EOL><INDENT>func = varobj.__func__<EOL><DEDENT>elif atype == "<STR_LIT>":<EOL><INDENT>func = varobj<EOL><DEDENT>if (func is not None and<EOL>not hasattr(func, "<STR_LIT>") and<EOL>hasattr(func, "<STR_LIT>") and<EOL>"<STR_LIT>" in func.__code__.co_filename):<EOL><INDENT>decorate = True<EOL><DEDENT>else:<EOL><INDENT>msg.std(defmsg.format(varname), <NUM_LIT:3>)<EOL><DEDENT><DEDENT>if decorate:<EOL><INDENT>self.entities[atype][varname] = varobj<EOL>result.append((varname, varobj))<EOL><DEDENT><DEDENT>return result<EOL>
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.