1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-14 02:07:37 +01:00
psalm/src/CodeInspector/IssueHandler.php

44 lines
915 B
PHP
Raw Normal View History

<?php
namespace CodeInspector;
class IssueHandler
{
protected static $errors = [];
2016-06-10 00:08:25 +02:00
public static function accepts(Issue\CodeIssue $e)
{
2016-06-10 00:08:25 +02:00
$config = Config::getInstance();
if ($config->excludeIssueInFile(get_class($e), $e->getFileName())) {
return false;
}
2016-06-17 23:34:52 +02:00
$error_class_name = array_pop(explode('\\', get_class($e)));
$error_message = $error_class_name . ' - ' . $e->getMessage();
if ($config->getReportingLevel(get_class($e)) !== Config::REPORT_ERROR) {
echo $error_message . PHP_EOL;
return false;
}
2016-06-17 23:34:52 +02:00
echo $error_message . PHP_EOL;
2016-06-17 01:02:29 +02:00
if ($config->stop_on_first_error) {
exit(1);
}
self::$errors[] = $error_message;
2016-06-17 01:02:29 +02:00
return true;
}
public static function finish()
{
if (count(self::$errors)) {
exit(1);
}
}
}