Passed
Push — master ( 1ba30a...8ac47c )
by Luis
01:05 queued 12s
created

statisticsProcessor()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
ccs 2
cts 2
cp 1
crap 1
rs 10
c 1
b 0
f 0
1
<?php declare(strict_types=1);
2
/**
3
 * This source file is subject to the license that is bundled with this package in the file LICENSE.
4
 */
5
6
namespace PhUml\Generators;
7
8
use PhUml\Parser\CodeFinder;
9
use PhUml\Parser\CodeFinderConfiguration;
10
use PhUml\Parser\CodeParser;
11
use PhUml\Parser\CodeParserConfiguration;
12
use PhUml\Parser\SourceCodeFinder;
13
use PhUml\Processors\OutputWriter;
14
use PhUml\Processors\StatisticsProcessor;
15
use PhUml\Stages\ProgressDisplay;
16
use PhUml\Templates\TemplateEngine;
17
use Symplify\SmartFileSystem\SmartFileSystem;
0 ignored issues
show
Bug introduced by
The type Symplify\SmartFileSystem\SmartFileSystem was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
18
19
final class StatisticsGeneratorConfiguration
20
{
21
    private readonly CodeFinder $codeFinder;
22
23
    private readonly CodeParser $codeParser;
24
25
    private readonly StatisticsProcessor $statisticsProcessor;
26
27
    private readonly OutputWriter $writer;
28
29
    /** @param mixed[] $options*/
30 5
    public function __construct(array $options, private readonly ProgressDisplay $display)
31
    {
32 5
        $this->codeFinder = SourceCodeFinder::fromConfiguration(new CodeFinderConfiguration($options));
0 ignored issues
show
Bug introduced by
The property codeFinder is declared read-only in PhUml\Generators\StatisticsGeneratorConfiguration.
Loading history...
33 5
        $this->codeParser = CodeParser::fromConfiguration(CodeParserConfiguration::defaultConfiguration());
0 ignored issues
show
Bug introduced by
The property codeParser is declared read-only in PhUml\Generators\StatisticsGeneratorConfiguration.
Loading history...
34 5
        $this->statisticsProcessor = new StatisticsProcessor(new TemplateEngine());
0 ignored issues
show
Bug introduced by
The property statisticsProcessor is declared read-only in PhUml\Generators\StatisticsGeneratorConfiguration.
Loading history...
35 5
        $this->writer = new OutputWriter(new SmartFileSystem());
0 ignored issues
show
Bug introduced by
The property writer is declared read-only in PhUml\Generators\StatisticsGeneratorConfiguration.
Loading history...
36
    }
37
38 4
    public function codeParser(): CodeParser
39
    {
40 4
        return $this->codeParser;
41
    }
42
43 5
    public function codeFinder(): CodeFinder
44
    {
45 5
        return $this->codeFinder;
46
    }
47
48 4
    public function statisticsProcessor(): StatisticsProcessor
49
    {
50 4
        return $this->statisticsProcessor;
51
    }
52
53 4
    public function writer(): OutputWriter
54
    {
55 4
        return $this->writer;
56
    }
57
58 4
    public function display(): ProgressDisplay
59
    {
60 4
        return $this->display;
61
    }
62
}
63