code: def parse_signature(self, statement, element, module=None):
          
          #Types don't have their signatures updated in any way that affects
          #the intellisense other than a name change.
          tmatch = self.RE_SIG.match(statement)
          result = (None, None, None)
  
          if tmatch is not None:
              name = tmatch.group("name")
  
              #We also need to overwrite the modifiers list with the new signature
              modifiers = tmatch.group("modifiers")
              if modifiers is not None:
                  cleanmods = re.split("[\s,]+", modifiers.strip())
              else:
                  cleanmods = []
              if module is None:
                  element.update_name(name)
                  element.modifiers.extend(cleanmods)
              else:
                  result = (CustomType(name, modifiers, {}, module), 
                            tmatch.start(), tmatch.end())
                                    
          return result
docs: Parses the specified line as a new version of the signature for 'element'.
  
          :arg statement: the string that has the new signature.
          :arg element: the code element whose signature will be changed.
          :arg module: for real-time module update, the module who the new element
            will be child to.