3v4l.org

run code in 300+ PHP versions simultaneously
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
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


preferences:
139.25 ms | 1011 KiB | 26 Q