@ -506,21 +506,6 @@ static int ZEND_NOP_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
ZEND_VM_NEXT_OPCODE ( ) ;
}
static int ZEND_ADD_INTERFACE_SPEC_HANDLER ( ZEND_OPCODE_HANDLER_ARGS )
{
zend_op * opline = EX ( opline ) ;
zend_class_entry * ce = EX_T ( opline - > op1 . u . var ) . class_entry ;
zend_class_entry * iface = EX_T ( opline - > op2 . u . var ) . class_entry ;
if ( ! ( iface - > ce_flags & ZEND_ACC_INTERFACE ) ) {
zend_error_noreturn ( E_ERROR , " %v cannot implement %v - it is not an interface " , ce - > name , iface - > name ) ;
}
zend_do_implement_interface ( ce , iface TSRMLS_CC ) ;
ZEND_VM_NEXT_OPCODE ( ) ;
}
static int ZEND_HANDLE_EXCEPTION_SPEC_HANDLER ( ZEND_OPCODE_HANDLER_ARGS )
{
zend_uint op_num = EG ( opline_before_exception ) - EG ( active_op_array ) - > opcodes ;
@ -806,6 +791,21 @@ static int ZEND_GOTO_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
ZEND_VM_JMP ( opline - > op1 . u . jmp_addr ) ;
}
static int ZEND_ADD_INTERFACE_SPEC_CONST_HANDLER ( ZEND_OPCODE_HANDLER_ARGS )
{
zend_op * opline = EX ( opline ) ;
zend_class_entry * ce = EX_T ( opline - > op1 . u . var ) . class_entry ;
zend_class_entry * iface = zend_u_fetch_class ( Z_TYPE ( opline - > op2 . u . constant ) , Z_UNIVAL ( opline - > op2 . u . constant ) , Z_UNILEN ( opline - > op2 . u . constant ) , opline - > extended_value TSRMLS_CC ) ;
if ( ! ( iface - > ce_flags & ZEND_ACC_INTERFACE ) ) {
zend_error_noreturn ( E_ERROR , " %v cannot implement %v - it is not an interface " , ce - > name , iface - > name ) ;
}
zend_do_implement_interface ( ce , iface TSRMLS_CC ) ;
ZEND_VM_NEXT_OPCODE ( ) ;
}
static int ZEND_FETCH_CLASS_SPEC_TMP_HANDLER ( ZEND_OPCODE_HANDLER_ARGS )
{
zend_op * opline = EX ( opline ) ;
@ -34116,31 +34116,31 @@ void zend_init_opcodes_handlers(void)
ZEND_NULL_HANDLER ,
ZEND_NULL_HANDLER ,
ZEND_NULL_HANDLER ,
ZEND_ADD_INTERFACE_SPEC_HANDLER ,
ZEND_ADD_INTERFACE_SPEC _HANDLER ,
ZEND_ADD_INTERFACE_SPEC _HANDLER ,
ZEND_ADD_INTERFACE_SPEC _HANDLER ,
ZEND_ADD_INTERFACE_SPEC _HANDLER ,
ZEND_ADD_INTERFACE_SPEC_HANDLER ,
ZEND_ADD_INTERFACE_SPEC _HANDLER ,
ZEND_ADD_INTERFACE_SPEC _HANDLER ,
ZEND_ADD_INTERFACE_SPEC _HANDLER ,
ZEND_ADD_INTERFACE_SPEC _HANDLER ,
ZEND_ADD_INTERFACE_SPEC_HANDLER ,
ZEND_ADD_INTERFACE_SPEC _HANDLER ,
ZEND_ADD_INTERFACE_SPEC _HANDLER ,
ZEND_ADD_INTERFACE_SPEC _HANDLER ,
ZEND_ADD_INTERFACE_SPEC _HANDLER ,
ZEND_ADD_INTERFACE_SPEC_HANDLER ,
ZEND_ADD_INTERFACE_SPEC _HANDLER ,
ZEND_ADD_INTERFACE_SPEC _HANDLER ,
ZEND_ADD_INTERFACE_SPEC _HANDLER ,
ZEND_ADD_INTERFACE_SPEC _HANDLER ,
ZEND_ADD_INTERFACE_SPEC_HANDLER ,
ZEND_ADD_INTERFACE_SPEC _HANDLER ,
ZEND_ADD_INTERFACE_SPEC _HANDLER ,
ZEND_ADD_INTERFACE_SPEC _HANDLER ,
ZEND_ADD_INTERFACE_SPEC _HANDLER ,
ZEND_ADD_INTERFACE_SPEC_CONST_ HANDLER ,
ZEND_NULL _HANDLER ,
ZEND_NULL _HANDLER ,
ZEND_NULL _HANDLER ,
ZEND_NULL _HANDLER ,
ZEND_ADD_INTERFACE_SPEC_CONST_ HANDLER ,
ZEND_NULL _HANDLER ,
ZEND_NULL _HANDLER ,
ZEND_NULL _HANDLER ,
ZEND_NULL _HANDLER ,
ZEND_ADD_INTERFACE_SPEC_CONST_ HANDLER ,
ZEND_NULL _HANDLER ,
ZEND_NULL _HANDLER ,
ZEND_NULL _HANDLER ,
ZEND_NULL _HANDLER ,
ZEND_ADD_INTERFACE_SPEC_CONST_ HANDLER ,
ZEND_NULL _HANDLER ,
ZEND_NULL _HANDLER ,
ZEND_NULL _HANDLER ,
ZEND_NULL _HANDLER ,
ZEND_ADD_INTERFACE_SPEC_CONST_ HANDLER ,
ZEND_NULL _HANDLER ,
ZEND_NULL _HANDLER ,
ZEND_NULL _HANDLER ,
ZEND_NULL _HANDLER ,
ZEND_NULL_HANDLER ,
ZEND_NULL_HANDLER ,
ZEND_NULL_HANDLER ,