def METHOD_NAME(self, pylint_proc, out_lines, err_lines):
    if err_lines:
        logger.warning("MyPy: " + "".join(err_lines))
    warnings = []
    for line in out_lines:
        m = re.match(r"(.*?):(\d+)(:(\d+))?:(.*?):(.*)", line.strip())
        if m is not None:
            message = m.group(6).strip()
            if message == "invalid syntax":
                continue  # user will see this as Python error
            filename = m.group(1)
            if filename not in self.interesting_files:
                logger.warning("MyPy: " + line)
                continue
            atts = {
                "filename": filename,
                "lineno": int(m.group(2)),
                "kind": m.group(5).strip(),  # always "error" ?
                "msg": message,
                "group": "warnings",
            }
            if m.group(3):
                # https://github.com/thonny/thonny/issues/598
                atts["col_offset"] = max(int(m.group(4)) - 1, 0)
            # TODO: add better categorization and explanation
            atts["symbol"] = "mypy-" + atts["kind"]
            warnings.append(atts)
        else:
            logger.error("Can't parse MyPy line: " + line.strip())
    self.completion_handler(self, warnings)