Completed
Branch master (7b4639)
by Johannes
13:16
created

LocateASTFromFiles::__invoke()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %
Metric Value
dl 0
loc 6
rs 9.4286
cc 2
eloc 3
nc 2
nop 1
1
<?php
2
3
namespace ComposerRequireChecker\ASTLocator;
4
5
use PhpParser\Parser;
6
use Traversable;
7
8
final class LocateASTFromFiles
9
{
10
    /**
11
     * @var Parser
12
     */
13
    private $parser;
14
15
    public function __construct(Parser $parser)
16
    {
17
        $this->parser = $parser;
18
    }
19
20
    /**
21
     * @param Traversable $files
22
     *
23
     * @return Traversable|array[] a series of AST roots, one for each given file
24
     */
25
    public function __invoke(Traversable $files) : Traversable
26
    {
27
        foreach ($files as $file) {
28
            yield $this->parser->parse(file_get_contents($file));
29
        }
30
    }
31
}
32