code: def _get_module(self, line):
          
          #Finding the module name is trivial; start at the beginning of
          #the module and iterate lines until we find the module.
          for sline in self._source:
              if len(sline) > 0 and sline[0] != "!":
                  rmatch = self.RE_MODULE.match(sline)
                  if rmatch is not None:
                      self.modulename = rmatch.group("name")
                      break
          else:
              #We don't even have the start of a module in this code file
              return
              
          #Before we carry on with the rest of the context, find the separating
          #CONTAINS keyword so we know whether to look for types or subs/funcs.
          #If the code parser hasn't ever parsed this module, parse it now.
          self.parser.isense_parse(self._orig_path, self.modulename)
          self.module = self.parser.modules[self.modulename]
  
          if line > self.module.contains_index:
              self.section = "contains"
docs: Finds the name of the module and retrieves it from the parser cache.