iface 166 Zend/zend.h int (*interface_gets_implemented)(zend_class_entry *iface, zend_class_entry *class_type); /* a class implements this interface */ iface 666 Zend/zend_inheritance.c static inline void do_implement_interface(zend_class_entry *ce, zend_class_entry *iface) /* {{{ */ iface 668 Zend/zend_inheritance.c if (!(ce->ce_flags & ZEND_ACC_INTERFACE) && iface->interface_gets_implemented && iface->interface_gets_implemented(iface, ce) == FAILURE) { iface 669 Zend/zend_inheritance.c zend_error_noreturn(E_CORE_ERROR, "Class %s could not implement interface %s", ZSTR_VAL(ce->name), ZSTR_VAL(iface->name)); iface 671 Zend/zend_inheritance.c if (UNEXPECTED(ce == iface)) { iface 677 Zend/zend_inheritance.c ZEND_API void zend_do_inherit_interfaces(zend_class_entry *ce, const zend_class_entry *iface) /* {{{ */ iface 680 Zend/zend_inheritance.c uint32_t i, ce_num, if_num = iface->num_interfaces; iface 696 Zend/zend_inheritance.c entry = iface->interfaces[if_num]; iface 910 Zend/zend_inheritance.c static zend_bool do_inherit_constant_check(HashTable *child_constants_table, zval *parent_constant, zend_string *name, const zend_class_entry *iface) /* {{{ */ iface 918 Zend/zend_inheritance.c zend_error_noreturn(E_COMPILE_ERROR, "Cannot inherit previously-inherited or override constant %s from interface %s", ZSTR_VAL(name), ZSTR_VAL(iface->name)); iface 926 Zend/zend_inheritance.c static void do_inherit_iface_constant(zend_string *name, zval *zv, zend_class_entry *ce, zend_class_entry *iface) /* {{{ */ iface 928 Zend/zend_inheritance.c if (do_inherit_constant_check(&ce->constants_table, zv, name, iface)) { iface 930 Zend/zend_inheritance.c if (iface->type == ZEND_INTERNAL_CLASS) { iface 945 Zend/zend_inheritance.c ZEND_API void zend_do_implement_interface(zend_class_entry *ce, zend_class_entry *iface) /* {{{ */ iface 958 Zend/zend_inheritance.c } else if (ce->interfaces[i] == iface) { iface 962 Zend/zend_inheritance.c zend_error_noreturn(E_COMPILE_ERROR, "Class %s cannot implement previously implemented interface %s", ZSTR_VAL(ce->name), ZSTR_VAL(iface->name)); iface 969 Zend/zend_inheritance.c do_inherit_constant_check(&iface->constants_table, zv, key, iface); iface 979 Zend/zend_inheritance.c ce->interfaces[ce->num_interfaces++] = iface; iface 981 Zend/zend_inheritance.c ZEND_HASH_FOREACH_STR_KEY_VAL(&iface->constants_table, key, zv) { iface 982 Zend/zend_inheritance.c do_inherit_iface_constant(key, zv, ce, iface); iface 985 Zend/zend_inheritance.c ZEND_HASH_FOREACH_STR_KEY_PTR(&iface->function_table, key, func) { iface 993 Zend/zend_inheritance.c do_implement_interface(ce, iface); iface 994 Zend/zend_inheritance.c zend_do_inherit_interfaces(ce, iface); iface 27 Zend/zend_inheritance.h ZEND_API void zend_do_inherit_interfaces(zend_class_entry *ce, const zend_class_entry *iface); iface 28 Zend/zend_inheritance.h ZEND_API void zend_do_implement_interface(zend_class_entry *ce, zend_class_entry *iface); iface 7049 Zend/zend_vm_def.h zend_class_entry *iface; iface 7052 Zend/zend_vm_def.h iface = CACHED_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2))); iface 7053 Zend/zend_vm_def.h if (UNEXPECTED(iface == NULL)) { iface 7054 Zend/zend_vm_def.h iface = zend_fetch_class_by_name(Z_STR_P(EX_CONSTANT(opline->op2)), EX_CONSTANT(opline->op2) + 1, ZEND_FETCH_CLASS_INTERFACE); iface 7055 Zend/zend_vm_def.h if (UNEXPECTED(iface == NULL)) { iface 7058 Zend/zend_vm_def.h CACHE_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)), iface); iface 7061 Zend/zend_vm_def.h if (UNEXPECTED((iface->ce_flags & ZEND_ACC_INTERFACE) == 0)) { iface 7062 Zend/zend_vm_def.h zend_error_noreturn(E_ERROR, "%s cannot implement %s - it is not an interface", ZSTR_VAL(ce->name), ZSTR_VAL(iface->name)); iface 7064 Zend/zend_vm_def.h zend_do_implement_interface(ce, iface); iface 2246 Zend/zend_vm_execute.h zend_class_entry *iface; iface 2249 Zend/zend_vm_execute.h iface = CACHED_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2))); iface 2250 Zend/zend_vm_execute.h if (UNEXPECTED(iface == NULL)) { iface 2251 Zend/zend_vm_execute.h iface = zend_fetch_class_by_name(Z_STR_P(EX_CONSTANT(opline->op2)), EX_CONSTANT(opline->op2) + 1, ZEND_FETCH_CLASS_INTERFACE); iface 2252 Zend/zend_vm_execute.h if (UNEXPECTED(iface == NULL)) { iface 2255 Zend/zend_vm_execute.h CACHE_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)), iface); iface 2258 Zend/zend_vm_execute.h if (UNEXPECTED((iface->ce_flags & ZEND_ACC_INTERFACE) == 0)) { iface 2259 Zend/zend_vm_execute.h zend_error_noreturn(E_ERROR, "%s cannot implement %s - it is not an interface", ZSTR_VAL(ce->name), ZSTR_VAL(iface->name)); iface 2261 Zend/zend_vm_execute.h zend_do_implement_interface(ce, iface);