3v4l.org

run code in 300+ PHP versions simultaneously
<?php interface ChildVisitor { /* some visiting methods */ } interface ParentVisitor extends ChildVisitor { /* some extra visiting methods */ } interface ParentType { public function accept(ParentVisitor $visitor) : mixed; } interface ChildType extends ParentType { public function accept(ChildVisitor $visitor) : mixed; } interface OtherInterface extends ParentType {} interface InterfaceOrClass extends ChildType, OtherInterface {}
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/O7F8n
function name:  (null)
number of ops:  5
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    5     0  E >   DECLARE_CLASS                                            'parentvisitor'
   12     1        DECLARE_CLASS                                            'childtype'
   18     2        DECLARE_CLASS                                            'otherinterface'
   20     3        DECLARE_CLASS                                            'interfaceorclass'
          4      > RETURN                                                   1

Class ChildVisitor: [no user functions]
Class ParentVisitor: [no user functions]
Class ParentType:
Function accept:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/O7F8n
function name:  accept
number of ops:  3
compiled vars:  !0 = $visitor
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    9     0  E >   RECV                                             !0      
          1        VERIFY_RETURN_TYPE                                       
          2      > RETURN                                                   null

End of function accept

End of class ParentType.

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

End of function accept

End of class ChildType.

Class OtherInterface: [no user functions]
Class InterfaceOrClass: [no user functions]

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
135.62 ms | 1404 KiB | 13 Q