parameters: (self, seq=None)
return_statement: return tokens, next_token
docstring: Returns ([tokens], next_token_info).
docstring_summary: Returns ([tokens], next_token_info).
docstring_tokens: Returns ( [ tokens ] next_token_info ) .
function: def GetName(self, seq=None):
          """Returns ([tokens], next_token_info)."""
          GetNextToken = self._GetNextToken
          if seq is not None:
              it = iter(seq)
              GetNextToken = lambda: next(it)
          next_token = GetNextToken()
          tokens = []
          last_token_was_name = False
          while (next_token.token_type == tokenize.NAME or
                 (next_token.token_type == tokenize.SYNTAX and
                  next_token.name in ('::', '<'))):
              # Two NAMEs in a row means the identifier should terminate.
              # It's probably some sort of variable declaration.
              if last_token_was_name and next_token.token_type == tokenize.NAME:
                  break
              last_token_was_name = next_token.token_type == tokenize.NAME
              tokens.append(next_token)
              # Handle templated names.
              if next_token.name == '<':
                  tokens.extend(self._GetMatchingChar('<', '>', GetNextToken))
                  last_token_was_name = True
              next_token = GetNextToken()
          return tokens, next_token
function_tokens: def GetName ( self , seq = None ) : GetNextToken = self . _GetNextToken if seq is not None : it = iter ( seq ) GetNextToken = lambda : next ( it ) next_token = GetNextToken ( ) tokens = [ ] last_token_was_name = False while ( next_token . token_type == tokenize . NAME or ( next_token . token_type == tokenize . SYNTAX and next_token . name in ( '::' , '<' ) ) ) : # Two NAMEs in a row means the identifier should terminate. # It's probably some sort of variable declaration. if last_token_was_name and next_token . token_type == tokenize . NAME : break last_token_was_name = next_token . token_type == tokenize . NAME tokens . append ( next_token ) # Handle templated names. if next_token . name == '<' : tokens . extend ( self . _GetMatchingChar ( '<' , '>' , GetNextToken ) ) last_token_was_name = True next_token = GetNextToken ( ) return tokens , next_token