Passed
Pull Request — master (#9)
by Luis
13:24
created

StatisticsGeneratorConfiguration::display()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
c 0
b 0
f 0
nc 1
nop 0
dl 0
loc 3
rs 10
1
<?php declare(strict_types=1);
2
/**
3
 * PHP version 8.0
4
 *
5
 * This source file is subject to the license that is bundled with this package in the file LICENSE.
6
 */
7
8
namespace PhUml\Generators;
9
10
use PhUml\Parser\CodeFinder;
11
use PhUml\Parser\CodeFinderConfiguration;
12
use PhUml\Parser\CodeParser;
13
use PhUml\Parser\CodeParserConfiguration;
14
use PhUml\Parser\SourceCodeFinder;
15
use PhUml\Processors\OutputWriter;
16
use PhUml\Processors\StatisticsProcessor;
17
use PhUml\Stages\ProgressDisplay;
18
use PhUml\Templates\TemplateEngine;
19
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...
20
21
final class StatisticsGeneratorConfiguration
22
{
23
    private CodeFinder $codeFinder;
24
25
    private CodeParser $codeParser;
26
27
    private StatisticsProcessor $statisticsProcessor;
28
29
    private OutputWriter $writer;
30
31
    /** @param mixed[] $options*/
32
    public function __construct(array $options, private ProgressDisplay $display)
33
    {
34
        $this->codeFinder = SourceCodeFinder::fromConfiguration(new CodeFinderConfiguration($options));
35
        $this->codeParser = CodeParser::fromConfiguration(new CodeParserConfiguration($options));
36
        $this->statisticsProcessor = new StatisticsProcessor(new TemplateEngine());
37
        $this->writer = new OutputWriter(new SmartFileSystem());
38
    }
39
40
    public function codeParser(): CodeParser
41
    {
42
        return $this->codeParser;
43
    }
44
45
    public function codeFinder(): CodeFinder
46
    {
47
        return $this->codeFinder;
48
    }
49
50
    public function statisticsProcessor(): StatisticsProcessor
51
    {
52
        return $this->statisticsProcessor;
53
    }
54
55
    public function writer(): OutputWriter
56
    {
57
        return $this->writer;
58
    }
59
60
    public function display(): ProgressDisplay
61
    {
62
        return $this->display;
63
    }
64
}
65