def _property_search(self, fobj):
<EOL>scontext = fobj.f_locals.get("<STR_LIT>", None)<EOL>class_obj = scontext.__class__ if scontext is not None else None<EOL>if not class_obj:<EOL><INDENT>del fobj, scontext, class_obj<EOL>return None<EOL><DEDENT>class_props = [<EOL>(member_name, member_obj)<EOL>for member_name, member_obj in inspect.getmembers(class_obj)<EOL>if isinstance(member_obj, property)<EOL>]<EOL>if not class_props:<EOL><INDENT>del fobj, scontext, class_obj<EOL>return None<EOL><DEDENT>class_file = inspect.getfile(class_obj).replace("<STR_LIT>", "<STR_LIT>")<EOL>class_name = self._callables_obj.get_callable_from_line(<EOL>class_file, inspect.getsourcelines(class_obj)[<NUM_LIT:1>]<EOL>)<EOL>prop_actions_dicts = {}<EOL>for prop_name, prop_obj in class_props:<EOL><INDENT>prop_dict = {"<STR_LIT>": None, "<STR_LIT>": None, "<STR_LIT>": None}<EOL>for action in prop_dict:<EOL><INDENT>action_obj = getattr(prop_obj, action)<EOL>if action_obj:<EOL><INDENT>prev_func_obj, next_func_obj = (<EOL>action_obj,<EOL>getattr(action_obj, "<STR_LIT>", None),<EOL>)<EOL>while next_func_obj:<EOL><INDENT>prev_func_obj, next_func_obj = (<EOL>next_func_obj,<EOL>getattr(next_func_obj, "<STR_LIT>", None),<EOL>)<EOL><DEDENT>prop_dict[action] = [<EOL>id(_get_func_code(action_obj)),<EOL>id(_get_func_code(prev_func_obj)),<EOL>]<EOL><DEDENT><DEDENT>prop_actions_dicts[prop_name] = prop_dict<EOL><DEDENT>func_id = id(fobj.f_code)<EOL>desc_dict = {"<STR_LIT>": "<STR_LIT>", "<STR_LIT>": "<STR_LIT>", "<STR_LIT>": "<STR_LIT>"}<EOL>for prop_name, prop_actions_dict in prop_actions_dicts.items():<EOL><INDENT>for action_name, action_id_list in prop_actions_dict.items():<EOL><INDENT>if action_id_list and (func_id in action_id_list):<EOL><INDENT>prop_name = "<STR_LIT:.>".join([class_name, prop_name])<EOL>del fobj, scontext, class_obj, class_props<EOL>return "<STR_LIT>".format(<EOL>prop_name=prop_name, prop_action=desc_dict[action_name]<EOL>)<EOL><DEDENT><DEDENT><DEDENT>return None<EOL>
Return full name if object is a class property, otherwise return None.