private function lintFile(\SplFileInfo $file)
    {
        if ($this->output->getVerbosity() >= OutputInterface::VERBOSITY_VERBOSE) {
            $this->output->write('lint file ' . $file . ' ... ');
        }

        $report = FileReport::create($file);
        $this->reports[] = $report;
        $status = $this->validator->validateFile($report);

        if ($this->output->getVerbosity() >= OutputInterface::VERBOSITY_VERBOSE) {
            if (false === $status) {
                $this->output->writeln('<error>errors</error>');
            } else {
                $this->output->writeln('<info>passed.</info>');
            }
        } else {
            if (false === $status) {
                $this->output->write('<error>F</error>');
            } else {
                $this->output->write('.');
            }
        }

        return $status;
    }