|
@@ 104-109 (lines=6) @@
|
| 101 |
|
public static function isSameTypehints(array $paramsA, array $paramsB) |
| 102 |
|
{ |
| 103 |
|
$iterations = min(count($paramsA), count($paramsB)); |
| 104 |
|
for ($i = 0; $i < $iterations; ++$i) { |
| 105 |
|
// TODO: Allow for contravariance <[email protected]> |
| 106 |
|
if ( ! Type::isSame($paramsA[$i]->type, $paramsB[$i]->type)) { |
| 107 |
|
return false; |
| 108 |
|
} |
| 109 |
|
} |
| 110 |
|
// Only one of these will return its remaining values, the other returning an empty array |
| 111 |
|
$toCheck = array_slice($paramsA, $iterations) + array_slice($paramsB, $iterations); |
| 112 |
|
// If any additional argument does not have a default value, the signature has changed |
|
@@ 133-137 (lines=5) @@
|
| 130 |
|
} |
| 131 |
|
|
| 132 |
|
$iterations = min(count($paramsA), count($paramsB)); |
| 133 |
|
for ($i = 0; $i < $iterations; ++$i) { |
| 134 |
|
if ($paramsA[$i]->name != $paramsB[$i]->name) { |
| 135 |
|
return false; |
| 136 |
|
} |
| 137 |
|
} |
| 138 |
|
return true; |
| 139 |
|
} |
| 140 |
|
} |