private function createIssue(GadgetInterface $gadget, $path, $message, $line, $level)
 {
     $issue = new Issue($gadget, $message);
     $issue->setLevel($level);
     $issue->setFile($path . '/foo.php');
     $issue->setLine($line);
     return $issue;
 }
Exemplo n.º 2
0
 /**
  * @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;
 }
Exemplo n.º 3
0
 /**
  * @param string $message
  * @param Node   $node
  * @param string $level
  */
 private function addIssue($message, Node $node = null, $level = Issue::LEVEL_ERROR)
 {
     $issue = new Issue($this->gadget, $message);
     $issue->setLevel($level);
     $issue->setFile($this->currentFile);
     if ($node) {
         $issue->setLine($node->getLine());
     }
     $this->result->addIssue($issue);
 }
Exemplo n.º 4
0
 /**
  * @param array $data
  * @return Issue
  */
 private function createIssue(array $data)
 {
     $issue = new Issue($this, $data['message']);
     $issue->setFile($data['file']);
     $issue->setLine($data['line']);
     switch ($data['type']) {
         case 'error':
             $issue->setLevel(Issue::LEVEL_ERROR);
             break;
         case 'warning':
             $issue->setLevel(Issue::LEVEL_WARNING);
             break;
     }
     $issue->setExtraInformation(['source' => $data['source'], 'severity' => $data['severity'], 'column' => $data['column']]);
     return $issue;
 }
Exemplo n.º 5
0
 /**
  * @param string $path
  * @param string $message
  * @param int $line
  * @param string $level
  *
  * @return Issue
  */
 private function createIssue($path, $message, $line, $level)
 {
     $issue = new Issue($this->OUT, $message);
     $issue->setLevel($level);
     $issue->setFile($path . '/Foo.php');
     $issue->setLine($line);
     return $issue;
 }
Exemplo n.º 6
0
 /**
  * @param array $options
  * @param array $method
  * @param string $className
  * @param string $file
  * @param DocBlock\Tag\ParamTag $docBlockParam
  *
  * @return Issue
  */
 public function createIssueForMissingTypeInDocBlock(array $options, array $method, $className, $file, DocBlock\Tag\ParamTag $docBlockParam)
 {
     $issue = new Issue($this->gadget, sprintf('Missing type for variable %s in docblock of "%s"', $docBlockParam->getName(), $className));
     $issue->setLevel($options['missing_type_in_docblock']);
     $issue->setLine($method['startLine']);
     $issue->setFile($file);
     return $issue;
 }
Exemplo n.º 7
0
 /**
  * @param string $file
  * @param array $data
  * @return Issue
  */
 private function createIssue($file, array $data)
 {
     $issue = new Issue($this, trim($data['#']));
     $issue->setLevel(Issue::LEVEL_WARNING);
     $issue->setFile($file);
     $issue->setLine($data['@beginline']);
     $issue->setExtraInformation(['rule' => $data['@rule'], 'ruleset' => $data['@ruleset'], 'externalInfoUrl' => $data['@externalInfoUrl'], 'priority' => $data['@priority']]);
     return $issue;
 }
 /**
  * @param string $filename
  * @param array $options
  * @param string $comment
  * @return Result
  */
 private function processComment($filename, array $options, $comment)
 {
     $result = new Result();
     foreach (explode("\n", $comment['content']) as $lineOffset => $line) {
         foreach ($options['blacklist'] as $blacklistedWord => $errorLevel) {
             if (stristr($line, $blacklistedWord) === false) {
                 continue;
             }
             $issue = new Issue($this, sprintf('found "%s" in a comment', $blacklistedWord));
             $issue->setLevel($errorLevel);
             $issue->setFile($filename);
             $issue->setLine($comment['line'] + $lineOffset);
             $result->addIssue($issue);
         }
     }
     return $result;
 }