3v4l.org

run code in 500+ PHP versions simultaneously
<?php class A { const B = C; } class C {} const C = new C; const A = 'Z'; // unused echo A::class::B::class; echo (A::class)::B::class; echo A::B::class;
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/QdZ5J
function name:  (null)
number of ops:  12
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    9     0  E >   DECLARE_CONST                                                'C', <const ast>
   11     1        DECLARE_CONST                                                'A', 'Z'
   13     2        FETCH_CLASS_CONSTANT                                 ~0      'A', 'B'
          3        FETCH_CLASS_NAME                                     ~1      ~0
          4        ECHO                                                         ~1
   14     5        FETCH_CLASS_CONSTANT                                 ~2      'A', 'B'
          6        FETCH_CLASS_NAME                                     ~3      ~2
          7        ECHO                                                         ~3
   15     8        FETCH_CLASS_CONSTANT                                 ~4      'A', 'B'
          9        FETCH_CLASS_NAME                                     ~5      ~4
         10        ECHO                                                         ~5
   16    11      > RETURN                                                       1

Class A: [no user functions]
Class C: [no user functions]

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
155.63 ms | 1098 KiB | 13 Q