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

LocateASTFromFiles   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0
Metric Value
wmc 3
lcom 0
cbo 0
dl 0
loc 24
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A __invoke() 0 6 2
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