3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Collection {} class Link {} class Node { private $label = '_'; private $links; private $attrs; public function __construct($label = '_') { $this -> setLabel($label); } public function getLabel() { return $this -> label; } public function setLabel($label) { if (!is_scalar($label)) { throw new ErrorException("Error Processing Request", 1); } $this -> label = $label; return $this -> getLabel(); } public function __get($name) { if (isset($this -> links -> $name)) { return $this -> links -> $name; } elseif (isset($this -> attrs -> $name)) { return $this -> attrs -> $name; } else { throw new ErrorException("Error Processing Request", 1); } } public function __set($name, $value) { if ($name == '_' && !($value instanceof Node || $value instanceof Link || $value instanceof Collection)) { throw new ErrorException("Error Processing Request", 1); } $name_type = ( (1 * (isset($this -> links -> $name) && count($this -> links -> $name) == 1)) | (2 * (isset($this -> links -> $name) && count($this -> links -> $name) <> 1)) | (3 * isset($this -> attrs -> $name)) | (13 * !(isset($this -> attrs -> $name) || isset($this -> links -> $name))) ); $value_type = ( (5 * ($value instanceof Collection)) | (7 * ($value instanceof Node)) | (17 * ($value instanceof Link)) | (11 * !($value instanceof Node || $value instanceof Link || $value instanceof Collection)) ); switch ($name_type * $value_type) { case 5: case 10: { foreach ($value as $node) { $this -> links -> {$name} -> attach($node); } break; } case 7: case 14: { $this -> links -> {$name} -> attach($value); break; } case 11: case 22: { trigger_error('Converting ' . $name . ' from ' . ((count($this -> links -> $name) <> 1) ? 'Collection' : 'Node') . ' to property', E_USER_WARNING); unset($this -> links -> $name); $this -> attrs -> $name = $value; break; } case 15: { trigger_error('Converting ' . $name . ' from property to Collection', E_USER_WARNING); unset($this -> attrs -> $name); $this -> links -> $name = $value; break; } case 21: { trigger_error('Converting ' . $name . ' from property to Node', E_USER_WARNING); unset($this -> attrs -> $name); $this -> links -> $name = new Collection; $this -> links -> {$name} -> attach($value); break; } case 33: case 143: { $this -> attrs -> $name = $value; break; } case 65: { $this -> links -> $name = $value; break; } case 91: { $this -> links -> $name = new Collection; $this -> links -> {$name} -> attach($value); break; } case 17: case 34: { $this -> links -> {$name} -> attach($value -> getTail()); $this -> links -> {$name} -> attach($value -> getHead()); break; } case 51: { trigger_error('Converting ' . $name . ' from property to Collection', E_USER_WARNING); unset($this -> attrs -> $name); $this -> links -> $name = new Collection; $this -> links -> {$name} -> attach($value -> getTail()); $this -> links -> {$name} -> attach($value -> getHead()); break; } case 221: { $this -> links -> $name = new Collection; $this -> links -> {$name} -> attach($value -> getTail()); $this -> links -> {$name} -> attach($value -> getHead()); break; } default: { throw new ErrorException("Error Processing Request", 1); // no break } } } public function __isset($name) { return (isset($this -> links -> $name) || isset($this -> attrs -> $name)); } public function __unset($name) { unset($this -> links -> $name, $this -> attrs -> $name); } public function serialize() { return serialize(array( 'label' => $this -> getLabel(), 'links' => $this -> links, 'attrs' => $this -> attrs )); } public function unserialize($serialized) { $unserialized = unserialize($serialized); $this -> setLabel($unserialized['label']); $this -> links = $unserialized['links']; $this -> attrs = $unserialized['attrs']; } } $node = new Node; $node->self = $node; echo serialize($node);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/vMA3a
function name:  (null)
number of ops:  10
compiled vars:  !0 = $node
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  160     0  E >   NEW                                              $1      'Node'
          1        DO_FCALL                                      0          
          2        ASSIGN                                                   !0, $1
  161     3        ASSIGN_OBJ                                               !0, 'self'
          4        OP_DATA                                                  !0
  163     5        INIT_FCALL                                               'serialize'
          6        SEND_VAR                                                 !0
          7        DO_ICALL                                         $5      
          8        ECHO                                                     $5
          9      > RETURN                                                   1

Class Collection: [no user functions]
Class Link: [no user functions]
Class Node:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/vMA3a
function name:  __construct
number of ops:  5
compiled vars:  !0 = $label
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   10     0  E >   RECV_INIT                                        !0      '_'
   12     1        INIT_METHOD_CALL                                         'setLabel'
          2        SEND_VAR_EX                                              !0
          3        DO_FCALL                                      0          
   13     4      > RETURN                                                   null

End of function __construct

Function getlabel:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/vMA3a
function name:  getLabel
number of ops:  3
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   18     0  E >   FETCH_OBJ_R                                      ~0      'label'
          1      > RETURN                                                   ~0
   19     2*     > RETURN                                                   null

End of function getlabel

Function setlabel:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 9
Branch analysis from position: 4
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 9
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/vMA3a
function name:  setLabel
number of ops:  15
compiled vars:  !0 = $label
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   20     0  E >   RECV                                             !0      
   22     1        TYPE_CHECK                                  124  ~1      !0
          2        BOOL_NOT                                         ~2      ~1
          3      > JMPZ                                                     ~2, ->9
   23     4    >   NEW                                              $3      'ErrorException'
          5        SEND_VAL_EX                                              'Error+Processing+Request'
          6        SEND_VAL_EX                                              1
          7        DO_FCALL                                      0          
          8      > THROW                                         0          $3
   25     9    >   ASSIGN_OBJ                                               'label'
         10        OP_DATA                                                  !0
   27    11        INIT_METHOD_CALL                                         'getLabel'
         12        DO_FCALL                                      0  $6      
         13      > RETURN                                                   $6
   28    14*     > RETURN                                                   null

End of function setlabel

Function __get:
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 = 62) Position 1 = -2
Branch analysis from position: 8
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 15
Branch analysis from position: 11
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 15
1 jumps found. (Code = 108) Position 1 = -2
filename:       /in/vMA3a
function name:  __get
number of ops:  21
compiled vars:  !0 = $name
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   30     0  E >   RECV                                             !0      
   32     1        FETCH_OBJ_IS                                     ~1      'links'
          2        ISSET_ISEMPTY_PROP_OBJ                                   ~1, !0
          3      > JMPZ                                                     ~2, ->8
   33     4    >   FETCH_OBJ_R                                      ~3      'links'
          5        FETCH_OBJ_R                                      ~4      ~3, !0
          6      > RETURN                                                   ~4
          7*       JMP                                                      ->20
   34     8    >   FETCH_OBJ_IS                                     ~5      'attrs'
          9        ISSET_ISEMPTY_PROP_OBJ                                   ~5, !0
         10      > JMPZ                                                     ~6, ->15
   35    11    >   FETCH_OBJ_R                                      ~7      'attrs'
         12        FETCH_OBJ_R                                      ~8      ~7, !0
         13      > RETURN                                                   ~8
         14*       JMP                                                      ->20
   37    15    >   NEW                                              $9      'ErrorException'
         16        SEND_VAL_EX                                              'Error+Processing+Request'
         17        SEND_VAL_EX                                              1
         18        DO_FCALL                                      0          
         19      > THROW                                         0          $9
   39    20*     > RETURN                                                   null

End of function __get

Function __set:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 46) Position 1 = 4, Position 2 = 13
Branch analysis from position: 4
2 jumps found. (Code = 47) Position 1 = 6, Position 2 = 8
Branch analysis from position: 6
2 jumps found. (Code = 47) Position 1 = 9, Position 2 = 11
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 19
Branch analysis from position: 14
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 19
2 jumps found. (Code = 46) Position 1 = 22, Position 2 = 27
Branch analysis from position: 22
2 jumps found. (Code = 46) Position 1 = 31, Position 2 = 36
Branch analysis from position: 31
2 jumps found. (Code = 47) Position 1 = 45, Position 2 = 48
Branch analysis from position: 45
2 jumps found. (Code = 47) Position 1 = 62, Position 2 = 64
Branch analysis from position: 62
2 jumps found. (Code = 47) Position 1 = 65, Position 2 = 67
Branch analysis from position: 65
18 jumps found. (Code = 187) Position 1 = 106, Position 2 = 106, Position 3 = 116, Position 4 = 116, Position 5 = 122, Position 6 = 122, Position 7 = 144, Position 8 = 156, Position 9 = 175, Position 10 = 175, Position 11 = 179, Position 12 = 183, Position 13 = 194, Position 14 = 194, Position 15 = 209, Position 16 = 237, Position 17 = 257, Position 18 = 73
Branch analysis from position: 106
2 jumps found. (Code = 77) Position 1 = 107, Position 2 = 114
Branch analysis from position: 107
2 jumps found. (Code = 78) Position 1 = 108, Position 2 = 114
Branch analysis from position: 108
1 jumps found. (Code = 42) Position 1 = 107
Branch analysis from position: 107
Branch analysis from position: 114
1 jumps found. (Code = 42) Position 1 = 262
Branch analysis from position: 262
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 114
Branch analysis from position: 106
Branch analysis from position: 116
1 jumps found. (Code = 42) Position 1 = 262
Branch analysis from position: 262
Branch analysis from position: 116
Branch analysis from position: 122
2 jumps found. (Code = 43) Position 1 = 130, Position 2 = 132
Branch analysis from position: 130
1 jumps found. (Code = 42) Position 1 = 133
Branch analysis from position: 133
1 jumps found. (Code = 42) Position 1 = 262
Branch analysis from position: 262
Branch analysis from position: 132
1 jumps found. (Code = 42) Position 1 = 262
Branch analysis from position: 262
Branch analysis from position: 122
Branch analysis from position: 144
1 jumps found. (Code = 42) Position 1 = 262
Branch analysis from position: 262
Branch analysis from position: 156
1 jumps found. (Code = 42) Position 1 = 262
Branch analysis from position: 262
Branch analysis from position: 175
1 jumps found. (Code = 42) Position 1 = 262
Branch analysis from position: 262
Branch analysis from position: 175
Branch analysis from position: 179
1 jumps found. (Code = 42) Position 1 = 262
Branch analysis from position: 262
Branch analysis from position: 183
1 jumps found. (Code = 42) Position 1 = 262
Branch analysis from position: 262
Branch analysis from position: 194
1 jumps found. (Code = 42) Position 1 = 262
Branch analysis from position: 262
Branch analysis from position: 194
Branch analysis from position: 209
1 jumps found. (Code = 42) Position 1 = 262
Branch analysis from position: 262
Branch analysis from position: 237
1 jumps found. (Code = 42) Position 1 = 262
Branch analysis from position: 262
Branch analysis from position: 257
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 73
2 jumps found. (Code = 44) Position 1 = 75, Position 2 = 106
Branch analysis from position: 75
2 jumps found. (Code = 44) Position 1 = 77, Position 2 = 106
Branch analysis from position: 77
2 jumps found. (Code = 44) Position 1 = 79, Position 2 = 116
Branch analysis from position: 79
2 jumps found. (Code = 44) Position 1 = 81, Position 2 = 116
Branch analysis from position: 81
2 jumps found. (Code = 44) Position 1 = 83, Position 2 = 122
Branch analysis from position: 83
2 jumps found. (Code = 44) Position 1 = 85, Position 2 = 122
Branch analysis from position: 85
2 jumps found. (Code = 44) Position 1 = 87, Position 2 = 144
Branch analysis from position: 87
2 jumps found. (Code = 44) Position 1 = 89, Position 2 = 156
Branch analysis from position: 89
2 jumps found. (Code = 44) Position 1 = 91, Position 2 = 175
Branch analysis from position: 91
2 jumps found. (Code = 44) Position 1 = 93, Position 2 = 175
Branch analysis from position: 93
2 jumps found. (Code = 44) Position 1 = 95, Position 2 = 179
Branch analysis from position: 95
2 jumps found. (Code = 44) Position 1 = 97, Position 2 = 183
Branch analysis from position: 97
2 jumps found. (Code = 44) Position 1 = 99, Position 2 = 194
Branch analysis from position: 99
2 jumps found. (Code = 44) Position 1 = 101, Position 2 = 194
Branch analysis from position: 101
2 jumps found. (Code = 44) Position 1 = 103, Position 2 = 209
Branch analysis from position: 103
2 jumps found. (Code = 44) Position 1 = 105, Position 2 = 237
Branch analysis from position: 105
1 jumps found. (Code = 42) Position 1 = 257
Branch analysis from position: 257
Branch analysis from position: 237
Branch analysis from position: 209
Branch analysis from position: 194
Branch analysis from position: 194
Branch analysis from position: 183
Branch analysis from position: 179
Branch analysis from position: 175
Branch analysis from position: 175
Branch analysis from position: 156
Branch analysis from position: 144
Branch analysis from position: 122
Branch analysis from position: 122
Branch analysis from position: 116
Branch analysis from position: 116
Branch analysis from position: 106
Branch analysis from position: 106
Branch analysis from position: 67
Branch analysis from position: 64
Branch analysis from position: 48
Branch analysis from position: 36
Branch analysis from position: 27
Branch analysis from position: 11
Branch analysis from position: 8
Branch analysis from position: 13
filename:       /in/vMA3a
function name:  __set
number of ops:  264
compiled vars:  !0 = $name, !1 = $value, !2 = $name_type, !3 = $value_type, !4 = $node
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   41     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   43     2        IS_EQUAL                                         ~5      !0, '_'
          3      > JMPZ_EX                                          ~5      ~5, ->13
          4    >   INSTANCEOF                                       ~6      !1, 'Node'
          5      > JMPNZ_EX                                         ~6      ~6, ->8
          6    >   INSTANCEOF                                       ~7      !1, 'Link'
          7        BOOL                                             ~6      ~7
          8    > > JMPNZ_EX                                         ~6      ~6, ->11
          9    >   INSTANCEOF                                       ~8      !1, 'Collection'
         10        BOOL                                             ~6      ~8
         11    >   BOOL_NOT                                         ~9      ~6
         12        BOOL                                             ~5      ~9
         13    > > JMPZ                                                     ~5, ->19
   44    14    >   NEW                                              $10     'ErrorException'
         15        SEND_VAL_EX                                              'Error+Processing+Request'
         16        SEND_VAL_EX                                              1
         17        DO_FCALL                                      0          
         18      > THROW                                         0          $10
   48    19    >   FETCH_OBJ_IS                                     ~12     'links'
         20        ISSET_ISEMPTY_PROP_OBJ                           ~13     ~12, !0
         21      > JMPZ_EX                                          ~13     ~13, ->27
         22    >   FETCH_OBJ_R                                      ~14     'links'
         23        FETCH_OBJ_R                                      ~15     ~14, !0
         24        COUNT                                            ~16     ~15
         25        IS_EQUAL                                         ~17     ~16, 1
         26        BOOL                                             ~13     ~17
         27    >   MUL                                              ~18     ~13, 1
   49    28        FETCH_OBJ_IS                                     ~19     'links'
         29        ISSET_ISEMPTY_PROP_OBJ                           ~20     ~19, !0
         30      > JMPZ_EX                                          ~20     ~20, ->36
         31    >   FETCH_OBJ_R                                      ~21     'links'
         32        FETCH_OBJ_R                                      ~22     ~21, !0
         33        COUNT                                            ~23     ~22
         34        IS_NOT_EQUAL                                     ~24     ~23, 1
         35        BOOL                                             ~20     ~24
         36    >   MUL                                              ~25     ~20, 2
         37        BW_OR                                            ~26     ~18, ~25
   50    38        FETCH_OBJ_IS                                     ~27     'attrs'
         39        ISSET_ISEMPTY_PROP_OBJ                           ~28     ~27, !0
         40        MUL                                              ~29     ~28, 3
         41        BW_OR                                            ~30     ~26, ~29
   51    42        FETCH_OBJ_IS                                     ~31     'attrs'
         43        ISSET_ISEMPTY_PROP_OBJ                           ~32     ~31, !0
         44      > JMPNZ_EX                                         ~32     ~32, ->48
         45    >   FETCH_OBJ_IS                                     ~33     'links'
         46        ISSET_ISEMPTY_PROP_OBJ                           ~34     ~33, !0
         47        BOOL                                             ~32     ~34
         48    >   BOOL_NOT                                         ~35     ~32
         49        MUL                                              ~36     ~35, 13
         50        BW_OR                                            ~37     ~30, ~36
   47    51        ASSIGN                                                   !2, ~37
   54    52        INSTANCEOF                                       ~39     !1, 'Collection'
         53        MUL                                              ~40     ~39, 5
   55    54        INSTANCEOF                                       ~41     !1, 'Node'
         55        MUL                                              ~42     ~41, 7
         56        BW_OR                                            ~43     ~40, ~42
   56    57        INSTANCEOF                                       ~44     !1, 'Link'
         58        MUL                                              ~45     ~44, 17
         59        BW_OR                                            ~46     ~43, ~45
   57    60        INSTANCEOF                                       ~47     !1, 'Node'
         61      > JMPNZ_EX                                         ~47     ~47, ->64
         62    >   INSTANCEOF                                       ~48     !1, 'Link'
         63        BOOL                                             ~47     ~48
         64    > > JMPNZ_EX                                         ~47     ~47, ->67
         65    >   INSTANCEOF                                       ~49     !1, 'Collection'
         66        BOOL                                             ~47     ~49
         67    >   BOOL_NOT                                         ~50     ~47
         68        MUL                                              ~51     ~50, 11
         69        BW_OR                                            ~52     ~46, ~51
   53    70        ASSIGN                                                   !3, ~52
   59    71        MUL                                              ~54     !2, !3
         72      > SWITCH_LONG                                              ~54, [ 5:->106, 10:->106, 7:->116, 14:->116, 11:->122, 22:->122, 15:->144, 21:->156, 33:->175, 143:->175, 65:->179, 91:->183, 17:->194, 34:->194, 51:->209, 221:->237, ], ->257
   60    73    >   CASE                                                     ~54, 5
         74      > JMPNZ                                                    ~55, ->106
   61    75    >   CASE                                                     ~54, 10
         76      > JMPNZ                                                    ~55, ->106
   67    77    >   CASE                                                     ~54, 7
         78      > JMPNZ                                                    ~55, ->116
   68    79    >   CASE                                                     ~54, 14
         80      > JMPNZ                                                    ~55, ->116
   72    81    >   CASE                                                     ~54, 11
         82      > JMPNZ                                                    ~55, ->122
   73    83    >   CASE                                                     ~54, 22
         84      > JMPNZ                                                    ~55, ->122
   81    85    >   CASE                                                     ~54, 15
         86      > JMPNZ                                                    ~55, ->144
   87    87    >   CASE                                                     ~54, 21
         88      > JMPNZ                                                    ~55, ->156
   94    89    >   CASE                                                     ~54, 33
         90      > JMPNZ                                                    ~55, ->175
   95    91    >   CASE                                                     ~54, 143
         92      > JMPNZ                                                    ~55, ->175
   99    93    >   CASE                                                     ~54, 65
         94      > JMPNZ                                                    ~55, ->179
  103    95    >   CASE                                                     ~54, 91
         96      > JMPNZ                                                    ~55, ->183
  108    97    >   CASE                                                     ~54, 17
         98      > JMPNZ                                                    ~55, ->194
  109    99    >   CASE                                                     ~54, 34
        100      > JMPNZ                                                    ~55, ->194
  114   101    >   CASE                                                     ~54, 51
        102      > JMPNZ                                                    ~55, ->209
  122   103    >   CASE                                                     ~54, 221
        104      > JMPNZ                                                    ~55, ->237
        105    > > JMP                                                      ->257
   62   106    > > FE_RESET_R                                       $56     !1, ->114
        107    > > FE_FETCH_R                                               $56, !4, ->114
   63   108    >   FETCH_OBJ_R                                      ~57     'links'
        109        FETCH_OBJ_R                                      ~58     ~57, !0
        110        INIT_METHOD_CALL                                         ~58, 'attach'
        111        SEND_VAR_EX                                              !4
        112        DO_FCALL                                      0          
   62   113      > JMP                                                      ->107
        114    >   FE_FREE                                                  $56
   65   115      > JMP                                                      ->262
   69   116    >   FETCH_OBJ_R                                      ~60     'links'
        117        FETCH_OBJ_R                                      ~61     ~60, !0
        118        INIT_METHOD_CALL                                         ~61, 'attach'
        119        SEND_VAR_EX                                              !1
        120        DO_FCALL                                      0          
   70   121      > JMP                                                      ->262
   74   122    >   INIT_FCALL                                               'trigger_error'
        123        CONCAT                                           ~63     'Converting+', !0
        124        CONCAT                                           ~64     ~63, '+from+'
   75   125        FETCH_OBJ_R                                      ~65     'links'
        126        FETCH_OBJ_R                                      ~66     ~65, !0
        127        COUNT                                            ~67     ~66
        128        IS_NOT_EQUAL                                             ~67, 1
        129      > JMPZ                                                     ~68, ->132
        130    >   QM_ASSIGN                                        ~69     'Collection'
        131      > JMP                                                      ->133
        132    >   QM_ASSIGN                                        ~69     'Node'
        133    >   CONCAT                                           ~70     ~64, ~69
   76   134        CONCAT                                           ~71     ~70, '+to+property'
        135        SEND_VAL                                                 ~71
        136        SEND_VAL                                                 512
        137        DO_ICALL                                                 
   77   138        FETCH_OBJ_UNSET                                  $73     'links'
        139        UNSET_OBJ                                                $73, !0
   78   140        FETCH_OBJ_W                                      $74     'attrs'
        141        ASSIGN_OBJ                                               $74, !0
        142        OP_DATA                                                  !1
   79   143      > JMP                                                      ->262
   82   144    >   INIT_FCALL                                               'trigger_error'
        145        CONCAT                                           ~76     'Converting+', !0
        146        CONCAT                                           ~77     ~76, '+from+property+to+Collection'
        147        SEND_VAL                                                 ~77
        148        SEND_VAL                                                 512
        149        DO_ICALL                                                 
   83   150        FETCH_OBJ_UNSET                                  $79     'attrs'
        151        UNSET_OBJ                                                $79, !0
   84   152        FETCH_OBJ_W                                      $80     'links'
        153        ASSIGN_OBJ                                               $80, !0
        154        OP_DATA                                                  !1
   85   155      > JMP                                                      ->262
   88   156    >   INIT_FCALL                                               'trigger_error'
        157        CONCAT                                           ~82     'Converting+', !0
        158        CONCAT                                           ~83     ~82, '+from+property+to+Node'
        159        SEND_VAL                                                 ~83
        160        SEND_VAL                                                 512
        161        DO_ICALL                                                 
   89   162        FETCH_OBJ_UNSET                                  $85     'attrs'
        163        UNSET_OBJ                                                $85, !0
   90   164        NEW                                              $88     'Collection'
        165        DO_FCALL                                      0          
        166        FETCH_OBJ_W                                      $86     'links'
        167        ASSIGN_OBJ                                               $86, !0
        168        OP_DATA                                                  $88
   91   169        FETCH_OBJ_R                                      ~90     'links'
        170        FETCH_OBJ_R                                      ~91     ~90, !0
        171        INIT_METHOD_CALL                                         ~91, 'attach'
        172        SEND_VAR_EX                                              !1
        173        DO_FCALL                                      0          
   92   174      > JMP                                                      ->262
   96   175    >   FETCH_OBJ_W                                      $93     'attrs'
        176        ASSIGN_OBJ                                               $93, !0
        177        OP_DATA                                                  !1
   97   178      > JMP                                                      ->262
  100   179    >   FETCH_OBJ_W                                      $95     'links'
        180        ASSIGN_OBJ                                               $95, !0
        181        OP_DATA                                                  !1
  101   182      > JMP                                                      ->262
  104   183    >   NEW                                              $99     'Collection'
        184        DO_FCALL                                      0          
        185        FETCH_OBJ_W                                      $97     'links'
        186        ASSIGN_OBJ                                               $97, !0
        187        OP_DATA                                                  $99
  105   188        FETCH_OBJ_R                                      ~101    'links'
        189        FETCH_OBJ_R                                      ~102    ~101, !0
        190        INIT_METHOD_CALL                                         ~102, 'attach'
        191        SEND_VAR_EX                                              !1
        192        DO_FCALL                                      0          
  106   193      > JMP                                                      ->262
  110   194    >   FETCH_OBJ_R                                      ~104    'links'
        195        FETCH_OBJ_R                                      ~105    ~104, !0
        196        INIT_METHOD_CALL                                         ~105, 'attach'
        197        INIT_METHOD_CALL                                         !1, 'getTail'
        198        DO_FCALL                                      0  $106    
        199        SEND_VAR_NO_REF_EX                                       $106
        200        DO_FCALL                                      0          
  111   201        FETCH_OBJ_R                                      ~108    'links'
        202        FETCH_OBJ_R                                      ~109    ~108, !0
        203        INIT_METHOD_CALL                                         ~109, 'attach'
        204        INIT_METHOD_CALL                                         !1, 'getHead'
        205        DO_FCALL                                      0  $110    
        206        SEND_VAR_NO_REF_EX                                       $110
        207        DO_FCALL                                      0          
  112   208      > JMP                                                      ->262
  115   209    >   INIT_FCALL                                               'trigger_error'
        210        CONCAT                                           ~112    'Converting+', !0
        211        CONCAT                                           ~113    ~112, '+from+property+to+Collection'
        212        SEND_VAL                                                 ~113
        213        SEND_VAL                                                 512
        214        DO_ICALL                                                 
  116   215        FETCH_OBJ_UNSET                                  $115    'attrs'
        216        UNSET_OBJ                                                $115, !0
  117   217        NEW                                              $118    'Collection'
        218        DO_FCALL                                      0          
        219        FETCH_OBJ_W                                      $116    'links'
        220        ASSIGN_OBJ                                               $116, !0
        221        OP_DATA                                                  $118
  118   222        FETCH_OBJ_R                                      ~120    'links'
        223        FETCH_OBJ_R                                      ~121    ~120, !0
        224        INIT_METHOD_CALL                                         ~121, 'attach'
        225        INIT_METHOD_CALL                                         !1, 'getTail'
        226        DO_FCALL                                      0  $122    
        227        SEND_VAR_NO_REF_EX                                       $122
        228        DO_FCALL        

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
155.73 ms | 1428 KiB | 17 Q