docs: def __get_placeholders(self):
          """
          Extracts the placeholders from the stored routine source.
          """
          ret = True
  
          pattern = re.compile('(@[A-Za-z0-9_.]+(%(max-)?type)?@)')
          matches = pattern.findall(self._routine_source_code)
  
          placeholders = []
  
          if len(matches) != 0:
              for tmp in matches:
                  placeholder = tmp[0]
                  if placeholder.lower() not in self._replace_pairs:
                      raise LoaderException("Unknown placeholder '{0}' in file {1}".
                                            format(placeholder, self._source_filename))
                  if placeholder not in placeholders:
                      placeholders.append(placeholder)
  
          for placeholder in placeholders:
              if placeholder not in self._replace:
                  self._replace[placeholder] = self._replace_pairs[placeholder.lower()]
  
          return ret