1--TEST--
2Test different types of generator return values (VM operands)
3--FILE--
4<?php
5
6function gen1() {
7    return; // CONST
8    yield;
9}
10
11$gen = gen1();
12var_dump($gen->getReturn());
13
14function gen2() {
15    return "str"; // CONST
16    yield;
17}
18
19$gen = gen2();
20var_dump($gen->getReturn());
21
22function gen3($var) {
23    return $var; // CV
24    yield;
25}
26
27$gen = gen3([1, 2, 3]);
28var_dump($gen->getReturn());
29
30function gen4($obj) {
31    return $obj->prop; // VAR
32    yield;
33}
34
35$gen = gen4((object) ['prop' => 321]);
36var_dump($gen->getReturn());
37
38function gen5($val) {
39    return (int) $val; // TMP
40    yield;
41}
42
43$gen = gen5("42");
44var_dump($gen->getReturn());
45
46?>
47--EXPECT--
48NULL
49string(3) "str"
50array(3) {
51  [0]=>
52  int(1)
53  [1]=>
54  int(2)
55  [2]=>
56  int(3)
57}
58int(321)
59int(42)
60