Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: (null)
number of ops: 30
compiled vars: !0 = $model, !1 = $view, !2 = $controller
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
10 0 E > DECLARE_CLASS 'model'
88 1 DECLARE_CLASS 'view'
158 2 DECLARE_CLASS 'calculatormodel', 'model'
256 3 DECLARE_CLASS 'calculatorview', 'view'
462 4 NEW $3 'CalculatorModel'
5 DO_FCALL 0
6 ASSIGN !0, $3
463 7 NEW $6 'CalculatorView'
8 SEND_VAR_EX !0
9 DO_FCALL 0
10 ASSIGN !1, $6
464 11 NEW $9 'CalculatorController'
12 SEND_VAR_EX !0
13 DO_FCALL 0
14 ASSIGN !2, $9
467 15 INIT_METHOD_CALL !0, 'attach'
16 SEND_VAR_EX !1
17 DO_FCALL 0
470 18 INIT_METHOD_CALL !2, 'multiply'
19 SEND_VAL_EX 2
20 SEND_VAL_EX 3
21 DO_FCALL 0
473 22 INIT_METHOD_CALL !0, 'notify'
23 DO_FCALL 0
476 24 INIT_METHOD_CALL !1, 'multiply'
25 DO_FCALL 0
479 26 INIT_METHOD_CALL !1, 'render'
27 DO_FCALL 0 $16
28 ECHO $16
29 > RETURN 1
Class Model:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: __construct
number of ops: 5
compiled vars: none
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
26 0 E > NEW $1 'SplObjectStorage'
1 DO_FCALL 0
2 ASSIGN_OBJ 'observers'
3 OP_DATA $1
27 4 > RETURN null
End of function __construct
Function attach:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 7
Branch analysis from position: 3
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 7
filename: /in/6Rprp
function name: attach
number of ops: 8
compiled vars: !0 = $observer
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
35 0 E > RECV !0
36 1 INSTANCEOF !0, 'View'
2 > JMPZ ~1, ->7
37 3 > FETCH_OBJ_R ~2 'observers'
4 INIT_METHOD_CALL ~2, 'attach'
5 SEND_VAR_EX !0
6 DO_FCALL 0
39 7 > > RETURN null
End of function attach
Function detach:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 7
Branch analysis from position: 3
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 7
filename: /in/6Rprp
function name: detach
number of ops: 8
compiled vars: !0 = $observer
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
46 0 E > RECV !0
47 1 INSTANCEOF !0, 'View'
2 > JMPZ ~1, ->7
48 3 > FETCH_OBJ_R ~2 'observers'
4 INIT_METHOD_CALL ~2, 'detach'
5 SEND_VAR_EX !0
6 DO_FCALL 0
50 7 > > RETURN null
End of function detach
Function notify:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 2, Position 2 = 8
Branch analysis from position: 2
2 jumps found. (Code = 78) Position 1 = 3, Position 2 = 8
Branch analysis from position: 3
1 jumps found. (Code = 42) Position 1 = 2
Branch analysis from position: 2
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 8
filename: /in/6Rprp
function name: notify
number of ops: 10
compiled vars: !0 = $value
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
56 0 E > FETCH_OBJ_R ~1 'observers'
1 > FE_RESET_R $2 ~1, ->8
2 > > FE_FETCH_R $2, !0, ->8
57 3 > INIT_METHOD_CALL !0, 'update'
4 FETCH_THIS $3
5 SEND_VAR_EX $3
6 DO_FCALL 0
56 7 > JMP ->2
8 > FE_FREE $2
59 9 > RETURN null
End of function notify
Function set:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: set
number of ops: 9
compiled vars: !0 = $data
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
66 0 E > RECV !0
67 1 INIT_FCALL 'array_merge_recursive'
2 FETCH_OBJ_R ~2 'updates'
3 SEND_VAL ~2
4 SEND_VAR !0
5 DO_ICALL $3
6 ASSIGN_OBJ 'updates'
7 OP_DATA $3
68 8 > RETURN null
End of function set
Function get:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: get
number of ops: 5
compiled vars: none
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
76 0 E > FETCH_OBJ_R ~0 'updates'
1 VERIFY_RETURN_TYPE ~0
2 > RETURN ~0
77 3* VERIFY_RETURN_TYPE
4* > RETURN null
End of function get
End of class Model.
Class View:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: __construct
number of ops: 4
compiled vars: !0 = $model
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
110 0 E > RECV !0
111 1 ASSIGN_OBJ 'model'
2 OP_DATA !0
112 3 > RETURN null
End of function __construct
Function render:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: render
number of ops: 5
compiled vars: none
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
118 0 E > FETCH_OBJ_R ~0 'output'
1 VERIFY_RETURN_TYPE ~0
2 > RETURN ~0
119 3* VERIFY_RETURN_TYPE
4* > RETURN null
End of function render
Function update:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 12
Branch analysis from position: 3
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 12
filename: /in/6Rprp
function name: update
number of ops: 13
compiled vars: !0 = $subject
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
126 0 E > RECV !0
127 1 INSTANCEOF !0, 'Model'
2 > JMPZ ~1, ->12
128 3 > INIT_FCALL 'array_merge'
4 FETCH_OBJ_R ~3 'data'
5 SEND_VAL ~3
6 INIT_METHOD_CALL !0, 'get'
7 DO_FCALL 0 $4
8 SEND_VAR $4
9 DO_ICALL $5
10 ASSIGN_OBJ 'data'
11 OP_DATA $5
130 12 > > RETURN null
End of function update
End of class View.
Class Controller:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: __construct
number of ops: 4
compiled vars: !0 = $model
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
149 0 E > RECV !0
150 1 ASSIGN_OBJ 'model'
2 OP_DATA !0
151 3 > RETURN null
End of function __construct
End of class Controller.
Class CalculatorModel:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: __construct
number of ops: 3
compiled vars: none
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
164 0 E > INIT_STATIC_METHOD_CALL
1 DO_FCALL 0
165 2 > RETURN null
End of function __construct
Function multiply:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: multiply
number of ops: 11
compiled vars: !0 = $numbers
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
172 0 E > RECV !0
173 1 INIT_METHOD_CALL 'set'
174 2 INIT_METHOD_CALL 'operation'
3 SEND_VAL_EX '%2A'
4 SEND_VAR_EX !0
5 DO_FCALL 0 $1
6 INIT_ARRAY ~2 $1, 'result'
175 7 ADD_ARRAY_ELEMENT ~2 !0, 'operands'
8 SEND_VAL_EX ~2
173 9 DO_FCALL 0
177 10 > RETURN null
End of function multiply
Function divide:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: divide
number of ops: 11
compiled vars: !0 = $numbers
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
184 0 E > RECV !0
185 1 INIT_METHOD_CALL 'set'
186 2 INIT_METHOD_CALL 'operation'
3 SEND_VAL_EX '%2F'
4 SEND_VAR_EX !0
5 DO_FCALL 0 $1
6 INIT_ARRAY ~2 $1, 'result'
187 7 ADD_ARRAY_ELEMENT ~2 !0, 'operands'
8 SEND_VAL_EX ~2
185 9 DO_FCALL 0
189 10 > RETURN null
End of function divide
Function sub:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: sub
number of ops: 11
compiled vars: !0 = $numbers
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
196 0 E > RECV !0
197 1 INIT_METHOD_CALL 'set'
198 2 INIT_METHOD_CALL 'operation'
3 SEND_VAL_EX '-'
4 SEND_VAR_EX !0
5 DO_FCALL 0 $1
6 INIT_ARRAY ~2 $1, 'result'
199 7 ADD_ARRAY_ELEMENT ~2 !0, 'operands'
8 SEND_VAL_EX ~2
197 9 DO_FCALL 0
201 10 > RETURN null
End of function sub
Function add:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: add
number of ops: 11
compiled vars: !0 = $numbers
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
208 0 E > RECV !0
209 1 INIT_METHOD_CALL 'set'
210 2 INIT_METHOD_CALL 'operation'
3 SEND_VAL_EX '%2B'
4 SEND_VAR_EX !0
5 DO_FCALL 0 $1
6 INIT_ARRAY ~2 $1, 'result'
211 7 ADD_ARRAY_ELEMENT ~2 !0, 'operands'
8 SEND_VAL_EX ~2
209 9 DO_FCALL 0
213 10 > RETURN null
End of function add
Function operation:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 4, Position 2 = 32
Branch analysis from position: 4
2 jumps found. (Code = 78) Position 1 = 5, Position 2 = 32
Branch analysis from position: 5
2 jumps found. (Code = 43) Position 1 = 7, Position 2 = 9
Branch analysis from position: 7
1 jumps found. (Code = 42) Position 1 = 4
Branch analysis from position: 4
Branch analysis from position: 9
6 jumps found. (Code = 188) Position 1 = 19, Position 2 = 22, Position 3 = 25, Position 4 = 28, Position 5 = 31, Position 6 = 10
Branch analysis from position: 19
1 jumps found. (Code = 42) Position 1 = 31
Branch analysis from position: 31
1 jumps found. (Code = 42) Position 1 = 4
Branch analysis from position: 4
Branch analysis from position: 22
1 jumps found. (Code = 42) Position 1 = 31
Branch analysis from position: 31
Branch analysis from position: 25
1 jumps found. (Code = 42) Position 1 = 31
Branch analysis from position: 31
Branch analysis from position: 28
1 jumps found. (Code = 42) Position 1 = 31
Branch analysis from position: 31
Branch analysis from position: 31
Branch analysis from position: 10
2 jumps found. (Code = 44) Position 1 = 12, Position 2 = 19
Branch analysis from position: 12
2 jumps found. (Code = 44) Position 1 = 14, Position 2 = 22
Branch analysis from position: 14
2 jumps found. (Code = 44) Position 1 = 16, Position 2 = 25
Branch analysis from position: 16
2 jumps found. (Code = 44) Position 1 = 18, Position 2 = 28
Branch analysis from position: 18
1 jumps found. (Code = 42) Position 1 = 31
Branch analysis from position: 31
Branch analysis from position: 28
Branch analysis from position: 25
Branch analysis from position: 22
Branch analysis from position: 19
Branch analysis from position: 32
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 32
filename: /in/6Rprp
function name: operation
number of ops: 35
compiled vars: !0 = $operator, !1 = $numbers, !2 = $temp, !3 = $n
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
223 0 E > RECV !0
1 RECV !1
224 2 ASSIGN !2, null
225 3 > FE_RESET_R $5 !1, ->32
4 > > FE_FETCH_R $5, !3, ->32
226 5 > TYPE_CHECK 2 !2
6 > JMPZ ~6, ->9
227 7 > ASSIGN !2, !3
228 8 > JMP ->4
232 9 > > SWITCH_STRING !0, [ '%2A':->19, '%2F':->22, '-':->25, '%2B':->28, ], ->31
233 10 > IS_EQUAL !0, '%2A'
11 > JMPNZ ~8, ->19
236 12 > IS_EQUAL !0, '%2F'
13 > JMPNZ ~8, ->22
239 14 > IS_EQUAL !0, '-'
15 > JMPNZ ~8, ->25
242 16 > IS_EQUAL !0, '%2B'
17 > JMPNZ ~8, ->28
18 > > JMP ->31
234 19 > MUL ~9 !2, !3
20 ASSIGN !2, ~9
235 21 > JMP ->31
237 22 > DIV ~11 !2, !3
23 ASSIGN !2, ~11
238 24 > JMP ->31
240 25 > SUB ~13 !2, !3
26 ASSIGN !2, ~13
241 27 > JMP ->31
243 28 > ADD ~15 !2, !3
29 ASSIGN !2, ~15
244 30 > JMP ->31
225 31 > > JMP ->4
32 > FE_FREE $5
248 33 > RETURN !2
249 34* > RETURN null
End of function operation
End of class CalculatorModel.
Class CalculatorView:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: __construct
number of ops: 5
compiled vars: !0 = $model
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
263 0 E > RECV !0
264 1 INIT_STATIC_METHOD_CALL
2 SEND_VAR_EX !0
3 DO_FCALL 0
265 4 > RETURN null
End of function __construct
Function multiply:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: multiply
number of ops: 14
compiled vars: none
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
272 0 E > INIT_METHOD_CALL 'generateOutput'
273 1 SEND_VAL_EX 'Multiplication'
2 CHECK_FUNC_ARG
274 3 FETCH_OBJ_FUNC_ARG $1 'data'
4 FETCH_DIM_FUNC_ARG $2 $1, 'operands'
5 SEND_FUNC_ARG $2
6 CHECK_FUNC_ARG
275 7 FETCH_OBJ_FUNC_ARG $3 'data'
8 FETCH_DIM_FUNC_ARG $4 $3, 'result'
9 SEND_FUNC_ARG $4
272 10 DO_FCALL 0 $5
11 ASSIGN_OBJ 'output'
275 12 OP_DATA $5
277 13 > RETURN null
End of function multiply
Function divide:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: divide
number of ops: 14
compiled vars: none
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
283 0 E > INIT_METHOD_CALL 'generateOutput'
284 1 SEND_VAL_EX 'Division'
2 CHECK_FUNC_ARG
285 3 FETCH_OBJ_FUNC_ARG $1 'data'
4 FETCH_DIM_FUNC_ARG $2 $1, 'operands'
5 SEND_FUNC_ARG $2
6 CHECK_FUNC_ARG
286 7 FETCH_OBJ_FUNC_ARG $3 'data'
8 FETCH_DIM_FUNC_ARG $4 $3, 'result'
9 SEND_FUNC_ARG $4
283 10 DO_FCALL 0 $5
11 ASSIGN_OBJ 'output'
286 12 OP_DATA $5
288 13 > RETURN null
End of function divide
Function add:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: add
number of ops: 14
compiled vars: none
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
294 0 E > INIT_METHOD_CALL 'generateOutput'
295 1 SEND_VAL_EX 'Addiction'
2 CHECK_FUNC_ARG
296 3 FETCH_OBJ_FUNC_ARG $1 'data'
4 FETCH_DIM_FUNC_ARG $2 $1, 'operands'
5 SEND_FUNC_ARG $2
6 CHECK_FUNC_ARG
297 7 FETCH_OBJ_FUNC_ARG $3 'data'
8 FETCH_DIM_FUNC_ARG $4 $3, 'result'
9 SEND_FUNC_ARG $4
294 10 DO_FCALL 0 $5
11 ASSIGN_OBJ 'output'
297 12 OP_DATA $5
299 13 > RETURN null
End of function add
Function sub:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: sub
number of ops: 14
compiled vars: none
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
305 0 E > INIT_METHOD_CALL 'generateOutput'
306 1 SEND_VAL_EX 'Subtraction'
2 CHECK_FUNC_ARG
307 3 FETCH_OBJ_FUNC_ARG $1 'data'
4 FETCH_DIM_FUNC_ARG $2 $1, 'operands'
5 SEND_FUNC_ARG $2
6 CHECK_FUNC_ARG
308 7 FETCH_OBJ_FUNC_ARG $3 'data'
8 FETCH_DIM_FUNC_ARG $4 $3, 'result'
9 SEND_FUNC_ARG $4
305 10 DO_FCALL 0 $5
11 ASSIGN_OBJ 'output'
308 12 OP_DATA $5
310 13 > RETURN null
End of function sub
Function generateoutput:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 6, Position 2 = 10
Branch analysis from position: 6
2 jumps found. (Code = 78) Position 1 = 7, Position 2 = 10
Branch analysis from position: 7
1 jumps found. (Code = 42) Position 1 = 6
Branch analysis from position: 6
Branch analysis from position: 10
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 10
filename: /in/6Rprp
function name: generateOutput
number of ops: 22
compiled vars: !0 = $operation, !1 = $operands, !2 = $result, !3 = $string, !4 = $value
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
321 0 E > RECV !0
1 RECV !1
2 RECV !2
322 3 CONCAT ~5 !0, '%3A+'
4 ASSIGN !3, ~5
324 5 > FE_RESET_R $7 !1, ->10
6 > > FE_FETCH_R $7, !4, ->10
325 7 > CONCAT ~8 !4, '+%2A+'
8 ASSIGN_OP 8 !3, ~8
324 9 > JMP ->6
10 > FE_FREE $7
328 11 STRLEN ~10 !3
12 SUB ~11 ~10, 2
13 FRAMELESS_ICALL_3 substr ~12 !3, 0
14 OP_DATA ~11
15 ASSIGN !3, ~12
329 16 CONCAT ~14 '%3D+', !2
17 ASSIGN_OP 8 !3, ~14
331 18 VERIFY_RETURN_TYPE !3
19 > RETURN !3
332 20* VERIFY_RETURN_TYPE
21* > RETURN null
End of function generateoutput
End of class CalculatorView.
Class CalculatorController:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: __construct
number of ops: 5
compiled vars: !0 = $model
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
346 0 E > RECV !0
347 1 INIT_STATIC_METHOD_CALL
2 SEND_VAR_EX !0
3 DO_FCALL 0
348 4 > RETURN null
End of function __construct
Function multiply:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: multiply
number of ops: 12
compiled vars: !0 = $numbers
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
355 0 E > RECV_VARIADIC !0
358 1 INIT_METHOD_CALL 'checkOperands'
2 SEND_VAR_EX !0
3 DO_FCALL 0
359 4 INIT_METHOD_CALL 'filter'
5 SEND_VAR_EX !0
6 DO_FCALL 0
362 7 FETCH_OBJ_R ~3 'model'
8 INIT_METHOD_CALL ~3, 'multiply'
9 SEND_VAR_EX !0
10 DO_FCALL 0
363 11 > RETURN null
End of function multiply
Function divide:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: divide
number of ops: 12
compiled vars: !0 = $numbers
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
370 0 E > RECV_VARIADIC !0
373 1 INIT_METHOD_CALL 'checkOperands'
2 SEND_VAR_EX !0
3 DO_FCALL 0
374 4 INIT_METHOD_CALL 'filter'
5 SEND_VAR_EX !0
6 DO_FCALL 0
377 7 FETCH_OBJ_R ~3 'model'
8 INIT_METHOD_CALL ~3, 'divide'
9 SEND_VAR_EX !0
10 DO_FCALL 0
378 11 > RETURN null
End of function divide
Function sub:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: sub
number of ops: 12
compiled vars: !0 = $numbers
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
385 0 E > RECV_VARIADIC !0
388 1 INIT_METHOD_CALL 'checkOperands'
2 SEND_VAR_EX !0
3 DO_FCALL 0
389 4 INIT_METHOD_CALL 'filter'
5 SEND_VAR_EX !0
6 DO_FCALL 0
392 7 FETCH_OBJ_R ~3 'model'
8 INIT_METHOD_CALL ~3, 'sub'
9 SEND_VAR_EX !0
10 DO_FCALL 0
393 11 > RETURN null
End of function sub
Function add:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: add
number of ops: 12
compiled vars: !0 = $numbers
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
400 0 E > RECV_VARIADIC !0
403 1 INIT_METHOD_CALL 'checkOperands'
2 SEND_VAR_EX !0
3 DO_FCALL 0
404 4 INIT_METHOD_CALL 'filter'
5 SEND_VAR_EX !0
6 DO_FCALL 0
407 7 FETCH_OBJ_R ~3 'model'
8 INIT_METHOD_CALL ~3, 'add'
9 SEND_VAR_EX !0
10 DO_FCALL 0
408 11 > RETURN null
End of function add
Function filter:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 2, Position 2 = 27
Branch analysis from position: 2
2 jumps found. (Code = 78) Position 1 = 3, Position 2 = 27
Branch analysis from position: 3
5 jumps found. (Code = 188) Position 1 = 13, Position 2 = 19, Position 3 = 20, Position 4 = 21, Position 5 = 6
Branch analysis from position: 13
1 jumps found. (Code = 42) Position 1 = 25
Branch analysis from position: 25
1 jumps found. (Code = 42) Position 1 = 2
Branch analysis from position: 2
Branch analysis from position: 19
1 jumps found. (Code = 42) Position 1 = 25
Branch analysis from position: 25
Branch analysis from position: 20
1 jumps found. (Code = 42) Position 1 = 25
Branch analysis from position: 25
Branch analysis from position: 21
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 6
2 jumps found. (Code = 44) Position 1 = 8, Position 2 = 13
Branch analysis from position: 8
2 jumps found. (Code = 44) Position 1 = 10, Position 2 = 19
Branch analysis from position: 10
2 jumps found. (Code = 44) Position 1 = 12, Position 2 = 20
Branch analysis from position: 12
1 jumps found. (Code = 42) Position 1 = 21
Branch analysis from position: 21
Branch analysis from position: 20
Branch analysis from position: 19
Branch analysis from position: 13
Branch analysis from position: 27
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 27
filename: /in/6Rprp
function name: filter
number of ops: 29
compiled vars: !0 = $numbers, !1 = $number, !2 = $key
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
416 0 E > RECV !0
417 1 > FE_RESET_R $3 !0, ->27
2 > > FE_FETCH_R ~4 $3, !1, ->27
3 > ASSIGN !2, ~4
418 4 GET_TYPE ~6 !1
5 > SWITCH_STRING ~6, [ 'string':->13, 'integer':->19, 'double':->20, ], ->21
419 6 > CASE ~6, 'string'
7 > JMPNZ ~7, ->13
422 8 > CASE ~6, 'integer'
9 > JMPNZ ~7, ->19
424 10 > CASE ~6, 'double'
11 > JMPNZ ~7, ->20
12 > > JMP ->21
420 13 > INIT_FCALL_BY_NAME 'strtonum'
14 SEND_VAR_EX !1
15 DO_FCALL 0 $9
16 ASSIGN_DIM !1, !2
17 OP_DATA $9
421 18 > JMP ->25
423 19 > > JMP ->25
425 20 > > JMP ->25
427 21 > NEW $10 'InvalidArgumentException'
22 SEND_VAL_EX 'Not+a+number'
23 DO_FCALL 0
24 > THROW 0 $10
25 > FREE ~6
417 26 > JMP ->2
27 > FE_FREE $3
430 28 > RETURN null
End of function filter
Function strtonum:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 10
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 10
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: strtonum
number of ops: 13
compiled vars: !0 = $string
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
439 0 E > RECV !0
440 1 INIT_FCALL 'fmod'
2 CAST 5 ~1 !0
3 SEND_VAL ~1
4 SEND_VAL 1
5 DO_ICALL $2
6 IS_IDENTICAL $2, 0
7 > JMPZ ~3, ->10
441 8 > CAST 4 ~4 !0
9 > RETURN ~4
444 10 > CAST 5 ~5 !0
11 > RETURN ~5
445 12* > RETURN null
End of function strtonum
Function checkoperands:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 8
Branch analysis from position: 4
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/6Rprp
function name: checkOperands
number of ops: 9
compiled vars: !0 = $numbers
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
453 0 E > RECV !0
454 1 COUNT ~1 !0
2 IS_SMALLER ~1, 2
3 > JMPZ ~2, ->8
455 4 > NEW $3 'ArgumentCountError'
5 SEND_VAL_EX 'Two+number+needed+for+operation'
6 DO_FCALL 0
7 > THROW 0 $3
457 8 > > RETURN null
End of function checkoperands
End of class CalculatorController.
Generated using Vulcan Logic Dumper, using php 8.5.0