Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 6, Position 2 = 11
Branch analysis from position: 6
2 jumps found. (Code = 78) Position 1 = 7, Position 2 = 11
Branch analysis from position: 7
1 jumps found. (Code = 42) Position 1 = 6
Branch analysis from position: 6
Branch analysis from position: 11
2 jumps found. (Code = 77) Position 1 = 32, Position 2 = 41
Branch analysis from position: 32
2 jumps found. (Code = 78) Position 1 = 33, Position 2 = 41
Branch analysis from position: 33
1 jumps found. (Code = 42) Position 1 = 32
Branch analysis from position: 32
Branch analysis from position: 41
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 41
Branch analysis from position: 11
filename: /in/huq9M
function name: (null)
number of ops: 56
compiled vars: !0 = $item, !1 = $numbers, !2 = $key
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
10 0 E > ECHO 'The+%22chained%22+iterable+contains+all+elements%2C+using+a+generator%3A+'
11 1 INIT_FCALL 'chained'
12 2 SEND_VAL <array>
13 3 SEND_VAL <array>
11 4 DO_FCALL 0 $3
13 5 > FE_RESET_R $4 $3, ->11
6 > > FE_FETCH_R $4, !0, ->11
15 7 > NOP
8 FAST_CONCAT ~5 !0, '+'
9 ECHO ~5
11 10 > JMP ->6
11 > FE_FREE $4
17 12 ECHO '%0A%0A'
19 13 ECHO 'However%2C+when+it+comes+to+converting+the+generator+to+array%2C+there+is+a+caveat%3A%0A'
21 14 INIT_FCALL 'chained'
22 15 SEND_VAL <array>
23 16 SEND_VAL <array>
21 17 DO_FCALL 0 $6
18 ASSIGN !1, $6
25 19 INIT_FCALL 'print_r'
26 20 INIT_FCALL 'iterator_to_array'
21 SEND_VAR !1
22 DO_ICALL $8
23 SEND_VAR $8
25 24 DO_ICALL
29 25 ECHO '%0A'
30 26 ECHO 'The+issue+is+caused+by+overlapping+keys.+See+how+they+appear+in+the+sequence%3A%0A'
32 27 INIT_FCALL 'chained'
33 28 SEND_VAL <array>
34 29 SEND_VAL <array>
32 30 DO_FCALL 0 $10
34 31 > FE_RESET_R $11 $10, ->41
32 > > FE_FETCH_R ~12 $11, !0, ->41
35 33 > ASSIGN !2, ~12
36 34 ROPE_INIT 5 ~15 '%5B'
35 ROPE_ADD 1 ~15 ~15, !2
36 ROPE_ADD 2 ~15 ~15, '%5D+%3D%3E+'
37 ROPE_ADD 3 ~15 ~15, !0
38 ROPE_END 4 ~14 ~15, '%0A'
39 ECHO ~14
32 40 > JMP ->32
41 > FE_FREE $11
38 42 ECHO '%0A%0A'
40 43 ECHO 'The+issue+is+not+present+when+the+keys+do+not+overlap%3A%0A'
42 44 INIT_FCALL 'chained'
43 45 SEND_VAL <array>
44 46 SEND_VAL <array>
42 47 DO_FCALL 0 $18
48 ASSIGN !1, $18
46 49 INIT_FCALL 'print_r'
47 50 INIT_FCALL 'iterator_to_array'
51 SEND_VAR !1
52 DO_ICALL $20
53 SEND_VAR $20
46 54 DO_ICALL
48 55 > RETURN 1
Function chained:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 7
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 7
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 7
1 jumps found. (Code = 161) Position 1 = -2
Branch analysis from position: 7
filename: /in/huq9M
function name: chained
number of ops: 9
compiled vars: !0 = $input, !1 = $iterable
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
3 0 E > RECV_VARIADIC !0
1 GENERATOR_CREATE
5 2 > FE_RESET_R $2 !0, ->7
3 > > FE_FETCH_R $2, !1, ->7
6 4 > YIELD_FROM ~3 !1
5 FREE ~3
5 6 > JMP ->3
7 > FE_FREE $2
8 8 > GENERATOR_RETURN
End of function chained
Generated using Vulcan Logic Dumper, using php 8.0.0