Skip to content
This repository has been archived by the owner on Jan 29, 2020. It is now read-only.

Commit

Permalink
iterable (PHP 7.1 internal union type) should be recognized as "spe…
Browse files Browse the repository at this point in the history
…cial" in return type generation code
  • Loading branch information
Ocramius committed Sep 16, 2016
1 parent 8e785fd commit 1efb23f
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion test/Generator/MethodGeneratorTest.php
Expand Up @@ -16,6 +16,7 @@
use ZendTest\Code\TestAsset\ClassWithByRefReturnMethod;
use ZendTest\Code\TestAsset\EmptyClass;
use ZendTest\Code\TestAsset\InternalHintsClass;
use ZendTest\Code\TestAsset\IterableHintsClass;
use ZendTest\Code\TestAsset\NullableReturnTypeHintedClass;
use ZendTest\Code\TestAsset\ReturnTypeHintedClass;

Expand Down Expand Up @@ -359,13 +360,18 @@ public function returnTypeHintClassesProvider()
[NullableReturnTypeHintedClass::class, 'parentReturn', '?\\' . EmptyClass::class],
[NullableReturnTypeHintedClass::class, 'classReturn', '?\\' . NullableReturnTypeHintedClass::class],
[NullableReturnTypeHintedClass::class, 'otherClassReturn', '?\\' . InternalHintsClass::class],
[IterableHintsClass::class, 'iterableReturnValue', 'iterable'],
[IterableHintsClass::class, 'nullableIterableReturnValue', '?iterable'],
];

return array_filter(
$parameters,
function (array $parameter) {
return PHP_VERSION_ID >= 70100
|| (false === strpos($parameter[2], '?') && 'void' !== strtolower($parameter[2]));
|| (
false === strpos($parameter[2], '?')
&& ! in_array(strtolower($parameter[2]), ['void', 'iterable'])
);
}
);
}
Expand Down

0 comments on commit 1efb23f

Please sign in to comment.