docs: def source_with_constants(self, constants):
          """
          Returns the source of the module with the class that acts like a namespace for constants with new constants.
  
          :param dict[str,int] constants: The new constants.
  
          :rtype: str
          """
          old_lines = self.source().split("\n")
          info = self.__extract_info(old_lines)
  
          new_lines = old_lines[0:info['start_line']]
  
          for constant, value in sorted(constants.items()):
              new_lines.append("{0}{1} = {2}".format(info['indent'], str(constant), str(value)))
  
          new_lines.extend(old_lines[info['last_line']:])
  
          return "\n".join(new_lines)