Skip to content
This repository was archived by the owner on Jul 7, 2018. It is now read-only.

Commit a8785a7

Browse files
committed
Merge pull request #9 from pinepain/fix_typehint
Fix bogus IS_OBJECT typehints without specifying class name
2 parents 095cb39 + d9403ea commit a8785a7

File tree

2 files changed

+7
-14
lines changed

2 files changed

+7
-14
lines changed

php_weak_functions.c

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,6 @@ PHP_FUNCTION(weakrefs) /* {{{ */
8585
zval *zv;
8686
zval weakrefs;
8787

88-
zend_ulong hashIndex;
89-
zval *hashData;
90-
zend_string *hashKey;
91-
9288
php_weak_reference_t *reference;
9389

9490
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &zv) == FAILURE) {
@@ -103,9 +99,7 @@ PHP_FUNCTION(weakrefs) /* {{{ */
10399
if (NULL != referent) {
104100
array_init_size(&weakrefs, zend_hash_num_elements(&referent->weak_references));
105101

106-
ZEND_HASH_FOREACH_KEY_VAL(&referent->weak_references, hashIndex, hashKey, hashData) {
107-
reference = (php_weak_reference_t *) Z_PTR_P(hashData);
108-
102+
ZEND_HASH_FOREACH_PTR(&referent->weak_references, reference) {
109103
add_next_index_zval(&weakrefs, &reference->this_ptr);
110104
Z_ADDREF(reference->this_ptr);
111105
} ZEND_HASH_FOREACH_END();
@@ -119,7 +113,6 @@ PHP_FUNCTION(weakrefs) /* {{{ */
119113
RETURN_ZVAL(&weakrefs, 1, 1);
120114
} /* }}} */
121115

122-
123116
PHP_FUNCTION(object_handle) /* {{{ */
124117
{
125118
zval *zv;
@@ -141,19 +134,19 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(refcount_arg, 0, 1, IS_LONG, NULL, 0)
141134
ZEND_END_ARG_INFO()
142135

143136
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(weakrefcounted_arg, 0, 1, _IS_BOOL, NULL, 0)
144-
ZEND_ARG_TYPE_INFO(0, object, IS_OBJECT, 0)
137+
ZEND_ARG_INFO(0, object)
145138
ZEND_END_ARG_INFO()
146139

147140
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(weakrefcount_arg, 0, 1, IS_LONG, NULL, 0)
148-
ZEND_ARG_TYPE_INFO(0, object, IS_OBJECT, 0)
141+
ZEND_ARG_INFO(0, object)
149142
ZEND_END_ARG_INFO()
150143

151144
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(weakrefs_arg, 0, 1, IS_ARRAY, NULL, 0)
152-
ZEND_ARG_TYPE_INFO(0, object, IS_OBJECT, 0)
145+
ZEND_ARG_INFO(0, object)
153146
ZEND_END_ARG_INFO()
154147

155148
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(object_handle_arg, 0, 1, IS_LONG, NULL, 0)
156-
ZEND_ARG_TYPE_INFO(0, object, IS_OBJECT, 0)
149+
ZEND_ARG_INFO(0, object)
157150
ZEND_END_ARG_INFO()
158151

159152

php_weak_reference.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -606,11 +606,11 @@ static PHP_METHOD(WeakReference, notifier) /* {{{ */
606606

607607

608608
ZEND_BEGIN_ARG_INFO_EX(arginfo_weak_reference___construct, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1)
609-
ZEND_ARG_TYPE_INFO(0, referent, IS_OBJECT, 0)
609+
ZEND_ARG_INFO(0, referent)
610610
ZEND_ARG_INFO(0, notify)
611611
ZEND_END_ARG_INFO()
612612

613-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_weak_reference_get, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, IS_OBJECT, NULL, 1)
613+
ZEND_BEGIN_ARG_INFO_EX(arginfo_weak_reference_get, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0)
614614
ZEND_END_ARG_INFO()
615615

616616
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_weak_reference_valid, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, _IS_BOOL, NULL, 0)

0 commit comments

Comments
 (0)