Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 12
Branch analysis from position: 12
1 jumps found. (Code = 62) Position 1 = -2
Found catch point at position: 8
Branch analysis from position: 8
2 jumps found. (Code = 107) Position 1 = 9, Position 2 = -2
Branch analysis from position: 9
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/rb6Z4
function name: (null)
number of ops: 13
compiled vars: !0 = $scoreAnalyzer, !1 = $e
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
64 0 E > NEW $2 'ScoreAnalyzer'
1 SEND_VAL_EX 't'
2 SEND_VAL_EX 4
3 DO_FCALL 0
4 ASSIGN !0, $2
65 5 INIT_METHOD_CALL !0, 'analyzeScore'
6 DO_FCALL 0
7 > JMP ->12
66 8 E > > CATCH last 'Exception'
67 9 > INIT_METHOD_CALL !1, 'getMessage'
10 DO_FCALL 0 $6
11 ECHO $6
68 12 > > RETURN 1
Class ScoreAnalyzer:
Function __construct:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 13
Branch analysis from position: 9
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 13
2 jumps found. (Code = 43) Position 1 = 16, Position 2 = 20
Branch analysis from position: 16
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 20
2 jumps found. (Code = 47) Position 1 = 22, Position 2 = 24
Branch analysis from position: 22
2 jumps found. (Code = 43) Position 1 = 25, Position 2 = 29
Branch analysis from position: 25
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 29
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 24
filename: /in/rb6Z4
function name: __construct
number of ops: 30
compiled vars: !0 = $score, !1 = $number
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
9 0 E > RECV !0
1 RECV !1
2 ASSIGN_OBJ 'score'
3 OP_DATA !0
4 ASSIGN_OBJ 'number'
5 OP_DATA !1
11 6 TYPE_CHECK 16 ~2 !0
7 BOOL_NOT ~3 ~2
8 > JMPZ ~3, ->13
12 9 > NEW $4 'InvalidArgumentException'
10 SEND_VAL_EX 'Score+should+be+an+Integer+number'
11 DO_FCALL 0
12 > THROW 0 $4
15 13 > TYPE_CHECK 16 ~6 !1
14 BOOL_NOT ~7 ~6
15 > JMPZ ~7, ->20
16 16 > NEW $8 'InvalidArgumentException'
17 SEND_VAL_EX 'Number+should+be+an+Integer+number'
18 DO_FCALL 0
19 > THROW 0 $8
19 20 > IS_SMALLER ~10 !0, 0
21 > JMPNZ_EX ~10 ~10, ->24
22 > IS_SMALLER ~11 100, !0
23 BOOL ~10 ~11
24 > > JMPZ ~10, ->29
20 25 > NEW $12 'InvalidArgumentException'
26 SEND_VAL_EX 'Score+should+be+between+0+and+100'
27 DO_FCALL 0
28 > THROW 0 $12
22 29 > > RETURN null
End of function __construct
Function analyzescore:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/rb6Z4
function name: analyzeScore
number of ops: 32
compiled vars: !0 = $status, !1 = $grade, !2 = $type
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
27 0 E > ROPE_INIT 3 ~5 'Score%3A+'
1 FETCH_OBJ_R ~3 'score'
2 ROPE_ADD 1 ~5 ~5, ~3
3 ROPE_END 2 ~4 ~5, '+%0A'
4 ECHO ~4
29 5 INIT_METHOD_CALL 'determineStatus'
6 DO_FCALL 0 $7
7 ASSIGN !0, $7
30 8 ROPE_INIT 3 ~10 'Status%3A+'
9 ROPE_ADD 1 ~10 ~10, !0
10 ROPE_END 2 ~9 ~10, '+%0A'
11 ECHO ~9
32 12 INIT_METHOD_CALL 'calculateGrade'
13 DO_FCALL 0 $12
14 ASSIGN !1, $12
33 15 ROPE_INIT 3 ~15 'Grade%3A+'
16 ROPE_ADD 1 ~15 ~15, !1
17 ROPE_END 2 ~14 ~15, '%0A'
18 ECHO ~14
35 19 ROPE_INIT 3 ~19 'Number%3A+'
20 FETCH_OBJ_R ~17 'number'
21 ROPE_ADD 1 ~19 ~19, ~17
22 ROPE_END 2 ~18 ~19, '%0A'
23 ECHO ~18
37 24 INIT_METHOD_CALL 'findType'
25 DO_FCALL 0 $21
26 ASSIGN !2, $21
38 27 ROPE_INIT 3 ~24 'Type%3A+'
28 ROPE_ADD 1 ~24 ~24, !2
29 ROPE_END 2 ~23 ~24, '%0A'
30 ECHO ~23
39 31 > RETURN null
End of function analyzescore
Function determinestatus:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 5
Branch analysis from position: 3
1 jumps found. (Code = 42) Position 1 = 6
Branch analysis from position: 6
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 5
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/rb6Z4
function name: determineStatus
number of ops: 10
compiled vars: none
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
43 0 E > FETCH_OBJ_R ~0 'score'
1 IS_SMALLER_OR_EQUAL 60, ~0
2 > JMPZ ~1, ->5
3 > QM_ASSIGN ~2 'pass'
4 > JMP ->6
5 > QM_ASSIGN ~2 'fail'
6 > VERIFY_RETURN_TYPE ~2
7 > RETURN ~2
44 8* VERIFY_RETURN_TYPE
9* > RETURN null
End of function determinestatus
Function calculategrade:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 44) Position 1 = 4, Position 2 = 17
Branch analysis from position: 4
2 jumps found. (Code = 44) Position 1 = 8, Position 2 = 19
Branch analysis from position: 8
2 jumps found. (Code = 44) Position 1 = 12, Position 2 = 21
Branch analysis from position: 12
2 jumps found. (Code = 44) Position 1 = 16, Position 2 = 23
Branch analysis from position: 16
1 jumps found. (Code = 42) Position 1 = 25
Branch analysis from position: 25
1 jumps found. (Code = 42) Position 1 = 27
Branch analysis from position: 27
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 23
1 jumps found. (Code = 42) Position 1 = 27
Branch analysis from position: 27
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 27
Branch analysis from position: 27
Branch analysis from position: 19
1 jumps found. (Code = 42) Position 1 = 27
Branch analysis from position: 27
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 27
Branch analysis from position: 27
filename: /in/rb6Z4
function name: calculateGrade
number of ops: 31
compiled vars: none
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
49 0 E > FETCH_OBJ_R ~1 'score'
1 IS_SMALLER ~2 ~1, 60
2 IS_IDENTICAL ~2, <true>
3 > JMPNZ ~0, ->17
50 4 > FETCH_OBJ_R ~3 'score'
5 IS_SMALLER ~4 ~3, 70
6 IS_IDENTICAL ~4, <true>
7 > JMPNZ ~0, ->19
51 8 > FETCH_OBJ_R ~5 'score'
9 IS_SMALLER ~6 ~5, 80
10 IS_IDENTICAL ~6, <true>
11 > JMPNZ ~0, ->21
52 12 > FETCH_OBJ_R ~7 'score'
13 IS_SMALLER ~8 ~7, 90
14 IS_IDENTICAL ~8, <true>
15 > JMPNZ ~0, ->23
16 > > JMP ->25
49 17 > QM_ASSIGN ~9 'F'
18 > JMP ->27
50 19 > QM_ASSIGN ~9 'D'
20 > JMP ->27
51 21 > QM_ASSIGN ~9 'C'
22 > JMP ->27
52 23 > QM_ASSIGN ~9 'B'
24 > JMP ->27
53 25 > QM_ASSIGN ~9 'A'
26 > JMP ->27
27 > VERIFY_RETURN_TYPE ~9
28 > RETURN ~9
55 29* VERIFY_RETURN_TYPE
30* > RETURN null
End of function calculategrade
Function findtype:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 6
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 7
Branch analysis from position: 7
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/rb6Z4
function name: findType
number of ops: 11
compiled vars: none
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
59 0 E > FETCH_OBJ_R ~0 'number'
1 MOD ~1 ~0, 2
2 IS_IDENTICAL ~1, 0
3 > JMPZ ~2, ->6
4 > QM_ASSIGN ~3 'even'
5 > JMP ->7
6 > QM_ASSIGN ~3 'odd'
7 > VERIFY_RETURN_TYPE ~3
8 > RETURN ~3
60 9* VERIFY_RETURN_TYPE
10* > RETURN null
End of function findtype
End of class ScoreAnalyzer.
Generated using Vulcan Logic Dumper, using php 8.5.0