code: def is_complete(self):
          
          try:
              [t for t in self.tokens]
              ret = True
              logger.debug('CallString [{}] is complete'.format(self.strip()))
  
          except tokenize.TokenError:
              logger.debug('CallString [{}] is NOT complete'.format(self.strip()))
              ret = False
  
          return ret
docs: Return True if this call string is complete, meaning it has a function
          name and balanced parens