Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 19, Position 2 = 23
Branch analysis from position: 19
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 23
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/Q6rG1
function name: (null)
number of ops: 24
compiled vars: !0 = $init, !1 = $demo, !2 = $remaining
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
53 0 E > INIT_FCALL 'random_int'
1 SEND_VAL 4
2 SEND_VAL 10
3 DO_ICALL $3
4 ASSIGN !0, $3
54 5 NEW $5 'Demo'
6 SEND_VAR_EX !0
7 DO_FCALL 0
8 ASSIGN !1, $5
55 9 INIT_METHOD_CALL !1, 'demo'
10 DO_FCALL 0
57 11 FETCH_OBJ_R ~9 !1, 'foo'
12 INIT_METHOD_CALL ~9, 'getElements'
13 DO_FCALL 0 $10
14 COUNT ~11 $10
15 ASSIGN !2, ~11
59 16 SUB ~13 !0, 1
17 IS_NOT_IDENTICAL !2, ~13
18 > JMPZ ~14, ->23
60 19 > NEW $15 'UnexpectedValueException'
20 SEND_VAL_EX 'Wrong+number+of+elements%2C+application+is+broken'
21 DO_FCALL 0
22 > THROW 0 $15
61 23 > > RETURN 1
Class Foo:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 11
Branch analysis from position: 11
2 jumps found. (Code = 44) Position 1 = 13, Position 2 = 3
Branch analysis from position: 13
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 3
2 jumps found. (Code = 44) Position 1 = 13, Position 2 = 3
Branch analysis from position: 13
Branch analysis from position: 3
filename: /in/Q6rG1
function name: __construct
number of ops: 14
compiled vars: !0 = $howMany, !1 = $i
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
7 0 E > RECV !0
9 1 ASSIGN !1, 0
2 > JMP ->11
10 3 > INIT_FCALL 'random_int'
4 SEND_VAL 1
5 SEND_VAL 100
6 DO_ICALL $5
7 FETCH_OBJ_W $3 'elements'
8 ASSIGN_DIM $3
9 OP_DATA $5
9 10 PRE_INC !1
11 > IS_SMALLER !1, !0
12 > JMPNZ ~7, ->3
12 13 > > RETURN null
End of function __construct
Function getelements:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/Q6rG1
function name: getElements
number of ops: 5
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
17 0 E > FETCH_OBJ_R ~0 'elements'
1 VERIFY_RETURN_TYPE ~0
2 > RETURN ~0
18 3* VERIFY_RETURN_TYPE
4* > RETURN null
End of function getelements
Function setelements:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/Q6rG1
function name: setElements
number of ops: 4
compiled vars: !0 = $el
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
20 0 E > RECV !0
21 1 ASSIGN_OBJ 'elements'
2 OP_DATA !0
22 3 > RETURN null
End of function setelements
End of class Foo.
Class Demo:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/Q6rG1
function name: __construct
number of ops: 7
compiled vars: !0 = $howMany
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
29 0 E > RECV !0
31 1 NEW $2 'Foo'
2 SEND_VAR_EX !0
3 DO_FCALL 0
4 ASSIGN_OBJ 'foo'
5 OP_DATA $2
32 6 > RETURN null
End of function __construct
Function demo:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/Q6rG1
function name: demo
number of ops: 17
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
36 0 E > ECHO '%0AWe+start+with+'
1 FETCH_OBJ_R ~0 'foo'
2 INIT_METHOD_CALL ~0, 'getElements'
3 DO_FCALL 0 $1
4 COUNT ~2 $1
5 ECHO ~2
6 ECHO '+soldiers+in+%24foo-%3EbarArray%0A'
37 7 INIT_METHOD_CALL 'removeElement'
8 DO_FCALL 0
39 9 ECHO '%0AWe+have+'
10 FETCH_OBJ_R ~4 'foo'
11 INIT_METHOD_CALL ~4, 'getElements'
12 DO_FCALL 0 $5
13 COUNT ~6 $5
14 ECHO ~6
15 ECHO '+soldiers+in+%24foo-%3EbarArray%0A'
40 16 > RETURN null
End of function demo
Function removeelement:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/Q6rG1
function name: removeElement
number of ops: 18
compiled vars: !0 = $elements
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
44 0 E > FETCH_OBJ_R ~1 'foo'
1 INIT_METHOD_CALL ~1, 'getElements'
2 DO_FCALL 0 $2
3 ASSIGN !0, $2
45 4 INIT_FCALL 'array_splice'
5 SEND_REF !0
6 SEND_VAL 2
7 SEND_VAL 1
8 DO_ICALL
47 9 ECHO '%0AWe+have+'
10 COUNT ~5 !0
11 ECHO ~5
12 ECHO '+soldiers+in+local+%24elements%0A'
49 13 FETCH_OBJ_R ~6 'foo'
14 INIT_METHOD_CALL ~6, 'setElements'
15 SEND_VAR_EX !0
16 DO_FCALL 0
50 17 > RETURN null
End of function removeelement
End of class Demo.
Generated using Vulcan Logic Dumper, using php 8.0.0