3v4l.org

run code in 500+ PHP versions simultaneously
<?php abstract class BaseLib { abstract protected function process( $a ); } class MyLib extends BaseLib { //protected $a; protected string $a; public function run( string $a ) { $this->process( $a ); } protected function process( $a ) { $this->a = $a; } } class ThirdParty extends MyLib { public function run( string $a = null ) { $this->process( $a ); } } $third_party_code = new ThirdParty(); $third_party_code->run();
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/0orf9
function name:  (null)
number of ops:  6
compiled vars:  !0 = $third_party_code
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   27     0  E >   NEW                                                  $1      'ThirdParty'
          1        DO_FCALL                                          0          
          2        ASSIGN                                                       !0, $1
   28     3        INIT_METHOD_CALL                                             !0, 'run'
          4        DO_FCALL                                          0          
          5      > RETURN                                                       1

Class BaseLib:
Function process:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/0orf9
function name:  process
number of ops:  2
compiled vars:  !0 = $a
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    4     0  E >   RECV                                                 !0      
          1      > RETURN                                                       null

End of function process

End of class BaseLib.

Class MyLib:
Function run:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/0orf9
function name:  run
number of ops:  5
compiled vars:  !0 = $a
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   11     0  E >   RECV                                                 !0      
   12     1        INIT_METHOD_CALL                                             'process'
          2        SEND_VAR_EX                                                  !0
          3        DO_FCALL                                          0          
   13     4      > RETURN                                                       null

End of function run

Function process:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/0orf9
function name:  process
number of ops:  4
compiled vars:  !0 = $a
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   15     0  E >   RECV                                                 !0      
   16     1        ASSIGN_OBJ                                                   'a'
          2        OP_DATA                                                      !0
   17     3      > RETURN                                                       null

End of function process

End of class MyLib.

Class ThirdParty:
Function run:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/0orf9
function name:  run
number of ops:  5
compiled vars:  !0 = $a
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   21     0  E >   RECV_INIT                                            !0      null
   22     1        INIT_METHOD_CALL                                             'process'
          2        SEND_VAR_EX                                                  !0
          3        DO_FCALL                                          0          
   23     4      > RETURN                                                       null

End of function run

Function process:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/0orf9
function name:  process
number of ops:  4
compiled vars:  !0 = $a
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   15     0  E >   RECV                                                 !0      
   16     1        ASSIGN_OBJ                                                   'a'
          2        OP_DATA                                                      !0
   17     3      > RETURN                                                       null

End of function process

End of class ThirdParty.

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
157.41 ms | 1121 KiB | 13 Q