def _get_callable_full_name(self, fob, fin, uobj):
<EOL>name = self._property_search(fob)<EOL>if name:<EOL><INDENT>del fob, fin, uobj<EOL>return name<EOL><DEDENT>if os.path.isfile(fin):<EOL><INDENT>lineno = fob.f_lineno<EOL>ret = self._callables_obj.get_callable_from_line(fin, lineno)<EOL>del fob, fin, uobj, name, lineno<EOL>return ret<EOL><DEDENT>fname = uobj and _get_func_code(uobj).co_filename<EOL>if (not fname) or (fname and (not os.path.isfile(fname))):<EOL><INDENT>del fob, fin, uobj, name, fname<EOL>return "<STR_LIT>"<EOL><DEDENT>code_id = (<EOL>inspect.getfile(uobj).replace("<STR_LIT>", "<STR_LIT>"),<EOL>inspect.getsourcelines(uobj)[<NUM_LIT:1>],<EOL>)<EOL>self._callables_obj.trace([code_id[<NUM_LIT:0>]])<EOL>ret = self._callables_obj.reverse_callables_db[code_id]<EOL>del fob, fin, uobj, name, fname, code_id<EOL>return ret<EOL>
Get full path [module, class (if applicable), function name] of callable.