protected function printWarnings(): void
    {
        foreach ($this->warnings as $error) {
            $this->output->write('<fg=yellow>WARNING </> ');

            if ($error['type'] == 'param-missing') {
                $this->output->write('<info>' . $error['method'] . '</info> - @param <fg=cyan>' . $error['param'] . '</> missing.');
            }

            if ($error['type'] == 'param-mismatch') {
                $paramType = implode('|', (array)$error['param-type']);
                $this->output->write('<info>' . $error['method'] . '</info> - @param <fg=cyan>' . $error['param'] . '</> (' . $error['doc-type'] . ')  does not match method signature (' . $paramType . ').');
            }

            if ($error['type'] == 'return-missing') {
                $this->output->write('<info>' . $error['method'] . '</info> - @return missing.');
            }

            if ($error['type'] == 'return-mismatch') {
                $this->output->write('<info>' . $error['method'] . '</info> - @return <fg=cyan>' . $error['doc-type'] . '</>  does not match method signature (' . $error['return-type'] . ').');
            }

            $this->output->writeln('');
        }
    }