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/EcFIC
function name:  (null)
number of ops:  8
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   DECLARE_CLASS                                            'demo'
   83     1        INIT_FCALL                                               'print_r'
          2        INIT_FCALL                                               'getmethodsoverriddenfromtraits'
          3        SEND_VAL                                                 'demo'
          4        DO_FCALL                                      0  $0      
          5        SEND_VAR                                                 $0
          6        DO_ICALL                                                 
          7      > RETURN                                                   1

Function getmethodsoverriddenfromtraits:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 9, Position 2 = 21
Branch analysis from position: 9
2 jumps found. (Code = 78) Position 1 = 10, Position 2 = 21
Branch analysis from position: 10
2 jumps found. (Code = 77) Position 1 = 13, Position 2 = 19
Branch analysis from position: 13
2 jumps found. (Code = 78) Position 1 = 14, Position 2 = 19
Branch analysis from position: 14
1 jumps found. (Code = 42) Position 1 = 13
Branch analysis from position: 13
Branch analysis from position: 19
1 jumps found. (Code = 42) Position 1 = 9
Branch analysis from position: 9
Branch analysis from position: 19
Branch analysis from position: 21
2 jumps found. (Code = 77) Position 1 = 26, Position 2 = 53
Branch analysis from position: 26
2 jumps found. (Code = 78) Position 1 = 27, Position 2 = 53
Branch analysis from position: 27
2 jumps found. (Code = 43) Position 1 = 31, Position 2 = 52
Branch analysis from position: 31
2 jumps found. (Code = 47) Position 1 = 41, Position 2 = 47
Branch analysis from position: 41
2 jumps found. (Code = 43) Position 1 = 48, Position 2 = 52
Branch analysis from position: 48
1 jumps found. (Code = 42) Position 1 = 26
Branch analysis from position: 26
Branch analysis from position: 52
Branch analysis from position: 47
Branch analysis from position: 52
Branch analysis from position: 53
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 53
Branch analysis from position: 21
filename:       /in/EcFIC
function name:  getMethodsOverriddenFromTraits
number of ops:  58
compiled vars:  !0 = $class_name, !1 = $class, !2 = $trait_methods, !3 = $trait, !4 = $trait_method, !5 = $methods_overridden, !6 = $class_method
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   54     0  E >   RECV                                             !0      
   56     1        NEW                                              $7      'ReflectionClass'
          2        SEND_VAR_EX                                              !0
          3        DO_FCALL                                      0          
          4        ASSIGN                                                   !1, $7
   60     5        ASSIGN                                                   !2, <array>
   61     6        INIT_METHOD_CALL                                         !1, 'getTraits'
          7        DO_FCALL                                      0  $11     
          8      > FE_RESET_R                                       $12     $11, ->21
          9    > > FE_FETCH_R                                               $12, !3, ->21
   62    10    >   INIT_METHOD_CALL                                         !3, 'getMethods'
         11        DO_FCALL                                      0  $13     
         12      > FE_RESET_R                                       $14     $13, ->19
         13    > > FE_FETCH_R                                               $14, !4, ->19
   63    14    >   INIT_METHOD_CALL                                         !4, 'getName'
         15        DO_FCALL                                      0  $15     
         16        ASSIGN_DIM                                               !2, $15
         17        OP_DATA                                                  !4
   62    18      > JMP                                                      ->13
         19    >   FE_FREE                                                  $14
   61    20      > JMP                                                      ->9
         21    >   FE_FREE                                                  $12
   69    22        ASSIGN                                                   !5, <array>
   70    23        INIT_METHOD_CALL                                         !1, 'getMethods'
         24        DO_FCALL                                      0  $18     
         25      > FE_RESET_R                                       $19     $18, ->53
         26    > > FE_FETCH_R                                               $19, !6, ->53
   71    27    >   INIT_METHOD_CALL                                         !6, 'getName'
         28        DO_FCALL                                      0  $20     
         29        ARRAY_KEY_EXISTS                                         $20, !2
         30      > JMPZ                                                     ~21, ->52
   72    31    >   INIT_METHOD_CALL                                         !6, 'getName'
         32        DO_FCALL                                      0  $22     
         33        FETCH_DIM_R                                      ~23     !2, $22
         34        ASSIGN                                                   !4, ~23
   73    35        INIT_METHOD_CALL                                         !6, 'getFileName'
         36        DO_FCALL                                      0  $25     
         37        INIT_METHOD_CALL                                         !4, 'getFileName'
         38        DO_FCALL                                      0  $26     
         39        IS_NOT_IDENTICAL                                 ~27     $25, $26
         40      > JMPNZ_EX                                         ~27     ~27, ->47
   74    41    >   INIT_METHOD_CALL                                         !6, 'getStartLine'
         42        DO_FCALL                                      0  $28     
         43        INIT_METHOD_CALL                                         !4, 'getStartLine'
         44        DO_FCALL                                      0  $29     
         45        IS_NOT_IDENTICAL                                 ~30     $28, $29
         46        BOOL                                             ~27     ~30
         47    > > JMPZ                                                     ~27, ->52
   75    48    >   INIT_METHOD_CALL                                         !6, 'getName'
         49        DO_FCALL                                      0  $32     
         50        ASSIGN_DIM                                               !5
         51        OP_DATA                                                  $32
   70    52    > > JMP                                                      ->26
         53    >   FE_FREE                                                  $19
   80    54        VERIFY_RETURN_TYPE                                       !5
         55      > RETURN                                                   !5
   81    56*       VERIFY_RETURN_TYPE                                       
         57*     > RETURN                                                   null

End of function getmethodsoverriddenfromtraits

Class demo:
Function methoda:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/EcFIC
function name:  MethodA
number of ops:  2
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    7     0  E > > RETURN                                                   'method+A+from+class'
    8     1*     > RETURN                                                   null

End of function methoda

Function methodc:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/EcFIC
function name:  MethodC
number of ops:  2
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   12     0  E > > RETURN                                                   'method+C+from+class'
   13     1*     > RETURN                                                   null

End of function methodc

Function methode:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/EcFIC
function name:  MethodE
number of ops:  2
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   17     0  E > > RETURN                                                   'method+E+from+class'
   18     1*     > RETURN                                                   null

End of function methode

End of class demo.

Class tGeneric:
Function methoda:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/EcFIC
function name:  MethodA
number of ops:  2
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   27     0  E > > RETURN                                                   'method+A+from+trait'
   28     1*     > RETURN                                                   null

End of function methoda

Function methodb:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/EcFIC
function name:  MethodB
number of ops:  2
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   32     0  E > > RETURN                                                   'method+B+from+trait'
   33     1*     > RETURN                                                   null

End of function methodb

Function methodd:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/EcFIC
function name:  MethodD
number of ops:  2
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   37     0  E > > RETURN                                                   'method+D+from+trait'
   38     1*     > RETURN                                                   null

End of function methodd

Function methode:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/EcFIC
function name:  MethodE
number of ops:  2
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   42     0  E > > RETURN                                                   'method+E+from+trait'
   43     1*     > RETURN                                                   null

End of function methode

End of class tGeneric.

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
234.12 ms | 978 KiB | 15 Q