get_return_types.phpt [plain text]
--TEST--
Test different types of generator return values (VM operands)
--FILE--
<?php
function gen1() {
return; yield;
}
$gen = gen1();
var_dump($gen->getReturn());
function gen2() {
return "str"; yield;
}
$gen = gen2();
var_dump($gen->getReturn());
function gen3($var) {
return $var; yield;
}
$gen = gen3([1, 2, 3]);
var_dump($gen->getReturn());
function gen4($obj) {
return $obj->prop; yield;
}
$gen = gen4((object) ['prop' => 321]);
var_dump($gen->getReturn());
function gen5($val) {
return (int) $val; yield;
}
$gen = gen5("42");
var_dump($gen->getReturn());
?>
--EXPECT--
NULL
string(3) "str"
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
int(321)
int(42)