3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Hoge { private $val = 1; public function getVal() { return $this->val; } } $h = new \ReflectionClass('Hoge'); echo "abstract? ", $h->isAbstract() ? "true" : "false" , "\n"; echo "trait? ", $h->isTrait() ? "true" : "false" , "\n"; echo "interface? ", $h->isInterface() ? "true" : "false" , "\n"; echo "実体化可能?", $h->isInstancable() ? "true" : "false" , "\n";
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 10
Branch analysis from position: 8
1 jumps found. (Code = 42) Position 1 = 11
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 19
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 20
Branch analysis from position: 20
2 jumps found. (Code = 43) Position 1 = 26, Position 2 = 28
Branch analysis from position: 26
1 jumps found. (Code = 42) Position 1 = 29
Branch analysis from position: 29
2 jumps found. (Code = 43) Position 1 = 35, Position 2 = 37
Branch analysis from position: 35
1 jumps found. (Code = 42) Position 1 = 38
Branch analysis from position: 38
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 37
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 28
2 jumps found. (Code = 43) Position 1 = 35, Position 2 = 37
Branch analysis from position: 35
Branch analysis from position: 37
Branch analysis from position: 19
2 jumps found. (Code = 43) Position 1 = 26, Position 2 = 28
Branch analysis from position: 26
Branch analysis from position: 28
Branch analysis from position: 10
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 19
Branch analysis from position: 17
Branch analysis from position: 19
filename:       /in/PMY0S
function name:  (null)
number of ops:  41
compiled vars:  !0 = $h
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   12     0  E >   NEW                                              $1      'ReflectionClass'
          1        SEND_VAL_EX                                              'Hoge'
          2        DO_FCALL                                      0          
          3        ASSIGN                                                   !0, $1
   13     4        ECHO                                                     'abstract%3F+'
          5        INIT_METHOD_CALL                                         !0, 'isAbstract'
          6        DO_FCALL                                      0  $4      
          7      > JMPZ                                                     $4, ->10
          8    >   QM_ASSIGN                                        ~5      'true'
          9      > JMP                                                      ->11
         10    >   QM_ASSIGN                                        ~5      'false'
         11    >   ECHO                                                     ~5
         12        ECHO                                                     '%0A'
   14    13        ECHO                                                     'trait%3F+'
         14        INIT_METHOD_CALL                                         !0, 'isTrait'
         15        DO_FCALL                                      0  $6      
         16      > JMPZ                                                     $6, ->19
         17    >   QM_ASSIGN                                        ~7      'true'
         18      > JMP                                                      ->20
         19    >   QM_ASSIGN                                        ~7      'false'
         20    >   ECHO                                                     ~7
         21        ECHO                                                     '%0A'
   15    22        ECHO                                                     'interface%3F+'
         23        INIT_METHOD_CALL                                         !0, 'isInterface'
         24        DO_FCALL                                      0  $8      
         25      > JMPZ                                                     $8, ->28
         26    >   QM_ASSIGN                                        ~9      'true'
         27      > JMP                                                      ->29
         28    >   QM_ASSIGN                                        ~9      'false'
         29    >   ECHO                                                     ~9
         30        ECHO                                                     '%0A'
   16    31        ECHO                                                     '%E5%AE%9F%E4%BD%93%E5%8C%96%E5%8F%AF%E8%83%BD%3F'
         32        INIT_METHOD_CALL                                         !0, 'isInstancable'
         33        DO_FCALL                                      0  $10     
         34      > JMPZ                                                     $10, ->37
         35    >   QM_ASSIGN                                        ~11     'true'
         36      > JMP                                                      ->38
         37    >   QM_ASSIGN                                        ~11     'false'
         38    >   ECHO                                                     ~11
         39        ECHO                                                     '%0A'
         40      > RETURN                                                   1

Class Hoge:
Function getval:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/PMY0S
function name:  getVal
number of ops:  3
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    8     0  E >   FETCH_OBJ_R                                      ~0      'val'
          1      > RETURN                                                   ~0
    9     2*     > RETURN                                                   null

End of function getval

End of class Hoge.

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
164.29 ms | 944 KiB | 14 Q