Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 9
0.00% covered (danger)
0.00%
0 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 1
TraitSymbol
0.00% covered (danger)
0.00%
0 / 9
0.00% covered (danger)
0.00%
0 / 3
12
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 getUses
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getAutoloadAliasArray
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace BrianHenryIE\Strauss\Types;
4
5use BrianHenryIE\Strauss\Files\File;
6
7class TraitSymbol extends DiscoveredSymbol implements AutoloadAliasInterface
8{
9    protected array $uses;
10
11    public function __construct(
12        string $fqdnClassname,
13        File $sourceFile,
14        ?string $namespace = null,
15        ?array $uses = null
16    ) {
17        parent::__construct($fqdnClassname, $sourceFile, $namespace);
18
19        $this->uses = (array) $uses;
20    }
21
22    public function getUses(): array
23    {
24        return $this->uses;
25    }
26
27    /**
28     * @return array{type:string,traitname:string,namespace:string,use:array<string>}
29     */
30    public function getAutoloadAliasArray(): array
31    {
32        return array (
33            'type' => 'trait',
34            'traitname' => $this->getOriginalLocalName(),
35            'namespace' => $this->namespace,
36            'use' => [$this->getReplacement()],
37        );
38    }
39}