Total Complexity | 6 |
Total Lines | 21 |
Duplicated Lines | 0 % |
Coverage | 100% |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
1 | <?php declare(strict_types=1); |
||
10 | final class UseStatements |
||
11 | { |
||
12 | /** @param UseStatement[] $useStatements */ |
||
13 | 85 | public function __construct(private readonly array $useStatements) |
|
|
|||
14 | { |
||
15 | } |
||
16 | |||
17 | 47 | public function fullyQualifiedNameFor(Name $name): string |
|
18 | { |
||
19 | 47 | foreach ($this->useStatements as $useStatement) { |
|
20 | 29 | if ($useStatement->endsWith($name)) { |
|
21 | 25 | return $useStatement->fullyQualifiedName($name); |
|
22 | } |
||
23 | 24 | if ($useStatement->includes($name)) { |
|
24 | 2 | return $useStatement->merge($name); |
|
25 | } |
||
26 | 22 | if ($useStatement->isAliasedAs($name)) { |
|
27 | 8 | return $useStatement->fullyQualifiedName($name); |
|
28 | } |
||
29 | } |
||
30 | 35 | return $name->fullName(); |
|
31 | } |
||
33 |