Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/PgqlG
function name: (null)
number of ops: 63
compiled vars: !0 = $recordSet, !1 = $TreeObject
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
220 0 E > ASSIGN !0, <array>
246 1 NEW $3 'Tree'
2 SEND_VAR_EX !0
3 DO_FCALL 0
4 ASSIGN !1, $3
247 5 ECHO 'Display+the+entire+tree+%28This+is+a+fully+recursive+tree+that+can+be+looked+up+at+any+point%29%0A'
248 6 INIT_FCALL 'print_r'
7 SEND_VAR !1
8 DO_ICALL
249 9 ECHO '%0A'
251 10 ECHO 'Get+the+middle+node+id+53%0A'
252 11 INIT_FCALL 'print_r'
12 INIT_METHOD_CALL !1, 'getNode'
13 SEND_VAL_EX '53'
14 DO_FCALL 0 $7
15 SEND_VAR $7
16 DO_ICALL
253 17 ECHO '%0A%0A'
255 18 INIT_METHOD_CALL !1, 'getNode'
19 SEND_VAL_EX '53'
20 DO_FCALL 0 $9
21 INIT_METHOD_CALL $9, 'countChildren'
22 DO_FCALL 0 $10
23 CONCAT ~11 'Get+the+child+count+of+node+id+53%3A+', $10
24 ECHO ~11
256 25 ECHO '%0A%0A'
258 26 ECHO 'Get+the+children+of+node+1%3A+%0A'
259 27 INIT_FCALL 'print_r'
28 INIT_METHOD_CALL !1, 'getNode'
29 SEND_VAL_EX '1'
30 DO_FCALL 0 $12
31 INIT_METHOD_CALL $12, 'getChildren'
32 DO_FCALL 0 $13
33 SEND_VAR $13
34 DO_ICALL
260 35 ECHO '%0A'
262 36 INIT_METHOD_CALL !1, 'getDepth'
37 SEND_VAL_EX '921'
38 DO_FCALL 0 $15
39 CONCAT ~16 'Get+the+depth+of+the+tree+node+id+921%3A+', $15
40 ECHO ~16
263 41 ECHO '%0A%0A'
265 42 INIT_METHOD_CALL !1, 'getDepth'
43 SEND_VAL_EX '53'
44 DO_FCALL 0 $17
45 CONCAT ~18 'Get+the+depth+of+the+tree+node+id+53%3A+', $17
46 ECHO ~18
266 47 ECHO '%0A%0A'
268 48 ECHO 'Remove+the+children+of+node+id+53%3A%0A'
269 49 INIT_FCALL 'print_r'
50 INIT_METHOD_CALL !1, 'getNode'
51 SEND_VAL_EX '53'
52 DO_FCALL 0 $19
53 INIT_METHOD_CALL $19, 'removeChildren'
54 DO_FCALL 0 $20
55 SEND_VAR $20
56 DO_ICALL
270 57 ECHO '%0A'
272 58 ECHO 'Display+the+list+of+nodes+after+removing+the+children+of+node+id+53%3A%0A'
273 59 INIT_FCALL 'print_r'
60 SEND_VAR !1
61 DO_ICALL
62 > RETURN 1
Class NodeList:
Function item:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 12
Branch analysis from position: 11
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 12
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/PgqlG
function name: item
number of ops: 15
compiled vars: !0 = $index, !1 = $tmp
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
16 0 E > RECV !0
18 1 FETCH_THIS ~2
2 CAST 7 ~3 ~2
3 ASSIGN !1, ~3
19 4 COUNT ~6 !1
5 SUB ~7 ~6, 1
6 ASSIGN_OBJ 'length'
7 OP_DATA ~7
20 8 ISSET_ISEMPTY_PROP_OBJ ~8 !0
9 TYPE_CHECK 4 ~8
10 > JMPZ ~9, ->12
21 11 > > RETURN null
24 12 > FETCH_OBJ_R ~10 !0
13 > RETURN ~10
25 14* > RETURN null
End of function item
End of class NodeList.
Class Tree:
Function __construct:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 6
Branch analysis from position: 3
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
filename: /in/PgqlG
function name: __construct
number of ops: 7
compiled vars: !0 = $recordSet
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
39 0 E > RECV_INIT !0 null
41 1 TYPE_CHECK 1020 !0
2 > JMPZ ~1, ->6
42 3 > INIT_METHOD_CALL 'setChildren'
4 SEND_VAR_EX !0
5 DO_FCALL 0
44 6 > > RETURN null
End of function __construct
Function setchildren:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 2, Position 2 = 19
Branch analysis from position: 2
2 jumps found. (Code = 78) Position 1 = 3, Position 2 = 19
Branch analysis from position: 3
2 jumps found. (Code = 43) Position 1 = 6, Position 2 = 8
Branch analysis from position: 6
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 18
Branch analysis from position: 11
1 jumps found. (Code = 42) Position 1 = 2
Branch analysis from position: 2
Branch analysis from position: 18
Branch analysis from position: 8
Branch analysis from position: 19
2 jumps found. (Code = 77) Position 1 = 22, Position 2 = 52
Branch analysis from position: 22
2 jumps found. (Code = 78) Position 1 = 23, Position 2 = 52
Branch analysis from position: 23
2 jumps found. (Code = 43) Position 1 = 26, Position 2 = 27
Branch analysis from position: 26
1 jumps found. (Code = 42) Position 1 = 22
Branch analysis from position: 22
Branch analysis from position: 27
2 jumps found. (Code = 46) Position 1 = 30, Position 2 = 34
Branch analysis from position: 30
2 jumps found. (Code = 43) Position 1 = 35, Position 2 = 51
Branch analysis from position: 35
1 jumps found. (Code = 42) Position 1 = 22
Branch analysis from position: 22
Branch analysis from position: 51
Branch analysis from position: 34
Branch analysis from position: 52
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 52
Branch analysis from position: 19
filename: /in/PgqlG
function name: setChildren
number of ops: 54
compiled vars: !0 = $recordSet, !1 = $record, !2 = $node, !3 = $children
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
49 0 E > RECV !0
51 1 > FE_RESET_R $4 !0, ->19
2 > > FE_FETCH_R $4, !1, ->19
52 3 > TYPE_CHECK 128 ~5 !1
4 TYPE_CHECK 8 ~5
5 > JMPZ ~6, ->8
53 6 > CAST 8 ~7 !1
7 ASSIGN !1, ~7
55 8 > ISSET_ISEMPTY_PROP_OBJ ~9 !1, 'id'
9 TYPE_CHECK 8 ~9
10 > JMPZ ~10, ->18
56 11 > PRE_INC_OBJ 'length'
57 12 INIT_METHOD_CALL 'appendNode'
13 CHECK_FUNC_ARG
14 FETCH_OBJ_FUNC_ARG $12 !1, 'id'
15 SEND_FUNC_ARG $12
16 SEND_VAR_EX !1
17 DO_FCALL 0
51 18 > > JMP ->2
19 > FE_FREE $4
60 20 FETCH_THIS ~14
21 > FE_RESET_R $15 ~14, ->52
22 > > FE_FETCH_R $15, !2, ->52
61 23 > INSTANCEOF ~16 !2, 'Node'
24 TYPE_CHECK 4 ~16
25 > JMPZ ~17, ->27
62 26 > > JMP ->22
64 27 > ISSET_ISEMPTY_PROP_OBJ ~18 !2, 'parent'
28 TYPE_CHECK 4 ~19 ~18
29 > JMPZ_EX ~19 ~19, ->34
30 > FETCH_OBJ_R ~20 !2, 'parent'
31 ISSET_ISEMPTY_PROP_OBJ ~21 ~20
32 TYPE_CHECK 8 ~22 ~21
33 BOOL ~19 ~22
34 > > JMPZ ~19, ->51
65 35 > FETCH_OBJ_R ~23 !2, 'parent'
36 FETCH_OBJ_W $24 ~23
37 FETCH_OBJ_W $25 $24, 'children'
38 ASSIGN_REF !3, $25
66 39 PRE_INC_OBJ !3, 'length'
67 40 FETCH_OBJ_R ~28 !2, 'id'
41 FETCH_OBJ_R ~30 !2, 'id'
42 FETCH_OBJ_W $31 ~30
43 MAKE_REF $32 $31
44 ASSIGN_OBJ_REF !3, ~28
45 OP_DATA $32
68 46 INIT_METHOD_CALL 'item'
47 CHECK_FUNC_ARG
48 FETCH_OBJ_FUNC_ARG $33 !2, 'id'
49 SEND_FUNC_ARG $33
50 DO_FCALL 0
60 51 > > JMP ->22
52 > FE_FREE $15
71 53 > RETURN null
End of function setchildren
Function appendnode:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/PgqlG
function name: appendNode
number of ops: 12
compiled vars: !0 = $id, !1 = $data
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
78 0 E > RECV !0
1 RECV_INIT !1 null
80 2 NEW $3 'Node'
3 SEND_VAR_EX !1
4 DO_FCALL 0
5 ASSIGN_OBJ !0
6 OP_DATA $3
82 7 INIT_METHOD_CALL 'item'
8 SEND_VAR_EX !0
9 DO_FCALL 0 $5
10 > RETURN $5
83 11* > RETURN null
End of function appendnode
Function getnode:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 12
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 12
filename: /in/PgqlG
function name: getNode
number of ops: 14
compiled vars: !0 = $id, !1 = $item
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
89 0 E > RECV !0
91 1 INIT_METHOD_CALL 'item'
2 SEND_VAR_EX !0
3 DO_FCALL 0 $2
4 ASSIGN !1, $2
92 5 ISSET_ISEMPTY_CV ~4 !1
6 TYPE_CHECK 8 ~4
7 > JMPZ ~5, ->12
93 8 > INIT_METHOD_CALL 'appendNode'
9 SEND_VAR_EX !0
10 SEND_VAL_EX null
11 DO_FCALL 0
96 12 > > RETURN !1
97 13* > RETURN null
End of function getnode
Function getparent:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 7, Position 2 = 8
Branch analysis from position: 7
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/PgqlG
function name: getParent
number of ops: 18
compiled vars: !0 = $id
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
103 0 E > RECV !0
105 1 INIT_METHOD_CALL 'getNode'
2 SEND_VAR_EX !0
3 DO_FCALL 0 $1
4 FETCH_OBJ_R ~2 $1, 'parent'
5 TYPE_CHECK 2 ~2
6 > JMPZ ~3, ->8
106 7 > > RETURN null
109 8 > INIT_METHOD_CALL 'getNode'
9 CHECK_FUNC_ARG
10 INIT_METHOD_CALL 'getNode'
11 SEND_VAR_EX !0
12 DO_FCALL 0 $4
13 FETCH_OBJ_FUNC_ARG $5 $4, 'parent'
14 SEND_FUNC_ARG $5
15 DO_FCALL 0 $6
16 > RETURN $6
110 17* > RETURN null
End of function getparent
Function getdepth:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 46) Position 1 = 8, Position 2 = 11
Branch analysis from position: 8
2 jumps found. (Code = 43) Position 1 = 12, Position 2 = 19
Branch analysis from position: 12
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 19
Branch analysis from position: 11
filename: /in/PgqlG
function name: getDepth
number of ops: 24
compiled vars: !0 = $id, !1 = $i, !2 = $item
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
116 0 E > RECV !0
118 1 ASSIGN !1, 0
119 2 INIT_METHOD_CALL 'item'
3 SEND_VAR_EX !0
4 DO_FCALL 0 $4
5 ASSIGN !2, $4
120 6 TYPE_CHECK 1020 ~6 !2
7 > JMPZ_EX ~6 ~6, ->11
8 > FETCH_OBJ_R ~7 !2, 'parent'
9 TYPE_CHECK 1020 ~8 ~7
10 BOOL ~6 ~8
11 > > JMPZ ~6, ->19
121 12 > INIT_METHOD_CALL 'getDepth'
13 CHECK_FUNC_ARG
14 FETCH_OBJ_FUNC_ARG $9 !2, 'parent'
15 SEND_FUNC_ARG $9
16 DO_FCALL 0 $10
17 ADD ~11 $10, 1
18 ASSIGN !1, ~11
123 19 > ASSIGN_OBJ !2, 'depth'
20 OP_DATA !1
125 21 FETCH_OBJ_R ~14 !2, 'depth'
22 > RETURN ~14
126 23* > RETURN null
End of function getdepth
Function removenode:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 10, Position 2 = 30
Branch analysis from position: 10
2 jumps found. (Code = 43) Position 1 = 16, Position 2 = 20
Branch analysis from position: 16
2 jumps found. (Code = 46) Position 1 = 23, Position 2 = 25
Branch analysis from position: 23
2 jumps found. (Code = 43) Position 1 = 26, Position 2 = 30
Branch analysis from position: 26
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 30
Branch analysis from position: 25
Branch analysis from position: 20
Branch analysis from position: 30
filename: /in/PgqlG
function name: removeNode
number of ops: 31
compiled vars: !0 = $id, !1 = $parent
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
131 0 E > RECV !0
133 1 INIT_METHOD_CALL 'removeChildren'
2 SEND_VAR_EX !0
3 DO_FCALL 0
134 4 INIT_METHOD_CALL 'item'
5 FETCH_CONSTANT ~3 'id'
6 SEND_VAL_EX ~3
7 DO_FCALL 0 $4
8 TYPE_CHECK 1020 $4
9 > JMPZ ~5, ->30
135 10 > ASSIGN !1, <false>
136 11 INIT_METHOD_CALL 'item'
12 SEND_VAR_EX !0
13 DO_FCALL 0 $7
14 FETCH_OBJ_R ~8 $7, 'parent'
15 > JMPZ ~8, ->20
137 16 > INIT_METHOD_CALL 'getParent'
17 SEND_VAR_EX !0
18 DO_FCALL 0 $9
19 ASSIGN !1, $9
139 20 > ASSIGN_OBJ !0
21 OP_DATA null
140 22 > JMPZ_EX ~12 !1, ->25
23 > FETCH_OBJ_R ~13 !1, 'children'
24 BOOL ~12 ~13
25 > > JMPZ ~12, ->30
141 26 > FETCH_OBJ_UNSET $14 !1, 'children'
27 UNSET_OBJ $14, !0
142 28 FETCH_OBJ_RW $15 !1, 'children'
29 PRE_DEC_OBJ $15, 'length'
145 30 > > RETURN null
End of function removenode
Function item:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 12
Branch analysis from position: 11
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 12
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/PgqlG
function name: item
number of ops: 15
compiled vars: !0 = $index, !1 = $tmp
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
16 0 E > RECV !0
18 1 FETCH_THIS ~2
2 CAST 7 ~3 ~2
3 ASSIGN !1, ~3
19 4 COUNT ~6 !1
5 SUB ~7 ~6, 1
6 ASSIGN_OBJ 'length'
7 OP_DATA ~7
20 8 ISSET_ISEMPTY_PROP_OBJ ~8 !0
9 TYPE_CHECK 4 ~8
10 > JMPZ ~9, ->12
21 11 > > RETURN null
24 12 > FETCH_OBJ_R ~10 !0
13 > RETURN ~10
25 14* > RETURN null
End of function item
End of class Tree.
Class Node:
Function __construct:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 7, Position 2 = 8
Branch analysis from position: 7
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 8
2 jumps found. (Code = 77) Position 1 = 9, Position 2 = 23
Branch analysis from position: 9
2 jumps found. (Code = 78) Position 1 = 10, Position 2 = 23
Branch analysis from position: 10
5 jumps found. (Code = 188) Position 1 = 19, Position 2 = 19, Position 3 = 19, Position 4 = 20, Position 5 = 12
Branch analysis from position: 19
1 jumps found. (Code = 42) Position 1 = 9
Branch analysis from position: 9
Branch analysis from position: 19
Branch analysis from position: 19
Branch analysis from position: 20
1 jumps found. (Code = 42) Position 1 = 9
Branch analysis from position: 9
Branch analysis from position: 12
2 jumps found. (Code = 44) Position 1 = 14, Position 2 = 19
Branch analysis from position: 14
2 jumps found. (Code = 44) Position 1 = 16, Position 2 = 19
Branch analysis from position: 16
2 jumps found. (Code = 44) Position 1 = 18, Position 2 = 19
Branch analysis from position: 18
1 jumps found. (Code = 42) Position 1 = 20
Branch analysis from position: 20
Branch analysis from position: 19
Branch analysis from position: 19
Branch analysis from position: 19
Branch analysis from position: 23
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 23
filename: /in/PgqlG
function name: __construct
number of ops: 25
compiled vars: !0 = $data, !1 = $value, !2 = $key
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
169 0 E > RECV !0
171 1 NEW $4 'NodeList'
2 DO_FCALL 0
3 ASSIGN_OBJ 'children'
4 OP_DATA $4
172 5 TYPE_CHECK 2 !0
6 > JMPZ ~6, ->8
173 7 > > RETURN null
175 8 > > FE_RESET_R $7 !0, ->23
9 > > FE_FETCH_R ~8 $7, !1, ->23
10 > ASSIGN !2, ~8
177 11 > SWITCH_STRING !2, [ 'children':->19, 'depth':->19, 'childrenCount':->19, ], ->20
178 12 > IS_EQUAL !2, 'children'
13 > JMPNZ ~10, ->19
179 14 > IS_EQUAL !2, 'depth'
15 > JMPNZ ~10, ->19
180 16 > IS_EQUAL !2, 'childrenCount'
17 > JMPNZ ~10, ->19
18 > > JMP ->20
181 19 > > JMP ->9
183 20 > ASSIGN_OBJ !2
21 OP_DATA !1
175 22 > JMP ->9
23 > FE_FREE $7
185 24 > RETURN null
End of function __construct
Function countchildren:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/PgqlG
function name: countChildren
number of ops: 4
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
192 0 E > FETCH_OBJ_R ~0 'children'
1 FETCH_OBJ_R ~1 ~0, 'length'
2 > RETURN Generated using Vulcan Logic Dumper, using php 8.0.0