Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/KPDAY
function name: (null)
number of ops: 49
compiled vars: !0 = $treeExample
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
22 0 E > NEW $1 'Tree'
1 NEW $2 'Node'
23 2 NEW $3 'Tree'
3 NEW $4 'Leaf'
4 SEND_VAL_EX 5
5 DO_FCALL 0
6 SEND_VAR_NO_REF_EX $4
7 DO_FCALL 0
8 SEND_VAR_NO_REF_EX $3
24 9 NEW $7 'Tree'
10 NEW $8 'Node'
25 11 NEW $9 'Tree'
12 NEW $10 'Node'
26 13 NEW $11 'Tree'
14 NEW $12 'Nil'
15 DO_FCALL 0
16 SEND_VAR_NO_REF_EX $12
17 DO_FCALL 0
18 SEND_VAR_NO_REF_EX $11
27 19 NEW $15 'Tree'
20 NEW $16 'Leaf'
21 SEND_VAL_EX 2
22 DO_FCALL 0
23 SEND_VAR_NO_REF_EX $16
24 DO_FCALL 0
25 SEND_VAR_NO_REF_EX $15
25 26 DO_FCALL 0
27 27 SEND_VAR_NO_REF_EX $10
25 28 DO_FCALL 0
27 29 SEND_VAR_NO_REF_EX $9
29 30 NEW $21 'Tree'
31 NEW $22 'Nil'
32 DO_FCALL 0
33 SEND_VAR_NO_REF_EX $22
34 DO_FCALL 0
35 SEND_VAR_NO_REF_EX $21
24 36 DO_FCALL 0
29 37 SEND_VAR_NO_REF_EX $8
24 38 DO_FCALL 0
29 39 SEND_VAR_NO_REF_EX $7
22 40 DO_FCALL 0
29 41 SEND_VAR_NO_REF_EX $2
22 42 DO_FCALL 0
43 ASSIGN !0, $1
33 44 INIT_FCALL 'depth'
45 SEND_VAR !0
46 DO_FCALL 0 $30
47 ECHO $30
48 > RETURN 1
Function depth:
Finding entry points
Branch analysis from position: 0
4 jumps found. (Code = 195) Position 1 = 6, Position 2 = 8, Position 3 = 10, Position 4 = 5
Branch analysis from position: 6
1 jumps found. (Code = 42) Position 1 = 24
Branch analysis from position: 24
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 8
1 jumps found. (Code = 42) Position 1 = 24
Branch analysis from position: 24
Branch analysis from position: 10
1 jumps found. (Code = 42) Position 1 = 24
Branch analysis from position: 24
Branch analysis from position: 5
1 jumps found. (Code = 197) Position 1 = -2
filename: /in/KPDAY
function name: depth
number of ops: 29
compiled vars: !0 = $tree, !1 = $val
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
13 0 E > RECV !0
14 1 FETCH_OBJ_R ~2 !0, 'val'
2 ASSIGN !1, ~2
15 3 FETCH_CLASS_NAME ~4 !1
4 > MATCH ~4, [ 'Nil':->6, 'Leaf':->8, 'Node':->10, ], ->5
5 > > MATCH_ERROR ~4
16 6 > QM_ASSIGN ~6 0
7 > JMP ->24
17 8 > QM_ASSIGN ~6 1
9 > JMP ->24
18 10 > INIT_FCALL_BY_NAME 'depth'
11 CHECK_FUNC_ARG
12 FETCH_OBJ_FUNC_ARG $7 !1, 'left'
13 SEND_FUNC_ARG $7
14 DO_FCALL 0 $8
15 INIT_FCALL_BY_NAME 'depth'
16 CHECK_FUNC_ARG
17 FETCH_OBJ_FUNC_ARG $9 !1, 'right'
18 SEND_FUNC_ARG $9
19 DO_FCALL 0 $10
20 FRAMELESS_ICALL_2 max ~11 $8, $10
21 ADD ~12 1, ~11
22 QM_ASSIGN ~6 ~12
23 > JMP ->24
24 > FREE ~4
25 VERIFY_RETURN_TYPE ~6
26 > RETURN ~6
20 27* VERIFY_RETURN_TYPE
28* > RETURN null
End of function depth
Class Nil: [no user functions]
Class Leaf:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/KPDAY
function name: __construct
number of ops: 4
compiled vars: !0 = $value
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
5 0 E > RECV !0
1 ASSIGN_OBJ 'value'
2 OP_DATA !0
3 > RETURN null
End of function __construct
End of class Leaf.
Class Node:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/KPDAY
function name: __construct
number of ops: 7
compiled vars: !0 = $left, !1 = $right
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
8 0 E > RECV !0
1 RECV !1
2 ASSIGN_OBJ 'left'
3 OP_DATA !0
4 ASSIGN_OBJ 'right'
5 OP_DATA !1
6 > RETURN null
End of function __construct
End of class Node.
Class Tree:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/KPDAY
function name: __construct
number of ops: 4
compiled vars: !0 = $val
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
11 0 E > RECV !0
1 ASSIGN_OBJ 'val'
2 OP_DATA !0
3 > RETURN null
End of function __construct
End of class Tree.
Generated using Vulcan Logic Dumper, using php 8.5.0