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

Commit 56ec1e8

Browse files
committed
iterable (PHP 7.1 internal union type) should be recognized as "special" in return type generation code
1 parent af45c92 commit 56ec1e8

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

test/Generator/MethodGeneratorTest.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
use ZendTest\Code\TestAsset\ClassWithByRefReturnMethod;
1717
use ZendTest\Code\TestAsset\EmptyClass;
1818
use ZendTest\Code\TestAsset\InternalHintsClass;
19+
use ZendTest\Code\TestAsset\IterableHintsClass;
1920
use ZendTest\Code\TestAsset\NullableReturnTypeHintedClass;
2021
use ZendTest\Code\TestAsset\ReturnTypeHintedClass;
2122

@@ -359,13 +360,18 @@ public function returnTypeHintClassesProvider()
359360
[NullableReturnTypeHintedClass::class, 'parentReturn', '?\\' . EmptyClass::class],
360361
[NullableReturnTypeHintedClass::class, 'classReturn', '?\\' . NullableReturnTypeHintedClass::class],
361362
[NullableReturnTypeHintedClass::class, 'otherClassReturn', '?\\' . InternalHintsClass::class],
363+
[IterableHintsClass::class, 'iterableReturnValue', 'iterable'],
364+
[IterableHintsClass::class, 'nullableIterableReturnValue', '?iterable'],
362365
];
363366

364367
return array_filter(
365368
$parameters,
366369
function (array $parameter) {
367370
return PHP_VERSION_ID >= 70100
368-
|| (false === strpos($parameter[2], '?') && 'void' !== strtolower($parameter[2]));
371+
|| (
372+
false === strpos($parameter[2], '?')
373+
&& ! in_array(strtolower($parameter[2]), ['void', 'iterable'])
374+
);
369375
}
370376
);
371377
}

0 commit comments

Comments
 (0)