1 | <?php |
||
26 | class LegacyDeserializerFactory { |
||
27 | |||
28 | /** |
||
29 | * @var Deserializer |
||
30 | */ |
||
31 | private $dataValueDeserializer; |
||
32 | |||
33 | /** |
||
34 | * @var EntityIdParser |
||
35 | */ |
||
36 | private $idParser; |
||
37 | |||
38 | 2 | public function __construct( Deserializer $dataValueDeserializer, EntityIdParser $idParser ) { |
|
42 | |||
43 | /** |
||
44 | * @return DispatchableDeserializer |
||
45 | */ |
||
46 | 1 | public function newEntityDeserializer() { |
|
52 | |||
53 | /** |
||
54 | * @return Deserializer |
||
55 | */ |
||
56 | 1 | private function newItemDeserializer() { |
|
64 | |||
65 | /** |
||
66 | * @return Deserializer |
||
67 | */ |
||
68 | 1 | private function newPropertyDeserializer() { |
|
74 | |||
75 | /** |
||
76 | * @return Deserializer |
||
77 | */ |
||
78 | 1 | private function newEntityIdDeserializer() { |
|
81 | |||
82 | /** |
||
83 | * @return Deserializer |
||
84 | */ |
||
85 | 1 | private function newTermsDeserializer() { |
|
88 | |||
89 | /** |
||
90 | * @return Deserializer |
||
91 | */ |
||
92 | 1 | private function newSiteLinkListDeserializer() { |
|
95 | |||
96 | /** |
||
97 | * @deprecated since 1.4 - use newStatementDeserializer instead |
||
98 | * |
||
99 | * @return Deserializer |
||
100 | */ |
||
101 | public function newClaimDeserializer() { |
||
102 | return $this->newStatementDeserializer(); |
||
103 | } |
||
104 | |||
105 | /** |
||
106 | * @return DispatchableDeserializer |
||
107 | */ |
||
108 | 1 | public function newStatementDeserializer() { |
|
114 | |||
115 | /** |
||
116 | * @return Deserializer |
||
117 | */ |
||
118 | 1 | public function newSnakListDeserializer() { |
|
121 | |||
122 | /** |
||
123 | * @return Deserializer |
||
124 | */ |
||
125 | 2 | public function newSnakDeserializer() { |
|
128 | |||
129 | } |
||
130 |
This check looks for parameters that are defined as one type in their type hint or doc comment but seem to be used as a narrower type, i.e an implementation of an interface or a subclass.
Consider changing the type of the parameter or doing an instanceof check before assuming your parameter is of the expected type.