Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 31, Position 2 = 38
Branch analysis from position: 31
2 jumps found. (Code = 78) Position 1 = 32, Position 2 = 38
Branch analysis from position: 32
1 jumps found. (Code = 42) Position 1 = 31
Branch analysis from position: 31
Branch analysis from position: 38
2 jumps found. (Code = 77) Position 1 = 49, Position 2 = 53
Branch analysis from position: 49
2 jumps found. (Code = 78) Position 1 = 50, Position 2 = 53
Branch analysis from position: 50
1 jumps found. (Code = 42) Position 1 = 49
Branch analysis from position: 49
Branch analysis from position: 53
2 jumps found. (Code = 77) Position 1 = 62, Position 2 = 66
Branch analysis from position: 62
2 jumps found. (Code = 78) Position 1 = 63, Position 2 = 66
Branch analysis from position: 63
1 jumps found. (Code = 42) Position 1 = 62
Branch analysis from position: 62
Branch analysis from position: 66
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 66
Branch analysis from position: 53
Branch analysis from position: 38
filename: /in/0Xa1a
function name: (null)
number of ops: 68
compiled vars: !0 = $begin, !1 = $end, !2 = $interval, !3 = $daterange, !4 = $value
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
2 0 E > DECLARE_CLASS 'beforeafteriterator'
50 1 NEW $5 'DateTime'
2 SEND_VAL_EX '2020-02-01'
3 DO_FCALL 0
4 ASSIGN !0, $5
51 5 NEW $8 'DateTime'
6 SEND_VAL_EX '2020-02-29'
7 DO_FCALL 0
8 ASSIGN !1, $8
53 9 NEW $11 'DateInterval'
10 SEND_VAL_EX 'P1D'
11 DO_FCALL 0
12 ASSIGN !2, $11
54 13 NEW $14 'DatePeriod'
14 SEND_VAR_EX !0
15 SEND_VAR_EX !2
16 SEND_VAR_EX !1
17 DO_FCALL 0
18 ASSIGN !3, $14
56 19 NEW $17 'BeforeAfterIterator'
20 SEND_VAR_EX !3
21 NEW $18 'DateTime'
22 SEND_VAL_EX '2020-01-31'
23 DO_FCALL 0
24 SEND_VAR_NO_REF_EX $18
25 NEW $20 'DateTime'
26 SEND_VAL_EX '2020-03-01'
27 DO_FCALL 0
28 SEND_VAR_NO_REF_EX $20
29 DO_FCALL 0
30 > FE_RESET_R $23 $17, ->38
31 > > FE_FETCH_R $23, !4, ->38
57 32 > INIT_METHOD_CALL !4, 'format'
33 SEND_VAL_EX 'Y-m-d'
34 DO_FCALL 0 $24
35 ECHO $24
36 ECHO '%0A'
56 37 > JMP ->31
38 > FE_FREE $23
60 39 NEW $25 'BeforeAfterIterator'
40 INIT_FCALL 'range'
41 SEND_VAL 1
42 SEND_VAL 10
43 DO_ICALL $26
44 SEND_VAR_NO_REF_EX $26
45 SEND_VAL_EX 'Before'
46 SEND_VAL_EX 'After'
47 DO_FCALL 0
48 > FE_RESET_R $28 $25, ->53
49 > > FE_FETCH_R $28, !4, ->53
61 50 > ECHO !4
51 ECHO '%0A'
60 52 > JMP ->49
53 > FE_FREE $28
68 54 NEW $29 'BeforeAfterIterator'
55 INIT_FCALL 'generator'
56 DO_FCALL 0 $30
57 SEND_VAR_NO_REF_EX $30
58 SEND_VAL_EX 'Before'
59 SEND_VAL_EX 'After'
60 DO_FCALL 0
61 > FE_RESET_R $32 $29, ->66
62 > > FE_FETCH_R $32, !4, ->66
69 63 > ECHO !4
64 ECHO '%0A'
68 65 > JMP ->62
66 > FE_FREE $32
70 67 > RETURN 1
Function generator:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 161) Position 1 = -2
filename: /in/0Xa1a
function name: generator
number of ops: 4
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
64 0 E > GENERATOR_CREATE
65 1 YIELD_FROM ~0 <array>
2 FREE ~0
66 3 > GENERATOR_RETURN
End of function generator
Class BeforeAfterIterator:
Function __construct:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 6, Position 2 = 11
Branch analysis from position: 6
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 39
Branch analysis from position: 14
1 jumps found. (Code = 42) Position 1 = 44
Branch analysis from position: 44
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 39
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 11
filename: /in/0Xa1a
function name: __construct
number of ops: 45
compiled vars: !0 = $iterator, !1 = $before, !2 = $after
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
6 0 E > RECV !0
1 RECV !1
2 RECV !2
8 3 INSTANCEOF ~3 !0, 'Iterator'
4 BOOL_NOT ~4 ~3
5 > JMPZ ~4, ->11
9 6 > DECLARE_LAMBDA_FUNCTION ~5 [0]
11 7 INIT_DYNAMIC_CALL ~5
8 SEND_VAR_EX !0
9 DO_FCALL 0 $6
9 10 ASSIGN !0, $6
14 11 > INIT_METHOD_CALL !0, 'valid'
12 DO_FCALL 0 $8
13 > JMPZ $8, ->39
15 14 > NEW $10 'AppendIterator'
15 DO_FCALL 0
16 ASSIGN_OBJ 'iterator'
17 OP_DATA $10
16 18 FETCH_OBJ_R ~12 'iterator'
19 INIT_METHOD_CALL ~12, 'append'
20 NEW $13 'ArrayIterator'
21 INIT_ARRAY ~14 !1
22 SEND_VAL_EX ~14
23 DO_FCALL 0
24 SEND_VAR_NO_REF_EX $13
25 DO_FCALL 0
17 26 FETCH_OBJ_R ~17 'iterator'
27 INIT_METHOD_CALL ~17, 'append'
28 SEND_VAR_EX !0
29 DO_FCALL 0
18 30 FETCH_OBJ_R ~19 'iterator'
31 INIT_METHOD_CALL ~19, 'append'
32 NEW $20 'ArrayIterator'
33 INIT_ARRAY ~21 !2
34 SEND_VAL_EX ~21
35 DO_FCALL 0
36 SEND_VAR_NO_REF_EX $20
37 DO_FCALL 0
14 38 > JMP ->44
20 39 > NEW $25 'ArrayIterator'
40 SEND_VAL_EX <array>
41 DO_FCALL 0
42 ASSIGN_OBJ 'iterator'
43 OP_DATA $25
22 44 > > RETURN null
Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 161) Position 1 = -2
filename: /in/0Xa1a
function name: {closure}
number of ops: 5
compiled vars: !0 = $iterable
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
9 0 E > RECV !0
1 GENERATOR_CREATE
10 2 YIELD_FROM ~1 !0
3 FREE ~1
11 4 > GENERATOR_RETURN
End of Dynamic Function 0
End of function __construct
Function current:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/0Xa1a
function name: current
number of ops: 5
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
26 0 E > FETCH_OBJ_R ~0 'iterator'
1 INIT_METHOD_CALL ~0, 'current'
2 DO_FCALL 0 $1
3 > RETURN $1
27 4* > RETURN null
End of function current
Function next:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/0Xa1a
function name: next
number of ops: 4
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
31 0 E > FETCH_OBJ_R ~0 'iterator'
1 INIT_METHOD_CALL ~0, 'next'
2 DO_FCALL 0
32 3 > RETURN null
End of function next
Function key:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/0Xa1a
function name: key
number of ops: 5
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
36 0 E > FETCH_OBJ_R ~0 'iterator'
1 INIT_METHOD_CALL ~0, 'key'
2 DO_FCALL 0 $1
3 > RETURN $1
37 4* > RETURN null
End of function key
Function valid:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/0Xa1a
function name: valid
number of ops: 5
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
41 0 E > FETCH_OBJ_R ~0 'iterator'
1 INIT_METHOD_CALL ~0, 'valid'
2 DO_FCALL 0 $1
3 > RETURN $1
42 4* > RETURN null
End of function valid
Function rewind:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/0Xa1a
function name: rewind
number of ops: 4
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
46 0 E > FETCH_OBJ_R ~0 'iterator'
1 INIT_METHOD_CALL ~0, 'rewind'
2 DO_FCALL 0
47 3 > RETURN null
End of function rewind
End of class BeforeAfterIterator.
Generated using Vulcan Logic Dumper, using php 8.0.0