Completed
Branch master (389090)
by Ryuichi
04:54 queued 02:16
created

ExtendReader   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Coupling/Cohesion

Components 0

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
dl 0
loc 29
ccs 1
cts 1
cp 1
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A hp$0 ➔ __call() 0 1 1
A __construct() 0 4 1
getAnnotationInfo() 0 1 ?
read() 0 1 ?
1
<?php
2
namespace WebStream\Annotation\Reader\Extend;
3
4
use WebStream\DI\Injector;
5
6
/**
7
 * ExtendReader
8
 * @author Ryuichi TANAKA.
9
 * @since 2017/01/08
10
 * @version 0.4
11
 */
12
abstract class ExtendReader
13
{
14
    use Injector;
15
16
    /**
17
     * @var Psr\Log\LoggerInterface
18
     */
19
    protected $logger;
20
21
    /**
22
     * constructor
23
     */
24
    public function __construct()
25
    {
26
        $this->logger = new class() { function __call($name, $args) {} };
0 ignored issues
show
Documentation Bug introduced by
It seems like new class { function...e, $args) { } } of type object<WebStream\Annotat...end/ExtendReader.php$0> is incompatible with the declared type object<WebStream\Annotat...sr\Log\LoggerInterface> of property $logger.

Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..

Loading history...
27 22
    }
28
29
    /**
30
     * アノテーション情報リストを返却する
31
     * @param array<object> アノテーション情報リスト
32
     */
33
    abstract public function getAnnotationInfo();
34
35
    /**
36
     * read event
37
     * @param array<string> アノテーション情報リスト
38
     */
39
    abstract public function read(array $annotationInfoList);
40
}
41