diff options
| author | Marcus Boerger <helly@php.net> | 2003-05-02 15:39:12 +0000 |
|---|---|---|
| committer | Marcus Boerger <helly@php.net> | 2003-05-02 15:39:12 +0000 |
| commit | 4701aaaa87c683867e99bfa72f4bcbac9c0a46ae (patch) | |
| tree | 600e50aa80ce7cbfd754cee5ad060c263d0aef41 /ext/spl/spl_foreach.c | |
| parent | d6d17e510d01ba0dd1a284339fa85e0493963000 (diff) | |
| download | php-git-4701aaaa87c683867e99bfa72f4bcbac9c0a46ae.tar.gz | |
Interfaces only implement interfaces
Diffstat (limited to 'ext/spl/spl_foreach.c')
| -rwxr-xr-x | ext/spl/spl_foreach.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/ext/spl/spl_foreach.c b/ext/spl/spl_foreach.c index 850b8bb3dd..cbe7dfd1e2 100755 --- a/ext/spl/spl_foreach.c +++ b/ext/spl/spl_foreach.c @@ -38,7 +38,7 @@ ZEND_EXECUTE_HOOK_FUNCTION(ZEND_FE_RESET) if (EX(opline)->extended_value) { obj = spl_get_zval_ptr_ptr(&EX(opline)->op1, EX(Ts) TSRMLS_CC); - if (spl_is_instance_of(obj, spl_ce_iterator TSRMLS_CC)) { + if (spl_implements(obj, spl_ce_iterator TSRMLS_CC)) { spl_unlock_zval_ptr_ptr(&EX(opline)->op1, EX(Ts) TSRMLS_CC); MAKE_STD_ZVAL(retval); spl_begin_method_call_this(obj, "new_iterator", retval TSRMLS_CC); @@ -49,7 +49,7 @@ ZEND_EXECUTE_HOOK_FUNCTION(ZEND_FE_RESET) PZVAL_LOCK(retval); NEXT_OPCODE(); - } else if (spl_is_instance_of(obj, spl_ce_forward TSRMLS_CC)) { + } else if (spl_implements(obj, spl_ce_forward TSRMLS_CC)) { spl_unlock_zval_ptr_ptr(&EX(opline)->op1, EX(Ts) TSRMLS_CC); EX_T(EX(opline)->result.u.var).var.ptr = *obj; @@ -72,7 +72,7 @@ ZEND_EXECUTE_HOOK_FUNCTION(ZEND_FE_FETCH) zval **obj = spl_get_zval_ptr_ptr(&EX(opline)->op1, EX(Ts) TSRMLS_CC); zval more, tmp, *value, *key, *result; - if (spl_is_instance_of(obj, spl_ce_forward TSRMLS_CC)) { + if (spl_implements(obj, spl_ce_forward TSRMLS_CC)) { zend_uint index = EX(opline)->op2.u.EA.type++; spl_unlock_zval_ptr_ptr(&EX(opline)->op1, EX(Ts) TSRMLS_CC); @@ -80,7 +80,7 @@ ZEND_EXECUTE_HOOK_FUNCTION(ZEND_FE_FETCH) if (index) { spl_begin_method_call_this(obj, "next", &more TSRMLS_CC); - } else if (spl_is_instance_of(obj, spl_ce_sequence TSRMLS_CC)) { + } else if (spl_implements(obj, spl_ce_sequence TSRMLS_CC)) { spl_begin_method_call_this(obj, "rewind", &more TSRMLS_CC); } @@ -94,7 +94,7 @@ ZEND_EXECUTE_HOOK_FUNCTION(ZEND_FE_FETCH) zend_hash_index_update(result->value.ht, 0, &value, sizeof(zval *), NULL); - if (spl_is_instance_of(obj, spl_ce_assoc TSRMLS_CC)) { + if (spl_implements(obj, spl_ce_assoc TSRMLS_CC)) { ALLOC_ZVAL(key); spl_begin_method_call_this(obj, "key", key TSRMLS_CC); } else { |
