code: def names(self):
          
          #This is where the context information is extremely useful in 
          #limiting the extent of the search space we need to examine.
          if self._names is None:
              attribute = self.get_attribute()
              if self.context.module is not None:
                  symbol = self.context.symbol
                  fullsymbol = self.context.full_symbol
                  self._names = self._complete_el(symbol, attribute, fullsymbol)
              else:
                  self._names = []
  
          return self._names
docs: Returns a list of possible completions for the symbol under the
          cursor in the current user context.