isFinished()) { $this->processLines(fread($this->stdout, 8192)); } } /** * @return bool * @throws \JakubOnderka\PhpParallelLint\RunTimeException */ public function isFinished() { $isFinished = parent::isFinished(); if ($isFinished && !$this->done) { $this->done = true; $output = $this->getOutput(); $this->processLines($output); } return $isFinished; } /** * @param string $file * @return bool|null */ public function isSkipped($file) { if (isset($this->skipped[$file])) { return $this->skipped[$file]; } return null; } /** * @param string $content */ private function processLines($content) { if (!empty($content)) { $lines = explode(PHP_EOL, $this->endLastChunk . $content); $this->endLastChunk = array_pop($lines); foreach ($lines as $line) { $parts = explode(';', $line); list($file, $status) = $parts; $this->skipped[$file] = $status === '1' ? true : false; } } } }