/** * @param string $path * @param array $options * @param AbstractLogger $logger * @return Result */ public function run($path, array $options, AbstractLogger $logger) { $result = new Result(); $files = FilesystemHelper::findFiles($path, $options['files'], '*.twig'); foreach ($files as $file) { try { $this->twig->parse($this->twig->tokenize(file_get_contents($file), $file)); } catch (\Twig_Error $e) { $message = get_class($e) . ': ' . $e->getRawMessage(); $issue = new Issue($this, $message); $issue->setLevel($options['error_level']); $issue->setFile($file); $issue->setLine($e->getTemplateLine()); $result->addIssue($issue); } } return $result; }