public function notice($type, $message, \PhpParser\NodeAbstract $expr, $status = Check::CHECK_SAFE)
{
$analyzerConfig = $this->application->getConfiguration()->getValue('analyzers');
if ($type == "language_error" && !$analyzerConfig['language_error']['enabled']) {
return true;
}
$filepath = $this->filepath;
$code = file($filepath);
$this->output->writeln('<comment>Notice: ' . $message . " in {$filepath} on {$expr->getLine()} [{$type}]</comment>");
$this->output->writeln('');
if ($this->application->getConfiguration()->valueIsTrue('blame')) {
exec("git blame --show-email -L {$expr->getLine()},{$expr->getLine()} " . $filepath, $result);
if ($result && isset($result[0])) {
$result[0] = trim($result[0]);
$this->output->writeln("<comment>\t {$result[0]}</comment>");
}
} else {
$code = trim($code[$expr->getLine() - 1]);
$this->output->writeln("<comment>\t {$code} </comment>");
}
$this->output->writeln('');
$issueCollector = $this->application->getIssuesCollector();
$issueCollector->addIssue(new Issue($type, $message, new IssueLocation($this->filepath, $expr->getLine() - 1)));
return true;
}