code: def parse_def(self, text):
          
          self.__init__()
  
          if not is_start_of_function(text):
              return
  
          self.func_indent = get_indent(text)
  
          text = text.strip()
          text = text.replace('\r\n', '')
          text = text.replace('\n', '')
  
          return_type_re = re.search(r'->[ ]*([a-zA-Z0-9_,()\[\] ]*):$', text)
          if return_type_re:
              self.return_type_annotated = return_type_re.group(1)
              text_end = text.rfind(return_type_re.group(0))
          else:
              self.return_type_annotated = None
              text_end = len(text)
  
          pos_args_start = text.find('(') + 1
          pos_args_end = text.rfind(')', pos_args_start, text_end)
  
          self.args_text = text[pos_args_start:pos_args_end]
  
          args_list = self.split_args_text_to_list(self.args_text)
          if args_list is not None:
              self.has_info = True
              self.split_arg_to_name_type_value(args_list)
docs: Parse the function definition text.