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

LocateASTFromFiles::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %
Metric Value
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
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