Completed
Push — master ( 0e85a8...e0da71 )
by Sebastian
15s queued 11s
created

RepeatingRValueSniff::isClassName()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 3
c 1
b 0
f 0
dl 0
loc 6
rs 10
cc 2
nc 2
nop 1
1
<?php
2
declare(strict_types=1);
3
4
namespace Pluswerk\TypoScriptLinter\Sniff;
5
6
use Helmich\TypoScriptLint\Linter\LinterConfiguration;
7
use Helmich\TypoScriptLint\Linter\Report\File;
8
use Helmich\TypoScriptLint\Linter\Report\Issue;
9
use Helmich\TypoScriptLint\Linter\Sniff\TokenStreamSniffInterface;
10
use Helmich\TypoScriptParser\Tokenizer\TokenInterface;
11
12
final class RepeatingRValueSniff implements TokenStreamSniffInterface
13
{
14
    /**
15
     * @var RightValueSniffer
16
     */
17
    private $rightValueSniffer;
18
19
    /**
20
     * @param array                  $parameters
21
     * @param RightValueSniffer|null $rightValueSniffer
22
     */
23
    public function __construct(array $parameters, RightValueSniffer $rightValueSniffer = null)
24
    {
25
        $this->rightValueSniffer = $rightValueSniffer ?? new RightValueSniffer(
26
            $parameters['ignorePatterns'] ?? [],
27
            $parameters['ignoreClassNameValues'] ?? false
28
        );
29
    }
30
31
    /**
32
     * @param TokenInterface[]    $tokens
33
     * @param File                $file
34
     * @param LinterConfiguration $configuration
35
     *
36
     * @return void
37
     */
38
    public function sniff(array $tokens, File $file, LinterConfiguration $configuration): void
39
    {
40
        foreach ($tokens as $token) {
41
            $issue = $this->rightValueSniffer->sniff($token);
42
            if ($issue instanceof Issue) {
43
                $file->addIssue($issue);
44
            }
45
        }
46
    }
47
}
48