Passed
Pull Request — master (#22)
by Luis
24:40 queued 21:48
created

StatisticsGeneratorConfiguration   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 14
dl 0
loc 42
ccs 16
cts 16
cp 1
rs 10
c 1
b 0
f 0
wmc 6
1
<?php declare(strict_types=1);
2
/**
3
 * PHP version 8.1
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;
20
21
final class StatisticsGeneratorConfiguration
22
{
23
    private readonly CodeFinder $codeFinder;
0 ignored issues
show
Bug introduced by
A parse error occurred: Syntax error, unexpected T_STRING, expecting T_VARIABLE on line 23 at column 21
Loading history...
24
25
    private readonly CodeParser $codeParser;
26
27
    private readonly StatisticsProcessor $statisticsProcessor;
28
29
    private readonly OutputWriter $writer;
30
31
    /** @param mixed[] $options*/
32 5
    public function __construct(array $options, private readonly ProgressDisplay $display)
33
    {
34 5
        $this->codeFinder = SourceCodeFinder::fromConfiguration(new CodeFinderConfiguration($options));
35 5
        $this->codeParser = CodeParser::fromConfiguration(CodeParserConfiguration::defaultConfiguration());
36 5
        $this->statisticsProcessor = new StatisticsProcessor(new TemplateEngine());
37 5
        $this->writer = new OutputWriter(new SmartFileSystem());
38
    }
39
40 4
    public function codeParser(): CodeParser
41
    {
42 4
        return $this->codeParser;
43
    }
44
45 5
    public function codeFinder(): CodeFinder
46
    {
47 5
        return $this->codeFinder;
48
    }
49
50 4
    public function statisticsProcessor(): StatisticsProcessor
51
    {
52 4
        return $this->statisticsProcessor;
53
    }
54
55 4
    public function writer(): OutputWriter
56
    {
57 4
        return $this->writer;
58
    }
59
60 4
    public function display(): ProgressDisplay
61
    {
62 4
        return $this->display;
63
    }
64
}
65