parameters: (self, toktreelist)
docstring: extract object information from a list of strings/TokenGroup objects
          and save the data in the ObjectInformation object passed
docstring_summary: extract object information from a list of strings/TokenGroup objects
          and save the data in the ObjectInformation object passed
docstring_tokens: extract object information from a list of strings / TokenGroup objects and save the data in the ObjectInformation object passed
function: def main(self, toktreelist):
          """extract object information from a list of strings/TokenGroup objects
          and save the data in the ObjectInformation object passed"""
          # pub_priv_prot = ['public', 'private', 'protected']
          pub_priv_prot_re = re.compile('public|private|protected')
          arg1 = TokenStream.PatternArg()
          arg2 = TokenStream.PatternArg()
          stream = TokenStream(toktreelist)
          parameters = TokenStream.PatternArg(callback=lambda t: TokenGroup.IsTokenGroup(t, opening_token='('))
          while not stream.empty():
              if stream.try_match('class', arg1):
                  classname = arg1.value
                  while stream.try_match(re.compile('^,|:$'), pub_priv_prot_re):
                      baseclass = self.stream_pop_class_name(stream)
                      self.objInfo.base_class(classname, baseclass)
                  # scan everything til the final ';'
                  while not stream.empty():
                      t = stream.pop()
                      if TokenGroup.IsTokenGroup(t):
                          self.inside_class_definition(t.enclosed_tokens, classname)
                      elif t == ';':
                          break
              elif stream.try_match(arg1, ':', ':', arg2, parameters, ':'):
                  if arg1.value != arg2.value:
                      continue
                  classname = arg1.value
                  # we found the constructor for 'classname'
                  self.stream_consume_member_initializers(classname, stream)
              else:
                  stream.pop()
function_tokens: def main ( self , toktreelist ) : # pub_priv_prot = ['public', 'private', 'protected'] pub_priv_prot_re = re . compile ( 'public|private|protected' ) arg1 = TokenStream . PatternArg ( ) arg2 = TokenStream . PatternArg ( ) stream = TokenStream ( toktreelist ) parameters = TokenStream . PatternArg ( callback = lambda t : TokenGroup . IsTokenGroup ( t , opening_token = '(' ) ) while not stream . empty ( ) : if stream . try_match ( 'class' , arg1 ) : classname = arg1 . value while stream . try_match ( re . compile ( '^,|:$' ) , pub_priv_prot_re ) : baseclass = self . stream_pop_class_name ( stream ) self . objInfo . base_class ( classname , baseclass ) # scan everything til the final ';' while not stream . empty ( ) : t = stream . pop ( ) if TokenGroup . IsTokenGroup ( t ) : self . inside_class_definition ( t . enclosed_tokens , classname ) elif t == ';' : break elif stream . try_match ( arg1 , ':' , ':' , arg2 , parameters , ':' ) : if arg1 . value != arg2 . value : continue classname = arg1 . value # we found the constructor for 'classname' self . stream_consume_member_initializers ( classname , stream ) else : stream . pop ( )