#NEWLINE# def call_signatures( self ) : #NEWLINE# #INDENT# "\n        Return the function object of the call you're currently in.\n\n        E.g. if the cursor is here::\n\n            abs(# <-- cursor is here\n\n        This would return the ``abs`` function. On the other hand::\n\n            abs()# <-- cursor is here\n\n        This would return ``None``.\n\n        :rtype: list of :class:`classes.CallSignature`\n        " #NEWLINE# ( call_txt , call_index , key_name , start_pos ) = self . _user_context . call_signature ( ) #NEWLINE# if ( call_txt is None ) : #NEWLINE# #INDENT# return [ ] #NEWLINE# #UNINDENT# stmt = self . _get_under_cursor_stmt ( call_txt , start_pos ) #NEWLINE# if ( stmt is None ) : #NEWLINE# #INDENT# return [ ] #NEWLINE# #UNINDENT# with common . scale_speed_settings ( settings . scale_call_signatures ) : #NEWLINE# #INDENT# origins = cache . cache_call_signatures ( self . _evaluator , stmt , self . source , self . _pos ) #NEWLINE# #UNINDENT# debug . speed ( 'func_call followed' ) #NEWLINE# return [ classes . CallSignature ( self . _evaluator , o . name , stmt , call_index , key_name ) for o in o if hasattr ( o , 'py__call__' ) ]