Exemple #1
0
/* {{{ spl_add_interfaces */
void spl_add_interfaces(zval *list, zend_class_entry * pce, int allow, int ce_flags)
{
    uint32_t num_interfaces;

    for (num_interfaces = 0; num_interfaces < pce->num_interfaces; num_interfaces++) {
        spl_add_class_name(list, pce->interfaces[num_interfaces], allow, ce_flags);
    }
}
Exemple #2
0
/* {{{ spl_add_traits */
void spl_add_traits(zval *list, zend_class_entry * pce, int allow, int ce_flags)
{
    uint32_t num_traits;

    for (num_traits = 0; num_traits < pce->num_traits; num_traits++) {
        spl_add_class_name(list, pce->traits[num_traits], allow, ce_flags);
    }
}
Exemple #3
0
/* {{{ spl_add_interfaces */
void spl_add_interfaces(zval *list, zend_class_entry * pce, int allow, int ce_flags)
{
	uint32_t num_interfaces;

	if (pce->num_interfaces) {
		ZEND_ASSERT(pce->ce_flags & ZEND_ACC_LINKED);
		for (num_interfaces = 0; num_interfaces < pce->num_interfaces; num_interfaces++) {
			spl_add_class_name(list, pce->interfaces[num_interfaces], allow, ce_flags);
		}
	}
}
Exemple #4
0
/* {{{ spl_add_traits */
void spl_add_traits(zval *list, zend_class_entry * pce, int allow, int ce_flags)
{
	uint32_t num_traits;
	zend_class_entry *trait;

	for (num_traits = 0; num_traits < pce->num_traits; num_traits++) {
		trait = zend_fetch_class_by_name(pce->trait_names[num_traits].name,
			pce->trait_names[num_traits].lc_name, ZEND_FETCH_CLASS_TRAIT);
		ZEND_ASSERT(trait);
		spl_add_class_name(list, trait, allow, ce_flags);
	}
}
Exemple #5
0
/* {{{ spl_add_classes */
int spl_add_classes(zend_class_entry *pce, zval *list, int sub, int allow, int ce_flags)
{
    if (!pce) {
        return 0;
    }
    spl_add_class_name(list, pce, allow, ce_flags);
    if (sub) {
        spl_add_interfaces(list, pce, allow, ce_flags);
        while (pce->parent) {
            pce = pce->parent;
            spl_add_classes(pce, list, sub, allow, ce_flags);
        }
    }
    return 0;
}