3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php class test { public function __toString() { $e = new Exception('mooo'); echo $e; throw $e; return null; } } $x = new test; var_dump((string)$x);
Finding entry points
Branch analysis from position: 0
Jump found. Position 1 = -2
filename:       /in/UBqoO
function name:  (null)
number of ops:  9
compiled vars:  !0 = $x
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   3     0  E >   NOP                                                      
  15     1        NEW                                              $2      :-6
         2        DO_FCALL                                      0          
         3        ASSIGN                                                   !0, $2
  17     4        INIT_FCALL                                               'var_dump'
         5        CAST                                          6  ~5      !0
         6        SEND_VAL                                                 ~5
         7        DO_ICALL                                                 
         8      > RETURN                                                   1

Class test:
Function __tostring:
Finding entry points
Branch analysis from position: 0
Jump found. Position 1 = -2
filename:       /in/UBqoO
function name:  __toString
number of ops:  8
compiled vars:  !0 = $e
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   8     0  E >   NEW                                              $1      :-6
         1        SEND_VAL_EX                                              'mooo'
         2        DO_FCALL                                      0          
         3        ASSIGN                                                   !0, $1
   9     4        ECHO                                                     !0
  10     5      > THROW                                         0          !0
  11     6*       RETURN                                                   null
  12     7*     > RETURN                                                   null

End of function __tostring

End of class test.

Generated using Vulcan Logic Dumper, using php 7.1.0