Remove support for variable variables from parser, typechecker and frontend
[hiphop-php.git] / hphp / test / slow / yield / clone / g12.php
blobfbc6c9e39ef96eb28d09d7513bd9063045951d91
1 <?php
3 function foo($a, &$b) {
4 $x = $a;
5 $y =& $b;
6 unset($a);
7 unset($b);
8 $x += 10;
9 $y += 100;
10 yield $x * 10000 + $y;
11 $x += 20;
12 $y += 200;
13 yield $x * 10000 + $y;
14 $x += 30;
15 $y += 300;
16 yield $x * 10000 + $y;
19 <<__EntryPoint>>
20 function main_g12() {
21 $a1 = 1;
22 $a2 = -999999999;
23 $x = foo($a1, &$a2);
24 $a2 = 2;
25 $x->rewind();
26 $y1 = clone $x;
27 $y2 = clone $x;
28 for ($y1->next(); $y1->valid(); $y1->next()) {
29 $v = $y1->current();
30 $v1 = (int)($v / 10000);
31 $v2 = $v % 10000;
32 echo $v1 . " " . $v2 . "\n";
33 ++$a2;
35 echo "--------\n";
36 var_dump($a1, $a2);
37 echo "========\n";
38 for ($y2->next(); $y2->valid(); $y2->next()) {
39 $v = $y2->current();
40 $v1 = (int)($v / 10000);
41 $v2 = $v % 10000;
42 echo $v1 . " " . $v2 . "\n";
43 ++$a2;
45 echo "--------\n";
46 var_dump($a1, $a2);
47 echo "========\n";
48 for ($x->next(); $x->valid(); $x->next()) {
49 $v = $x->current();
50 $v1 = (int)($v / 10000);
51 $v2 = $v % 10000;
52 echo $v1 . " " . $v2 . "\n";
53 ++$a2;
55 echo "--------\n";
56 var_dump($a1, $a2);