summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-07-22 16:49:08 +0200
committerNikita Popov <nikita.ppv@gmail.com>2019-07-22 16:49:08 +0200
commit19588a8f3be1dc223dfb15067eef35e1908a8ba7 (patch)
treee027423750d251329dde2a32a2995905e8307441
parent31d85b84178d81f64437aec185099231767f3a31 (diff)
downloadphp-git-19588a8f3be1dc223dfb15067eef35e1908a8ba7.tar.gz
Revert "Add ReflectionReference::getRefcount()"
This reverts commit 428cfdd1810b17f0064b7691276f0eb92dc963b6.
-rw-r--r--ext/reflection/php_reflection.c27
-rw-r--r--ext/reflection/tests/ReflectionReference.phpt15
2 files changed, 2 insertions, 40 deletions
diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c
index eafe62344b..dcb98b0653 100644
--- a/ext/reflection/php_reflection.c
+++ b/ext/reflection/php_reflection.c
@@ -6170,7 +6170,7 @@ ZEND_METHOD(reflection_reference, fromArrayElement)
}
/* Treat singleton reference as non-reference. */
- if (Z_TYPE_P(item) != IS_REFERENCE) {
+ if (Z_TYPE_P(item) != IS_REFERENCE || Z_REFCOUNT_P(item) == 1) {
RETURN_NULL();
}
@@ -6218,30 +6218,6 @@ ZEND_METHOD(reflection_reference, getId)
}
/* }}} */
-/* {{{ proto public int ReflectionReference::getRefcount()
- * Returns reference count of the held reference.
- * ReflectionReference itself increases the refcount, as such:
- * * Refcount 1 indicates that the reference is only held by this ReflectionReference.
- * * Refcount 2 indicates that it is a singleton reference (often not treated as a reference).
- * * Refcount 3 or higher is an ordinary shared reference. */
-ZEND_METHOD(reflection_reference, getRefcount)
-{
- reflection_object *intern;
-
- if (zend_parse_parameters_none() == FAILURE) {
- return;
- }
-
- intern = Z_REFLECTION_P(getThis());
- if (Z_TYPE(intern->obj) != IS_REFERENCE) {
- _DO_THROW("Corrupted ReflectionReference object");
- return;
- }
-
- RETURN_LONG(Z_REFCOUNT(intern->obj));
-}
-/* }}} */
-
/* {{{ method tables */
static const zend_function_entry reflection_exception_functions[] = {
PHP_FE_END
@@ -6730,7 +6706,6 @@ ZEND_END_ARG_INFO()
static const zend_function_entry reflection_reference_functions[] = {
ZEND_ME(reflection_reference, fromArrayElement, arginfo_reflection_reference_fromArrayElement, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
ZEND_ME(reflection_reference, getId, arginfo_reflection__void, ZEND_ACC_PUBLIC)
- ZEND_ME(reflection_reference, getRefcount, arginfo_reflection__void, ZEND_ACC_PUBLIC)
/* Always throwing dummy methods */
ZEND_ME(reflection, __clone, arginfo_reflection__void, ZEND_ACC_PRIVATE)
diff --git a/ext/reflection/tests/ReflectionReference.phpt b/ext/reflection/tests/ReflectionReference.phpt
index ff933063be..2963c30232 100644
--- a/ext/reflection/tests/ReflectionReference.phpt
+++ b/ext/reflection/tests/ReflectionReference.phpt
@@ -13,20 +13,12 @@ echo "fromArrayElement():\n";
$r0 = ReflectionReference::fromArrayElement($ary, 0);
var_dump($r0 === null);
$r1 = ReflectionReference::fromArrayElement($ary, 1);
-var_dump($r1 instanceof ReflectionReference);
+var_dump($r1 === null);
$r2 = ReflectionReference::fromArrayElement($ary, 2);
var_dump($r2 instanceof ReflectionReference);
$r3 = ReflectionReference::fromArrayElement($ary, 3);
var_dump($r2 instanceof ReflectionReference);
-echo "getRefcount():\n";
-var_dump($r1->getRefcount());
-var_dump($r2->getRefcount());
-var_dump($r3->getRefcount());
-
-unset($ary[1]);
-var_dump($r1->getRefcount());
-
echo "getId() #1:\n";
var_dump($r2->getId() === $r2->getId());
var_dump($r3->getId() === $r3->getId());
@@ -55,11 +47,6 @@ bool(true)
bool(true)
bool(true)
bool(true)
-getRefcount():
-int(2)
-int(3)
-int(3)
-int(1)
getId() #1:
bool(true)
bool(true)