Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 16
Branch analysis from position: 16
1 jumps found. (Code = 62) Position 1 = -2
Found catch point at position: 11
Branch analysis from position: 11
2 jumps found. (Code = 107) Position 1 = 12, Position 2 = -2
Branch analysis from position: 12
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/WNLbO
function name: (null)
number of ops: 17
compiled vars: !0 = $e
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
168 0 E > INIT_FCALL 'throwexceptionforlulz'
1 SEND_VAL <array>
2 SEND_VAL 'String'
3 NEW $1 'stdClass'
4 DO_FCALL 0
5 SEND_VAR $1
6 SEND_VAL <false>
7 SEND_VAL 'a'
8 SEND_VAL 'b'
9 DO_FCALL 0
10 > JMP ->16
169 11 E > > CATCH last 'Exception'
170 12 > INIT_STATIC_METHOD_CALL 'ExceptionFormatter', 'format'
13 SEND_VAR !0
14 DO_FCALL 0 $4
15 ECHO $4
171 16 > > RETURN 1
Function throwcause:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 108) Position 1 = -2
filename: /in/WNLbO
function name: throwCause
number of ops: 5
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
150 0 E > NEW $0 'RuntimeException'
1 SEND_VAL_EX 'This+is+the+cause'
2 DO_FCALL 0
3 > THROW 0 $0
151 4* > RETURN null
End of function throwcause
Function nestedfunction:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 10
Branch analysis from position: 10
1 jumps found. (Code = 62) Position 1 = -2
Found catch point at position: 3
Branch analysis from position: 3
2 jumps found. (Code = 107) Position 1 = 4, Position 2 = -2
Branch analysis from position: 4
1 jumps found. (Code = 108) Position 1 = -2
filename: /in/WNLbO
function name: nestedFunction
number of ops: 11
compiled vars: !0 = $e
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
156 0 E > INIT_FCALL 'throwcause'
1 DO_FCALL 0
2 > JMP ->10
157 3 E > > CATCH last 'Exception'
158 4 > NEW $2 'LogicException'
5 SEND_VAL_EX 'Lulz%21'
6 SEND_VAL_EX -1
7 SEND_VAR_EX !0
8 DO_FCALL 0
9 > THROW 0 $2
160 10 > > RETURN null
End of function nestedfunction
Function throwexceptionforlulz:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/WNLbO
function name: throwExceptionForLulz
number of ops: 8
compiled vars: !0 = $a, !1 = $b, !2 = $c, !3 = $d, !4 = $e
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
162 0 E > RECV !0
1 RECV !1
2 RECV !2
3 RECV !3
4 RECV_VARIADIC !4
164 5 INIT_FCALL 'nestedfunction'
6 DO_FCALL 0
165 7 > RETURN null
End of function throwexceptionforlulz
Class ExceptionFormatter:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/WNLbO
function name: __construct
number of ops: 8
compiled vars: !0 = $exception
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
16 0 E > RECV !0
18 1 ASSIGN_OBJ 'exception'
2 OP_DATA !0
19 3 INIT_METHOD_CALL 'formatException'
4 DO_FCALL 0 $3
5 ASSIGN_OBJ 'formattedString'
6 OP_DATA $3
20 7 > RETURN null
End of function __construct
Function formatexception:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/WNLbO
function name: formatException
number of ops: 10
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
24 0 E > INIT_METHOD_CALL 'formatExceptionMessage'
1 DO_FCALL 0 $0
25 2 INIT_METHOD_CALL 'formatExceptionTrace'
3 DO_FCALL 0 $1
4 CONCAT ~2 $0, $1
26 5 INIT_METHOD_CALL 'getCauseIfApplicable'
6 DO_FCALL 0 $3
7 CONCAT ~4 ~2, $3
8 > RETURN ~4
27 9* > RETURN null
End of function formatexception
Function formatexceptionmessage:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 20, Position 2 = 25
Branch analysis from position: 20
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 25
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/WNLbO
function name: formatExceptionMessage
number of ops: 33
compiled vars: !0 = $exceptionClass, !1 = $exceptionMessage, !2 = $fileAndLine
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
31 0 E > FETCH_OBJ_R ~3 'exception'
1 GET_CLASS ~4 ~3
2 ASSIGN !0, ~4
32 3 FETCH_OBJ_R ~6 'exception'
4 INIT_METHOD_CALL ~6, 'getMessage'
5 DO_FCALL 0 $7
6 ASSIGN !1, $7
34 7 INIT_METHOD_CALL 'formatFileAndLine'
8 FETCH_OBJ_R ~9 'exception'
9 INIT_METHOD_CALL ~9, 'getFile'
10 DO_FCALL 0 $10
11 SEND_VAR_NO_REF_EX $10
12 FETCH_OBJ_R ~11 'exception'
13 INIT_METHOD_CALL ~11, 'getLine'
14 DO_FCALL 0 $12
15 SEND_VAR_NO_REF_EX $12
16 DO_FCALL 0 $13
17 ASSIGN !2, $13
36 18 IS_IDENTICAL !1, ''
19 > JMPZ ~15, ->25
37 20 > ROPE_INIT 4 ~17 !0
21 ROPE_ADD 1 ~17 ~17, '+%28'
22 ROPE_ADD 2 ~17 ~17, !2
23 ROPE_END 3 ~16 ~17, '%29%0A'
24 > RETURN ~16
39 25 > ROPE_INIT 6 ~20 !0
26 ROPE_ADD 1 ~20 ~20, '%3A+'
27 ROPE_ADD 2 ~20 ~20, !1
28 ROPE_ADD 3 ~20 ~20, '+%28'
29 ROPE_ADD 4 ~20 ~20, !2
30 ROPE_END 5 ~19 ~20, '%29%0A'
31 > RETURN ~19
40 32* > RETURN null
End of function formatexceptionmessage
Function formatfileandline:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/WNLbO
function name: formatFileAndLine
number of ops: 7
compiled vars: !0 = $file, !1 = $line
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
42 0 E > RECV !0
1 RECV !1
44 2 ROPE_INIT 3 ~3 !0
3 ROPE_ADD 1 ~3 ~3, '%3A'
4 ROPE_END 2 ~2 ~3, !1
5 > RETURN ~2
45 6* > RETURN null
End of function formatfileandline
Function formatexceptiontrace:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 6, Position 2 = 14
Branch analysis from position: 6
2 jumps found. (Code = 78) Position 1 = 7, Position 2 = 14
Branch analysis from position: 7
1 jumps found. (Code = 42) Position 1 = 6
Branch analysis from position: 6
Branch analysis from position: 14
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 14
filename: /in/WNLbO
function name: formatExceptionTrace
number of ops: 21
compiled vars: !0 = $exceptionTrace, !1 = $formattedTrace, !2 = $trace
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
49 0 E > FETCH_OBJ_R ~3 'exception'
1 INIT_METHOD_CALL ~3, 'getTrace'
2 DO_FCALL 0 $4
3 ASSIGN !0, $4
51 4 ASSIGN !1, <array>
53 5 > FE_RESET_R $7 !0, ->14
6 > > FE_FETCH_R $7, !2, ->14
54 7 > INIT_METHOD_CALL 'formatTraceElement'
8 SEND_VAR_EX !2
9 DO_FCALL 0 $9
10 CONCAT ~10 '%09at+', $9
11 ASSIGN_DIM !1
12 OP_DATA ~10
53 13 > JMP ->6
14 > FE_FREE $7
57 15 INIT_FCALL 'implode'
16 SEND_VAL '%0A'
17 SEND_VAR !1
18 DO_ICALL $11
19 > RETURN $11
58 20* > RETURN null
End of function formatexceptiontrace
Function formattraceelement:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 7
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 14
Branch analysis from position: 11
1 jumps found. (Code = 42) Position 1 = 15
Branch analysis from position: 15
2 jumps found. (Code = 43) Position 1 = 22, Position 2 = 37
Branch analysis from position: 22
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 37
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 14
2 jumps found. (Code = 43) Position 1 = 22, Position 2 = 37
Branch analysis from position: 22
Branch analysis from position: 37
Branch analysis from position: 7
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 14
Branch analysis from position: 11
Branch analysis from position: 14
filename: /in/WNLbO
function name: formatTraceElement
number of ops: 39
compiled vars: !0 = $traceElement, !1 = $fileAndLine, !2 = $functionCall, !3 = $arguments
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
60 0 E > RECV !0
62 1 INIT_METHOD_CALL 'formatFileAndLine'
63 2 ISSET_ISEMPTY_DIM_OBJ 0 !0, 'file'
3 > JMPZ ~4, ->7
4 > FETCH_DIM_R ~5 !0, 'file'
5 QM_ASSIGN ~6 ~5
6 > JMP ->8
7 > QM_ASSIGN ~6 'unknown'
8 > SEND_VAL ~6
64 9 ISSET_ISEMPTY_DIM_OBJ 0 !0, 'line'
10 > JMPZ ~7, ->14
11 > FETCH_DIM_R ~8 !0, 'line'
12 QM_ASSIGN ~9 ~8
13 > JMP ->15
14 > QM_ASSIGN ~9 'unknown'
15 > SEND_VAL ~9
62 16 DO_FCALL 0 $10
17 ASSIGN !1, $10
67 18 INIT_METHOD_CALL 'isFunctionCall'
19 SEND_VAR_EX !0
20 DO_FCALL 0 $12
21 > JMPZ $12, ->37
68 22 > INIT_METHOD_CALL 'formatFunctionCall'
23 SEND_VAR_EX !0
24 DO_FCALL 0 $13
25 ASSIGN !2, $13
69 26 INIT_METHOD_CALL 'formatArguments'
27 SEND_VAR_EX !0
28 DO_FCALL 0 $15
29 ASSIGN !3, $15
71 30 ROPE_INIT 6 ~18 !2
31 ROPE_ADD 1 ~18 ~18, '%28'
32 ROPE_ADD 2 ~18 ~18, !3
33 ROPE_ADD 3 ~18 ~18, '%29+%28'
34 ROPE_ADD 4 ~18 ~18, !1
35 ROPE_END 5 ~17 ~18, '%29'
36 > RETURN ~17
74 37 > > RETURN !1
75 38* > RETURN null
End of function formattraceelement
Function isfunctioncall:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/WNLbO
function name: isFunctionCall
number of ops: 4
compiled vars: !0 = $traceElement
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
77 0 E > RECV !0
79 1 ARRAY_KEY_EXISTS ~1 'function', !0
2 > RETURN ~1
80 3* > RETURN null
End of function isfunctioncall
Function formatfunctioncall:
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 = 42) Position 1 = 7
Branch analysis from position: 7
2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 12
Branch analysis from position: 9
1 jumps found. (Code = 42) Position 1 = 13
Branch analysis from position: 13
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 12
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 12
Branch analysis from position: 9
Branch analysis from position: 12
filename: /in/WNLbO
function name: formatFunctionCall
number of ops: 18
compiled vars: !0 = $traceElement
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
82 0 E > RECV !0
84 1 ISSET_ISEMPTY_DIM_OBJ 0 !0, 'class'
2 > JMPZ ~1, ->6
3 > FETCH_DIM_R ~2 !0, 'class'
4 QM_ASSIGN ~3 ~2
5 > JMP ->7
6 > QM_ASSIGN ~3 ''
85 7 > ISSET_ISEMPTY_DIM_OBJ 0 !0, 'type'
8 > JMPZ ~4, ->12
9 > FETCH_DIM_R ~5 !0, 'type'
10 QM_ASSIGN ~6 ~5
11 > JMP ->13
12 > QM_ASSIGN ~6 ''
13 > CONCAT ~7 ~3, ~6
86 14 FETCH_DIM_R ~8 !0, 'function'
15 CONCAT ~9 ~7, ~8
16 > RETURN ~9
87 17* > RETURN null
End of function formatfunctioncall
Function formatarguments:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 5, Position 2 = 12
Branch analysis from position: 5
2 jumps found. (Code = 78) Position 1 = 6, Position 2 = 12
Branch analysis from position: 6
1 jumps found. (Code = 42) Position 1 = 5
Branch analysis from position: 5
Branch analysis from position: 12
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 12
filename: /in/WNLbO
function name: formatArguments
number of ops: 19
compiled vars: !0 = $traceElement, !1 = $arguments, !2 = $formattedArgs, !3 = $arg
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
89 0 E > RECV !0
92 1 FETCH_DIM_R ~4 !0, 'args'
2 ASSIGN !1, ~4
94 3 ASSIGN !2, <array>
95 4 > FE_RESET_R $7 !1, ->12
5 > > FE_FETCH_R $7, !3, ->12
96 6 > INIT_METHOD_CALL 'formatArgument'
7 SEND_VAR_EX !3
8 DO_FCALL 0 $9
9 ASSIGN_DIM !2
10 OP_DATA $9
95 11 > JMP ->5
12 > FE_FREE $7
99 13 INIT_FCALL 'implode'
14 SEND_VAL '%2C+'
15 SEND_VAR !2
16 DO_ICALL $10
17 > RETURN $10
100 18* > RETURN null
End of function formatarguments
Function formatargument:
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
2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 11
Branch analysis from position: 9
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 15
Branch analysis from position: 13
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 15
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 23
Branch analysis from position: 17
2 jumps found. (Code = 43) Position 1 = 18, Position 2 = 20
Branch analysis from position: 18
1 jumps found. (Code = 42) Position 1 = 21
Branch analysis from position: 21
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 20
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 23
2 jumps found. (Code = 43) Position 1 = 25, Position 2 = 28
Branch analysis from position: 25
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 28
2 jumps found. (Code = 43) Position 1 = 30, Position 2 = 35
Branch analysis from position: 30
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 35
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/WNLbO
function name: formatArgument
number of ops: 37
compiled vars: !0 = $arg
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
102 0 E > RECV !0
104 1 TYPE_CHECK 64 !0
2 > JMPZ ~1, ->7
105 3 > CONCAT ~2 '%22', !0
4 CONCAT ~3 ~2, '%22'
5 > RETURN ~3
104 6* JMP ->36
106 7 > TYPE_CHECK 128 !0
8 > JMPZ ~4, ->11
107 9 > > RETURN 'Array'
106 10* JMP ->36
108 11 > TYPE_CHECK 2 !0
12 > JMPZ ~5, ->15
109 13 > > RETURN 'null'
108 14* JMP ->36
110 15 > TYPE_CHECK 12 !0
16 > JMPZ ~6, ->23
111 17 > > JMPZ !0, ->20
18 > QM_ASSIGN ~7 'true'
19 > JMP ->21
20 > QM_ASSIGN ~7 'false'
21 > > RETURN ~7
110 22* JMP ->36
112 23 > TYPE_CHECK 256 !0
24 > JMPZ ~8, ->28
113 25 > GET_CLASS ~9 !0
26 > RETURN ~9
112 27* JMP ->36
114 28 > TYPE_CHECK 512 !0
29 > JMPZ ~10, ->35
115 30 > INIT_FCALL 'get_resource_type'
31 SEND_VAR !0
32 DO_ICALL $11
33 > RETURN $11
114 34* JMP ->36
117 35 > > RETURN !0
119 36* > RETURN null
End of function formatargument
Function getcauseifapplicable:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 6, Position 2 = 11
Branch analysis from position: 6
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 11
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/WNLbO
function name: getCauseIfApplicable
number of ops: 13
compiled vars: !0 = $previousException
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
123 0 E > FETCH_OBJ_R ~1 'exception'
1 INIT_METHOD_CALL ~1, 'getPrevious'
2 DO_FCALL 0 $2
3 ASSIGN !0, $2
124 4 TYPE_CHECK 1020 !0
5 > JMPZ ~4, ->11
125 6 > INIT_STATIC_METHOD_CALL 'format'
7 SEND_VAR_EX !0
8 DO_FCALL 0 $5
9 CONCAT ~6 '%0ACaused+by%3A+', $5
10 > RETURN ~6
127 11 > > RETURN ''
128 12* > RETURN null
End of function getcauseifapplicable
Function format:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/WNLbO
function name: format
number of ops: 9
compiled vars: !0 = $exception, !1 = $formatter
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
136 0 E > RECV !0
138 1 NEW $2 'ExceptionFormatter'
2 SEND_VAR_EX !0
3 DO_FCALL 0
4 ASSIGN !1, $2
139 5 INIT_METHOD_CALL !1, 'getFormattedString'
6 DO_FCALL 0 $5
7 > RETURN $5
1Generated using Vulcan Logic Dumper, using php 8.0.0