code: def _bracket_complete_sig(self, symbol, fullsymbol):
          
          if symbol != fullsymbol:
              #We have a sym%sym%... chain and the completion just needs to
              #be the signature of the member method.
              target, targmod = self._get_chain_parent_symbol(symbol, fullsymbol)
  
              if symbol in target.executables:
                  child = target.executables[symbol]
                  return self._compile_signature(child.target, child.name)
              elif symbol in target.members:
                  #We are dealing with a dimension request on an array that
                  #is a member of the type.
                  child = target.members[symbol]
                  return self._bracket_dim_suggest(child)
              else:                
                  return {}
          else:
              #We must be dealing with a regular executable or builtin fxn
              #or a regular variable dimension.
              iexec = self._bracket_exact_exec(symbol)
              if iexec is not None:
                  #It is indeed a function we are completing for.
                  return self._compile_signature(iexec, iexec.name)
              else:
                  #We need to look at local and global variables to find the
                  #variable declaration and dimensionality.
                  ivar = self._bracket_exact_var(symbol)
                  return self._bracket_dim_suggest(ivar)
docs: Returns the call signature and docstring for the executable
          immediately preceding a bracket '(' that was typed.