code: def parse(self, op, mode=None):
          
          #We need to handle docstrings separately because they are XML and slight
          #insertions/changes can't be handled using only one line. We have to get
          #hold of the entire XML block and parse it all at once again.
          if op.state[0] is None:
              linenum, statement, length = op.curcached
          else:
              linenum, statement, length = op.curbuffer
  
          #If there is nothing to run, it is pointless carrying on down the
          #stack of functions before this gets realized.
          if statement != "":
              self._current_op = op
              #We may need to override the mode for the 'replace' operation.
              nmode = mode if mode is not None else op.mode
  
              #We are dealing with pure code, decide what type the owner is and run
              #their method for real time updating.
              if isinstance(op.element, Executable):
                  op.element.rt_update(statement, linenum, nmode, 
                                       op.context.parser.modulep.xparser)
              elif isinstance(op.element, CustomType):
                  op.element.rt_update(statement, linenum, nmode, 
                                       op.context.parser.modulep.tparser)
              elif isinstance(op.element, Module):
                  op.element.rt_update(statement, linenum, nmode, 
                                       op.context.parser.modulep, self)
  
          if len(self.additions) > 0:
              #Some new instances were created from a single line signature.
              #probably any additional statements in the list being executed
              #include items that should belong to the new instance.
              for add in self.additions:
                  instance, module = add
                  self.parent.update_instance_extent(instance, module, op)
  
              self.additions = []
docs: Handles the parsing of the specified operation using the current
          statements from the buffer/cache. If 'comment' is not None, the 
          statement in comment is parsed instead.
  
          :arg mode: override the 'insert', 'replace' or 'delete' specifier.