Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4tECJ
function name: (null)
number of ops: 17
compiled vars: !0 = $renderFunction
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
2 0 E > DECLARE_CLASS 'mydata'
20 1 DECLARE_CLASS 'myiterator'
51 2 DECLARE_LAMBDA_FUNCTION ~1 [0]
3 ASSIGN !0, ~1
59 4 ECHO '-----IteratorAggregate-----%0A'
60 5 INIT_DYNAMIC_CALL !0
6 NEW $3 'myData'
7 DO_FCALL 0
8 SEND_VAR_NO_REF_EX $3
9 DO_FCALL 0
62 10 ECHO '%0A-----Iterator-----%0A'
63 11 INIT_DYNAMIC_CALL !0
12 NEW $6 'myIterator'
13 DO_FCALL 0
14 SEND_VAR_NO_REF_EX $6
15 DO_FCALL 0
16 > RETURN 1
Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 2, Position 2 = 21
Branch analysis from position: 2
2 jumps found. (Code = 78) Position 1 = 3, Position 2 = 21
Branch analysis from position: 3
2 jumps found. (Code = 77) Position 1 = 10, Position 2 = 19
Branch analysis from position: 10
2 jumps found. (Code = 78) Position 1 = 11, Position 2 = 19
Branch analysis from position: 11
1 jumps found. (Code = 42) Position 1 = 10
Branch analysis from position: 10
Branch analysis from position: 19
1 jumps found. (Code = 42) Position 1 = 2
Branch analysis from position: 2
Branch analysis from position: 19
Branch analysis from position: 21
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 21
filename: /in/4tECJ
function name: {closure}
number of ops: 23
compiled vars: !0 = $iterator, !1 = $value, !2 = $key
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
51 0 E > RECV !0
52 1 > FE_RESET_R $3 !0, ->21
2 > > FE_FETCH_R ~4 $3, !1, ->21
3 > ASSIGN !2, ~4
53 4 ROPE_INIT 4 ~7 !2
5 ROPE_ADD 1 ~7 ~7, '%3A+'
6 ROPE_ADD 2 ~7 ~7, !1
7 ROPE_END 3 ~6 ~7, '%0A'
8 ECHO ~6
54 9 > FE_RESET_R $9 !0, ->19
10 > > FE_FETCH_R ~10 $9, !1, ->19
11 > ASSIGN !2, ~10
55 12 ROPE_INIT 5 ~13 '++++'
13 ROPE_ADD 1 ~13 ~13, !2
14 ROPE_ADD 2 ~13 ~13, '%3A+'
15 ROPE_ADD 3 ~13 ~13, !1
16 ROPE_END 4 ~12 ~13, '%0A'
17 ECHO ~12
54 18 > JMP ->10
19 > FE_FREE $9
52 20 > JMP ->2
21 > FE_FREE $3
58 22 > RETURN null
End of Dynamic Function 0
Class myData:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4tECJ
function name: __construct
number of ops: 3
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
11 0 E > ASSIGN_OBJ 'property4'
1 OP_DATA 'last+property'
12 2 > RETURN null
End of function __construct
Function getiterator:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4tECJ
function name: getIterator
number of ops: 8
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
16 0 E > NEW $0 'ArrayIterator'
1 FETCH_THIS $1
2 SEND_VAR_EX $1
3 DO_FCALL 0
4 VERIFY_RETURN_TYPE $0
5 > RETURN $0
17 6* VERIFY_RETURN_TYPE
7* > RETURN null
End of function getiterator
End of class myData.
Class myIterator:
Function rewind:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4tECJ
function name: rewind
number of ops: 3
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
27 0 E > ASSIGN_OBJ 'position'
1 OP_DATA 0
28 2 > RETURN null
End of function rewind
Function current:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4tECJ
function name: current
number of ops: 6
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
32 0 E > FETCH_OBJ_R ~1 'position'
1 FETCH_OBJ_R ~0 'array'
2 FETCH_DIM_R ~2 ~0, ~1
3 > RETURN ~2
33 4* VERIFY_RETURN_TYPE
5* > RETURN null
End of function current
Function key:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4tECJ
function name: key
number of ops: 4
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
37 0 E > FETCH_OBJ_R ~0 'position'
1 > RETURN ~0
38 2* VERIFY_RETURN_TYPE
3* > RETURN null
End of function key
Function next:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4tECJ
function name: next
number of ops: 2
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
42 0 E > PRE_INC_OBJ 'position'
43 1 > RETURN null
End of function next
Function valid:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/4tECJ
function name: valid
number of ops: 7
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
47 0 E > FETCH_OBJ_R ~1 'position'
1 FETCH_OBJ_IS ~0 'array'
2 ISSET_ISEMPTY_DIM_OBJ 0 ~2 ~0, ~1
3 VERIFY_RETURN_TYPE ~2
4 > RETURN ~2
48 5* VERIFY_RETURN_TYPE
6* > RETURN null
End of function valid
End of class myIterator.
Generated using Vulcan Logic Dumper, using php 8.0.0