Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 62) Position 1 = -2 filename: /in/iep6d function name: (null) number of ops: 20 compiled vars: !0 = $callable line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 153 0 E > INIT_FCALL 'add_filter' 1 SEND_VAL 'hello' 2 DECLARE_LAMBDA_FUNCTION ~1 [0] 155 3 SEND_VAL ~1 153 4 DO_FCALL 0 157 5 INIT_FCALL 'add_filter' 6 SEND_VAL 'hello' 7 DECLARE_LAMBDA_FUNCTION ~3 [1] 161 8 SEND_VAL ~3 157 9 DO_FCALL 0 166 10 INIT_FCALL 'apply_filters_typesafe' 11 SEND_VAL 'hello' 12 SEND_VAL <array> 13 SEND_VAL '__return_empty_string' 14 DO_FCALL 0 $5 15 ASSIGN !0, $5 167 16 INIT_DYNAMIC_CALL !0 17 DO_FCALL 0 $7 18 ECHO $7 19 > RETURN 1 Dynamic Functions: Dynamic Function 0 Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 62) Position 1 = -2 filename: /in/iep6d function name: {closure} number of ops: 2 compiled vars: none line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 154 0 E > > RETURN 'This+is+not+a+callable' 155 1* > RETURN null End of Dynamic Function 0 Dynamic Function 1 Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 62) Position 1 = -2 filename: /in/iep6d function name: {closure} number of ops: 3 compiled vars: none line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 158 0 E > DECLARE_LAMBDA_FUNCTION ~0 [0] 160 1 > RETURN ~0 161 2* > RETURN null Dynamic Functions: Dynamic Function 0 Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 62) Position 1 = -2 filename: /in/iep6d function name: {closure} number of ops: 2 compiled vars: none line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 159 0 E > > RETURN 'It+works%21' 160 1* > RETURN null End of Dynamic Function 0 End of Dynamic Function 1 Function add_filter: Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 62) Position 1 = -2 filename: /in/iep6d function name: add_filter number of ops: 6 compiled vars: !0 = $tag, !1 = $value line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 3 0 E > RECV !0 1 RECV !1 4 2 FETCH_W global $2 !0 3 ASSIGN_DIM $2 4 OP_DATA !1 5 5 > RETURN null End of function add_filter Function _doing_it_wrong: Finding entry points Branch analysis from position: 0 1 jumps found. (Code = 62) Position 1 = -2 filename: /in/iep6d function name: _doing_it_wrong number of ops: 7 compiled vars: !0 = $fn, !1 = $message line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 7 0 E > RECV !0 1 RECV !1 8 2 ROPE_INIT 3 ~3 '%0A--------------%0ADOING+IT+WRONG%3A+' 3 ROPE_ADD 1 ~3 ~3, !1 4 ROPE_END 2 ~2 ~3, '%0A--------------%0A' 5 ECHO ~2 9 6 > RETURN null End of function _doing_it_wrong Function apply_filters_typesafe: Finding entry points Branch analysis from position: 0 2 jumps found. (Code = 47) Position 1 = 6, Position 2 = 8 Branch analysis from position: 6 2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 10 Branch analysis from position: 9 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 10 10 jumps found. (Code = 188) Position 1 = 31, Position 2 = 33, Position 3 = 33, Position 4 = 35, Position 5 = 37, Position 6 = 39, Position 7 = 39, Position 8 = 41, Position 9 = 42, Position 10 = 14 Branch analysis from position: 31 1 jumps found. (Code = 42) Position 1 = 43 Branch analysis from position: 43 2 jumps found. (Code = 46) Position 1 = 44, Position 2 = 46 Branch analysis from position: 44 2 jumps found. (Code = 43) Position 1 = 47, Position 2 = 71 Branch analysis from position: 47 1 jumps found. (Code = 42) Position 1 = 62 Branch analysis from position: 62 2 jumps found. (Code = 44) Position 1 = 63, Position 2 = 56 Branch analysis from position: 63 2 jumps found. (Code = 43) Position 1 = 80, Position 2 = 83 Branch analysis from position: 80 1 jumps found. (Code = 42) Position 1 = 84 Branch analysis from position: 84 2 jumps found. (Code = 43) Position 1 = 104, Position 2 = 117 Branch analysis from position: 104 2 jumps found. (Code = 43) Position 1 = 106, Position 2 = 115 Branch analysis from position: 106 1 jumps found. (Code = 42) Position 1 = 116 Branch analysis from position: 116 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 115 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 117 2 jumps found. (Code = 46) Position 1 = 120, Position 2 = 124 Branch analysis from position: 120 2 jumps found. (Code = 43) Position 1 = 125, Position 2 = 126 Branch analysis from position: 125 2 jumps found. (Code = 46) Position 1 = 128, Position 2 = 131 Branch analysis from position: 128 2 jumps found. (Code = 43) Position 1 = 132, Position 2 = 154 Branch analysis from position: 132 2 jumps found. (Code = 43) Position 1 = 133, Position 2 = 141 Branch analysis from position: 133 2 jumps found. (Code = 43) Position 1 = 143, Position 2 = 152 Branch analysis from position: 143 1 jumps found. (Code = 42) Position 1 = 153 Branch analysis from position: 153 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 152 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 141 Branch analysis from position: 154 2 jumps found. (Code = 43) Position 1 = 157, Position 2 = 158 Branch analysis from position: 157 2 jumps found. (Code = 77) Position 1 = 160, Position 2 = 208 Branch analysis from position: 160 2 jumps found. (Code = 78) Position 1 = 161, Position 2 = 208 Branch analysis from position: 161 2 jumps found. (Code = 46) Position 1 = 163, Position 2 = 168 Branch analysis from position: 163 2 jumps found. (Code = 43) Position 1 = 169, Position 2 = 183 Branch analysis from position: 169 2 jumps found. (Code = 43) Position 1 = 171, Position 2 = 180 Branch analysis from position: 171 1 jumps found. (Code = 42) Position 1 = 181 Branch analysis from position: 181 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 180 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 183 2 jumps found. (Code = 46) Position 1 = 184, Position 2 = 186 Branch analysis from position: 184 2 jumps found. (Code = 46) Position 1 = 187, Position 2 = 192 Branch analysis from position: 187 2 jumps found. (Code = 43) Position 1 = 193, Position 2 = 207 Branch analysis from position: 193 2 jumps found. (Code = 43) Position 1 = 195, Position 2 = 204 Branch analysis from position: 195 1 jumps found. (Code = 42) Position 1 = 205 Branch analysis from position: 205 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 204 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 207 1 jumps found. (Code = 42) Position 1 = 160 Branch analysis from position: 160 Branch analysis from position: 192 Branch analysis from position: 186 Branch analysis from position: 168 Branch analysis from position: 208 2 jumps found. (Code = 43) Position 1 = 210, Position 2 = 237 Branch analysis from position: 210 2 jumps found. (Code = 43) Position 1 = 218, Position 2 = 222 Branch analysis from position: 218 1 jumps found. (Code = 42) Position 1 = 224 Branch analysis from position: 224 2 jumps found. (Code = 43) Position 1 = 239, Position 2 = 248 Branch analysis from position: 239 1 jumps found. (Code = 42) Position 1 = 249 Branch analysis from position: 249 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 248 1 jumps found. (Code = 62) Position 1 = -2 Branch analysis from position: 222 2 jumps found. (Code = 43) Position 1 = 239, Position 2 = 248 Branch analysis from position: 239 Branch analysis from position: 248 Branch analysis from position: 237 Branch analysis from position: 208 Branch analysis from position: 158 Branch analysis from position: 131 Branch analysis from position: 126 Branch analysis from position: 124 Branch analysis from position: 83 2 jumps found. (Code = 43) Position 1 = 104, Position 2 = 117 Branch analysis from position: 104 Branch analysis from position: 117 Branch analysis from position: 56 2 jumps found. (Code = 44) Position 1 = 63, Position 2 = 56 Branch analysis from position: 63 Branch analysis from position: 56 Branch analysis from position: 71 Branch analysis from position: 46 Branch analysis from position: 33 1 jumps found. (Code = 42) Position 1 = 43 Branch analysis from position: 43 Branch analysis from position: 33 Branch analysis from position: 35 1 jumps found. (Code = 42) Position 1 = 43 Branch analysis from position: 43 Branch analysis from position: 37 1 jumps found. (Code = 42) Position 1 = 43 Branch analysis from position: 43 Branch analysis from position: 39 1 jumps found. (Code = 42) Position 1 = 43 Branch analysis from position: 43 Branch analysis from position: 39 Branch analysis from position: 41 2 jumps found. (Code = 46) Position 1 = 44, Position 2 = 46 Branch analysis from position: 44 Branch analysis from position: 46 Branch analysis from position: 42 Branch analysis from position: 14 2 jumps found. (Code = 44) Position 1 = 16, Position 2 = 31 Branch analysis from position: 16 2 jumps found. (Code = 44) Position 1 = 18, Position 2 = 33 Branch analysis from position: 18 2 jumps found. (Code = 44) Position 1 = 20, Position 2 = 33 Branch analysis from position: 20 2 jumps found. (Code = 44) Position 1 = 22, Position 2 = 35 Branch analysis from position: 22 2 jumps found. (Code = 44) Position 1 = 24, Position 2 = 37 Branch analysis from position: 24 2 jumps found. (Code = 44) Position 1 = 26, Position 2 = 39 Branch analysis from position: 26 2 jumps found. (Code = 44) Position 1 = 28, Position 2 = 39 Branch analysis from position: 28 2 jumps found. (Code = 44) Position 1 = 30, Position 2 = 41 Branch analysis from position: 30 1 jumps found. (Code = 42) Position 1 = 42 Branch analysis from position: 42 Branch analysis from position: 41 Branch analysis from position: 39 Branch analysis from position: 39 Branch analysis from position: 37 Branch analysis from position: 35 Branch analysis from position: 33 Branch analysis from position: 33 Branch analysis from position: 31 Branch analysis from position: 8 filename: /in/iep6d function name: apply_filters_typesafe number of ops: 251 compiled vars: !0 = $tag, !1 = $arguments, !2 = $value, !3 = $values, !4 = $type, !5 = $is_object, !6 = $accepted_types, !7 = $class, !8 = $parent, !9 = $original, !10 = $to_filter, !11 = $filter, !12 = $filtered, !13 = $can_do_it_wrong, !14 = $functions, !15 = $expected, !16 = $actual line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 13 0 E > RECV !0 1 RECV_INIT !1 <array> 2 RECV_INIT !2 null 3 RECV_VARIADIC !3 15 4 TYPE_CHECK 2 ~17 !2 5 > JMPNZ_EX ~17 ~17, ->8 6 > ISSET_ISEMPTY_VAR 3 ~18 !0 7 BOOL ~17 ~18 8 > > JMPZ ~17, ->10 16 9 > > RETURN !2 19 10 > GET_TYPE ~19 !2 11 ASSIGN !4, ~19 20 12 ASSIGN !5, <false> 21 13 > SWITCH_STRING !4, [ 'boolean':->31, 'integer':->33, 'double':->33, 'string':->35, 'array':->37, 'resource':->39, 'resource+%28closed%29':->39, 'object':->41, ], ->42 22 14 > IS_EQUAL !4, 'boolean' 15 > JMPNZ ~22, ->31 25 16 > IS_EQUAL !4, 'integer' 17 > JMPNZ ~22, ->33 26 18 > IS_EQUAL !4, 'double' 19 > JMPNZ ~22, ->33 29 20 > IS_EQUAL !4, 'string' 21 > JMPNZ ~22, ->35 32 22 > IS_EQUAL !4, 'array' 23 > JMPNZ ~22, ->37 35 24 > IS_EQUAL !4, 'resource' 25 > JMPNZ ~22, ->39 36 26 > IS_EQUAL !4, 'resource+%28closed%29' 27 > JMPNZ ~22, ->39 39 28 > IS_EQUAL !4, 'object' 29 > JMPNZ ~22, ->41 30 > > JMP ->42 23 31 > ASSIGN !6, <array> 24 32 > JMP ->43 27 33 > ASSIGN !6, <array> 28 34 > JMP ->43 30 35 > ASSIGN !6, <array> 31 36 > JMP ->43 33 37 > ASSIGN !6, <array> 34 38 > JMP ->43 37 39 > ASSIGN !6, <array> 38 40 > JMP ->43 40 41 > ASSIGN !5, <true> 42 42 > ASSIGN !6, <array> 46 43 > > JMPZ_EX ~30 !5, ->46 44 > ISSET_ISEMPTY_DIM_OBJ 1 ~31 !1, 'accepted_types' 45 BOOL ~30 ~31 46 > > JMPZ ~30, ->71 47 47 > GET_CLASS ~32 !2 48 ASSIGN !7, ~32 48 49 INIT_ARRAY ~34 !7 50 ASSIGN !6, ~34 49 51 INIT_FCALL 'get_parent_class' 52 SEND_VAR !7 53 DO_ICALL $36 54 ASSIGN !8, $36 50 55 > JMP ->62 51 56 > ASSIGN_DIM !6 57 OP_DATA !8 52 58 INIT_FCALL 'get_parent_class' 59 SEND_VAR !8 60 DO_ICALL $39 61 ASSIGN !8, $39 50 62 > > JMPNZ !8, ->56 55 63 > INIT_FCALL 'array_merge' 64 SEND_VAR !6 65 INIT_FCALL 'class_implements' 66 SEND_VAR !7 67 DO_ICALL $41 68 SEND_VAR $41 69 DO_ICALL $42 70 ASSIGN !6, $42 58 71 > INIT_FCALL 'array_replace' 60 72 INIT_ARRAY ~44 <false>, 'nullable' 61 73 ADD_ARRAY_ELEMENT ~44 !6, 'accepted_types' 74 SEND_VAL ~44 63 75 SEND_VAR !1 58 76 DO_ICALL $45 77 ASSIGN !1, $45 66 78 ASSIGN !9, !2 68 79 > JMPZ !5, ->83 80 > CLONE ~48 !2 81 QM_ASSIGN ~49 ~48 82 > JMP ->84 83 > QM_ASSIGN ~49 !2 84 > ASSIGN !10, ~49 70 85 INIT_FCALL 'array_shift' 86 FETCH_W global $51 !0 87 SEND_REF $51 88 DO_ICALL $52 89 ASSIGN !11, $52 72 90 INIT_DYNAMIC_CALL !11 91 SEND_VAR_EX !0 92 SEND_VAR_EX !10 93 SEND_UNPACK !3 94 CHECK_UNDEF_ARGS 95 DO_FCALL 1 $54 96 ASSIGN !12, $54 76 97 INIT_FCALL 'in_array' 98 SEND_VAL 'mixed' 99 FETCH_DIM_R ~56 !1, 'accepted_types' 100 CAST 7 ~57 ~56 101 SEND_VAL ~57 102 DO_ICALL $58 103 > JMPZ $58, ->117 77 104 > FETCH_R global ~59 !0 105 > JMPZ ~59, ->115 78 106 > INIT_FCALL_BY_NAME 'apply_filters_typesafe' 107 SEND_VAR_EX !0 108 SEND_VAR_EX !1 109 SEND_VAR_EX !12 110 SEND_UNPACK !3 111 CHECK_UNDEF_ARGS 112 DO_FCALL 1 $60 113 QM_ASSIGN ~61 $60 114 > JMP ->116 79 115 > QM_ASSIGN ~61 !12 116 > > RETURN ~61 82 117 > BIND_STATIC !13 83 118 BOOL_NOT ~62 !13 119 > JMPZ_EX ~62 ~62, ->124 120 > INIT_FCALL 'function_exists' 121 SEND_VAL '_doing_it_wrong' 122 DO_ICALL $63 123 BOOL ~62 $63 124 > > JMPZ ~62, ->126 84 125 > ASSIGN !13, <true> 87 126 > TYPE_CHECK 2 ~65 !12 127 > JMPZ_EX ~65 ~65, ->131 128 > FETCH_DIM_R ~66 !1, 'nullable' 129 BOOL_NOT ~67 ~66 130 BOOL ~65 ~67 131 > > JMPZ ~65, ->154 88 132 > > JMPZ !13, ->141 89 133 > INIT_FCALL '_doing_it_wrong' 90 134 SEND_VAL 'apply_filters_typesafe' 91 135 ROPE_INIT 3 ~69 'Filters+for+%27' 136 ROPE_ADD 1 ~69 ~69, !0 137 ROPE_END 2 ~68 ~69, '%27+where+not+expected+to+return+null.' 138 SEND_VAL ~68 92 139 SEND_VAL '5.6' 89 140 DO_FCALL 0 96 141 > FETCH_R global ~72 !0 142 > JMPZ ~72, ->152 97 143 > INIT_FCALL_BY_NAME 'apply_filters_typesafe' 144 SEND_VAR_EX !0 145 SEND_VAR_EX !1 146 SEND_VAR_EX !9 147 SEND_UNPACK !3 148 CHECK_UNDEF_ARGS 149 DO_FCALL 1 $73 150 QM_ASSIGN ~74 $73 151 > JMP ->153 98 152 > QM_ASSIGN ~74 !9 153 > > RETURN ~74 101 154 > BIND_STATIC !14 102 155 BOOL_NOT ~75 !14 156 > JMPZ ~75, ->158 103 157 > ASSIGN !14, <array> 121 158 > FETCH_DIM_R ~77 !1, 'accepted_types' 159 > FE_RESET_R $78 ~77, ->208 160 > > FE_FETCH_R $78, !4, ->208 122 161 > ISSET_ISEMPTY_DIM_OBJ 0 ~79 !14, !4 162 > JMPZ_EX ~79 ~79, ->168 163 > FETCH_DIM_R ~80 !14, !4 164 INIT_USER_CALL 1 'call_user_func', ~80 165 SEND_USER !12 166 DO_FCALL 0 $81 167 BOOL ~79 $81 168 > > JMPZ ~79, ->183 123 169 > FETCH_R global ~82 !0 170 > JMPZ ~82, ->180 124 171 > INIT_FCALL_BY_NAME 'apply_filters_typesafe' 172 SEND_VAR_EX !0 173 SEND_VAR_EX !1 174 SEND_VAR_EX !12 175 SEND_UNPACK !3 176 CHECK_UNDEF_ARGS 177 DO_FCALL 1 $83 178 QM_ASSIGN ~84 $83 179 > JMP ->181 125 180 > QM_ASSIGN ~84 !12 181 > FE_FREE $78 182 > RETURN ~84 128 183 > > JMPZ_EX ~85 !5, ->186 184 > TYPE_CHECK 64 ~86 !4 185 BOOL ~85 ~86 186 > > JMPZ_EX ~85 ~85, ->192 187 > INIT_FCALL 'is_a' 188 SEND_VAR !12 189 SEND_VAR !4 190 DO_ICALL $87 191 BOOL ~85 $87 192 > > JMPZ ~85, ->207 129 193 > FETCH_R global ~88 !0 194 > JMPZ ~88, ->204 130 195 > INIT_FCALL_BY_NAME 'apply_filters_typesafe' 196 SEND_VAR_EX !0 197 SEND_VAR_EX !1 198 SEND_VAR_EX !12 199 SEND_UNPACK !3 200 CHECK_UNDEF_ARGS 201 DO_FCALL 1 $89 202 QM_ASSIGN ~90 $89 203 > JMP ->205 131 204 > QM_ASSIGN ~90 !12 205 > FE_FREE $78 206 > RETURN ~90 121 207 > > JMP ->160 208 > FE_FREE $78 135 209 > JMPZ !13, ->237 136 210 > INIT_FCALL 'implode' 211 SEND_VAL '%27%2C+%27' 212 FETCH_DIM_R ~91 !1, 'accepted_types' 213 SEND_VAL ~91 214 DO_ICALL $92 215 ASSIGN !15, $92 137 216 TYPE_CHECK 256 !12 217 > JMPZ ~94, ->222 218 > GET_CLASS ~95 !12 219 CONCAT ~96 'instance+of+', ~95 220 QM_ASSIGN ~97 ~96 221 > JMP ->224 222 > GET_TYPE ~98 !12 223 QM_ASSIGN ~97 ~98 224 > ASSIGN !16, ~97 138 225 INIT_FCALL '_doing_i
Generated using Vulcan Logic Dumper, using php 8.0.0